[
  {
    "path": ".eslintignore",
    "content": "# Ignore charts that are still experimental\n/src/AreaHeatmap.js\n/src/KernelDensityEstimation.js\n\n# Ignore shallowEqual\n/src/utils/shallowEqual.js\n\n# Ignore lessons\n/docs/src/lessons\n\n# Ignore docs build\n/docs/build/*\n"
  },
  {
    "path": ".eslintrc.js",
    "content": "module.exports = {\n  settings: {\n    react: {\n      version: 'detect',\n    },\n  },\n  parser: '@babel/eslint-parser',\n  extends: [\n    '@spotify/eslint-config-react',\n    '@spotify/eslint-config-base',\n    'prettier',\n    'plugin:chai-friendly/recommended',\n  ],\n  env: { jest: true },\n  plugins: ['jest', 'chai-friendly'],\n  rules: {\n    'consistent-return': 'off',\n    'no-nested-ternary': 'off',\n    'no-console': ['error', { allow: ['warn', 'error'] }],\n    'jsx-a11y/click-events-have-key-events': 'off',\n    'jsx-a11y/no-noninteractive-element-interactions': 'off',\n    'no-restricted-imports': ['error', 'd3'],\n  },\n};\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"npm\"\n    directory: \"/\" # Location of package manifests\n    open-pull-requests-limit: 10\n    schedule:\n      interval: \"daily\"\n"
  },
  {
    "path": ".github/workflows/node.js.yml",
    "content": "# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node\n# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions\n\nname: Node.js CI\n\non:\n  push:\n    branches: [master]\n  pull_request:\n    branches: [master]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    strategy:\n      matrix:\n        node-version: [12.x, 14.x, 16.x]\n        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/\n\n    steps:\n      - uses: actions/checkout@v2\n      - name: Use Node.js ${{ matrix.node-version }}\n        uses: actions/setup-node@v2\n        with:\n          node-version: ${{ matrix.node-version }}\n          cache: 'npm'\n      - run: npm ci\n      - run: npm run build --if-present\n      - run: npm test\n"
  },
  {
    "path": ".gitignore",
    "content": "node_modules\n.idea/\n*.sublime-*\n.DS_Store\nThumbs.db\nnpm-debug.log\n/coverage\n"
  },
  {
    "path": ".npmrc",
    "content": "registry= https://registry.npmjs.org/"
  },
  {
    "path": ".prettierignore",
    "content": "# node modules\n/node_modules/\n\n# docs build\n/docs/build/*\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: node_js\nnode_js:\n  - '12'\n  - '14'\nenv:\n  - CXX=g++-4.8\naddons:\n  apt:\n    sources:\n      - ubuntu-toolchain-r-test\n    packages:\n      - g++-4.8\ncache:\n  npm: false\nbefore_install:\n  - npm i -g npm@latest\ninstall:\n  - npm ci\n"
  },
  {
    "path": "CHANGELOG.md",
    "content": "## 6.1.1 (2022-11-18)\n\n- [#443](https://github.com/spotify/reactochart/pull/443) Bump d3-color from 3.0.1 to 3.1.0\n\n## 6.1.0 (2022-01-18)\n\n- [#294](https://github.com/spotify/reactochart/pull/294) Accessible Interface for Line/Area Charts\n\n## 6.0.0 (2021-09-10)\n\n- [#307](https://github.com/spotify/reactochart/pull/307) Enable support for d3 7, and still support 6\n- [#308](https://github.com/spotify/reactochart/pull/308) Enable GitHub Actions for CI\n\n## 5.0.0 (2021-05-20)\n\n- Remove support for Node 8-10. Support 12 and up.\n- Some security patches to dependencies.\n\n## 4.0.0 (2021-01-07)\n\n- [#276](https://github.com/spotify/reactochart/pull/276) Upgrade D3 to 6.3.1.\n\n## 3.2.2 (2020-12-10)\n\n- [#273](https://github.com/spotify/reactochart/pull/273) Add `aria-hidden=\"true\"` attributes to XYPlot components.\n\n## 3.2.1 (2020-12-04)\n\n- [#271](https://github.com/spotify/reactochart/pull/271) Fix YAxisLabels formatting example. (Thanks @mbonaci)\n\n## 3.2.0 (2020-10-30)\n\n- [#269](https://github.com/spotify/reactochart/pull/269) add nodeSort and linkSort hooks to SankeyDiagram. Remove deprecated refs definition using strings\n\n## 3.1.0 (2020-07-09)\n\n- [#264](https://github.com/spotify/reactochart/pull/264) Added noLabelOverhang prop to XAxisLabels\n\n## 3.0.3 (2020-06-18)\n\n- [#257](https://github.com/spotify/reactochart/pull/257) Added onClick event handler for Bar, BarChart, RangeBarChart, and PieChart - Thanks @jrydberg!\n- [#258](https://github.com/spotify/reactochart/pull/258) Updated docs and added testing for onClick event handlers\n- Update dependencies via Greenkeeper\n\n## 3.0.2 (2020-02-25)\n\n- [#234](https://github.com/spotify/reactochart/pull/234) Remove deprecated React lifecycle hooks\n- Update dependencies via Greenkeeper\n\n## 3.0.1 (2019-12-18)\n\n- [#211](https://github.com/spotify/reactochart/pull/211) Fix XYPlots lesson in docs\n- [#212](https://github.com/spotify/reactochart/pull/212) Add prettierignore\n\n## 3.0.0 (2019-12-16)\n\n- [#187](https://github.com/spotify/reactochart/pull/187) Dependency upgrades\n- [#194](https://github.com/spotify/reactochart/pull/194) Addition of pre-commit hooks\n- [#201](https://github.com/spotify/reactochart/pull/201) PieChart updates\n- [#207](https://github.com/spotify/reactochart/pull/207) Documentation updates\n\n## 2.0.2 (2019-11-04)\n\n- [#182](https://github.com/spotify/reactochart/pull/182) Decorate XYPlot onMouseEnter and onMouseLeave events - thanks @tanayv!\n- [#184](https://github.com/spotify/reactochart/pull/184) Fix warnings in tests and add SankeyNodeTerminal tests\n\n## 2.0.1 (2019-09-03)\n\n- [#179](https://github.com/spotify/reactochart/pull/179) Fix children proptype for YAxisTitle\n\n## 2.0.0 (2019-08-30)\n\n- [#173](https://github.com/spotify/reactochart/pull/173) Migrate to Spotify web scripts - thanks @arjbholu!\n- [#171](https://github.com/spotify/reactochart/pull/171) Update format examples\n- [#170](https://github.com/spotify/reactochart/pull/170) Namespace XYPlot props\n- [#169](https://github.com/spotify/reactochart/pull/169) Deprecate numeral.js in favor of d3.format - thanks @acmei!\n- [#164](https://github.com/spotify/reactochart/pull/164) Replace lodash functions with native JS versions\n- [#163](https://github.com/spotify/reactochart/pull/163) Modularize lodash\n\n## 1.11.0 (2019-07-09)\n\n- [#155](https://github.com/spotify/reactochart/pull/155) Update d3 to v5 - thanks @ekh64!\n- [#152](https://github.com/spotify/reactochart/pull/152) Add limit props to set height and width of XLine and YLine - thanks @tanayv!\n- [#153](https://github.com/spotify/reactochart/pull/153) Upgrade to babel 7 and css loader v3\n\n## 1.10.2 (2019-04-29)\n\n- [#150](https://github.com/spotify/reactochart/pull/150) Fix invert point scale logic to get option closest to mouse pointer\n\n## 1.10.1 (2018-12-21)\n\n- [#146](https://github.com/spotify/reactochart/pull/146) Fix labelStyle accessor argument\n- [#145](https://github.com/spotify/reactochart/pull/145) Fix minor vulnerabilities\n\n## 1.10.0 (2018-12-21)\n\n- [#144](https://github.com/spotify/reactochart/pull/144) Support for pie chart slice labels - thanks @joeporpeglia!\n\n## 1.9.0 (2018-12-21)\n\n- [#142](https://github.com/spotify/reactochart/pull/142) Update logic for getting invertPointScale & add click handlers to labels themselves\n\n## 1.8.0 (2018-12-21)\n\n- [#139](https://github.com/spotify/reactochart/pull/139) Update x and y axis to have onMouseEnterAxis, onMouseLeaveAxis, onMouseMoveAxis and onMouseClickAxis\n\n## 1.7.0 (2018-12-21)\n\n[Warning]: To those using the recent labelStyle function accessor prop, the function signature now returns\nan object containing { text, x, y, height, value } as opposed to just the text\n\n- [#136](https://github.com/spotify/reactochart/pull/136) Update labelStyle accessor to return more useful label information. Upgrade webpack-dev-server to fix security issue.\n\n## 1.6.0 (2018-12-21)\n\n- [#134](https://github.com/spotify/reactochart/pull/134)\n  Make labelStyle a function accessor (still supports object). Fixes ZoomContainer dependencies issue.\n\n## 1.5.1 (2018-12-19)\n\n- [#132](https://github.com/spotify/reactochart/pull/132) Fix peer dependencies - thanks @ekh64!\n\n## 1.5.0 (2018-12-11)\n\n- [#129](https://github.com/spotify/reactochart/pull/129) Upgrade webpack and resolve security dev dependencies\n- [#130](https://github.com/spotify/reactochart/pull/130) Upgrade to react v16 and update peer dependencies\n\n## 1.4.1 (2018-12-04)\n\n- [#127](https://github.com/spotify/reactochart/pull/127) Import measure-text source code to fix [security vulnerability](https://github.com/FormidableLabs/measure-text/issues/5) and [dev dependencies issue](https://github.com/spotify/reactochart/issues/123)\n\n## 1.4.0 (2018-12-02)\n\n- [#125](https://github.com/spotify/reactochart/pull/125) Omit certain XYPlot props from overriding children props downstream. Added xyPlotStyle prop.\n\n## 1.3.1 (2018-09-12)\n\n- [#117](https://github.com/spotify/reactochart/pull/117) Add style prop to XYPlot component\n- [#115](https://github.com/spotify/reactochart/pull/115) Update documentation\n- [#121](https://github.com/spotify/reactochart/pull/121) xyPlotClassName omission fix - thanks @rpjs!\n\n## 1.3.0 (2018-09-12)\n\n- [#114](https://github.com/spotify/reactochart/pull/114) Add optional label placement to barchart - thanks @dgdblank!\n- [#111](https://github.com/spotify/reactochart/pull/111) Rebuild docs for gh-pages branch\n- [#109](https://github.com/spotify/reactochart/pull/109) Adds curve prop to AreaChart for custom curves - thanks @dgdblank!\n\n## 1.2.0 (2018-08-29)\n\n- [#106](https://github.com/spotify/reactochart/pull/106) Adds showLine and lineStyle prop to X and Y Axis. Also adds default styling to provide X and Y Axis line with stroke color\n\n## 1.1.0 (2018-08-28)\n\n- [#99](https://github.com/spotify/reactochart/pull/99) Adds d3 line generator and curve prop to LineChart - thanks @scottsheffield!\n- [#102](https://github.com/spotify/reactochart/pull/102) Adds offset prop to XAxis and YAxis labels\n- [#103](https://github.com/spotify/reactochart/pull/103) Fix issue with doc generation with TreeMap\n\n## 1.0.1 (2018-07-06)\n\n- [#94](https://github.com/spotify/reactochart/pull/94) Minor Bug Fixes\n  - Update propType `pointStyle` for ScatterPlot to be of type object or accessor func\n  - Update propType `format` XAxis and YAxis (which is passed to X and YAxisLabel) to be of type string or accessor function\n  - Update TreeMap and SankeyDiagram docs\n\n## 1.0.0 (2018-06-28)\n\nAlthough this is a major release, there aren't many breaking changes that weren't noted in previous releases. Additions include more tests, clean up of component API docs, minor bug fixes and feature adds and better consistency for chart props.\n\n#### Breaking Changes\n\n- Per [#63](https://github.com/spotify/reactochart/pull/63) Include css in root, the stylesheet has been moved to\n\n```\nimport \"reactochart/styles.css\"\n```\n\n- [#85](https://github.com/spotify/reactochart/pull/80) PieChart - Deprecates markerLineClass in favor of markerLineClassName\n\n## 0.4.8 (2018-06-08)\n\n- [#80](https://github.com/spotify/reactochart/pull/80) Upgrade mocha to v4.0.1 to fix [growl dependency](https://github.com/tj/node-growl/pull/68)\n\n## 0.4.7 (2018-05-31)\n\n- [#73](https://github.com/spotify/reactochart/pull/73) Add step labeling to sankey\n\n## 0.4.6 (2018-05-21)\n\n- [#63](https://github.com/spotify/reactochart/pull/63) Include css in root\n- [#65](https://github.com/spotify/reactochart/pull/65) Test for AreaBarChart\n- [#66](https://github.com/spotify/reactochart/pull/66) Namespace CSS\n- [#67](https://github.com/spotify/reactochart/pull/67) Add disableMouseWheelZoom to ZoomContainer\n\n## 0.4.5 (2018-04-18)\n\n- [#56](https://github.com/spotify/reactochart/pull/56) Add `react-docgen` to devDependencies.\n\n## 0.4.4 (2018-04-10)\n\n- [#55](https://github.com/spotify/reactochart/pull/55) Add `controlled` prop to `ZoomContainer` so it can be controlled by props instead of internal state.\n\n## 0.4.3 (2018-03-12)\n\n- [#54](https://github.com/spotify/reactochart/pull/54) Fix for non-string `SankeyDiagram` `nodeLabelText` prop (see 0.4.2 notes) - now rendered as SVG instead of HTML wrapped in `<foreignObject>`\n\n## 0.4.2 (2018-02-27)\n\n- Added CHANGELOG file\n- [#52](https://github.com/spotify/reactochart/pull/52) New `SankeyDiagram` features\n  - `marginTop`, `marginBottom`, marginLeft`,`marginRight` props for leaving internal empty space around the diagram\n  - `nodeLabelText` prop may now be a function which returns an arbitrary HTML component (instead of only a string)\n- [#53](https://github.com/spotify/reactochart/pull/53) Documentation typo fixes\n\n## 0.4.1 (2018-01-26)\n\n- [#49](https://github.com/spotify/reactochart/pull/49) New `SankeyDiagram` prop `shouldClone`, to control whether data should be cloned or mutated in place\n\n## 0.4.0 (2018-01-03)\n\n- [#47](https://github.com/spotify/reactochart/issues/47) API Changes - see ticket for detailed discussion\n  - `getThing` getter props renamed to just `thing` - now accept either a constant value or accessor function (when possible)\n  - Deprecated string/number/null shorthand for getter props\n  - Deprecated combined `thing={{x:..., y:...}}` props in favor of separate `xThing` and `yThing` props\n  - Deprecated combined `thing={{top:..., bottom:..., left:..., right:...}}` props in favor of separate `thingTop`, `thingBottom`, `thingLeft`, `thingRight` props\n- New chart component: `SankeyDiagram`\n- Improved documentation and test coverage\n- Added markdown support in docs (including for component prop docs)\n- Removed compiled library files from repo - build library on `prepublish` instead\n\n## 0.3.1 (2017-11-15)\n\n- Improved test coverage & docs for `Bar` and `BarChart` components\n- Fixed incorrect `react` peerDependency version\n- Added missing `sinon` devDependency\n- Added `yarn` lock file\n\n## 0.3.0 (2017-08-10)\n\n- New documentation, including tutorials and interactive examples\n- New chart components: `ColorHeatmap`, `FunnelChart`\n- Unified branches from several contributors (see [#45](https://github.com/spotify/reactochart/pull/45) for details)\n- Added `className` and `style` props to `AreaHeatmap`\n- Added `style` prop to `LineChart`\n- Added `pointStyle` prop to `ScatterPlot`\n- Changed `MarkerLineChart` to use `horizontal` prop, rather than `orientation`, for consistency\n- Fixed missing import in `Scale`\n- Fixed incorrect propTypes in `ScatterPlot` and `YAxis`\n"
  },
  {
    "path": "CODEOWNERS",
    "content": "# This is a comment.\n# Each line is a file pattern followed by one or more owners.\n\n# These owners will be the default owners for everything in\n# the repo. Unless a later match takes precedence,\n# These users will be requested for review when someone opens a pull request.\n*       @mawa-kake @ekh64\n"
  },
  {
    "path": "LICENSE",
    "content": "Copyright 2015-2016 Spotify AB. All rights reserved.\n\nThe contents of this file are licensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the\nLicense is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,\neither express or implied. See the License for the specific language governing permissions\nand limitations under the License."
  },
  {
    "path": "NOTICE",
    "content": "Reactochart\nCopyright 2018 Spotify AB\n"
  },
  {
    "path": "README.md",
    "content": "<p align=\"right\">\n  <a href=\"https://npmjs.org/package/reactochart\">\n    <img src=\"https://img.shields.io/npm/v/reactochart.svg?style=flat-square\" alt=\"version\" />\n  </a>\n  <a href=\"https://travis-ci.org/spotify/reactochart\">\n    <img src=\"https://travis-ci.org/spotify/reactochart.svg?branch=master\" alt=\"build\" />\n  </a>\n</p>\n\n<a href=\"https://spotify.github.io/reactochart/docs/\"><h1 align=\"center\">Reactochart<a href=\"\"></h1></a>\n\n# Overview\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/spotify/reactochart.svg)](https://greenkeeper.io/)\n\nReactochart is a library of React components for creating data visualization charts and graphs. Components include **line chart**, **bar chart**, **area chart**, **heat maps**, **scatterplot**, **histogram**, **pie chart**, **sankey diagram**, and **tree map**.\n\n# Getting started\n\n1.  Install reactochart using npm.\n\n```\nnpm i reactochart --save\n```\n\n2.  Then you can import an individual Reactochart component:\n\n```jsx\nimport LineChart from 'reactochart/LineChart';\n```\n\n3.  If you prefer, you can import all of Reactochart at once, though this may hinder some optimizations, such as webpack tree-shaking:\n\n```jsx\nimport { XYPlot, XAxis, YAxis, LineChart } from 'reactochart';\n```\n\nor\n\n```jsx\nimport * as Reactochart from 'reactochart';\n```\n\n4.  Import reactochart's base styles\n\n```jsx\nimport 'reactochart/styles.css';\n```\n\n5.  Build your first chart and see it rendered! For example, the following code snippet:\n\n```jsx\nimport XYPlot from 'reactochart/XYPlot';\nimport XAxis from 'reactochart/XAxis';\nimport YAxis from 'reactochart/YAxis';\nimport LineChart from 'reactochart/LineChart';\nimport 'reactochart/styles.css';\n\nconst MyFirstLineChart = props => (\n  <XYPlot>\n    <XAxis title=\"Phase\" />\n    <YAxis title=\"Intensity\" />\n    <LineChart\n      data={Array(100)\n        .fill()\n        .map((e, i) => i + 1)}\n      x={d => d}\n      y={d => Math.sin(d * 0.1)}\n    />\n  </XYPlot>\n);\n```\n\nresults in this:\n\n<img src=\"./docs/assets/MyFirstLineChart.png\" style='margin-left:40px'/>\n\n# Live Examples\n\nThe examples contain more details about each component and the prop-types it accepts. To run the examples locally and play with the different types of charts in a live code editor:\n\n1.  Clone this repo and `cd` to the newly-created directory\n2.  Run `npm run serve` in your terminal (note: if you're running Python in v3 or higher you'll need to run `python -m http.server`)\n3.  Go to [http://localhost:8000](http://localhost:8000)\n\n# Reactochart Components\n\n## Chart Foundations\n\n### XY Plot\n\n- [XYPlot](http://spotify.github.io/reactochart/docs/build/#/xy-plot)\n\n### XY Axis Components\n\n- [XAxis](http://spotify.github.io/reactochart/docs/build/#/x-axis), [YAxis](http://spotify.github.io/reactochart/docs/build/#/y-axis)\n- [XAxisTitle](http://spotify.github.io/reactochart/docs/build/#/x-axis-title), [YAxisTitle](http://spotify.github.io/reactochart/docs/build/#/y-axis-title)\n- [XAxisLabels](http://spotify.github.io/reactochart/docs/build/#/x-axis-labels), [YAxisLabels](http://spotify.github.io/reactochart/docs/build/#/y-axis-labels)\n- [XTicks](http://spotify.github.io/reactochart/docs/build/#/x-ticks), [YTicks](http://spotify.github.io/reactochart/docs/build/#/y-ticks)\n- [XGrid](http://spotify.github.io/reactochart/docs/build/#/x-grid), [YGrid](http://spotify.github.io/reactochart/docs/build/#/y-grid)\n\n## Chart Types\n\n### Non-XY charts\n\n- [PieChart](http://spotify.github.io/reactochart/docs/build/#/pie-chart)\n- [TreeMap](http://spotify.github.io/reactochart/docs/build/#/tree-map)\n- [SankeyDiagram](http://spotify.github.io/reactochart/docs/build/#/sankey)\n\n### XY charts\n\n- [AreaBarChart](http://spotify.github.io/reactochart/docs/build/#/area-bar-chart)\n- [AreaChart](http://spotify.github.io/reactochart/docs/build/#/area-chart)\n- [AreaHeatmap](http://spotify.github.io/reactochart/docs/build/#/area-heatmap)\n- [BarChart](http://spotify.github.io/reactochart/docs/build/#/bar-chart)\n- [ColorHeatmap](http://spotify.github.io/reactochart/docs/build/#/color-heatmap)\n- [FunnelChart](http://spotify.github.io/reactochart/docs/build/#/funnel-chart)\n- [Histogram](http://spotify.github.io/reactochart/docs/build/#/histogram)\n- [LineChart](http://spotify.github.io/reactochart/docs/build/#/line-chart)\n- [MarkerLineChart](http://spotify.github.io/reactochart/docs/build/#/marker-line-chart)\n- [RangeBarChart](http://spotify.github.io/reactochart/docs/build/#/range-bar-chart)\n- [ScatterPlot](http://spotify.github.io/reactochart/docs/build/#/scatter-plot)\n\n### XY datum components (used by charts/axes)\n\n- [Bar](http://spotify.github.io/reactochart/docs/build/#/bar)\n- [RangeRect](http://spotify.github.io/reactochart/docs/build/#/range-rect)\n- [XLine](http://spotify.github.io/reactochart/docs/build/#/x-line), [YLine](http://spotify.github.io/reactochart/docs/build/#/y-line)\n\n### Other\n\n- [ZoomContainer](http://spotify.github.io/reactochart/docs/build/#/zoom-container)\n\n# Development\n\nIf you'd like to contribute to the development this project, first fork & clone this repo, and then follow these steps:\n\n### Global dependencies\n\n- This project uses NPM to manage dependencies and run scripts. Run `npm -v` to check if you already have it installed.\n  If you don't have it, NPM is packaged with Node.js - download and run the\n  [install package located on nodejs.org](https://nodejs.org/) to install.\n- Babel is used to transpile ES6+ code to ES5 syntax. Install by running `npm install --global babel`\n- Webpack is used to bundle the JS & styles for the examples. Install by running `npm install --global webpack`\n\n### Project dependencies\n\n- Run `npm install` in the project root directory. This will install all of the project dependencies into the\n  `node_modules` directory.\n\n### Development process\n\n- Run `npm run dev` to run the development server (webpack-dev-server), which will serve a live development version of the examples at [localhost:9876](http://localhost:9876).\n- Make changes to the library code in the `src` directory, and/or changes to the examples in the `examples/src` directory.\n- If you'd like to make changes or add further component documentation, follow the example on [`react-docgen`](https://github.com/reactjs/react-docgen#example).\n- Once you're happy with your library and/or documentation changes, run `npm run docs`. This allows the documentation build to run with your updated `src` code. `git add` and `git commit` the updated build.\n- `git push` to your forked version of the repo.\n- Open a Github pull request with your changes against `master`. 🎉\n\n### NPM Link\n\nIf you have an app that depends on reactochart and you want to develop locally, follow the following steps:\n\n1. In the folder for this repo, run `npm build` and then `npm link`\n2. In your app folder, run `npm link reactochart`. If you're using webpack, then you also may need the following config:\n\n```json\n{\n  \"resolve\": {\n    \"symlinks\": true,\n    \"alias\": {\n      \"react\": path.resolve(\"./node_modules/react\"),\n      \"react-dom\": path.resolve(\"./node_modules/react-dom\")\n    }\n  }\n}\n```\n\n### Notes\n\n- **Do not make any changes in the `lib` or `examples/build` directories**, as these directories are destroyed and\n  regenerated on each build.\n- The development server uses [react-hot-loader](https://github.com/gaearon/react-hot-loader) to automatically\n  \"hot reload\" changes to React components, so refreshing your web browser is not necessary.\n\n## Code of Conduct\n\nThis project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code.\n\n[code-of-conduct]: https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md\n"
  },
  {
    "path": "babel.config.js",
    "content": "module.exports = {\n  presets: [\n    [\n      '@babel/preset-env',\n      {\n        targets: {\n          browsers: '> 3%',\n        },\n      },\n    ],\n    '@babel/preset-react',\n    '@babel/preset-flow',\n  ],\n  plugins: [\n    '@babel/plugin-proposal-class-properties',\n    '@babel/plugin-proposal-object-rest-spread',\n  ],\n  env: {\n    production: {\n      plugins: ['lodash'],\n    },\n    test: {\n      plugins: ['babel-plugin-rewire'],\n    },\n  },\n};\n"
  },
  {
    "path": "docs/build/bundle.6ab8ef2cbcf9e159df8e.js",
    "content": "/*! For license information please see bundle.6ab8ef2cbcf9e159df8e.js.LICENSE.txt */\n(()=>{var __webpack_modules__={90478:(e,t,n)=>{\"use strict\";var r=n(62854),i=Object.prototype.hasOwnProperty,o={align:\"text-align\",valign:\"vertical-align\",height:\"height\",width:\"width\"};function a(e){var t;if(\"tr\"===e.tagName||\"td\"===e.tagName||\"th\"===e.tagName)for(t in o)i.call(o,t)&&void 0!==e.properties[t]&&(s(e,o[t],e.properties[t]),delete e.properties[t])}function s(e,t,n){var r=(e.properties.style||\"\").trim();r&&!/;\\s*/.test(r)&&(r+=\";\"),r&&(r+=\" \");var i=r+t+\": \"+n+\";\";e.properties.style=i}e.exports=function(e){return r(e,\"element\",a),e}},7874:e=>{\"use strict\";const t=Object.prototype.hasOwnProperty;function n(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}e.exports=function(e,r){if(n(e,r))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof r||null===r)return!1;const i=Object.keys(e),o=Object.keys(r);if(i.length!==o.length)return!1;for(let o=0;o<i.length;o++)if(!t.call(r,i[o])||!n(e[i[o]],r[i[o]]))return!1;return!0}},76124:(e,t,n)=>{\"use strict\";if(n(81934),n(95654),n(7694),n.g._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");function r(e,t,n){e[t]||Object.defineProperty(e,t,{writable:!0,configurable:!0,value:n})}n.g._babelPolyfill=!0,r(String.prototype,\"padLeft\",\"\".padStart),r(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach((function(e){[][e]&&r(Array,e,Function.call.bind([][e]))}))},95654:function(e,t,n){!function(t){\"use strict\";var n,r=Object.prototype,i=r.hasOwnProperty,o=\"function\"==typeof Symbol?Symbol:{},a=o.iterator||\"@@iterator\",s=o.asyncIterator||\"@@asyncIterator\",u=o.toStringTag||\"@@toStringTag\",l=t.regeneratorRuntime;if(l)e.exports=l;else{(l=t.regeneratorRuntime=e.exports).wrap=b;var c=\"suspendedStart\",f=\"suspendedYield\",p=\"executing\",d=\"completed\",h={},m={};m[a]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(M([])));v&&v!==r&&i.call(v,a)&&(m=v);var g=E.prototype=_.prototype=Object.create(m);w.prototype=g.constructor=E,E.constructor=w,E[u]=w.displayName=\"GeneratorFunction\",l.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===w||\"GeneratorFunction\"===(t.displayName||t.name))},l.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,E):(e.__proto__=E,u in e||(e[u]=\"GeneratorFunction\")),e.prototype=Object.create(g),e},l.awrap=function(e){return{__await:e}},S(k.prototype),k.prototype[s]=function(){return this},l.AsyncIterator=k,l.async=function(e,t,n,r){var i=new k(b(e,t,n,r));return l.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},S(g),g[u]=\"Generator\",g[a]=function(){return this},g.toString=function(){return\"[object Generator]\"},l.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},l.values=M,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=n,this.tryEntries.forEach(T),!e)for(var t in this)\"t\"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return s.type=\"throw\",s.arg=e,t.next=r,i&&(t.method=\"next\",t.arg=n),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if(\"root\"===a.tryLoc)return r(\"end\");if(a.tryLoc<=this.prev){var u=i.call(a,\"catchLoc\"),l=i.call(a,\"finallyLoc\");if(u&&l){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(u){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===e||\"continue\"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=e,a.arg=t,o?(this.method=\"next\",this.next=o.finallyLoc,h):this.complete(a)},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;return\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=this.arg=e.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var i=r.arg;T(n)}return i}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,r){return this.delegate={iterator:M(e),resultName:t,nextLoc:r},\"next\"===this.method&&(this.arg=n),h}}}function b(e,t,n,r){var i=t&&t.prototype instanceof _?t:_,o=Object.create(i.prototype),a=new D(r||[]);return o._invoke=function(e,t,n){var r=c;return function(i,o){if(r===p)throw new Error(\"Generator is already running\");if(r===d){if(\"throw\"===i)throw o;return P()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=A(a,n);if(s){if(s===h)continue;return s}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(r===c)throw r=d,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);r=p;var u=x(e,t,n);if(\"normal\"===u.type){if(r=n.done?d:f,u.arg===h)continue;return{value:u.arg,done:n.done}}\"throw\"===u.type&&(r=d,n.method=\"throw\",n.arg=u.arg)}}}(e,n,a),o}function x(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}function _(){}function w(){}function E(){}function S(e){[\"next\",\"throw\",\"return\"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function k(e){function n(t,r,o,a){var s=x(e[t],e,r);if(\"throw\"!==s.type){var u=s.arg,l=u.value;return l&&\"object\"==typeof l&&i.call(l,\"__await\")?Promise.resolve(l.__await).then((function(e){n(\"next\",e,o,a)}),(function(e){n(\"throw\",e,o,a)})):Promise.resolve(l).then((function(e){u.value=e,o(u)}),a)}a(s.arg)}var r;\"object\"==typeof t.process&&t.process.domain&&(n=t.process.domain.bind(n)),this._invoke=function(e,t){function i(){return new Promise((function(r,i){n(e,t,r,i)}))}return r=r?r.then(i,i):i()}}function A(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,\"throw\"===t.method){if(e.iterator.return&&(t.method=\"return\",t.arg=n,A(e,t),\"throw\"===t.method))return h;t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return h}var i=x(r,e.iterator,t.arg);if(\"throw\"===i.type)return t.method=\"throw\",t.arg=i.arg,t.delegate=null,h;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=n),t.delegate=null,h):o:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,h)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(C,this),this.reset(!0)}function M(e){if(e){var t=e[a];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){for(;++r<e.length;)if(i.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=n,t.done=!0,t};return o.next=o}}return{next:P}}function P(){return{value:n,done:!0}}}(\"object\"==typeof n.g?n.g:\"object\"==typeof window?window:\"object\"==typeof self?self:this)},90181:function(e){var t;t=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,n),i.loaded=!0,i.exports}return n.m=e,n.c=t,n.p=\"\",n(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case\"function\":break;case\"object\":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,i){r.apply(this,[e,t,i].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.version=t.buildExternalHelpers=t.availablePresets=t.availablePlugins=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=\"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};t.transform=c,t.transformFromAst=function(e,t,n){return o.transformFromAst(e,t,l(n))},t.registerPlugin=d,t.registerPlugins=h,t.registerPreset=m,t.registerPresets=y,t.transformScriptTags=v,t.disableScriptTags=function(){window.removeEventListener(\"DOMContentLoaded\",v)};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(290)),a=n(629),s=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)};function u(e,t){return s(t)&&\"string\"==typeof t[0]?e.hasOwnProperty(t[0])?[e[t[0]]].concat(t.slice(1)):void 0:\"string\"==typeof t?e[t]:t}function l(e){var t=(e.presets||[]).map((function(e){var t=u(p,e);if(!t)throw new Error('Invalid preset specified in Babel options: \"'+e+'\"');return s(t)&&\"object\"===i(t[0])&&t[0].hasOwnProperty(\"buildPreset\")&&(t[0]=r({},t[0],{buildPreset:t[0].buildPreset})),t})),n=(e.plugins||[]).map((function(e){var t=u(f,e);if(!t)throw new Error('Invalid plugin specified in Babel options: \"'+e+'\"');return t}));return r({babelrc:!1},e,{presets:t,plugins:n})}function c(e,t){return o.transform(e,l(t))}var f=t.availablePlugins={},p=t.availablePresets={};function d(e,t){f.hasOwnProperty(e)&&console.warn('A plugin named \"'+e+'\" is already registered, it will be overridden'),f[e]=t}function h(e){Object.keys(e).forEach((function(t){return d(t,e[t])}))}function m(e,t){p.hasOwnProperty(e)&&console.warn('A preset named \"'+e+'\" is already registered, it will be overridden'),p[e]=t}function y(e){Object.keys(e).forEach((function(t){return m(t,e[t])}))}function v(e){(0,a.runScripts)(c,e)}t.buildExternalHelpers=o.buildExternalHelpers,h({\"check-es2015-constants\":n(66),\"external-helpers\":n(322),\"inline-replace-variables\":n(323),\"syntax-async-functions\":n(67),\"syntax-async-generators\":n(195),\"syntax-class-constructor-call\":n(196),\"syntax-class-properties\":n(197),\"syntax-decorators\":n(125),\"syntax-do-expressions\":n(198),\"syntax-exponentiation-operator\":n(199),\"syntax-export-extensions\":n(200),\"syntax-flow\":n(126),\"syntax-function-bind\":n(201),\"syntax-function-sent\":n(325),\"syntax-jsx\":n(127),\"syntax-object-rest-spread\":n(202),\"syntax-trailing-function-commas\":n(128),\"transform-async-functions\":n(326),\"transform-async-to-generator\":n(129),\"transform-async-to-module-method\":n(328),\"transform-class-constructor-call\":n(203),\"transform-class-properties\":n(204),\"transform-decorators\":n(205),\"transform-decorators-legacy\":n(329).default,\"transform-do-expressions\":n(206),\"transform-es2015-arrow-functions\":n(68),\"transform-es2015-block-scoped-functions\":n(69),\"transform-es2015-block-scoping\":n(70),\"transform-es2015-classes\":n(71),\"transform-es2015-computed-properties\":n(72),\"transform-es2015-destructuring\":n(73),\"transform-es2015-duplicate-keys\":n(130),\"transform-es2015-for-of\":n(74),\"transform-es2015-function-name\":n(75),\"transform-es2015-instanceof\":n(332),\"transform-es2015-literals\":n(76),\"transform-es2015-modules-amd\":n(131),\"transform-es2015-modules-commonjs\":n(77),\"transform-es2015-modules-systemjs\":n(208),\"transform-es2015-modules-umd\":n(209),\"transform-es2015-object-super\":n(78),\"transform-es2015-parameters\":n(79),\"transform-es2015-shorthand-properties\":n(80),\"transform-es2015-spread\":n(81),\"transform-es2015-sticky-regex\":n(82),\"transform-es2015-template-literals\":n(83),\"transform-es2015-typeof-symbol\":n(84),\"transform-es2015-unicode-regex\":n(85),\"transform-es3-member-expression-literals\":n(336),\"transform-es3-property-literals\":n(337),\"transform-es5-property-mutators\":n(338),\"transform-eval\":n(339),\"transform-exponentiation-operator\":n(132),\"transform-export-extensions\":n(210),\"transform-flow-comments\":n(340),\"transform-flow-strip-types\":n(211),\"transform-function-bind\":n(212),\"transform-jscript\":n(341),\"transform-object-assign\":n(342),\"transform-object-rest-spread\":n(213),\"transform-object-set-prototype-of-to-assign\":n(343),\"transform-proto-to-assign\":n(344),\"transform-react-constant-elements\":n(345),\"transform-react-display-name\":n(214),\"transform-react-inline-elements\":n(346),\"transform-react-jsx\":n(215),\"transform-react-jsx-compat\":n(347),\"transform-react-jsx-self\":n(349),\"transform-react-jsx-source\":n(350),\"transform-regenerator\":n(86),\"transform-runtime\":n(353),\"transform-strict-mode\":n(216),\"undeclared-variables-check\":n(354)}),y({es2015:n(217),es2016:n(218),es2017:n(219),latest:n(356),react:n(357),\"stage-0\":n(358),\"stage-1\":n(220),\"stage-2\":n(221),\"stage-3\":n(222),\"es2015-no-commonjs\":{plugins:[n(83),n(76),n(75),n(68),n(69),n(71),n(78),n(80),n(72),n(74),n(82),n(85),n(66),n(81),n(79),n(73),n(70),n(84),[n(86),{async:!1,asyncGenerators:!1}]]},\"es2015-loose\":{plugins:[[n(83),{loose:!0}],n(76),n(75),n(68),n(69),[n(71),{loose:!0}],n(78),n(80),n(130),[n(72),{loose:!0}],[n(74),{loose:!0}],n(82),n(85),n(66),[n(81),{loose:!0}],n(79),[n(73),{loose:!0}],n(70),n(84),[n(77),{loose:!0}],[n(86),{async:!1,asyncGenerators:!1}]]}}),t.version=\"6.26.0\",\"undefined\"!=typeof window&&window&&window.addEventListener&&window.addEventListener(\"DOMContentLoaded\",(function(){return v()}),!1)},function(e,t,n){\"use strict\";t.__esModule=!0,t.createTypeAnnotationBasedOnTypeof=t.removeTypeDuplicates=t.createUnionTypeAnnotation=t.valueToNode=t.toBlock=t.toExpression=t.toStatement=t.toBindingIdentifierName=t.toIdentifier=t.toKeyAlias=t.toSequenceExpression=t.toComputedKey=t.isNodesEquivalent=t.isImmutable=t.isScope=t.isSpecifierDefault=t.isVar=t.isBlockScoped=t.isLet=t.isValidIdentifier=t.isReferenced=t.isBinding=t.getOuterBindingIdentifiers=t.getBindingIdentifiers=t.TYPES=t.react=t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.ALIAS_KEYS=t.VISITOR_KEYS=t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;var r=v(n(360)),i=v(n(2)),o=v(n(14)),a=v(n(35)),s=n(135);Object.defineProperty(t,\"STATEMENT_OR_BLOCK_KEYS\",{enumerable:!0,get:function(){return s.STATEMENT_OR_BLOCK_KEYS}}),Object.defineProperty(t,\"FLATTENABLE_KEYS\",{enumerable:!0,get:function(){return s.FLATTENABLE_KEYS}}),Object.defineProperty(t,\"FOR_INIT_KEYS\",{enumerable:!0,get:function(){return s.FOR_INIT_KEYS}}),Object.defineProperty(t,\"COMMENT_KEYS\",{enumerable:!0,get:function(){return s.COMMENT_KEYS}}),Object.defineProperty(t,\"LOGICAL_OPERATORS\",{enumerable:!0,get:function(){return s.LOGICAL_OPERATORS}}),Object.defineProperty(t,\"UPDATE_OPERATORS\",{enumerable:!0,get:function(){return s.UPDATE_OPERATORS}}),Object.defineProperty(t,\"BOOLEAN_NUMBER_BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.BOOLEAN_NUMBER_BINARY_OPERATORS}}),Object.defineProperty(t,\"EQUALITY_BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.EQUALITY_BINARY_OPERATORS}}),Object.defineProperty(t,\"COMPARISON_BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.COMPARISON_BINARY_OPERATORS}}),Object.defineProperty(t,\"BOOLEAN_BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.BOOLEAN_BINARY_OPERATORS}}),Object.defineProperty(t,\"NUMBER_BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.NUMBER_BINARY_OPERATORS}}),Object.defineProperty(t,\"BINARY_OPERATORS\",{enumerable:!0,get:function(){return s.BINARY_OPERATORS}}),Object.defineProperty(t,\"BOOLEAN_UNARY_OPERATORS\",{enumerable:!0,get:function(){return s.BOOLEAN_UNARY_OPERATORS}}),Object.defineProperty(t,\"NUMBER_UNARY_OPERATORS\",{enumerable:!0,get:function(){return s.NUMBER_UNARY_OPERATORS}}),Object.defineProperty(t,\"STRING_UNARY_OPERATORS\",{enumerable:!0,get:function(){return s.STRING_UNARY_OPERATORS}}),Object.defineProperty(t,\"UNARY_OPERATORS\",{enumerable:!0,get:function(){return s.UNARY_OPERATORS}}),Object.defineProperty(t,\"INHERIT_KEYS\",{enumerable:!0,get:function(){return s.INHERIT_KEYS}}),Object.defineProperty(t,\"BLOCK_SCOPED_SYMBOL\",{enumerable:!0,get:function(){return s.BLOCK_SCOPED_SYMBOL}}),Object.defineProperty(t,\"NOT_LOCAL_BINDING\",{enumerable:!0,get:function(){return s.NOT_LOCAL_BINDING}}),t.is=function(e,t,n){return!!t&&!!_(t.type,e)&&(void 0===n||g.shallowEqual(t,n))},t.isType=_,t.validate=S,t.shallowEqual=function(e,t){var n=(0,o.default)(t),r=Array.isArray(n),a=0;for(n=r?n:(0,i.default)(n);;){var s;if(r){if(a>=n.length)break;s=n[a++]}else{if((a=n.next()).done)break;s=a.value}var u=s;if(e[u]!==t[u])return!1}return!0},t.appendToMemberExpression=function(e,t,n){return e.object=g.memberExpression(e.object,e.property,e.computed),e.property=t,e.computed=!!n,e},t.prependToMemberExpression=function(e,t){return e.object=g.memberExpression(t,e.object),e},t.ensureBlock=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"body\";return e[t]=g.toBlock(e[t],e)},t.clone=k,t.cloneWithoutLoc=function(e){var t=k(e);return delete t.loc,t},t.cloneDeep=function(e){if(!e)return e;var t={};for(var n in e)if(\"_\"!==n[0]){var r=e[n];r&&(r.type?r=g.cloneDeep(r):Array.isArray(r)&&(r=r.map(g.cloneDeep))),t[n]=r}return t},t.buildMatchMemberExpression=function(e,t){var n=e.split(\".\");return function(e){if(!g.isMemberExpression(e))return!1;for(var r=[e],i=0;r.length;){var o=r.shift();if(t&&i===n.length)return!0;if(g.isIdentifier(o)){if(n[i]!==o.name)return!1}else{if(!g.isStringLiteral(o)){if(g.isMemberExpression(o)){if(o.computed&&!g.isStringLiteral(o.property))return!1;r.push(o.object),r.push(o.property);continue}return!1}if(n[i]!==o.value)return!1}if(++i>n.length)return!1}return!0}},t.removeComments=function(e){var t=g.COMMENT_KEYS,n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}delete e[o]}return e},t.inheritsComments=function(e,t){return A(e,t),C(e,t),T(e,t),e},t.inheritTrailingComments=A,t.inheritLeadingComments=C,t.inheritInnerComments=T,t.inherits=function(e,t){if(!e||!t)return e;var n=g.INHERIT_KEYS.optional,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;null==e[s]&&(e[s]=t[s])}for(var u in t)\"_\"===u[0]&&(e[u]=t[u]);var l=g.INHERIT_KEYS.force,c=Array.isArray(l),f=0;for(l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;e[d]=t[d]}return g.inheritsComments(e,t),e},t.assertNode=function(e){if(!M(e))throw new TypeError(\"Not a valid node \"+(e&&e.type))},t.isNode=M,t.traverseFast=P,t.removeProperties=N,t.removePropertiesDeep=function(e,t){return P(e,N,t),e};var u=n(226);Object.defineProperty(t,\"getBindingIdentifiers\",{enumerable:!0,get:function(){return u.getBindingIdentifiers}}),Object.defineProperty(t,\"getOuterBindingIdentifiers\",{enumerable:!0,get:function(){return u.getOuterBindingIdentifiers}});var l=n(395);Object.defineProperty(t,\"isBinding\",{enumerable:!0,get:function(){return l.isBinding}}),Object.defineProperty(t,\"isReferenced\",{enumerable:!0,get:function(){return l.isReferenced}}),Object.defineProperty(t,\"isValidIdentifier\",{enumerable:!0,get:function(){return l.isValidIdentifier}}),Object.defineProperty(t,\"isLet\",{enumerable:!0,get:function(){return l.isLet}}),Object.defineProperty(t,\"isBlockScoped\",{enumerable:!0,get:function(){return l.isBlockScoped}}),Object.defineProperty(t,\"isVar\",{enumerable:!0,get:function(){return l.isVar}}),Object.defineProperty(t,\"isSpecifierDefault\",{enumerable:!0,get:function(){return l.isSpecifierDefault}}),Object.defineProperty(t,\"isScope\",{enumerable:!0,get:function(){return l.isScope}}),Object.defineProperty(t,\"isImmutable\",{enumerable:!0,get:function(){return l.isImmutable}}),Object.defineProperty(t,\"isNodesEquivalent\",{enumerable:!0,get:function(){return l.isNodesEquivalent}});var c=n(385);Object.defineProperty(t,\"toComputedKey\",{enumerable:!0,get:function(){return c.toComputedKey}}),Object.defineProperty(t,\"toSequenceExpression\",{enumerable:!0,get:function(){return c.toSequenceExpression}}),Object.defineProperty(t,\"toKeyAlias\",{enumerable:!0,get:function(){return c.toKeyAlias}}),Object.defineProperty(t,\"toIdentifier\",{enumerable:!0,get:function(){return c.toIdentifier}}),Object.defineProperty(t,\"toBindingIdentifierName\",{enumerable:!0,get:function(){return c.toBindingIdentifierName}}),Object.defineProperty(t,\"toStatement\",{enumerable:!0,get:function(){return c.toStatement}}),Object.defineProperty(t,\"toExpression\",{enumerable:!0,get:function(){return c.toExpression}}),Object.defineProperty(t,\"toBlock\",{enumerable:!0,get:function(){return c.toBlock}}),Object.defineProperty(t,\"valueToNode\",{enumerable:!0,get:function(){return c.valueToNode}});var f=n(393);Object.defineProperty(t,\"createUnionTypeAnnotation\",{enumerable:!0,get:function(){return f.createUnionTypeAnnotation}}),Object.defineProperty(t,\"removeTypeDuplicates\",{enumerable:!0,get:function(){return f.removeTypeDuplicates}}),Object.defineProperty(t,\"createTypeAnnotationBasedOnTypeof\",{enumerable:!0,get:function(){return f.createTypeAnnotationBasedOnTypeof}});var p=v(n(624)),d=v(n(109)),h=v(n(600));n(390);var m=n(26),y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(394));function v(e){return e&&e.__esModule?e:{default:e}}var g=t;function b(e){var t=g[\"is\"+e];t||(t=g[\"is\"+e]=function(t,n){return g.is(e,t,n)}),g[\"assert\"+e]=function(n,r){if(!t(n,r=r||{}))throw new Error(\"Expected type \"+(0,a.default)(e)+\" with option \"+(0,a.default)(r))}}for(var x in t.VISITOR_KEYS=m.VISITOR_KEYS,t.ALIAS_KEYS=m.ALIAS_KEYS,t.NODE_FIELDS=m.NODE_FIELDS,t.BUILDER_KEYS=m.BUILDER_KEYS,t.DEPRECATED_KEYS=m.DEPRECATED_KEYS,t.react=y,g.VISITOR_KEYS)b(x);function _(e,t){if(e===t)return!0;if(g.ALIAS_KEYS[t])return!1;var n=g.FLIPPED_ALIAS_KEYS[t];if(n){if(n[0]===e)return!0;var r=n,o=Array.isArray(r),a=0;for(r=o?r:(0,i.default)(r);;){var s;if(o){if(a>=r.length)break;s=r[a++]}else{if((a=r.next()).done)break;s=a.value}if(e===s)return!0}}return!1}g.FLIPPED_ALIAS_KEYS={},(0,o.default)(g.ALIAS_KEYS).forEach((function(e){g.ALIAS_KEYS[e].forEach((function(t){(g.FLIPPED_ALIAS_KEYS[t]=g.FLIPPED_ALIAS_KEYS[t]||[]).push(e)}))})),(0,o.default)(g.FLIPPED_ALIAS_KEYS).forEach((function(e){g[e.toUpperCase()+\"_TYPES\"]=g.FLIPPED_ALIAS_KEYS[e],b(e)})),t.TYPES=(0,o.default)(g.VISITOR_KEYS).concat((0,o.default)(g.FLIPPED_ALIAS_KEYS)).concat((0,o.default)(g.DEPRECATED_KEYS)),(0,o.default)(g.BUILDER_KEYS).forEach((function(e){var t=g.BUILDER_KEYS[e];function n(){if(arguments.length>t.length)throw new Error(\"t.\"+e+\": Too many arguments passed. Received \"+arguments.length+\" but can receive no more than \"+t.length);var n={};n.type=e;var r=0,o=t,a=Array.isArray(o),s=0;for(o=a?o:(0,i.default)(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if((s=o.next()).done)break;u=s.value}var l=u,c=g.NODE_FIELDS[e][l],f=arguments[r++];void 0===f&&(f=(0,d.default)(c.default)),n[l]=f}for(var p in n)S(n,p,n[p]);return n}g[e]=n,g[e[0].toLowerCase()+e.slice(1)]=n}));var w=function(e){var t=g.DEPRECATED_KEYS[e];function n(n){return function(){return console.trace(\"The node type \"+e+\" has been renamed to \"+t),n.apply(this,arguments)}}g[e]=g[e[0].toLowerCase()+e.slice(1)]=n(g[t]),g[\"is\"+e]=n(g[\"is\"+t]),g[\"assert\"+e]=n(g[\"assert\"+t])};for(var E in g.DEPRECATED_KEYS)w(E);function S(e,t,n){if(e){var r=g.NODE_FIELDS[e.type];if(r){var i=r[t];i&&i.validate&&(i.optional&&null==n||i.validate(e,t,n))}}}function k(e){if(!e)return e;var t={};for(var n in e)\"_\"!==n[0]&&(t[n]=e[n]);return t}function A(e,t){D(\"trailingComments\",e,t)}function C(e,t){D(\"leadingComments\",e,t)}function T(e,t){D(\"innerComments\",e,t)}function D(e,t,n){t&&n&&(t[e]=(0,h.default)([].concat(t[e],n[e]).filter(Boolean)))}function M(e){return!(!e||!m.VISITOR_KEYS[e.type])}function P(e,t,n){if(e){var r=g.VISITOR_KEYS[e.type];if(r){t(e,n=n||{});var o=r,a=Array.isArray(o),s=0;for(o=a?o:(0,i.default)(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if((s=o.next()).done)break;u=s.value}var l=e[u];if(Array.isArray(l)){var c=l,f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}P(d,t,n)}}else P(l,t,n)}}}}(0,p.default)(g),(0,p.default)(g.VISITOR_KEYS);var O=[\"tokens\",\"start\",\"end\",\"loc\",\"raw\",\"rawValue\"],L=g.COMMENT_KEYS.concat([\"comments\"]).concat(O);function N(e,t){var n=(t=t||{}).preserveComments?O:L,o=Array.isArray(n),a=0;for(n=o?n:(0,i.default)(n);;){var s;if(o){if(a>=n.length)break;s=n[a++]}else{if((a=n.next()).done)break;s=a.value}var u=s;null!=e[u]&&(e[u]=void 0)}for(var l in e)\"_\"===l[0]&&null!=e[l]&&(e[l]=void 0);var c=(0,r.default)(e),f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}e[d]=null}}},function(e,t,n){\"use strict\";e.exports={default:n(404),__esModule:!0}},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=f(n(10));t.default=function(e,t){var n=void 0;try{throw new Error}catch(e){e.stack&&(n=e.stack.split(\"\\n\").slice(1).join(\"\\n\"))}t=(0,o.default)({allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,preserveComments:!1},t);var r=function(){var i=void 0;try{i=u.parse(e,t),i=s.default.removeProperties(i,{preserveComments:t.preserveComments}),s.default.cheap(i,(function(e){e[p]=!0}))}catch(e){throw e.stack=e.stack+\"from\\n\"+n,e}return r=function(){return i},i};return function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return h(r(),t)}};var i=f(n(574)),o=f(n(174)),a=f(n(274)),s=f(n(7)),u=c(n(89)),l=c(n(1));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function f(e){return e&&e.__esModule?e:{default:e}}var p=\"_fromTemplate\",d=(0,r.default)();function h(e,t){var n=(e=(0,i.default)(e)).program;return t.length&&(0,s.default)(e,m,null,t),n.body.length>1?n.body:n.body[0]}var m={noScope:!0,enter:function(e,t){var n=e.node;if(n[d])return e.skip();l.isExpressionStatement(n)&&(n=n.expression);var r=void 0;if(l.isIdentifier(n)&&n[p])if((0,a.default)(t[0],n.name))r=t[0][n.name];else if(\"$\"===n.name[0]){var i=+n.name.slice(1);t[i]&&(r=t[i])}null===r&&e.remove(),r&&(r[d]=!0,e.replaceInline(r))},exit:function(e){var t=e.node;t.loc||s.default.clearNode(t)}};e.exports=t.default},function(e,t){\"use strict\";var n=e.exports={version:\"2.5.0\"};\"number\"==typeof __e&&(__e=n)},function(e,t){\"use strict\";var n=Array.isArray;e.exports=n},function(e,t,n){\"use strict\";t.__esModule=!0,t.visitors=t.Hub=t.Scope=t.NodePath=void 0;var r=h(n(2)),i=n(36);Object.defineProperty(t,\"NodePath\",{enumerable:!0,get:function(){return h(i).default}});var o=n(134);Object.defineProperty(t,\"Scope\",{enumerable:!0,get:function(){return h(o).default}});var a=n(223);Object.defineProperty(t,\"Hub\",{enumerable:!0,get:function(){return h(a).default}}),t.default=m;var s=h(n(367)),u=d(n(384)),l=d(n(20)),c=h(n(111)),f=d(n(1)),p=d(n(88));function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}function m(e,t,n,r,i){if(e){if(t||(t={}),!t.noScope&&!n&&\"Program\"!==e.type&&\"File\"!==e.type)throw new Error(l.get(\"traverseNeedsParent\",e.type));u.explode(t),m.node(e,t,n,r,i)}}function y(e,t){e.node.type===t.type&&(t.has=!0,e.stop())}t.visitors=u,m.visitors=u,m.verify=u.verify,m.explode=u.explode,m.NodePath=n(36),m.Scope=n(134),m.Hub=n(223),m.cheap=function(e,t){return f.traverseFast(e,t)},m.node=function(e,t,n,i,o,a){var u=f.VISITOR_KEYS[e.type];if(u){var l=new s.default(n,t,i,o),c=u,p=Array.isArray(c),d=0;for(c=p?c:(0,r.default)(c);;){var h;if(p){if(d>=c.length)break;h=c[d++]}else{if((d=c.next()).done)break;h=d.value}var m=h;if((!a||!a[m])&&l.visit(e,m))return}}},m.clearNode=function(e,t){f.removeProperties(e,t),p.path.delete(e)},m.removeProperties=function(e,t){return f.traverseFast(e,m.clearNode,t),e},m.hasType=function(e,t,n,r){if((0,c.default)(r,e.type))return!1;if(e.type===n)return!0;var i={has:!1,type:n};return m(e,{blacklist:r,enter:y},t,i),i.has},m.clearCache=function(){p.clear()},m.clearCache.clearPath=p.clearPath,m.clearCache.clearScope=p.clearScope,m.copyCache=function(e,t){p.path.has(e)&&p.path.set(t,p.path.get(e))}},function(e,t){\"use strict\";var n,r,i=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function a(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(e){n=o}try{r=\"function\"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,l=[],c=!1,f=-1;function p(){c&&u&&(c=!1,u.length?l=u.concat(l):f=-1,l.length&&d())}function d(){if(!c){var e=s(p);c=!0;for(var t=l.length;t;){for(u=l,l=[];++f<t;)u&&u[f].run();f=-1,t=l.length}u=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),1!==l.length||c||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=m,i.addListener=m,i.once=m,i.off=m,i.removeListener=m,i.removeAllListeners=m,i.emit=m,i.prependListener=m,i.prependOnceListener=m,i.listeners=function(e){return[]},i.binding=function(e){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(e){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(e,t,n){\"use strict\";e.exports={default:n(409),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(414),__esModule:!0}},function(e,t,n){\"use strict\";var r=\"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};t.__esModule=!0;var i=s(n(363)),o=s(n(10)),a=\"function\"==typeof o.default&&\"symbol\"===r(i.default)?function(e){return void 0===e?\"undefined\":r(e)}:function(e){return e&&\"function\"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?\"symbol\":void 0===e?\"undefined\":r(e)};function s(e){return e&&e.__esModule?e:{default:e}}t.default=\"function\"==typeof o.default&&\"symbol\"===a(i.default)?function(e){return void 0===e?\"undefined\":a(e)}:function(e){return e&&\"function\"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?\"symbol\":void 0===e?\"undefined\":a(e)}},function(e,t,n){\"use strict\";var r=n(15),i=n(5),o=n(43),a=n(29),s=function e(t,n,s){var u,l,c,f=t&e.F,p=t&e.G,d=t&e.S,h=t&e.P,m=t&e.B,y=t&e.W,v=p?i:i[n]||(i[n]={}),g=v.prototype,b=p?r:d?r[n]:(r[n]||{}).prototype;for(u in p&&(s=n),s)(l=!f&&b&&void 0!==b[u])&&u in v||(c=l?b[u]:s[u],v[u]=p&&\"function\"!=typeof b[u]?s[u]:m&&l?o(c,r):y&&b[u]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):h&&\"function\"==typeof c?o(Function.call,c):c,h&&((v.virtual||(v.virtual={}))[u]=c,t&e.R&&g&&!g[u]&&a(g,u,c)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){\"use strict\";var r=n(151)(\"wks\"),i=n(95),o=n(15).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},function(e,t,n){\"use strict\";e.exports={default:n(411),__esModule:!0}},function(e,t){\"use strict\";var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t){\"use strict\";var n=\"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.exports=function(e){return\"object\"===(void 0===e?\"undefined\":n(e))?null!==e:\"function\"==typeof e}},function(e,t,n){\"use strict\";var r=\"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},i=n(261),o=\"object\"==(\"undefined\"==typeof self?\"undefined\":r(self))&&self&&self.Object===Object&&self,a=i||o||Function(\"return this\")();e.exports=a},function(e,t){\"use strict\";var n=\"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.exports=function(e){var t=void 0===e?\"undefined\":n(e);return null!=e&&(\"object\"==t||\"function\"==t)}},function(e,t,n){(function(e){\"use strict\";function n(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];\".\"===i?e.splice(r,1):\"..\"===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift(\"..\");return e}var r=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/,i=function(e){return r.exec(e).slice(1)};function o(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}t.resolve=function(){for(var t=\"\",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if(\"string\"!=typeof a)throw new TypeError(\"Arguments to path.resolve must be strings\");a&&(t=a+\"/\"+t,r=\"/\"===a.charAt(0))}return(r?\"/\":\"\")+(t=n(o(t.split(\"/\"),(function(e){return!!e})),!r).join(\"/\"))||\".\"},t.normalize=function(e){var r=t.isAbsolute(e),i=\"/\"===a(e,-1);return(e=n(o(e.split(\"/\"),(function(e){return!!e})),!r).join(\"/\"))||r||(e=\".\"),e&&i&&(e+=\"/\"),(r?\"/\":\"\")+e},t.isAbsolute=function(e){return\"/\"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(o(e,(function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"Arguments to path.join must be strings\");return e})).join(\"/\"))},t.relative=function(e,n){function r(e){for(var t=0;t<e.length&&\"\"===e[t];t++);for(var n=e.length-1;n>=0&&\"\"===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=t.resolve(e).substr(1),n=t.resolve(n).substr(1);for(var i=r(e.split(\"/\")),o=r(n.split(\"/\")),a=Math.min(i.length,o.length),s=a,u=0;u<a;u++)if(i[u]!==o[u]){s=u;break}var l=[];for(u=s;u<i.length;u++)l.push(\"..\");return(l=l.concat(o.slice(s))).join(\"/\")},t.sep=\"/\",t.delimiter=\":\",t.dirname=function(e){var t=i(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):\".\"},t.basename=function(e,t){var n=i(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},t.extname=function(e){return i(e)[3]};var a=function(e,t,n){return e.substr(t,n)}}).call(t,n(8))},function(e,t,n){\"use strict\";t.__esModule=!0,t.MESSAGES=void 0;var r,i=(r=n(35))&&r.__esModule?r:{default:r};t.get=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=a[e];if(!o)throw new ReferenceError(\"Unknown message \"+(0,i.default)(e));return n=s(n),o.replace(/\\$(\\d+)/g,(function(e,t){return n[t-1]}))},t.parseArgs=s;var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(117)),a=t.MESSAGES={tailCallReassignmentDeopt:\"Function reference has been reassigned, so it will probably be dereferenced, therefore we can't optimise this with confidence\",classesIllegalBareSuper:\"Illegal use of bare super\",classesIllegalSuperCall:\"Direct super call is illegal in non-constructor, use super.$1() instead\",scopeDuplicateDeclaration:\"Duplicate declaration $1\",settersNoRest:\"Setters aren't allowed to have a rest\",noAssignmentsInForHead:\"No assignments allowed in for-in/of head\",expectedMemberExpressionOrIdentifier:\"Expected type MemberExpression or Identifier\",invalidParentForThisNode:\"We don't know how to handle this node within the current parent - please open an issue\",readOnly:\"$1 is read-only\",unknownForHead:\"Unknown node type $1 in ForStatement\",didYouMean:\"Did you mean $1?\",codeGeneratorDeopt:\"Note: The code generator has deoptimised the styling of $1 as it exceeds the max of $2.\",missingTemplatesDirectory:\"no templates directory - this is most likely the result of a broken `npm publish`. Please report to https://github.com/babel/babel/issues\",unsupportedOutputType:\"Unsupported output type $1\",illegalMethodName:\"Illegal method name $1\",lostTrackNodePath:\"We lost track of this node's position, likely because the AST was directly manipulated\",modulesIllegalExportName:\"Illegal export $1\",modulesDuplicateDeclarations:\"Duplicate module declarations with the same source but in different scopes\",undeclaredVariable:\"Reference to undeclared variable $1\",undeclaredVariableType:\"Referencing a type alias outside of a type annotation\",undeclaredVariableSuggestion:\"Reference to undeclared variable $1 - did you mean $2?\",traverseNeedsParent:\"You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a $1 node without passing scope and parentPath.\",traverseVerifyRootFunction:\"You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?\",traverseVerifyVisitorProperty:\"You passed `traverse()` a visitor object with the property $1 that has the invalid property $2\",traverseVerifyNodeType:\"You gave us a visitor for the node type $1 but it's not a valid type\",pluginNotObject:\"Plugin $2 specified in $1 was expected to return an object when invoked but returned $3\",pluginNotFunction:\"Plugin $2 specified in $1 was expected to return a function but returned $3\",pluginUnknown:\"Unknown plugin $1 specified in $2 at $3, attempted to resolve relative to $4\",pluginInvalidProperty:\"Plugin $2 specified in $1 provided an invalid property of $3\"};function s(e){return e.map((function(e){if(null!=e&&e.inspect)return e.inspect();try{return(0,i.default)(e)||e+\"\"}catch(t){return o.inspect(e)}}))}},function(e,t,n){\"use strict\";var r=n(16);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n){\"use strict\";e.exports=!n(27)((function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}))},function(e,t,n){\"use strict\";var r=n(21),i=n(231),o=n(154),a=Object.defineProperty;t.f=n(22)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){\"use strict\";var r=n(175),i=n(176);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},function(e,t){\"use strict\";var n=\"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.exports=function(e){return null!=e&&\"object\"==(void 0===e?\"undefined\":n(e))}},function(e,t,n){\"use strict\";t.__esModule=!0,t.DEPRECATED_KEYS=t.BUILDER_KEYS=t.NODE_FIELDS=t.ALIAS_KEYS=t.VISITOR_KEYS=void 0;var r=s(n(2)),i=s(n(35)),o=s(n(11));t.assertEach=function(e){function t(t,n,r){if(Array.isArray(r))for(var i=0;i<r.length;i++)e(t,n+\"[\"+i+\"]\",r[i])}return t.each=e,t},t.assertOneOf=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];function r(e,n,r){if(t.indexOf(r)<0)throw new TypeError(\"Property \"+n+\" expected value to be one of \"+(0,i.default)(t)+\" but got \"+(0,i.default)(r))}return r.oneOf=t,r},t.assertNodeType=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];function o(e,n,o){var s=!1,u=t,l=Array.isArray(u),c=0;for(u=l?u:(0,r.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;if(a.is(p,o)){s=!0;break}}if(!s)throw new TypeError(\"Property \"+n+\" of \"+e.type+\" expected node to be of a type \"+(0,i.default)(t)+\" but instead got \"+(0,i.default)(o&&o.type))}return o.oneOfNodeTypes=t,o},t.assertNodeOrValueType=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];function o(e,n,o){var s=!1,u=t,l=Array.isArray(u),c=0;for(u=l?u:(0,r.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;if(d(o)===p||a.is(p,o)){s=!0;break}}if(!s)throw new TypeError(\"Property \"+n+\" of \"+e.type+\" expected node to be of a type \"+(0,i.default)(t)+\" but instead got \"+(0,i.default)(o&&o.type))}return o.oneOfNodeOrValueTypes=t,o},t.assertValueType=h,t.chain=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];function i(){var e=t,n=Array.isArray(e),i=0;for(e=n?e:(0,r.default)(e);;){var o;if(n){if(i>=e.length)break;o=e[i++]}else{if((i=e.next()).done)break;o=i.value}var a=o;a.apply(void 0,arguments)}}return i.chainOf=t,i},t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.inherits&&m[t.inherits]||{};t.fields=t.fields||n.fields||{},t.visitor=t.visitor||n.visitor||[],t.aliases=t.aliases||n.aliases||[],t.builder=t.builder||n.builder||t.visitor||[],t.deprecatedAlias&&(p[t.deprecatedAlias]=e);var i=t.visitor.concat(t.builder),o=Array.isArray(i),a=0;for(i=o?i:(0,r.default)(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if((a=i.next()).done)break;s=a.value}var y=s;t.fields[y]=t.fields[y]||{}}for(var v in t.fields){var g=t.fields[v];-1===t.builder.indexOf(v)&&(g.optional=!0),void 0===g.default?g.default=null:g.validate||(g.validate=h(d(g.default)))}u[e]=t.visitor,f[e]=t.builder,c[e]=t.fields,l[e]=t.aliases,m[e]=t};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function s(e){return e&&e.__esModule?e:{default:e}}var u=t.VISITOR_KEYS={},l=t.ALIAS_KEYS={},c=t.NODE_FIELDS={},f=t.BUILDER_KEYS={},p=t.DEPRECATED_KEYS={};function d(e){return Array.isArray(e)?\"array\":null===e?\"null\":void 0===e||void 0===e?\"undefined\":(0,o.default)(e)}function h(e){function t(t,n,r){if(d(r)!==e)throw new TypeError(\"Property \"+n+\" expected type of \"+e+\" but got \"+d(r))}return t.type=e,t}var m={}},function(e,t){\"use strict\";e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){\"use strict\";var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){\"use strict\";var r=n(23),i=n(92);e.exports=n(22)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){\"use strict\";var r=n(45),i=n(534),o=n(559),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":a&&a in Object(e)?i(e):o(e)}},function(e,t,n){\"use strict\";var r=n(162),i=n(163);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=o?o(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?i(n,l,c):r(n,l,c)}return n}},function(e,t,n){\"use strict\";var r=n(245),i=n(500),o=n(24);e.exports=function(e){return o(e)?r(e):i(e)}},function(e,t){\"use strict\";e.exports={filename:{type:\"filename\",description:\"filename to use when reading from stdin - this will be used in source-maps, errors etc\",default:\"unknown\",shorthand:\"f\"},filenameRelative:{hidden:!0,type:\"string\"},inputSourceMap:{hidden:!0},env:{hidden:!0,default:{}},mode:{description:\"\",hidden:!0},retainLines:{type:\"boolean\",default:!1,description:\"retain line numbers - will result in really ugly code\"},highlightCode:{description:\"enable/disable ANSI syntax highlighting of code frames (on by default)\",type:\"boolean\",default:!0},suppressDeprecationMessages:{type:\"boolean\",default:!1,hidden:!0},presets:{type:\"list\",description:\"\",default:[]},plugins:{type:\"list\",default:[],description:\"\"},ignore:{type:\"list\",description:\"list of glob paths to **not** compile\",default:[]},only:{type:\"list\",description:\"list of glob paths to **only** compile\"},code:{hidden:!0,default:!0,type:\"boolean\"},metadata:{hidden:!0,default:!0,type:\"boolean\"},ast:{hidden:!0,default:!0,type:\"boolean\"},extends:{type:\"string\",hidden:!0},comments:{type:\"boolean\",default:!0,description:\"write comments to generated output (true by default)\"},shouldPrintComment:{hidden:!0,description:\"optional callback to control whether a comment should be inserted, when this is used the comments option is ignored\"},wrapPluginVisitorMethod:{hidden:!0,description:\"optional callback to wrap all visitor methods\"},compact:{type:\"booleanString\",default:\"auto\",description:\"do not include superfluous whitespace characters and line terminators [true|false|auto]\"},minified:{type:\"boolean\",default:!1,description:\"save as much bytes when printing [true|false]\"},sourceMap:{alias:\"sourceMaps\",hidden:!0},sourceMaps:{type:\"booleanString\",description:\"[true|false|inline]\",default:!1,shorthand:\"s\"},sourceMapTarget:{type:\"string\",description:\"set `file` on returned source map\"},sourceFileName:{type:\"string\",description:\"set `sources[0]` on returned source map\"},sourceRoot:{type:\"filename\",description:\"the root from which all sources are relative\"},babelrc:{description:\"Whether or not to look up .babelrc and .babelignore files\",type:\"boolean\",default:!0},sourceType:{description:\"\",default:\"module\"},auxiliaryCommentBefore:{type:\"string\",description:\"print a comment before any injected non-user code\"},auxiliaryCommentAfter:{type:\"string\",description:\"print a comment after any injected non-user code\"},resolveModuleSource:{hidden:!0},getModuleId:{hidden:!0},moduleRoot:{type:\"filename\",description:\"optional prefix for the AMD module formatter that will be prepend to the filename on module definitions\"},moduleIds:{type:\"boolean\",default:!1,shorthand:\"M\",description:\"insert an explicit id for modules\"},moduleId:{description:\"specify a custom name for module ids\",type:\"string\"},passPerPreset:{description:\"Whether to spawn a traversal pass per a preset. By default all presets are merged.\",type:\"boolean\",default:!1,hidden:!0},parserOpts:{description:\"Options to pass into the parser, or to change parsers (parserOpts.parser)\",default:!1},generatorOpts:{description:\"Options to pass into the generator, or to change generators (generatorOpts.generator)\",default:!1}}},function(e,t,n){(function(r){\"use strict\";t.__esModule=!0;var i=S(n(366)),o=S(n(35)),a=S(n(87)),s=S(n(2)),u=S(n(11)),l=S(n(3)),c=E(n(182)),f=S(n(65)),p=E(n(20)),d=n(52),h=S(n(184)),m=S(n(185)),y=S(n(575)),v=S(n(109)),g=S(n(293)),b=S(n(33)),x=S(n(54)),_=S(n(51)),w=S(n(19));function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function S(e){return e&&e.__esModule?e:{default:e}}var k=function(){function e(t){(0,l.default)(this,e),this.resolvedConfigs=[],this.options=e.createBareOptions(),this.log=t}return e.memoisePluginContainer=function(t,n,r,i){var o=e.memoisedPlugins,a=Array.isArray(o),l=0;for(o=a?o:(0,s.default)(o);;){var d;if(a){if(l>=o.length)break;d=o[l++]}else{if((l=o.next()).done)break;d=l.value}var h=d;if(h.container===t)return h.plugin}var m;if(\"object\"===(void 0===(m=\"function\"==typeof t?t(c):t)?\"undefined\":(0,u.default)(m))){var y=new f.default(m,i);return e.memoisedPlugins.push({container:t,plugin:y}),y}throw new TypeError(p.get(\"pluginNotObject\",n,r,void 0===m?\"undefined\":(0,u.default)(m))+n+r)},e.createBareOptions=function(){var e={};for(var t in b.default){var n=b.default[t];e[t]=(0,v.default)(n.default)}return e},e.normalisePlugin=function(t,n,r,i){if(!((t=t.__esModule?t.default:t)instanceof f.default)){if(\"function\"!=typeof t&&\"object\"!==(void 0===t?\"undefined\":(0,u.default)(t)))throw new TypeError(p.get(\"pluginNotFunction\",n,r,void 0===t?\"undefined\":(0,u.default)(t)));t=e.memoisePluginContainer(t,n,r,i)}return t.init(n,r),t},e.normalisePlugins=function(t,r,i){return i.map((function(i,o){var a=void 0,s=void 0;if(!i)throw new TypeError(\"Falsy value found in plugins\");Array.isArray(i)?(a=i[0],s=i[1]):a=i;var u=\"string\"==typeof a?a:t+\"$\"+o;if(\"string\"==typeof a){var l=(0,h.default)(a,r);if(!l)throw new ReferenceError(p.get(\"pluginUnknown\",a,t,o,r));a=n(179)(l)}return[a=e.normalisePlugin(a,t,o,u),s]}))},e.prototype.mergeOptions=function(t){var n=this,i=t.options,o=t.extending,s=t.alias,l=t.loc,c=t.dirname;if(s=s||\"foreign\",i){(\"object\"!==(void 0===i?\"undefined\":(0,u.default)(i))||Array.isArray(i))&&this.log.error(\"Invalid options type for \"+s,TypeError);var p=(0,y.default)(i,(function(e){if(e instanceof f.default)return e}));for(var h in c=c||r.cwd(),l=l||s,p)if(!b.default[h]&&this.log)if(x.default[h])this.log.error(\"Using removed Babel 5 option: \"+s+\".\"+h+\" - \"+x.default[h].message,ReferenceError);else{var m=\"Unknown option: \"+s+\".\"+h+\". Check out http://babeljs.io/docs/usage/options/ for more information about options.\";this.log.error(m+\"\\n\\nA common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:\\n\\nInvalid:\\n  `{ presets: [{option: value}] }`\\nValid:\\n  `{ presets: [['presetName', {option: value}]] }`\\n\\nFor more detailed information on preset configuration, please see http://babeljs.io/docs/plugins/#pluginpresets-options.\",ReferenceError)}(0,d.normaliseOptions)(p),p.plugins&&(p.plugins=e.normalisePlugins(l,c,p.plugins)),p.presets&&(p.passPerPreset?p.presets=this.resolvePresets(p.presets,c,(function(e,t){n.mergeOptions({options:e,extending:e,alias:t,loc:t,dirname:c})})):(this.mergePresets(p.presets,c),delete p.presets)),i===o?(0,a.default)(o,p):(0,g.default)(o||this.options,p)}},e.prototype.mergePresets=function(e,t){var n=this;this.resolvePresets(e,t,(function(e,t){n.mergeOptions({options:e,alias:t,loc:t,dirname:w.default.dirname(t||\"\")})}))},e.prototype.resolvePresets=function(e,t,r){return e.map((function(e){var a=void 0;if(Array.isArray(e)){if(e.length>2)throw new Error(\"Unexpected extra options \"+(0,o.default)(e.slice(2))+\" passed to preset.\");var s=e;e=s[0],a=s[1]}var l=void 0;try{if(\"string\"==typeof e){if(!(l=(0,m.default)(e,t)))throw new Error(\"Couldn't find preset \"+(0,o.default)(e)+\" relative to directory \"+(0,o.default)(t));e=n(179)(l)}if(\"object\"===(void 0===e?\"undefined\":(0,u.default)(e))&&e.__esModule)if(e.default)e=e.default;else{var f=e;f.__esModule,e=(0,i.default)(f,[\"__esModule\"])}if(\"object\"===(void 0===e?\"undefined\":(0,u.default)(e))&&e.buildPreset&&(e=e.buildPreset),\"function\"!=typeof e&&void 0!==a)throw new Error(\"Options \"+(0,o.default)(a)+\" passed to \"+(l||\"a preset\")+\" which does not accept options.\");if(\"function\"==typeof e&&(e=e(c,a,{dirname:t})),\"object\"!==(void 0===e?\"undefined\":(0,u.default)(e)))throw new Error(\"Unsupported preset format: \"+e+\".\");r&&r(e,l)}catch(e){throw l&&(e.message+=\" (While processing preset: \"+(0,o.default)(l)+\")\"),e}return e}))},e.prototype.normaliseOptions=function(){var e=this.options;for(var t in b.default){var n=b.default[t],r=e[t];!r&&n.optional||(n.alias?e[n.alias]=e[n.alias]||r:e[t]=r)}},e.prototype.init=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,_.default)(e,this.log),n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if((r=t.next()).done)break;i=r.value}var o=i;this.mergeOptions(o)}return this.normaliseOptions(e),this.options},e}();t.default=k,k.memoisedPlugins=[],e.exports=t.default}).call(t,n(8))},function(e,t,n){\"use strict\";e.exports={default:n(405),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=h(n(2)),i=h(n(3)),o=d(n(224)),a=h(n(239)),s=h(n(466)),u=h(n(7)),l=h(n(174)),c=h(n(134)),f=d(n(1)),p=n(88);function d(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function h(e){return e&&e.__esModule?e:{default:e}}var m=(0,a.default)(\"babel\"),y=function(){function e(t,n){(0,i.default)(this,e),this.parent=n,this.hub=t,this.contexts=[],this.data={},this.shouldSkip=!1,this.shouldStop=!1,this.removed=!1,this.state=null,this.opts=null,this.skipKeys=null,this.parentPath=null,this.context=null,this.container=null,this.listKey=null,this.inList=!1,this.parentKey=null,this.key=null,this.node=null,this.scope=null,this.type=null,this.typeAnnotation=null}return e.get=function(t){var n=t.hub,r=t.parentPath,i=t.parent,o=t.container,a=t.listKey,u=t.key;!n&&r&&(n=r.hub),(0,s.default)(i,\"To get a node path the parent needs to exist\");var l=o[u],c=p.path.get(i)||[];p.path.has(i)||p.path.set(i,c);for(var f=void 0,d=0;d<c.length;d++){var h=c[d];if(h.node===l){f=h;break}}return f||(f=new e(n,i),c.push(f)),f.setup(r,o,a,u),f},e.prototype.getScope=function(e){var t=e;return this.isScope()&&(t=new c.default(this,e)),t},e.prototype.setData=function(e,t){return this.data[e]=t},e.prototype.getData=function(e,t){var n=this.data[e];return!n&&t&&(n=this.data[e]=t),n},e.prototype.buildCodeFrameError=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:SyntaxError;return this.hub.file.buildCodeFrameError(this.node,e,t)},e.prototype.traverse=function(e,t){(0,u.default)(this.node,e,this.scope,t,this)},e.prototype.mark=function(e,t){this.hub.file.metadata.marked.push({type:e,message:t,loc:this.node.loc})},e.prototype.set=function(e,t){f.validate(this.node,e,t),this.node[e]=t},e.prototype.getPathLocation=function(){var e=[],t=this;do{var n=t.key;t.inList&&(n=t.listKey+\"[\"+n+\"]\"),e.unshift(n)}while(t=t.parentPath);return e.join(\".\")},e.prototype.debug=function(e){m.enabled&&m(this.getPathLocation()+\" \"+this.type+\": \"+e())},e}();t.default=y,(0,l.default)(y.prototype,n(368)),(0,l.default)(y.prototype,n(374)),(0,l.default)(y.prototype,n(382)),(0,l.default)(y.prototype,n(372)),(0,l.default)(y.prototype,n(371)),(0,l.default)(y.prototype,n(377)),(0,l.default)(y.prototype,n(370)),(0,l.default)(y.prototype,n(381)),(0,l.default)(y.prototype,n(380)),(0,l.default)(y.prototype,n(373)),(0,l.default)(y.prototype,n(369));var v=function(){if(b){if(x>=g.length)return\"break\";_=g[x++]}else{if((x=g.next()).done)return\"break\";_=x.value}var e=_,t=\"is\"+e;y.prototype[t]=function(e){return f[t](this.node,e)},y.prototype[\"assert\"+e]=function(n){if(!this[t](n))throw new TypeError(\"Expected node path of type \"+e)}},g=f.TYPES,b=Array.isArray(g),x=0;for(g=b?g:(0,r.default)(g);;){var _;if(\"break\"===v())break}var w=function(e){if(\"_\"===e[0])return\"continue\";f.TYPES.indexOf(e)<0&&f.TYPES.push(e);var t=o[e];y.prototype[\"is\"+e]=function(e){return t.checkPath(this,e)}};for(var E in o)w(E);e.exports=t.default},function(e,t,n){\"use strict\";var r=n(142),i=n(140);e.exports=function(e){return r(i(e))}},function(e,t,n){\"use strict\";var r=n(497),i=n(535);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},function(e,t){\"use strict\";e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.node,n=e.parent,i=e.scope,a=e.id;if(!t.id){if(!o.isObjectProperty(n)&&!o.isObjectMethod(n,{kind:\"method\"})||n.computed&&!o.isLiteral(n.key)){if(o.isVariableDeclarator(n)){if(a=n.id,o.isIdentifier(a)){var c=i.parent.getBinding(a.name);if(c&&c.constant&&i.getBinding(a.name)===c)return t.id=a,void(t.id[o.NOT_LOCAL_BINDING]=!0)}}else if(o.isAssignmentExpression(n))a=n.left;else if(!a)return}else a=n.key;var f=void 0;if(a&&o.isLiteral(a))f=a.value;else{if(!a||!o.isIdentifier(a))return;f=a.name}f=o.toBindingIdentifierName(f),(a=o.identifier(f))[o.NOT_LOCAL_BINDING]=!0;var p=function(e,t,n){var r={selfAssignment:!1,selfReference:!1,outerDeclar:n.getBindingIdentifier(t),references:[],name:t},i=n.getOwnBinding(t);return i?\"param\"===i.kind&&(r.selfReference=!0):(r.outerDeclar||n.hasGlobal(t))&&n.traverse(e,l,r),r}(t,f,i);return function(e,t,n,i){if(e.selfReference){if(!i.hasBinding(n.name)||i.hasGlobal(n.name)){if(!o.isFunction(t))return;var a=s;t.generator&&(a=u);var l=a({FUNCTION:t,FUNCTION_ID:n,FUNCTION_KEY:i.generateUidIdentifier(n.name)}).expression;l.callee._skipModulesRemap=!0;for(var c=l.callee.body.body[0].params,f=0,p=(0,r.default)(t);f<p;f++)c.push(i.generateUidIdentifier(\"x\"));return l}i.rename(n.name)}t.id=n,i.getProgramParent().references[n.name]=!0}(p,t,a,i)||t}};var r=a(n(189)),i=a(n(4)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.default)(\"\\n  (function (FUNCTION_KEY) {\\n    function FUNCTION_ID() {\\n      return FUNCTION_KEY.apply(this, arguments);\\n    }\\n\\n    FUNCTION_ID.toString = function () {\\n      return FUNCTION_KEY.toString();\\n    }\\n\\n    return FUNCTION_ID;\\n  })(FUNCTION)\\n\"),u=(0,i.default)(\"\\n  (function (FUNCTION_KEY) {\\n    function* FUNCTION_ID() {\\n      return yield* FUNCTION_KEY.apply(this, arguments);\\n    }\\n\\n    FUNCTION_ID.toString = function () {\\n      return FUNCTION_KEY.toString();\\n    };\\n\\n    return FUNCTION_ID;\\n  })(FUNCTION)\\n\"),l={\"ReferencedIdentifier|BindingIdentifier\":function(e,t){e.node.name===t.name&&e.scope.getBindingIdentifier(t.name)===t.outerDeclar&&(t.selfReference=!0,e.stop())}};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(361)),i=a(n(9)),o=a(n(11));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===t?\"undefined\":(0,o.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(11))&&r.__esModule?r:{default:r};t.default=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(void 0===t?\"undefined\":(0,i.default)(t))&&\"function\"!=typeof t?e:t}},function(e,t,n){\"use strict\";var r=n(227);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){\"use strict\";var r=n(237),i=n(141);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){\"use strict\";var r=n(17).Symbol;e.exports=r},function(e,t){\"use strict\";e.exports=function(e,t){return e===t||e!=e&&t!=t}},function(e,t,n){\"use strict\";var r=n(245),i=n(501),o=n(24);e.exports=function(e){return o(e)?r(e,!0):i(e)}},function(e,t,n){\"use strict\";var r=n(597);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t){(function(t){e.exports=t}).call(t,{})},function(e,t,n){(function(e){\"use strict\";t.__esModule=!0,t.File=void 0;var r=M(n(2)),i=M(n(9)),o=M(n(87)),a=M(n(3)),s=M(n(42)),u=M(n(41)),l=M(n(194)),c=D(n(121)),f=M(n(403)),p=M(n(34)),d=M(n(299)),h=n(7),m=M(h),y=M(n(288)),v=M(n(186)),g=M(n(181)),b=M(n(273)),x=M(n(120)),_=M(n(119)),w=n(89),E=D(n(122)),S=M(n(19)),k=D(n(1)),A=M(n(118)),C=M(n(296)),T=M(n(297));function D(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function M(e){return e&&e.__esModule?e:{default:e}}var P=/^#!.*/,O=[[C.default],[T.default]],L={enter:function(e,t){var n=e.node.loc;n&&(t.loc=n,e.stop())}},N=function(t){function _(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];(0,a.default)(this,_);var r=(0,s.default)(this,t.call(this));return r.pipeline=n,r.log=new x.default(r,e.filename||\"unknown\"),r.opts=r.initOptions(e),r.parserOpts={sourceType:r.opts.sourceType,sourceFileName:r.opts.filename,plugins:[]},r.pluginVisitors=[],r.pluginPasses=[],r.buildPluginsForOptions(r.opts),r.opts.passPerPreset&&(r.perPresetOpts=[],r.opts.presets.forEach((function(e){var t=(0,o.default)((0,i.default)(r.opts),e);r.perPresetOpts.push(t),r.buildPluginsForOptions(t)}))),r.metadata={usedHelpers:[],marked:[],modules:{imports:[],exports:{exported:[],specifiers:[]}}},r.dynamicImportTypes={},r.dynamicImportIds={},r.dynamicImports=[],r.declarations={},r.usedHelpers={},r.path=null,r.ast={},r.code=\"\",r.shebang=\"\",r.hub=new h.Hub(r),r}return(0,u.default)(_,t),_.prototype.getMetadata=function(){var e=!1,t=this.ast.program.body,n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}var a=o;if(k.isModuleDeclaration(a)){e=!0;break}}e&&this.path.traverse(c,this)},_.prototype.initOptions=function(e){(e=new p.default(this.log,this.pipeline).init(e)).inputSourceMap&&(e.sourceMaps=!0),e.moduleId&&(e.moduleIds=!0),e.basename=S.default.basename(e.filename,S.default.extname(e.filename)),e.ignore=E.arrayify(e.ignore,E.regexify),e.only&&(e.only=E.arrayify(e.only,E.regexify)),(0,b.default)(e,{moduleRoot:e.sourceRoot}),(0,b.default)(e,{sourceRoot:e.moduleRoot}),(0,b.default)(e,{filenameRelative:e.filename});var t=S.default.basename(e.filenameRelative);return(0,b.default)(e,{sourceFileName:t,sourceMapTarget:t}),e},_.prototype.buildPluginsForOptions=function(e){if(Array.isArray(e.plugins)){var t=[],n=[],i=e.plugins.concat(O),o=Array.isArray(i),a=0;for(i=o?i:(0,r.default)(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if((a=i.next()).done)break;s=a.value}var u=s,l=u[0],c=u[1];t.push(l.visitor),n.push(new d.default(this,l,c)),l.manipulateOptions&&l.manipulateOptions(e,this.parserOpts,this)}this.pluginVisitors.push(t),this.pluginPasses.push(n)}},_.prototype.getModuleName=function(){var e=this.opts;if(!e.moduleIds)return null;if(null!=e.moduleId&&!e.getModuleId)return e.moduleId;var t=e.filenameRelative,n=\"\";if(null!=e.moduleRoot&&(n=e.moduleRoot+\"/\"),!e.filenameRelative)return n+e.filename.replace(/^\\//,\"\");if(null!=e.sourceRoot){var r=new RegExp(\"^\"+e.sourceRoot+\"/?\");t=t.replace(r,\"\")}return n=(n+=t=t.replace(/\\.(\\w*?)$/,\"\")).replace(/\\\\/g,\"/\"),e.getModuleId&&e.getModuleId(n)||n},_.prototype.resolveModuleSource=function(e){var t=this.opts.resolveModuleSource;return t&&(e=t(e,this.opts.filename)),e},_.prototype.addImport=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=e+\":\"+t,i=this.dynamicImportIds[r];if(!i){e=this.resolveModuleSource(e),i=this.dynamicImportIds[r]=this.scope.generateUidIdentifier(n);var o=[];\"*\"===t?o.push(k.importNamespaceSpecifier(i)):\"default\"===t?o.push(k.importDefaultSpecifier(i)):o.push(k.importSpecifier(i,k.identifier(t)));var a=k.importDeclaration(o,k.stringLiteral(e));a._blockHoist=3,this.path.unshiftContainer(\"body\",a)}return i},_.prototype.addHelper=function(e){var t=this.declarations[e];if(t)return t;this.usedHelpers[e]||(this.metadata.usedHelpers.push(e),this.usedHelpers[e]=!0);var n=this.get(\"helperGenerator\"),r=this.get(\"helpersNamespace\");if(n){var i=n(e);if(i)return i}else if(r)return k.memberExpression(r,k.identifier(e));var o=(0,l.default)(e),a=this.declarations[e]=this.scope.generateUidIdentifier(e);return k.isFunctionExpression(o)&&!o.id?(o.body._compact=!0,o._generated=!0,o.id=a,o.type=\"FunctionDeclaration\",this.path.unshiftContainer(\"body\",o)):(o._compact=!0,this.scope.push({id:a,init:o,unique:!0})),a},_.prototype.addTemplateObject=function(e,t,n){var r=n.elements.map((function(e){return e.value})),i=e+\"_\"+n.elements.length+\"_\"+r.join(\",\"),o=this.declarations[i];if(o)return o;var a=this.declarations[i]=this.scope.generateUidIdentifier(\"templateObject\"),s=this.addHelper(e),u=k.callExpression(s,[t,n]);return u._compact=!0,this.scope.push({id:a,init:u,_blockHoist:1.9}),a},_.prototype.buildCodeFrameError=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:SyntaxError,r=e&&(e.loc||e._loc),i=new n(t);return r?i.loc=r.start:((0,m.default)(e,L,this.scope,i),i.message+=\" (This is an error on an internal node. Probably an internal error\",i.loc&&(i.message+=\". Location has been estimated.\"),i.message+=\")\"),i},_.prototype.mergeSourceMap=function(e){var t=this.opts.inputSourceMap;if(t){var n=new y.default.SourceMapConsumer(t),r=new y.default.SourceMapConsumer(e),i=new y.default.SourceMapGenerator({file:n.file,sourceRoot:n.sourceRoot}),o=r.sources[0];n.eachMapping((function(e){var t=r.generatedPositionFor({line:e.generatedLine,column:e.generatedColumn,source:o});null!=t.column&&i.addMapping({source:e.source,original:null==e.source?null:{line:e.originalLine,column:e.originalColumn},generated:t})}));var a=i.toJSON();return t.mappings=a.mappings,t}return e},_.prototype.parse=function(t){var r=w.parse,i=this.opts.parserOpts;if(i&&(i=(0,o.default)({},this.parserOpts,i)).parser){if(\"string\"==typeof i.parser){var a=S.default.dirname(this.opts.filename)||e.cwd(),s=(0,A.default)(i.parser,a);if(!s)throw new Error(\"Couldn't find parser \"+i.parser+' with \"parse\" method relative to directory '+a);r=n(178)(s).parse}else r=i.parser;i.parser={parse:function(e){return(0,w.parse)(e,i)}}}this.log.debug(\"Parse start\");var u=r(t,i||this.parserOpts);return this.log.debug(\"Parse stop\"),u},_.prototype._addAst=function(e){this.path=h.NodePath.get({hub:this.hub,parentPath:null,parent:e,container:e,key:\"program\"}).setContext(),this.scope=this.path.scope,this.ast=e,this.getMetadata()},_.prototype.addAst=function(e){this.log.debug(\"Start set AST\"),this._addAst(e),this.log.debug(\"End set AST\")},_.prototype.transform=function(){for(var e=0;e<this.pluginPasses.length;e++){var t=this.pluginPasses[e];this.call(\"pre\",t),this.log.debug(\"Start transform traverse\");var n=m.default.visitors.merge(this.pluginVisitors[e],t,this.opts.wrapPluginVisitorMethod);(0,m.default)(this.ast,n,this.scope),this.log.debug(\"End transform traverse\"),this.call(\"post\",t)}return this.generate()},_.prototype.wrap=function(t,n){t+=\"\";try{return this.shouldIgnore()?this.makeResult({code:t,ignored:!0}):n()}catch(n){if(n._babel)throw n;n._babel=!0;var r=n.message=this.opts.filename+\": \"+n.message,i=n.loc;if(i&&(n.codeFrame=(0,g.default)(t,i.line,i.column+1,this.opts),r+=\"\\n\"+n.codeFrame),e.browser&&(n.message=r),n.stack){var o=n.stack.replace(n.message,r);n.stack=o}throw n}},_.prototype.addCode=function(e){e=(e||\"\")+\"\",e=this.parseInputSourceMap(e),this.code=e},_.prototype.parseCode=function(){this.parseShebang();var e=this.parse(this.code);this.addAst(e)},_.prototype.shouldIgnore=function(){var e=this.opts;return E.shouldIgnore(e.filename,e.ignore,e.only)},_.prototype.call=function(e,t){var n=t,i=Array.isArray(n),o=0;for(n=i?n:(0,r.default)(n);;){var a;if(i){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a,u=s.plugin[e];u&&u.call(s,this)}},_.prototype.parseInputSourceMap=function(e){var t=this.opts;if(!1!==t.inputSourceMap){var n=f.default.fromSource(e);n&&(t.inputSourceMap=n.toObject(),e=f.default.removeComments(e))}return e},_.prototype.parseShebang=function(){var e=P.exec(this.code);e&&(this.shebang=e[0],this.code=this.code.replace(P,\"\"))},_.prototype.makeResult=function(e){var t=e.code,n=e.map,r=e.ast,i=e.ignored,o={metadata:null,options:this.opts,ignored:!!i,code:null,ast:null,map:n||null};return this.opts.code&&(o.code=t),this.opts.ast&&(o.ast=r),this.opts.metadata&&(o.metadata=this.metadata),o},_.prototype.generate=function(){var t=this.opts,r=this.ast,i={ast:r};if(!t.code)return this.makeResult(i);var a=v.default;if(t.generatorOpts.generator&&\"string\"==typeof(a=t.generatorOpts.generator)){var s=S.default.dirname(this.opts.filename)||e.cwd(),u=(0,A.default)(a,s);if(!u)throw new Error(\"Couldn't find generator \"+a+' with \"print\" method relative to directory '+s);a=n(178)(u).print}this.log.debug(\"Generation start\");var l=a(r,t.generatorOpts?(0,o.default)(t,t.generatorOpts):t,this.code);return i.code=l.code,i.map=l.map,this.log.debug(\"Generation end\"),this.shebang&&(i.code=this.shebang+\"\\n\"+i.code),i.map&&(i.map=this.mergeSourceMap(i.map)),\"inline\"!==t.sourceMaps&&\"both\"!==t.sourceMaps||(i.code+=\"\\n\"+f.default.fromObject(i.map).toComment()),\"inline\"===t.sourceMaps&&(i.map=null),this.makeResult(i)},_}(_.default);t.default=N,t.File=N}).call(t,n(8))},function(e,t,n){(function(r){\"use strict\";t.__esModule=!0;var i=f(n(87)),o=f(n(3));t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n=e.filename,r=new m(t);return!1!==e.babelrc&&r.findConfigs(n),r.mergeConfig({options:e,alias:\"base\",dirname:n&&l.default.dirname(n)}),r.configs};var a=f(n(118)),s=f(n(470)),u=f(n(604)),l=f(n(19)),c=f(n(115));function f(e){return e&&e.__esModule?e:{default:e}}var p={},d={};function h(e){var t=p[e];return null==t?p[e]=c.default.existsSync(e):t}var m=function(){function e(t){(0,o.default)(this,e),this.resolvedConfigs=[],this.configs=[],this.log=t}return e.prototype.findConfigs=function(e){if(e){(0,u.default)(e)||(e=l.default.join(r.cwd(),e));for(var t=!1,n=!1;e!==(e=l.default.dirname(e));){if(!t){var i=l.default.join(e,\".babelrc\");h(i)&&(this.addConfig(i),t=!0);var o=l.default.join(e,\"package.json\");!t&&h(o)&&(t=this.addConfig(o,\"babel\",JSON))}if(!n){var a=l.default.join(e,\".babelignore\");h(a)&&(this.addIgnoreConfig(a),n=!0)}if(n&&t)return}}},e.prototype.addIgnoreConfig=function(e){var t=c.default.readFileSync(e,\"utf8\").split(\"\\n\");(t=t.map((function(e){return e.replace(/#(.*?)$/,\"\").trim()})).filter((function(e){return!!e}))).length&&this.mergeConfig({options:{ignore:t},alias:e,dirname:l.default.dirname(e)})},e.prototype.addConfig=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.default;if(this.resolvedConfigs.indexOf(e)>=0)return!1;this.resolvedConfigs.push(e);var r=c.default.readFileSync(e,\"utf8\"),i=void 0;try{i=d[r]=d[r]||n.parse(r),t&&(i=i[t])}catch(t){throw t.message=e+\": Error while parsing JSON - \"+t.message,t}return this.mergeConfig({options:i,alias:e,dirname:l.default.dirname(e)}),!!i},e.prototype.mergeConfig=function(e){var t=e.options,n=e.alias,o=e.loc,s=e.dirname;if(!t)return!1;if(t=(0,i.default)({},t),s=s||r.cwd(),o=o||n,t.extends){var u=(0,a.default)(t.extends,s);u?this.addConfig(u):this.log&&this.log.error(\"Couldn't resolve extends clause of \"+t.extends+\" in \"+n),delete t.extends}this.configs.push({options:t,alias:n,loc:o,dirname:s});var l=void 0,c=r.env.BABEL_ENV||\"production\";t.env&&(l=t.env[c],delete t.env),this.mergeConfig({options:l,alias:n+\".env.\"+c,dirname:s})},e}();e.exports=t.default}).call(t,n(8))},function(e,t,n){\"use strict\";t.__esModule=!0,t.config=void 0,t.normaliseOptions=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e){var n=e[t];if(null!=n){var r=o.default[t];if(r&&r.alias&&(r=o.default[r.alias]),r){var a=i[r.type];a&&(n=a(n)),e[t]=n}}}return e};var r,i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(53)),o=(r=n(33))&&r.__esModule?r:{default:r};t.config=o.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.filename=void 0,t.boolean=function(e){return!!e},t.booleanString=function(e){return o.booleanify(e)},t.list=function(e){return o.list(e)};var r,i=(r=n(284))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(122));t.filename=i.default},function(e,t){\"use strict\";e.exports={auxiliaryComment:{message:\"Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`\"},blacklist:{message:\"Put the specific transforms you want in the `plugins` option\"},breakConfig:{message:\"This is not a necessary option in Babel 6\"},experimental:{message:\"Put the specific transforms you want in the `plugins` option\"},externalHelpers:{message:\"Use the `external-helpers` plugin instead. Check out http://babeljs.io/docs/plugins/external-helpers/\"},extra:{message:\"\"},jsxPragma:{message:\"use the `pragma` option in the `react-jsx` plugin . Check out http://babeljs.io/docs/plugins/transform-react-jsx/\"},loose:{message:\"Specify the `loose` option for the relevant plugin you are using or use a preset that sets the option.\"},metadataUsedHelpers:{message:\"Not required anymore as this is enabled by default\"},modules:{message:\"Use the corresponding module transform plugin in the `plugins` option. Check out http://babeljs.io/docs/plugins/#modules\"},nonStandard:{message:\"Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. Also check out the react preset http://babeljs.io/docs/plugins/preset-react/\"},optional:{message:\"Put the specific transforms you want in the `plugins` option\"},sourceMapName:{message:\"Use the `sourceMapTarget` option\"},stage:{message:\"Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets\"},whitelist:{message:\"Put the specific transforms you want in the `plugins` option\"}}},function(e,t,n){\"use strict\";var r=n(43),i=n(428),o=n(427),a=n(21),s=n(153),u=n(238),l={},c={},f=e.exports=function(e,t,n,f,p){var d,h,m,y,v=p?function(){return e}:u(e),g=r(n,f,t?2:1),b=0;if(\"function\"!=typeof v)throw TypeError(e+\" is not iterable!\");if(o(v)){for(d=s(e.length);d>b;b++)if((y=t?g(a(h=e[b])[0],h[1]):g(e[b]))===l||y===c)return y}else for(m=v.call(e);!(h=m.next()).done;)if((y=i(m,g,h.value,t))===l||y===c)return y};f.BREAK=l,f.RETURN=c},function(e,t){\"use strict\";e.exports={}},function(e,t,n){\"use strict\";var r=\"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},i=n(95)(\"meta\"),o=n(16),a=n(28),s=n(23).f,u=0,l=Object.isExtensible||function(){return!0},c=!n(27)((function(){return l(Object.preventExtensions({}))})),f=function(e){s(e,i,{value:{i:\"O\"+ ++u,w:{}}})},p=e.exports={KEY:i,NEED:!1,fastKey:function(e,t){if(!o(e))return\"symbol\"==(void 0===e?\"undefined\":r(e))?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!a(e,i)){if(!l(e))return\"F\";if(!t)return\"E\";f(e)}return e[i].i},getWeak:function(e,t){if(!a(e,i)){if(!l(e))return!0;if(!t)return!1;f(e)}return e[i].w},onFreeze:function(e){return c&&p.NEED&&l(e)&&!a(e,i)&&f(e),e}}},function(e,t,n){\"use strict\";var r=n(16);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t,n){\"use strict\";n(440);for(var r=n(15),i=n(29),o=n(56),a=n(13)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),u=0;u<s.length;u++){var l=s[u],c=r[l],f=c&&c.prototype;f&&!f[a]&&i(f,a,l),o[l]=o.Array}},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},function(e,t,n){\"use strict\";var r=\"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},i=n(502),o=n(503),a=n(110),s=n(6),u=n(592);e.exports=function(e){return\"function\"==typeof e?e:null==e?a:\"object\"==(void 0===e?\"undefined\":r(e))?s(e)?o(e[0],e[1]):i(e):u(e)}},function(e,t,n){\"use strict\";var r=\"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},i=n(30),o=n(25);e.exports=function(e){return\"symbol\"==(void 0===e?\"undefined\":r(e))||o(e)&&\"[object Symbol]\"==i(e)}},function(e,t){\"use strict\";t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('\"'+t+'\" is a required argument.')};var n=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.]*)(?::(\\d+))?(\\S*)$/,r=/^data:.+\\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(e){var t=\"\";return e.scheme&&(t+=e.scheme+\":\"),t+=\"//\",e.auth&&(t+=e.auth+\"@\"),e.host&&(t+=e.host),e.port&&(t+=\":\"+e.port),e.path&&(t+=e.path),t}function a(e){var n=e,r=i(e);if(r){if(!r.path)return e;n=r.path}for(var a,s=t.isAbsolute(n),u=n.split(/\\/+/),l=0,c=u.length-1;c>=0;c--)\".\"===(a=u[c])?u.splice(c,1):\"..\"===a?l++:l>0&&(\"\"===a?(u.splice(c+1,l),l=0):(u.splice(c,2),l--));return\"\"===(n=u.join(\"/\"))&&(n=s?\"/\":\".\"),r?(r.path=n,o(r)):n}t.urlParse=i,t.urlGenerate=o,t.normalize=a,t.join=function(e,t){\"\"===e&&(e=\".\"),\"\"===t&&(t=\".\");var n=i(t),s=i(e);if(s&&(e=s.path||\"/\"),n&&!n.scheme)return s&&(n.scheme=s.scheme),o(n);if(n||t.match(r))return t;if(s&&!s.host&&!s.path)return s.host=t,o(s);var u=\"/\"===t.charAt(0)?t:a(e.replace(/\\/+$/,\"\")+\"/\"+t);return s?(s.path=u,o(s)):u},t.isAbsolute=function(e){return\"/\"===e.charAt(0)||!!e.match(n)},t.relative=function(e,t){\"\"===e&&(e=\".\"),e=e.replace(/\\/$/,\"\");for(var n=0;0!==t.indexOf(e+\"/\");){var r=e.lastIndexOf(\"/\");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\\/]+:\\/)?\\/*$/))return t;++n}return Array(n+1).join(\"../\")+t.substr(e.length+1)};var s=!(\"__proto__\"in Object.create(null));function u(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function c(e,t){return e===t?0:e>t?1:-1}t.toSetString=s?u:function(e){return l(e)?\"$\"+e:e},t.fromSetString=s?u:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=e.source-t.source;return 0!==r||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)||n||0!=(r=e.generatedColumn-t.generatedColumn)||0!=(r=e.generatedLine-t.generatedLine)?r:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!=(r=e.generatedColumn-t.generatedColumn)||n||0!=(r=e.source-t.source)||0!=(r=e.originalLine-t.originalLine)||0!=(r=e.originalColumn-t.originalColumn)?r:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=c(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:c(e.name,t.name)}},function(e,t,n){(function(t){\"use strict\";var r=\"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};function i(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0}function o(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}var a=n(117),s=Object.prototype.hasOwnProperty,u=Array.prototype.slice,l=\"foo\"===function(){}.name;function c(e){return Object.prototype.toString.call(e)}function f(e){return!o(e)&&\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer)))}var p=e.exports=g,d=/\\s*function\\s+([^\\(\\s]*)\\s*/;function h(e){if(a.isFunction(e)){if(l)return e.name;var t=e.toString().match(d);return t&&t[1]}}function m(e,t){return\"string\"==typeof e?e.length<t?e:e.slice(0,t):e}function y(e){if(l||!a.isFunction(e))return a.inspect(e);var t=h(e);return\"[Function\"+(t?\": \"+t:\"\")+\"]\"}function v(e,t,n,r,i){throw new p.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:i})}function g(e,t){e||v(e,!0,t,\"==\",p.ok)}function b(e,t,n,s){if(e===t)return!0;if(o(e)&&o(t))return 0===i(e,t);if(a.isDate(e)&&a.isDate(t))return e.getTime()===t.getTime();if(a.isRegExp(e)&&a.isRegExp(t))return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(null!==e&&\"object\"===(void 0===e?\"undefined\":r(e))||null!==t&&\"object\"===(void 0===t?\"undefined\":r(t))){if(f(e)&&f(t)&&c(e)===c(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===i(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;var l=(s=s||{actual:[],expected:[]}).actual.indexOf(e);return-1!==l&&l===s.expected.indexOf(t)||(s.actual.push(e),s.expected.push(t),function(e,t,n,r){if(null==e||null==t)return!1;if(a.isPrimitive(e)||a.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var i=x(e),o=x(t);if(i&&!o||!i&&o)return!1;if(i)return b(e=u.call(e),t=u.call(t),n);var s,l,c=E(e),f=E(t);if(c.length!==f.length)return!1;for(c.sort(),f.sort(),l=c.length-1;l>=0;l--)if(c[l]!==f[l])return!1;for(l=c.length-1;l>=0;l--)if(!b(e[s=c[l]],t[s],n,r))return!1;return!0}(e,t,n,s))}return n?e===t:e==t}function x(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function _(e,t){if(!e||!t)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function w(e,t,n,r){var i;if(\"function\"!=typeof t)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof n&&(r=n,n=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),r=(n&&n.name?\" (\"+n.name+\").\":\".\")+(r?\" \"+r:\".\"),e&&!i&&v(i,n,\"Missing expected exception\"+r);var o=\"string\"==typeof r,s=!e&&i&&!n;if((!e&&a.isError(i)&&o&&_(i,n)||s)&&v(i,n,\"Got unwanted exception\"+r),e&&i&&n&&!_(i,n)||!e&&i)throw i}p.AssertionError=function(e){this.name=\"AssertionError\",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=function(e){return m(y(e.actual),128)+\" \"+e.operator+\" \"+m(y(e.expected),128)}(this),this.generatedMessage=!0);var t=e.stackStartFunction||v;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,i=h(t),o=r.indexOf(\"\\n\"+i);if(o>=0){var a=r.indexOf(\"\\n\",o+1);r=r.substring(a+1)}this.stack=r}}},a.inherits(p.AssertionError,Error),p.fail=v,p.ok=g,p.equal=function(e,t,n){e!=t&&v(e,t,n,\"==\",p.equal)},p.notEqual=function(e,t,n){e==t&&v(e,t,n,\"!=\",p.notEqual)},p.deepEqual=function(e,t,n){b(e,t,!1)||v(e,t,n,\"deepEqual\",p.deepEqual)},p.deepStrictEqual=function(e,t,n){b(e,t,!0)||v(e,t,n,\"deepStrictEqual\",p.deepStrictEqual)},p.notDeepEqual=function(e,t,n){b(e,t,!1)&&v(e,t,n,\"notDeepEqual\",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,n,r){b(t,n,!0)&&v(t,n,r,\"notDeepStrictEqual\",e)},p.strictEqual=function(e,t,n){e!==t&&v(e,t,n,\"===\",p.strictEqual)},p.notStrictEqual=function(e,t,n){e===t&&v(e,t,n,\"!==\",p.notStrictEqual)},p.throws=function(e,t,n){w(!0,e,t,n)},p.doesNotThrow=function(e,t,n){w(!1,e,t,n)},p.ifError=function(e){if(e)throw e};var E=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}}).call(t,function(){return this}())},function(e,t,n){\"use strict\";t.__esModule=!0;var r=d(n(2)),i=d(n(3)),o=d(n(42)),a=d(n(41)),s=d(n(34)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(20)),l=d(n(119)),c=d(n(7)),f=d(n(174)),p=d(n(109));function d(e){return e&&e.__esModule?e:{default:e}}var h=[\"enter\",\"exit\"],m=function(e){function t(n,r){(0,i.default)(this,t);var a=(0,o.default)(this,e.call(this));return a.initialized=!1,a.raw=(0,f.default)({},n),a.key=a.take(\"name\")||r,a.manipulateOptions=a.take(\"manipulateOptions\"),a.post=a.take(\"post\"),a.pre=a.take(\"pre\"),a.visitor=a.normaliseVisitor((0,p.default)(a.take(\"visitor\"))||{}),a}return(0,a.default)(t,e),t.prototype.take=function(e){var t=this.raw[e];return delete this.raw[e],t},t.prototype.chain=function(e,t){if(!e[t])return this[t];if(!this[t])return e[t];var n=[e[t],this[t]];return function(){for(var e=void 0,t=arguments.length,i=Array(t),o=0;o<t;o++)i[o]=arguments[o];var a=n,s=Array.isArray(a),u=0;for(a=s?a:(0,r.default)(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;if(c){var f=c.apply(this,i);null!=f&&(e=f)}}return e}},t.prototype.maybeInherit=function(e){var t=this.take(\"inherits\");t&&(t=s.default.normalisePlugin(t,e,\"inherits\"),this.manipulateOptions=this.chain(t,\"manipulateOptions\"),this.post=this.chain(t,\"post\"),this.pre=this.chain(t,\"pre\"),this.visitor=c.default.visitors.merge([t.visitor,this.visitor]))},t.prototype.init=function(e,t){if(!this.initialized)for(var n in this.initialized=!0,this.maybeInherit(e),this.raw)throw new Error(u.get(\"pluginInvalidProperty\",e,t,n))},t.prototype.normaliseVisitor=function(e){var t=h,n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}if(e[o])throw new Error(\"Plugins aren't allowed to specify catch-all enter/exit handlers. Please target individual nodes.\")}return c.default.explode(e),e},t}(l.default);t.default=m,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.messages;return{visitor:{Scope:function(e){var n=e.scope;for(var r in n.bindings){var o=n.bindings[r];if(\"const\"===o.kind||\"module\"===o.kind){var a=o.constantViolations,s=Array.isArray(a),u=0;for(a=s?a:(0,i.default)(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}throw l.buildCodeFrameError(t.get(\"readOnly\",r))}}}}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"asyncFunctions\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{ArrowFunctionExpression:function(e,n){if(n.opts.spec){var r=e.node;if(r.shadow)return;r.shadow={this:!1},r.type=\"FunctionExpression\";var i=t.thisExpression();i._forceShadow=e,e.ensureBlock(),e.get(\"body\").unshiftContainer(\"body\",t.expressionStatement(t.callExpression(n.addHelper(\"newArrowCheck\"),[t.thisExpression(),i]))),e.replaceWith(t.callExpression(t.memberExpression(r,t.identifier(\"bind\")),[t.thisExpression()]))}else e.arrowFunctionToShadowed()}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;function n(e,n){var r=n.get(e),o=Array.isArray(r),a=0;for(r=o?r:(0,i.default)(r);;){var s;if(o){if(a>=r.length)break;s=r[a++]}else{if((a=r.next()).done)break;s=a.value}var u=s,l=u.node;if(u.isFunctionDeclaration()){var c=t.variableDeclaration(\"let\",[t.variableDeclarator(l.id,t.toExpression(l))]);c._blockHoist=2,l.id=null,u.replaceWith(c)}}}return{visitor:{BlockStatement:function(e){var r=e.node,i=e.parent;t.isFunction(i,{body:r})||t.isExportDeclaration(i)||n(\"body\",e)},SwitchCase:function(e){n(\"consequent\",e)}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=f(n(10)),i=f(n(9)),o=f(n(3));t.default=function(){return{visitor:{VariableDeclaration:function(e,t){var n=e.node,r=e.parent,i=e.scope;if(d(n)&&(h(e,null,r,i,!0),n._tdzThis)){for(var o=[n],a=0;a<n.declarations.length;a++){var s=n.declarations[a];if(s.init){var l=u.assignmentExpression(\"=\",s.id,s.init);l._ignoreBlockScopingTDZ=!0,o.push(u.expressionStatement(l))}s.init=t.addHelper(\"temporalUndefined\")}n._blockHoist=2,e.isCompletionRecord()&&o.push(u.expressionStatement(i.buildUndefinedNode())),e.replaceWithMultiple(o)}},Loop:function(e,t){var n=e.node,r=e.parent,i=e.scope;u.ensureBlock(n);var o=new w(e,e.get(\"body\"),r,i,t).run();o&&e.replaceWith(o)},CatchClause:function(e,t){var n=e.parent,r=e.scope;new w(null,e.get(\"body\"),n,r,t).run()},\"BlockStatement|SwitchStatement|Program\":function(e,t){(function(e){return u.isLoop(e.parent)||u.isCatchClause(e.parent)})(e)||new w(null,e,e.parent,e.scope,t).run()}}}};var a=f(n(7)),s=n(330),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),l=f(n(280)),c=f(n(578));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,f(n(4)).default)('\\n  if (typeof RETURN === \"object\") return RETURN.v;\\n');function d(e){return!(!u.isVariableDeclaration(e)||!e[u.BLOCK_SCOPED_SYMBOL]&&\"let\"!==e.kind&&\"const\"!==e.kind)}function h(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(t||(t=e.node),!u.isFor(n))for(var o=0;o<t.declarations.length;o++){var a=t.declarations[o];a.init=a.init||r.buildUndefinedNode()}if(t[u.BLOCK_SCOPED_SYMBOL]=!0,t.kind=\"var\",i){var s=r.getFunctionParent(),l=e.getBindingIdentifiers();for(var c in l){var f=r.getOwnBinding(c);f&&(f.kind=\"var\"),r.moveBindingTo(c,s)}}}function m(e){return u.isVariableDeclaration(e,{kind:\"var\"})&&!d(e)}var y=a.default.visitors.merge([{Loop:{enter:function(e,t){t.loopDepth++},exit:function(e,t){t.loopDepth--}},Function:function(e,t){return t.loopDepth>0&&e.traverse(v,t),e.skip()}},s.visitor]),v=a.default.visitors.merge([{ReferencedIdentifier:function(e,t){var n=t.letReferences[e.node.name];if(n){var r=e.scope.getBindingIdentifier(e.node.name);r&&r!==n||(t.closurify=!0)}}},s.visitor]),g={enter:function(e,t){var n=e.node;if(e.parent,e.isForStatement()){if(m(n.init)){var r=t.pushDeclar(n.init);1===r.length?n.init=r[0]:n.init=u.sequenceExpression(r)}}else if(e.isFor())m(n.left)&&(t.pushDeclar(n.left),n.left=n.left.declarations[0].id);else if(m(n))e.replaceWithMultiple(t.pushDeclar(n).map((function(e){return u.expressionStatement(e)})));else if(e.isFunction())return e.skip()}},b={LabeledStatement:function(e,t){var n=e.node;t.innerLabels.push(n.label.name)}},x={enter:function(e,t){if(e.isAssignmentExpression()||e.isUpdateExpression()){var n=e.getBindingIdentifiers();for(var r in n)t.outsideReferences[r]===e.scope.getBindingIdentifier(r)&&(t.reassignments[r]=!0)}}},_={Loop:function(e,t){var n=t.ignoreLabeless;t.ignoreLabeless=!0,e.traverse(_,t),t.ignoreLabeless=n,e.skip()},Function:function(e){e.skip()},SwitchCase:function(e,t){var n=t.inSwitchCase;t.inSwitchCase=!0,e.traverse(_,t),t.inSwitchCase=n,e.skip()},\"BreakStatement|ContinueStatement|ReturnStatement\":function(e,t){var n=e.node,r=e.parent,i=e.scope;if(!n[this.LOOP_IGNORE]){var o=void 0,a=function(e){return u.isBreakStatement(e)?\"break\":u.isContinueStatement(e)?\"continue\":void 0}(n);if(a){if(n.label){if(t.innerLabels.indexOf(n.label.name)>=0)return;a=a+\"|\"+n.label.name}else{if(t.ignoreLabeless)return;if(t.inSwitchCase)return;if(u.isBreakStatement(n)&&u.isSwitchCase(r))return}t.hasBreakContinue=!0,t.map[a]=n,o=u.stringLiteral(a)}e.isReturnStatement()&&(t.hasReturn=!0,o=u.objectExpression([u.objectProperty(u.identifier(\"v\"),n.argument||i.buildUndefinedNode())])),o&&((o=u.returnStatement(o))[this.LOOP_IGNORE]=!0,e.skip(),e.replaceWith(u.inherits(o,n)))}}},w=function(){function e(t,n,r,a,s){(0,o.default)(this,e),this.parent=r,this.scope=a,this.file=s,this.blockPath=n,this.block=n.node,this.outsideLetReferences=(0,i.default)(null),this.hasLetReferences=!1,this.letReferences=(0,i.default)(null),this.body=[],t&&(this.loopParent=t.parent,this.loopLabel=u.isLabeledStatement(this.loopParent)&&this.loopParent.label,this.loopPath=t,this.loop=t.node)}return e.prototype.run=function(){var e=this.block;if(!e._letDone){e._letDone=!0;var t=this.getLetReferences();if(u.isFunction(this.parent)||u.isProgram(this.block))this.updateScopeInfo();else if(this.hasLetReferences)return t?this.wrapClosure():this.remap(),this.updateScopeInfo(t),this.loopLabel&&!u.isLabeledStatement(this.loopParent)?u.labeledStatement(this.loopLabel,this.loop):void 0}},e.prototype.updateScopeInfo=function(e){var t=this.scope,n=t.getFunctionParent(),r=this.letReferences;for(var i in r){var o=r[i],a=t.getBinding(o.name);a&&(\"let\"!==a.kind&&\"const\"!==a.kind||(a.kind=\"var\",e?t.removeBinding(o.name):t.moveBindingTo(o.name,n)))}},e.prototype.remap=function(){var e=this.letReferences,t=this.scope;for(var n in e){var r=e[n];(t.parentHasBinding(n)||t.hasGlobal(n))&&(t.hasOwnBinding(n)&&t.rename(r.name),this.blockPath.scope.hasOwnBinding(n)&&this.blockPath.scope.rename(r.name))}},e.prototype.wrapClosure=function(){if(this.file.opts.throwIfClosureRequired)throw this.blockPath.buildCodeFrameError(\"Compiling let/const in this block would add a closure (throwIfClosureRequired).\");var e=this.block,t=this.outsideLetReferences;if(this.loop)for(var n in t){var r=t[n];(this.scope.hasGlobal(r.name)||this.scope.parentHasBinding(r.name))&&(delete t[r.name],delete this.letReferences[r.name],this.scope.rename(r.name),this.letReferences[r.name]=r,t[r.name]=r)}this.has=this.checkLoop(),this.hoistVarDeclarations();var i=(0,l.default)(t),o=(0,l.default)(t),s=this.blockPath.isSwitchStatement(),c=u.functionExpression(null,i,u.blockStatement(s?[e]:e.body));c.shadow=!0,this.addContinuations(c);var f=c;this.loop&&(f=this.scope.generateUidIdentifier(\"loop\"),this.loopPath.insertBefore(u.variableDeclaration(\"var\",[u.variableDeclarator(f,c)])));var p=u.callExpression(f,o),d=this.scope.generateUidIdentifier(\"ret\");a.default.hasType(c.body,this.scope,\"YieldExpression\",u.FUNCTION_TYPES)&&(c.generator=!0,p=u.yieldExpression(p,!0)),a.default.hasType(c.body,this.scope,\"AwaitExpression\",u.FUNCTION_TYPES)&&(c.async=!0,p=u.awaitExpression(p)),this.buildClosure(d,p),s?this.blockPath.replaceWithMultiple(this.body):e.body=this.body},e.prototype.buildClosure=function(e,t){var n=this.has;n.hasReturn||n.hasBreakContinue?this.buildHas(e,t):this.body.push(u.expressionStatement(t))},e.prototype.addContinuations=function(e){var t={reassignments:{},outsideReferences:this.outsideLetReferences};this.scope.traverse(e,x,t);for(var n=0;n<e.params.length;n++){var r=e.params[n];if(t.reassignments[r.name]){var i=this.scope.generateUidIdentifier(r.name);e.params[n]=i,this.scope.rename(r.name,i.name,e),e.body.body.push(u.expressionStatement(u.assignmentExpression(\"=\",r,i)))}}},e.prototype.getLetReferences=function(){var e=this,t=this.block,n=[];if(this.loop){var r=this.loop.left||this.loop.init;d(r)&&(n.push(r),(0,c.default)(this.outsideLetReferences,u.getBindingIdentifiers(r)))}var i=function r(i,o){o=o||i.node,(u.isClassDeclaration(o)||u.isFunctionDeclaration(o)||d(o))&&(d(o)&&h(i,o,t,e.scope),n=n.concat(o.declarations||o)),u.isLabeledStatement(o)&&r(i.get(\"body\"),o.body)};if(t.body)for(var o=0;o<t.body.length;o++)i(this.blockPath.get(\"body\")[o]);if(t.cases)for(var a=0;a<t.cases.length;a++)for(var s=t.cases[a].consequent,l=0;l<s.length;l++)i(this.blockPath.get(\"cases\")[a],s[l]);for(var f=0;f<n.length;f++){var p=n[f],m=u.getBindingIdentifiers(p,!1,!0);(0,c.default)(this.letReferences,m),this.hasLetReferences=!0}if(this.hasLetReferences){var v={letReferences:this.letReferences,closurify:!1,file:this.file,loopDepth:0},g=this.blockPath.find((function(e){return e.isLoop()||e.isFunction()}));return g&&g.isLoop()&&v.loopDepth++,this.blockPath.traverse(y,v),v.closurify}},e.prototype.checkLoop=function(){var e={hasBreakContinue:!1,ignoreLabeless:!1,inSwitchCase:!1,innerLabels:[],hasReturn:!1,isLoop:!!this.loop,map:{},LOOP_IGNORE:(0,r.default)()};return this.blockPath.traverse(b,e),this.blockPath.traverse(_,e),e},e.prototype.hoistVarDeclarations=function(){this.blockPath.traverse(g,this)},e.prototype.pushDeclar=function(e){var t=[],n=u.getBindingIdentifiers(e);for(var r in n)t.push(u.variableDeclarator(n[r]));this.body.push(u.variableDeclaration(e.kind,t));for(var i=[],o=0;o<e.declarations.length;o++){var a=e.declarations[o];if(a.init){var s=u.assignmentExpression(\"=\",a.id,a.init);i.push(u.inherits(s,a))}}return i},e.prototype.buildHas=function(e,t){var n=this.body;n.push(u.variableDeclaration(\"var\",[u.variableDeclarator(e,t)]));var r=void 0,i=this.has,o=[];if(i.hasReturn&&(r=p({RETURN:e})),i.hasBreakContinue){for(var a in i.map)o.push(u.switchCase(u.stringLiteral(a),[i.map[a]]));if(i.hasReturn&&o.push(u.switchCase(null,[r])),1===o.length){var s=o[0];n.push(u.ifStatement(u.binaryExpression(\"===\",e,s.test),s.consequent[0]))}else{if(this.loop)for(var l=0;l<o.length;l++){var c=o[l].consequent[0];u.isBreakStatement(c)&&!c.label&&(c.label=this.loopLabel=this.loopLabel||this.scope.generateUidIdentifier(\"loop\"))}n.push(u.switchStatement(e,o))}}else i.hasReturn&&n.push(r)},e}();e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(10));t.default=function(e){var t=e.types,n=(0,r.default)();return{visitor:{ExportDefaultDeclaration:function(e){if(e.get(\"declaration\").isClassDeclaration()){var n=e.node,r=n.declaration.id||e.scope.generateUidIdentifier(\"class\");n.declaration.id=r,e.replaceWith(n.declaration),e.insertAfter(t.exportDefaultDeclaration(r))}},ClassDeclaration:function(e){var n=e.node,r=n.id||e.scope.generateUidIdentifier(\"class\");e.replaceWith(t.variableDeclaration(\"let\",[t.variableDeclarator(r,t.toExpression(n))]))},ClassExpression:function(e,t){var r=e.node;if(!r[n]){var s=(0,a.default)(e);if(s&&s!==r)return e.replaceWith(s);r[n]=!0;var u=o.default;t.opts.loose&&(u=i.default),e.replaceWith(new u(e,t.file).run())}}}}};var i=s(n(331)),o=s(n(207)),a=s(n(40));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types,n=(0,e.template)(\"\\n    MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\\n    MUTATOR_MAP_REF[KEY].KIND = VALUE;\\n  \");function r(e){return t.isObjectProperty(e)?e.value:t.isObjectMethod(e)?t.functionExpression(null,e.params,e.body,e.generator,e.async):void 0}function o(e,n,i){\"get\"===n.kind&&\"set\"===n.kind?a(e,n):i.push(t.expressionStatement(t.assignmentExpression(\"=\",t.memberExpression(e,n.key,n.computed||t.isLiteral(n.key)),r(n))))}function a(e,i){e.objId;var o=e.body,a=e.getMutatorId,s=e.scope,u=!i.computed&&t.isIdentifier(i.key)?t.stringLiteral(i.key.name):i.key,l=s.maybeGenerateMemoised(u);l&&(o.push(t.expressionStatement(t.assignmentExpression(\"=\",l,u))),u=l),o.push.apply(o,n({MUTATOR_MAP_REF:a(),KEY:u,VALUE:r(i),KIND:t.identifier(i.kind)}))}function s(e){var t=e.computedProps,n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var s;if(n){if(r>=t.length)break;s=t[r++]}else{if((r=t.next()).done)break;s=r.value}var u=s;\"get\"===u.kind||\"set\"===u.kind?a(e,u):o(e.objId,u,e.body)}}function u(e){var n=e.objId,s=e.body,u=e.computedProps,l=e.state,c=u,f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}var h=d,m=t.toComputedKey(h);if(\"get\"===h.kind||\"set\"===h.kind)a(e,h);else if(t.isStringLiteral(m,{value:\"__proto__\"}))o(n,h,s);else{if(1===u.length)return t.callExpression(l.addHelper(\"defineProperty\"),[e.initPropExpression,m,r(h)]);s.push(t.expressionStatement(t.callExpression(l.addHelper(\"defineProperty\"),[n,m,r(h)])))}}}return{visitor:{ObjectExpression:{exit:function(e,n){var r=e.node,o=e.parent,a=e.scope,l=!1,c=r.properties,f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}if(l=!0===d.computed)break}if(l){var h=[],m=[],y=!1,v=r.properties,g=Array.isArray(v),b=0;for(v=g?v:(0,i.default)(v);;){var x;if(g){if(b>=v.length)break;x=v[b++]}else{if((b=v.next()).done)break;x=b.value}var _=x;_.computed&&(y=!0),y?m.push(_):h.push(_)}var w=a.generateUidIdentifierBasedOnNode(o),E=t.objectExpression(h),S=[];S.push(t.variableDeclaration(\"var\",[t.variableDeclarator(w,E)]));var k=u;n.opts.loose&&(k=s);var A=void 0,C=k({scope:a,objId:w,body:S,computedProps:m,initPropExpression:E,getMutatorId:function(){return A||(A=a.generateUidIdentifier(\"mutatorMap\"),S.push(t.variableDeclaration(\"var\",[t.variableDeclarator(A,t.objectExpression([]))]))),A},state:n});A&&S.push(t.expressionStatement(t.callExpression(n.addHelper(\"defineEnumerableProperties\"),[w,A]))),C?e.replaceWith(C):(S.push(t.expressionStatement(w)),e.replaceWithMultiple(S))}}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(3)),i=o(n(2));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=e.types;function n(e){var n=e.declarations,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;if(t.isPattern(s.id))return!0}return!1}function o(e){var n=e.elements,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;if(t.isRestElement(s))return!0}return!1}var a={ReferencedIdentifier:function(e,t){t.bindings[e.node.name]&&(t.deopt=!0,e.stop())}},s=function(){function e(t){(0,r.default)(this,e),this.blockHoist=t.blockHoist,this.operator=t.operator,this.arrays={},this.nodes=t.nodes||[],this.scope=t.scope,this.file=t.file,this.kind=t.kind}return e.prototype.buildVariableAssignment=function(e,n){var r=this.operator;t.isMemberExpression(e)&&(r=\"=\");var i=void 0;return(i=r?t.expressionStatement(t.assignmentExpression(r,e,n)):t.variableDeclaration(this.kind,[t.variableDeclarator(e,n)]))._blockHoist=this.blockHoist,i},e.prototype.buildVariableDeclaration=function(e,n){var r=t.variableDeclaration(\"var\",[t.variableDeclarator(e,n)]);return r._blockHoist=this.blockHoist,r},e.prototype.push=function(e,n){t.isObjectPattern(e)?this.pushObjectPattern(e,n):t.isArrayPattern(e)?this.pushArrayPattern(e,n):t.isAssignmentPattern(e)?this.pushAssignmentPattern(e,n):this.nodes.push(this.buildVariableAssignment(e,n))},e.prototype.toArray=function(e,n){return this.file.opts.loose||t.isIdentifier(e)&&this.arrays[e.name]?e:this.scope.toArray(e,n)},e.prototype.pushAssignmentPattern=function(e,n){var r=this.scope.generateUidIdentifierBasedOnNode(n),i=t.variableDeclaration(\"var\",[t.variableDeclarator(r,n)]);i._blockHoist=this.blockHoist,this.nodes.push(i);var o=t.conditionalExpression(t.binaryExpression(\"===\",r,t.identifier(\"undefined\")),e.right,r),a=e.left;if(t.isPattern(a)){var s=t.expressionStatement(t.assignmentExpression(\"=\",r,o));s._blockHoist=this.blockHoist,this.nodes.push(s),this.push(a,r)}else this.nodes.push(this.buildVariableAssignment(a,o))},e.prototype.pushObjectRest=function(e,n,r,i){for(var o=[],a=0;a<e.properties.length;a++){var s=e.properties[a];if(a>=i)break;if(!t.isRestProperty(s)){var u=s.key;t.isIdentifier(u)&&!s.computed&&(u=t.stringLiteral(s.key.name)),o.push(u)}}o=t.arrayExpression(o);var l=t.callExpression(this.file.addHelper(\"objectWithoutProperties\"),[n,o]);this.nodes.push(this.buildVariableAssignment(r.argument,l))},e.prototype.pushObjectProperty=function(e,n){t.isLiteral(e.key)&&(e.computed=!0);var r=e.value,i=t.memberExpression(n,e.key,e.computed);t.isPattern(r)?this.push(r,i):this.nodes.push(this.buildVariableAssignment(r,i))},e.prototype.pushObjectPattern=function(e,n){if(e.properties.length||this.nodes.push(t.expressionStatement(t.callExpression(this.file.addHelper(\"objectDestructuringEmpty\"),[n]))),e.properties.length>1&&!this.scope.isStatic(n)){var r=this.scope.generateUidIdentifierBasedOnNode(n);this.nodes.push(this.buildVariableDeclaration(r,n)),n=r}for(var i=0;i<e.properties.length;i++){var o=e.properties[i];t.isRestProperty(o)?this.pushObjectRest(e,n,o,i):this.pushObjectProperty(o,n)}},e.prototype.canUnpackArrayPattern=function(e,n){if(!t.isArrayExpression(n))return!1;if(!(e.elements.length>n.elements.length)){if(e.elements.length<n.elements.length&&!o(e))return!1;var r=e.elements,s=Array.isArray(r),u=0;for(r=s?r:(0,i.default)(r);;){var l;if(s){if(u>=r.length)break;l=r[u++]}else{if((u=r.next()).done)break;l=u.value}var c=l;if(!c)return!1;if(t.isMemberExpression(c))return!1}var f=n.elements,p=Array.isArray(f),d=0;for(f=p?f:(0,i.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if((d=f.next()).done)break;h=d.value}var m=h;if(t.isSpreadElement(m))return!1;if(t.isCallExpression(m))return!1;if(t.isMemberExpression(m))return!1}var y={deopt:!1,bindings:t.getBindingIdentifiers(e)};return this.scope.traverse(n,a,y),!y.deopt}},e.prototype.pushUnpackedArrayPattern=function(e,n){for(var r=0;r<e.elements.length;r++){var i=e.elements[r];t.isRestElement(i)?this.push(i.argument,t.arrayExpression(n.elements.slice(r))):this.push(i,n.elements[r])}},e.prototype.pushArrayPattern=function(e,n){if(e.elements){if(this.canUnpackArrayPattern(e,n))return this.pushUnpackedArrayPattern(e,n);var r=!o(e)&&e.elements.length,i=this.toArray(n,r);t.isIdentifier(i)?n=i:(n=this.scope.generateUidIdentifierBasedOnNode(n),this.arrays[n.name]=!0,this.nodes.push(this.buildVariableDeclaration(n,i)));for(var a=0;a<e.elements.length;a++){var s=e.elements[a];if(s){var u=void 0;t.isRestElement(s)?(u=this.toArray(n),u=t.callExpression(t.memberExpression(u,t.identifier(\"slice\")),[t.numericLiteral(a)]),s=s.argument):u=t.memberExpression(n,t.numericLiteral(a),!0),this.push(s,u)}}}},e.prototype.init=function(e,n){if(!t.isArrayExpression(n)&&!t.isMemberExpression(n)){var r=this.scope.maybeGenerateMemoised(n,!0);r&&(this.nodes.push(this.buildVariableDeclaration(r,n)),n=r)}return this.push(e,n),this.nodes},e}();return{visitor:{ExportNamedDeclaration:function(e){var r=e.get(\"declaration\");if(r.isVariableDeclaration()&&n(r.node)){var i=[];for(var o in e.getOuterBindingIdentifiers(e)){var a=t.identifier(o);i.push(t.exportSpecifier(a,a))}e.replaceWith(r.node),e.insertAfter(t.exportNamedDeclaration(null,i))}},ForXStatement:function(e,n){var r=e.node,i=e.scope,o=r.left;if(t.isPattern(o)){var a=i.generateUidIdentifier(\"ref\");return r.left=t.variableDeclaration(\"var\",[t.variableDeclarator(a)]),e.ensureBlock(),void r.body.body.unshift(t.variableDeclaration(\"var\",[t.variableDeclarator(o,a)]))}if(t.isVariableDeclaration(o)){var u=o.declarations[0].id;if(t.isPattern(u)){var l=i.generateUidIdentifier(\"ref\");r.left=t.variableDeclaration(o.kind,[t.variableDeclarator(l,null)]);var c=[];new s({kind:o.kind,file:n,scope:i,nodes:c}).init(u,l),e.ensureBlock();var f=r.body;f.body=c.concat(f.body)}}},CatchClause:function(e,n){var r=e.node,i=e.scope,o=r.param;if(t.isPattern(o)){var a=i.generateUidIdentifier(\"ref\");r.param=a;var u=[];new s({kind:\"let\",file:n,scope:i,nodes:u}).init(o,a),r.body.body=u.concat(r.body.body)}},AssignmentExpression:function(e,n){var r=e.node,i=e.scope;if(t.isPattern(r.left)){var o=[],a=new s({operator:r.operator,file:n,scope:i,nodes:o}),u=void 0;!e.isCompletionRecord()&&e.parentPath.isExpressionStatement()||(u=i.generateUidIdentifierBasedOnNode(r.right,\"ref\"),o.push(t.variableDeclaration(\"var\",[t.variableDeclarator(u,r.right)])),t.isArrayExpression(r.right)&&(a.arrays[u.name]=!0)),a.init(r.left,u||r.right),u&&o.push(t.expressionStatement(u)),e.replaceWithMultiple(o)}},VariableDeclaration:function(e,r){var o=e.node,a=e.scope,u=e.parent;if(!t.isForXStatement(u)&&u&&e.container&&n(o)){for(var l=[],c=void 0,f=0;f<o.declarations.length;f++){var p=(c=o.declarations[f]).init,d=c.id,h=new s({blockHoist:o._blockHoist,nodes:l,scope:a,kind:o.kind,file:r});t.isPattern(d)?(h.init(d,p),+f!=o.declarations.length-1&&t.inherits(l[l.length-1],c)):l.push(t.inherits(h.buildVariableAssignment(c.id,c.init),c))}var m=[],y=l,v=Array.isArray(y),g=0;for(y=v?y:(0,i.default)(y);;){var b;if(v){if(g>=y.length)break;b=y[g++]}else{if((g=y.next()).done)break;b=g.value}var x,_=b,w=m[m.length-1];w&&t.isVariableDeclaration(w)&&t.isVariableDeclaration(_)&&w.kind===_.kind?(x=w.declarations).push.apply(x,_.declarations):m.push(_)}var E=m,S=Array.isArray(E),k=0;for(E=S?E:(0,i.default)(E);;){var A;if(S){if(k>=E.length)break;A=E[k++]}else{if((k=E.next()).done)break;A=k.value}var C=A;if(C.declarations){var T=C.declarations,D=Array.isArray(T),M=0;for(T=D?T:(0,i.default)(T);;){var P;if(D){if(M>=T.length)break;P=T[M++]}else{if((M=T.next()).done)break;P=M.value}var O=P.id.name;a.bindings[O]&&(a.bindings[O].kind=C.kind)}}}1===m.length?e.replaceWith(m[0]):e.replaceWithMultiple(m)}}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.messages,n=e.template,r=e.types,i=n(\"\\n    for (var KEY = 0; KEY < ARR.length; KEY++) BODY;\\n  \"),o=n(\"\\n    for (var LOOP_OBJECT = OBJECT,\\n             IS_ARRAY = Array.isArray(LOOP_OBJECT),\\n             INDEX = 0,\\n             LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\\n      var ID;\\n      if (IS_ARRAY) {\\n        if (INDEX >= LOOP_OBJECT.length) break;\\n        ID = LOOP_OBJECT[INDEX++];\\n      } else {\\n        INDEX = LOOP_OBJECT.next();\\n        if (INDEX.done) break;\\n        ID = INDEX.value;\\n      }\\n    }\\n  \"),a=n(\"\\n    var ITERATOR_COMPLETION = true;\\n    var ITERATOR_HAD_ERROR_KEY = false;\\n    var ITERATOR_ERROR_KEY = undefined;\\n    try {\\n      for (var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY; !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done); ITERATOR_COMPLETION = true) {\\n      }\\n    } catch (err) {\\n      ITERATOR_HAD_ERROR_KEY = true;\\n      ITERATOR_ERROR_KEY = err;\\n    } finally {\\n      try {\\n        if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\\n          ITERATOR_KEY.return();\\n        }\\n      } finally {\\n        if (ITERATOR_HAD_ERROR_KEY) {\\n          throw ITERATOR_ERROR_KEY;\\n        }\\n      }\\n    }\\n  \");function s(e){var t=e.node,n=e.scope,o=[],a=t.right;if(!r.isIdentifier(a)||!n.hasBinding(a.name)){var s=n.generateUidIdentifier(\"arr\");o.push(r.variableDeclaration(\"var\",[r.variableDeclarator(s,a)])),a=s}var u=n.generateUidIdentifier(\"i\"),l=i({BODY:t.body,KEY:u,ARR:a});r.inherits(l,t),r.ensureBlock(l);var c=r.memberExpression(a,u,!0),f=t.left;return r.isVariableDeclaration(f)?(f.declarations[0].init=c,l.body.body.unshift(f)):l.body.body.unshift(r.expressionStatement(r.assignmentExpression(\"=\",f,c))),e.parentPath.isLabeledStatement()&&(l=r.labeledStatement(e.parentPath.node.label,l)),o.push(l),o}return{visitor:{ForOfStatement:function(e,t){if(e.get(\"right\").isArrayExpression())return e.parentPath.isLabeledStatement()?e.parentPath.replaceWithMultiple(s(e)):e.replaceWithMultiple(s(e));var n=l;t.opts.loose&&(n=u);var i=e.node,o=n(e,t),a=o.declar,c=o.loop,f=c.body;e.ensureBlock(),a&&f.body.push(a),f.body=f.body.concat(i.body.body),r.inherits(c,i),r.inherits(c.body,i.body),o.replaceParent?(e.parentPath.replaceWithMultiple(o.node),e.remove()):e.replaceWithMultiple(o.node)}}};function u(e,n){var i=e.node,a=e.scope,s=e.parent,u=i.left,l=void 0,c=void 0;if(r.isIdentifier(u)||r.isPattern(u)||r.isMemberExpression(u))c=u;else{if(!r.isVariableDeclaration(u))throw n.buildCodeFrameError(u,t.get(\"unknownForHead\",u.type));c=a.generateUidIdentifier(\"ref\"),l=r.variableDeclaration(u.kind,[r.variableDeclarator(u.declarations[0].id,c)])}var f=a.generateUidIdentifier(\"iterator\"),p=a.generateUidIdentifier(\"isArray\"),d=o({LOOP_OBJECT:f,IS_ARRAY:p,OBJECT:i.right,INDEX:a.generateUidIdentifier(\"i\"),ID:c});l||d.body.body.shift();var h=r.isLabeledStatement(s),m=void 0;return h&&(m=r.labeledStatement(s.label,d)),{replaceParent:h,declar:l,node:m||d,loop:d}}function l(e,n){var i=e.node,o=e.scope,s=e.parent,u=i.left,l=void 0,c=o.generateUidIdentifier(\"step\"),f=r.memberExpression(c,r.identifier(\"value\"));if(r.isIdentifier(u)||r.isPattern(u)||r.isMemberExpression(u))l=r.expressionStatement(r.assignmentExpression(\"=\",u,f));else{if(!r.isVariableDeclaration(u))throw n.buildCodeFrameError(u,t.get(\"unknownForHead\",u.type));l=r.variableDeclaration(u.kind,[r.variableDeclarator(u.declarations[0].id,f)])}var p=o.generateUidIdentifier(\"iterator\"),d=a({ITERATOR_HAD_ERROR_KEY:o.generateUidIdentifier(\"didIteratorError\"),ITERATOR_COMPLETION:o.generateUidIdentifier(\"iteratorNormalCompletion\"),ITERATOR_ERROR_KEY:o.generateUidIdentifier(\"iteratorError\"),ITERATOR_KEY:p,STEP_KEY:c,OBJECT:i.right,BODY:null}),h=r.isLabeledStatement(s),m=d[3].block.body,y=m[0];return h&&(m[0]=r.labeledStatement(s.label,y)),{replaceParent:h,declar:l,loop:y,node:d}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{FunctionExpression:{exit:function(e){if(\"value\"!==e.key&&!e.parentPath.isObjectProperty()){var t=(0,i.default)(e);t&&e.replaceWith(t)}}},ObjectProperty:function(e){var t=e.get(\"value\");if(t.isFunction()){var n=(0,i.default)(t);n&&t.replaceWith(n)}}}}};var r,i=(r=n(40))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{NumericLiteral:function(e){var t=e.node;t.extra&&/^0[ob]/i.test(t.extra.raw)&&(t.extra=void 0)},StringLiteral:function(e){var t=e.node;t.extra&&/\\\\[u]/gi.test(t.extra.raw)&&(t.extra=void 0)}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=f(n(14)),i=f(n(9)),o=f(n(2)),a=f(n(10));t.default=function(){var e=(0,a.default)(),t={ReferencedIdentifier:function(e){var t=e.node.name,n=this.remaps[t];if(n&&this.scope.getBinding(t)===e.scope.getBinding(t)){if(e.parentPath.isCallExpression({callee:e.node}))e.replaceWith(c.sequenceExpression([c.numericLiteral(0),n]));else if(e.isJSXIdentifier()&&c.isMemberExpression(n)){var r=n.object,i=n.property;e.replaceWith(c.JSXMemberExpression(c.JSXIdentifier(r.name),c.JSXIdentifier(i.name)))}else e.replaceWith(n);this.requeueInParent(e)}},AssignmentExpression:function(t){var n=t.node;if(!n[e]){var r=t.get(\"left\");if(r.isIdentifier()){var i=r.node.name,a=this.exports[i];if(!a)return;if(this.scope.getBinding(i)!==t.scope.getBinding(i))return;n[e]=!0;var s=a,u=Array.isArray(s),l=0;for(s=u?s:(0,o.default)(s);;){var f;if(u){if(l>=s.length)break;f=s[l++]}else{if((l=s.next()).done)break;f=l.value}n=y(f,n).expression}t.replaceWith(n),this.requeueInParent(t)}else if(r.isObjectPattern()){var p=r.node.properties,d=Array.isArray(p),h=0;for(p=d?p:(0,o.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if((h=p.next()).done)break;m=h.value}var v=m.value.name;if(this.exports[v]){if(this.scope.getBinding(v)!==t.scope.getBinding(v))return;n[e]=!0,t.insertAfter(y(c.identifier(v),c.identifier(v)))}}}else if(r.isArrayPattern()){var g=r.node.elements,b=Array.isArray(g),x=0;for(g=b?g:(0,o.default)(g);;){var _;if(b){if(x>=g.length)break;_=g[x++]}else{if((x=g.next()).done)break;_=x.value}if(_){var w=_.name;if(this.exports[w]){if(this.scope.getBinding(w)!==t.scope.getBinding(w))return;n[e]=!0,t.insertAfter(y(c.identifier(w),c.identifier(w)))}}}}}},UpdateExpression:function(e){var t=e.get(\"argument\");if(t.isIdentifier()){var n=t.node.name;if(this.exports[n]&&this.scope.getBinding(n)===e.scope.getBinding(n)){var r=c.assignmentExpression(e.node.operator[0]+\"=\",t.node,c.numericLiteral(1));if(e.parentPath.isExpressionStatement()&&!e.isCompletionRecord()||e.node.prefix)return e.replaceWith(r),void this.requeueInParent(e);var i=[];i.push(r);var o;o=\"--\"===e.node.operator?\"+\":\"-\",i.push(c.binaryExpression(o,t.node,c.numericLiteral(1))),e.replaceWithMultiple(c.sequenceExpression(i))}}}};return{inherits:l.default,visitor:{ThisExpression:function(e,t){this.ranCommonJS||!0===t.opts.allowTopLevelThis||e.findParent((function(e){return!e.is(\"shadow\")&&g.indexOf(e.type)>=0}))||e.replaceWith(c.identifier(\"undefined\"))},Program:{exit:function(e){this.ranCommonJS=!0;var n=!!this.opts.strict,a=!!this.opts.noInterop,u=e.scope;u.rename(\"module\"),u.rename(\"exports\"),u.rename(\"require\");var l=!1,f=!1,g=e.get(\"body\"),b=(0,i.default)(null),x=(0,i.default)(null),_=(0,i.default)(null),w=[],E=(0,i.default)(null),S=(0,i.default)(null);function k(t,n){var r=S[t];if(r)return r;var i=e.scope.generateUidIdentifier((0,s.basename)(t,(0,s.extname)(t))),o=c.variableDeclaration(\"var\",[c.variableDeclarator(i,p(c.stringLiteral(t)).expression)]);return b[t]&&(o.loc=b[t].loc),\"number\"==typeof n&&n>0&&(o._blockHoist=n),w.push(o),S[t]=i}function A(e,t,n){var r=e[t]||[];e[t]=r.concat(n)}var C=g,T=Array.isArray(C),D=0;for(C=T?C:(0,o.default)(C);;){var M;if(T){if(D>=C.length)break;M=C[D++]}else{if((D=C.next()).done)break;M=D.value}var P=M;if(P.isExportDeclaration()){l=!0;var O=ke=[].concat(P.get(\"declaration\"),P.get(\"specifiers\")),L=Array.isArray(O),N=0;for(O=L?O:(0,o.default)(O);;){var F;if(L){if(N>=O.length)break;F=O[N++]}else{if((N=O.next()).done)break;F=N.value}var R=F;if(R.getBindingIdentifiers().__esModule)throw R.buildCodeFrameError('Illegal export \"__esModule\"')}}if(P.isImportDeclaration()){var I;f=!0;var j=P.node.source.value,B=b[j]||{specifiers:[],maxBlockHoist:0,loc:P.node.loc};(I=B.specifiers).push.apply(I,P.node.specifiers),\"number\"==typeof P.node._blockHoist&&(B.maxBlockHoist=Math.max(P.node._blockHoist,B.maxBlockHoist)),b[j]=B,P.remove()}else if(P.isExportDefaultDeclaration()){var q=P.get(\"declaration\");if(q.isFunctionDeclaration()){var z=q.node.id,V=c.identifier(\"default\");z?(A(x,z.name,V),w.push(y(V,z)),P.replaceWith(q.node)):(w.push(y(V,c.toExpression(q.node))),P.remove())}else if(q.isClassDeclaration()){var U=q.node.id,W=c.identifier(\"default\");U?(A(x,U.name,W),P.replaceWithMultiple([q.node,y(W,U)])):(P.replaceWith(y(W,c.toExpression(q.node))),P.parentPath.requeue(P.get(\"expression.left\")))}else P.replaceWith(y(c.identifier(\"default\"),q.node)),P.parentPath.requeue(P.get(\"expression.left\"))}else if(P.isExportNamedDeclaration()){var Y=P.get(\"declaration\");if(Y.node){if(Y.isFunctionDeclaration()){var X=Y.node.id;A(x,X.name,X),w.push(y(X,X)),P.replaceWith(Y.node)}else if(Y.isClassDeclaration()){var H=Y.node.id;A(x,H.name,H),P.replaceWithMultiple([Y.node,y(H,H)]),_[H.name]=!0}else if(Y.isVariableDeclaration()){var G=Y.get(\"declarations\"),$=Array.isArray(G),K=0;for(G=$?G:(0,o.default)(G);;){var Z;if($){if(K>=G.length)break;Z=G[K++]}else{if((K=G.next()).done)break;Z=K.value}var J=Z,Q=J.get(\"id\"),ee=J.get(\"init\"),te=[];if(ee.node||ee.replaceWith(c.identifier(\"undefined\")),Q.isIdentifier())A(x,Q.node.name,Q.node),ee.replaceWith(y(Q.node,ee.node).expression),_[Q.node.name]=!0;else if(Q.isObjectPattern())for(var ne=0;ne<Q.node.properties.length;ne++){var re=Q.node.properties[ne],ie=re.value;c.isAssignmentPattern(ie)?ie=ie.left:c.isRestProperty(re)&&(ie=re.argument),A(x,ie.name,ie),te.push(y(ie,ie)),_[ie.name]=!0}else if(Q.isArrayPattern()&&Q.node.elements)for(var oe=0;oe<Q.node.elements.length;oe++){var ae=Q.node.elements[oe];if(ae){c.isAssignmentPattern(ae)?ae=ae.left:c.isRestElement(ae)&&(ae=ae.argument);var se=ae.name;A(x,se,ae),te.push(y(ae,ae)),_[se]=!0}}P.insertAfter(te)}P.replaceWith(Y.node)}continue}var ue=P.get(\"specifiers\"),le=[],ce=P.node.source;if(ce){var fe=k(ce.value,P.node._blockHoist),pe=ue,de=Array.isArray(pe),he=0;for(pe=de?pe:(0,o.default)(pe);;){var me;if(de){if(he>=pe.length)break;me=pe[he++]}else{if((he=pe.next()).done)break;me=he.value}var ye=me;ye.isExportNamespaceSpecifier()||ye.isExportDefaultSpecifier()||ye.isExportSpecifier()&&(a||\"default\"!==ye.node.local.name?w.push(h(c.stringLiteral(ye.node.exported.name),c.memberExpression(fe,ye.node.local))):w.push(h(c.stringLiteral(ye.node.exported.name),c.memberExpression(c.callExpression(this.addHelper(\"interopRequireDefault\"),[fe]),ye.node.local))),_[ye.node.exported.name]=!0)}}else{var ve=ue,ge=Array.isArray(ve),be=0;for(ve=ge?ve:(0,o.default)(ve);;){var xe;if(ge){if(be>=ve.length)break;xe=ve[be++]}else{if((be=ve.next()).done)break;xe=be.value}var _e=xe;_e.isExportSpecifier()&&(A(x,_e.node.local.name,_e.node.exported),_[_e.node.exported.name]=!0,le.push(y(_e.node.exported,_e.node.local)))}}P.replaceWithMultiple(le)}else if(P.isExportAllDeclaration()){var we=v({OBJECT:k(P.node.source.value,P.node._blockHoist)});we.loc=P.node.loc,w.push(we),P.remove()}}for(var Ee in b){var Se=b[Ee],ke=Se.specifiers,Ae=Se.maxBlockHoist;if(ke.length){for(var Ce=k(Ee,Ae),Te=void 0,De=0;De<ke.length;De++){var Me=ke[De];if(c.isImportNamespaceSpecifier(Me)){if(n||a)E[Me.local.name]=Ce;else{var Pe=c.variableDeclaration(\"var\",[c.variableDeclarator(Me.local,c.callExpression(this.addHelper(\"interopRequireWildcard\"),[Ce]))]);Ae>0&&(Pe._blockHoist=Ae),w.push(Pe)}Te=Me.local}else c.isImportDefaultSpecifier(Me)&&(ke[De]=c.importSpecifier(Me.local,c.identifier(\"default\")))}var Oe=ke,Le=Array.isArray(Oe),Ne=0;for(Oe=Le?Oe:(0,o.default)(Oe);;){var Fe;if(Le){if(Ne>=Oe.length)break;Fe=Oe[Ne++]}else{if((Ne=Oe.next()).done)break;Fe=Ne.value}var Re=Fe;if(c.isImportSpecifier(Re)){var Ie=Ce;if(\"default\"===Re.imported.name)if(Te)Ie=Te;else if(!a){Ie=Te=e.scope.generateUidIdentifier(Ce.name);var je=c.variableDeclaration(\"var\",[c.variableDeclarator(Ie,c.callExpression(this.addHelper(\"interopRequireDefault\"),[Ce]))]);Ae>0&&(je._blockHoist=Ae),w.push(je)}E[Re.local.name]=c.memberExpression(Ie,c.cloneWithoutLoc(Re.imported))}}}else{var Be=p(c.stringLiteral(Ee));Be.loc=b[Ee].loc,w.push(Be)}}if(f&&(0,r.default)(_).length)for(var qe=(0,r.default)(_),ze=function(e){var t=qe.slice(e,e+100),n=c.identifier(\"undefined\");t.forEach((function(e){n=y(c.identifier(e),n).expression}));var r=c.expressionStatement(n);r._blockHoist=3,w.unshift(r)},Ve=0;Ve<qe.length;Ve+=100)ze(Ve);if(l&&!n){var Ue=d;this.opts.loose&&(Ue=m);var We=Ue();We._blockHoist=3,w.unshift(We)}e.unshiftContainer(\"body\",w),e.traverse(t,{remaps:E,scope:u,exports:x,requeueInParent:function(t){return e.requeue(t)}})}}}}};var s=n(19),u=f(n(4)),l=f(n(216)),c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function f(e){return e&&e.__esModule?e:{default:e}}var p=(0,u.default)(\"\\n  require($0);\\n\"),d=(0,u.default)('\\n  Object.defineProperty(exports, \"__esModule\", {\\n    value: true\\n  });\\n'),h=(0,u.default)(\"\\n  Object.defineProperty(exports, $0, {\\n    enumerable: true,\\n    get: function () {\\n      return $1;\\n    }\\n  });\\n\"),m=(0,u.default)(\"\\n  exports.__esModule = true;\\n\"),y=(0,u.default)(\"\\n  exports.$0 = $1;\\n\"),v=(0,u.default)('\\n  Object.keys(OBJECT).forEach(function (key) {\\n    if (key === \"default\" || key === \"__esModule\") return;\\n    Object.defineProperty(exports, key, {\\n      enumerable: true,\\n      get: function () {\\n        return OBJECT[key];\\n      }\\n    });\\n  });\\n'),g=[\"FunctionExpression\",\"FunctionDeclaration\",\"ClassProperty\",\"ClassMethod\",\"ObjectMethod\"];e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(2)),i=a(n(10));t.default=function(e){var t=e.types;function n(e,t,n,r,i){new o.default({getObjectRef:r,methodNode:t,methodPath:e,isStatic:!0,scope:n,file:i}).replace()}var a=(0,i.default)();return{visitor:{Super:function(e){var t=e.findParent((function(e){return e.isObjectExpression()}));t&&(t.node[a]=!0)},ObjectExpression:{exit:function(e,i){if(e.node[a]){var o=void 0,s=function(){return o=o||e.scope.generateUidIdentifier(\"obj\")},u=e.get(\"properties\"),l=Array.isArray(u),c=0;for(u=l?u:(0,r.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;p.isObjectProperty()&&(p=p.get(\"value\")),n(p,p.node,e.scope,s,i)}o&&(e.scope.push({id:o}),e.replaceWith(t.assignmentExpression(\"=\",o,e.node)))}}}}}};var o=a(n(193));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(){return{visitor:o.visitors.merge([{ArrowFunctionExpression:function(e){var t=e.get(\"params\"),n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}var a=o;if(a.isRestElement()||a.isAssignmentPattern()){e.arrowFunctionToShadowed();break}}}},a.visitor,u.visitor,s.visitor])}};var o=n(7),a=l(n(334)),s=l(n(333)),u=l(n(335));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{ObjectMethod:function(e){var t=e.node;if(\"method\"===t.kind){var n=r.functionExpression(null,t.params,t.body,t.generator,t.async);n.returnType=t.returnType,e.replaceWith(r.objectProperty(t.key,n,t.computed))}},ObjectProperty:function(e){var t=e.node;t.shorthand&&(t.shorthand=!1)}}}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;function n(e,n,r){return r.opts.loose&&!t.isIdentifier(e.argument,{name:\"arguments\"})?e.argument:n.toArray(e.argument,!0)}function r(e){for(var n=0;n<e.length;n++)if(t.isSpreadElement(e[n]))return!0;return!1}function o(e,r,o){var a=[],s=[];function u(){s.length&&(a.push(t.arrayExpression(s)),s=[])}var l=e,c=Array.isArray(l),f=0;for(l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;t.isSpreadElement(d)?(u(),a.push(n(d,r,o))):s.push(d)}return u(),a}return{visitor:{ArrayExpression:function(e,n){var i=e.node,a=e.scope,s=i.elements;if(r(s)){var u=o(s,a,n),l=u.shift();t.isArrayExpression(l)||(u.unshift(l),l=t.arrayExpression([])),e.replaceWith(t.callExpression(t.memberExpression(l,t.identifier(\"concat\")),u))}},CallExpression:function(e,n){var i=e.node,a=e.scope,s=i.arguments;if(r(s)){var u=e.get(\"callee\");if(!u.isSuper()){var l=t.identifier(\"undefined\");i.arguments=[];var c=void 0,f=(c=1===s.length&&\"arguments\"===s[0].argument.name?[s[0].argument]:o(s,a,n)).shift();c.length?i.arguments.push(t.callExpression(t.memberExpression(f,t.identifier(\"concat\")),c)):i.arguments.push(f);var p=i.callee;if(u.isMemberExpression()){var d=a.maybeGenerateMemoised(p.object);d?(p.object=t.assignmentExpression(\"=\",d,p.object),l=d):l=p.object,t.appendToMemberExpression(p,t.identifier(\"apply\"))}else i.callee=t.memberExpression(i.callee,t.identifier(\"apply\"));t.isSuper(l)&&(l=t.thisExpression()),i.arguments.unshift(l)}}},NewExpression:function(e,n){var i=e.node,a=e.scope,s=i.arguments;if(r(s)){var u=o(s,a,n),l=t.arrayExpression([t.nullLiteral()]);s=t.callExpression(t.memberExpression(l,t.identifier(\"concat\")),u),e.replaceWith(t.newExpression(t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier(\"Function\"),t.identifier(\"prototype\")),t.identifier(\"bind\")),t.identifier(\"apply\")),[i.callee,s]),[]))}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{RegExpLiteral:function(e){var t=e.node;r.is(t,\"y\")&&e.replaceWith(i.newExpression(i.identifier(\"RegExp\"),[i.stringLiteral(t.pattern),i.stringLiteral(t.flags)]))}}}};var r=o(n(192)),i=o(n(1));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;function n(e){return t.isLiteral(e)&&\"string\"==typeof e.value}function r(e,n){return t.binaryExpression(\"+\",e,n)}return{visitor:{TaggedTemplateExpression:function(e,n){var r=e.node,o=r.quasi,a=[],s=[],u=[],l=o.quasis,c=Array.isArray(l),f=0;for(l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;s.push(t.stringLiteral(d.value.cooked)),u.push(t.stringLiteral(d.value.raw))}s=t.arrayExpression(s),u=t.arrayExpression(u);var h=\"taggedTemplateLiteral\";n.opts.loose&&(h+=\"Loose\");var m=n.file.addTemplateObject(h,s,u);a.push(m),a=a.concat(o.expressions),e.replaceWith(t.callExpression(r.tag,a))},TemplateLiteral:function(e,o){var a=[],s=e.get(\"expressions\"),u=e.node.quasis,l=Array.isArray(u),c=0;for(u=l?u:(0,i.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;a.push(t.stringLiteral(p.value.cooked));var d=s.shift();d&&(!o.opts.spec||d.isBaseType(\"string\")||d.isBaseType(\"number\")?a.push(d.node):a.push(t.callExpression(t.identifier(\"String\"),[d.node])))}if(n((a=a.filter((function(e){return!t.isLiteral(e,{value:\"\"})})))[0])||n(a[1])||a.unshift(t.stringLiteral(\"\")),a.length>1){var h=r(a.shift(),a.shift()),m=a,y=Array.isArray(m),v=0;for(m=y?m:(0,i.default)(m);;){var g;if(y){if(v>=m.length)break;g=m[v++]}else{if((v=m.next()).done)break;g=v.value}h=r(h,g)}e.replaceWith(h)}else e.replaceWith(a[0])}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(10))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types,n=(0,i.default)();return{visitor:{Scope:function(e){var t=e.scope;t.getBinding(\"Symbol\")&&t.rename(\"Symbol\")},UnaryExpression:function(e){var r=e.node,i=e.parent;if(!r[n]&&!e.find((function(e){return e.node&&!!e.node._generated}))){if(e.parentPath.isBinaryExpression()&&t.EQUALITY_BINARY_OPERATORS.indexOf(i.operator)>=0){var o=e.getOpposite();if(o.isLiteral()&&\"symbol\"!==o.node.value&&\"object\"!==o.node.value)return}if(\"typeof\"===r.operator){var a=t.callExpression(this.addHelper(\"typeof\"),[r.argument]);if(e.get(\"argument\").isIdentifier()){var s=t.stringLiteral(\"undefined\"),u=t.unaryExpression(\"typeof\",r.argument);u[n]=!0,e.replaceWith(t.conditionalExpression(t.binaryExpression(\"===\",u,s),s,a))}else e.replaceWith(a)}}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{RegExpLiteral:function(e){var t=e.node;o.is(t,\"u\")&&(t.pattern=(0,i.default)(t.pattern,t.flags),o.pullFlag(t,\"u\"))}}}};var r,i=(r=n(612))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(192));e.exports=t.default},function(e,t,n){\"use strict\";e.exports=n(606)},function(e,t,n){\"use strict\";e.exports={default:n(408),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0,t.scope=t.path=void 0;var r,i=(r=n(364))&&r.__esModule?r:{default:r};function o(){t.path=new i.default}function a(){t.scope=new i.default}t.clear=function(){o(),a()},t.clearPath=o,t.clearScope=a,t.path=new i.default,t.scope=new i.default},function(e,t){\"use strict\";var n=\"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};function r(e){return e=e.split(\" \"),function(t){return e.indexOf(t)>=0}}Object.defineProperty(t,\"__esModule\",{value:!0});var i={6:r(\"enum await\"),strict:r(\"implements interface let package private protected public static yield\"),strictBind:r(\"eval arguments\")},o=r(\"break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this let const class extends export import yield super\"),a=\"ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼＡ-Ｚａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ\",s=\"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏０-９＿\",u=new RegExp(\"[\"+a+\"]\"),l=new RegExp(\"[\"+a+s+\"]\");a=s=null;var c=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,4149,196,60,67,1213,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42710,42,4148,12,221,3,5761,10591,541],f=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,2214,6,110,6,6,9,792487,239];function p(e,t){for(var n=65536,r=0;r<t.length;r+=2){if((n+=t[r])>e)return!1;if((n+=t[r+1])>=e)return!0}}function d(e){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&u.test(String.fromCharCode(e)):p(e,c)))}function h(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&l.test(String.fromCharCode(e)):p(e,c)||p(e,f))))}var m={sourceType:\"script\",sourceFilename:void 0,startLine:1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,plugins:[],strictMode:null},y=\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.iterator)?function(e){return void 0===e?\"undefined\":n(e)}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":void 0===e?\"undefined\":n(e)},v=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")},g=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===t?\"undefined\":n(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)},b=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(void 0===t?\"undefined\":n(t))&&\"function\"!=typeof t?e:t},x=!0,_=!0,w=!0,E=!0,S=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};v(this,e),this.label=t,this.keyword=n.keyword,this.beforeExpr=!!n.beforeExpr,this.startsExpr=!!n.startsExpr,this.rightAssociative=!!n.rightAssociative,this.isLoop=!!n.isLoop,this.isAssign=!!n.isAssign,this.prefix=!!n.prefix,this.postfix=!!n.postfix,this.binop=n.binop||null,this.updateContext=null},k=function(e){function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return v(this,t),r.keyword=n,b(this,e.call(this,n,r))}return g(t,e),t}(S),A=function(e){function t(n,r){return v(this,t),b(this,e.call(this,n,{beforeExpr:x,binop:r}))}return g(t,e),t}(S),C={num:new S(\"num\",{startsExpr:_}),regexp:new S(\"regexp\",{startsExpr:_}),string:new S(\"string\",{startsExpr:_}),name:new S(\"name\",{startsExpr:_}),eof:new S(\"eof\"),bracketL:new S(\"[\",{beforeExpr:x,startsExpr:_}),bracketR:new S(\"]\"),braceL:new S(\"{\",{beforeExpr:x,startsExpr:_}),braceBarL:new S(\"{|\",{beforeExpr:x,startsExpr:_}),braceR:new S(\"}\"),braceBarR:new S(\"|}\"),parenL:new S(\"(\",{beforeExpr:x,startsExpr:_}),parenR:new S(\")\"),comma:new S(\",\",{beforeExpr:x}),semi:new S(\";\",{beforeExpr:x}),colon:new S(\":\",{beforeExpr:x}),doubleColon:new S(\"::\",{beforeExpr:x}),dot:new S(\".\"),question:new S(\"?\",{beforeExpr:x}),arrow:new S(\"=>\",{beforeExpr:x}),template:new S(\"template\"),ellipsis:new S(\"...\",{beforeExpr:x}),backQuote:new S(\"`\",{startsExpr:_}),dollarBraceL:new S(\"${\",{beforeExpr:x,startsExpr:_}),at:new S(\"@\"),eq:new S(\"=\",{beforeExpr:x,isAssign:!0}),assign:new S(\"_=\",{beforeExpr:x,isAssign:!0}),incDec:new S(\"++/--\",{prefix:E,postfix:!0,startsExpr:_}),prefix:new S(\"prefix\",{beforeExpr:x,prefix:E,startsExpr:_}),logicalOR:new A(\"||\",1),logicalAND:new A(\"&&\",2),bitwiseOR:new A(\"|\",3),bitwiseXOR:new A(\"^\",4),bitwiseAND:new A(\"&\",5),equality:new A(\"==/!=\",6),relational:new A(\"</>\",7),bitShift:new A(\"<</>>\",8),plusMin:new S(\"+/-\",{beforeExpr:x,binop:9,prefix:E,startsExpr:_}),modulo:new A(\"%\",10),star:new A(\"*\",10),slash:new A(\"/\",10),exponent:new S(\"**\",{beforeExpr:x,binop:11,rightAssociative:!0})},T={break:new k(\"break\"),case:new k(\"case\",{beforeExpr:x}),catch:new k(\"catch\"),continue:new k(\"continue\"),debugger:new k(\"debugger\"),default:new k(\"default\",{beforeExpr:x}),do:new k(\"do\",{isLoop:w,beforeExpr:x}),else:new k(\"else\",{beforeExpr:x}),finally:new k(\"finally\"),for:new k(\"for\",{isLoop:w}),function:new k(\"function\",{startsExpr:_}),if:new k(\"if\"),return:new k(\"return\",{beforeExpr:x}),switch:new k(\"switch\"),throw:new k(\"throw\",{beforeExpr:x}),try:new k(\"try\"),var:new k(\"var\"),let:new k(\"let\"),const:new k(\"const\"),while:new k(\"while\",{isLoop:w}),with:new k(\"with\"),new:new k(\"new\",{beforeExpr:x,startsExpr:_}),this:new k(\"this\",{startsExpr:_}),super:new k(\"super\",{startsExpr:_}),class:new k(\"class\"),extends:new k(\"extends\",{beforeExpr:x}),export:new k(\"export\"),import:new k(\"import\",{startsExpr:_}),yield:new k(\"yield\",{beforeExpr:x,startsExpr:_}),null:new k(\"null\",{startsExpr:_}),true:new k(\"true\",{startsExpr:_}),false:new k(\"false\",{startsExpr:_}),in:new k(\"in\",{beforeExpr:x,binop:7}),instanceof:new k(\"instanceof\",{beforeExpr:x,binop:7}),typeof:new k(\"typeof\",{beforeExpr:x,prefix:E,startsExpr:_}),void:new k(\"void\",{beforeExpr:x,prefix:E,startsExpr:_}),delete:new k(\"delete\",{beforeExpr:x,prefix:E,startsExpr:_})};Object.keys(T).forEach((function(e){C[\"_\"+e]=T[e]}));var D=/\\r\\n?|\\n|\\u2028|\\u2029/,M=new RegExp(D.source,\"g\");function P(e){return 10===e||13===e||8232===e||8233===e}var O=/[\\u1680\\u180e\\u2000-\\u200a\\u202f\\u205f\\u3000\\ufeff]/,L=function e(t,n,r,i){v(this,e),this.token=t,this.isExpr=!!n,this.preserveSpace=!!r,this.override=i},N={braceStatement:new L(\"{\",!1),braceExpression:new L(\"{\",!0),templateQuasi:new L(\"${\",!0),parenStatement:new L(\"(\",!1),parenExpression:new L(\"(\",!0),template:new L(\"`\",!0,!0,(function(e){return e.readTmplToken()})),functionExpression:new L(\"function\",!0)};C.parenR.updateContext=C.braceR.updateContext=function(){if(1!==this.state.context.length){var e=this.state.context.pop();e===N.braceStatement&&this.curContext()===N.functionExpression?(this.state.context.pop(),this.state.exprAllowed=!1):e===N.templateQuasi?this.state.exprAllowed=!0:this.state.exprAllowed=!e.isExpr}else this.state.exprAllowed=!0},C.name.updateContext=function(e){this.state.exprAllowed=!1,e!==C._let&&e!==C._const&&e!==C._var||D.test(this.input.slice(this.state.end))&&(this.state.exprAllowed=!0)},C.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?N.braceStatement:N.braceExpression),this.state.exprAllowed=!0},C.dollarBraceL.updateContext=function(){this.state.context.push(N.templateQuasi),this.state.exprAllowed=!0},C.parenL.updateContext=function(e){var t=e===C._if||e===C._for||e===C._with||e===C._while;this.state.context.push(t?N.parenStatement:N.parenExpression),this.state.exprAllowed=!0},C.incDec.updateContext=function(){},C._function.updateContext=function(){this.curContext()!==N.braceStatement&&this.state.context.push(N.functionExpression),this.state.exprAllowed=!1},C.backQuote.updateContext=function(){this.curContext()===N.template?this.state.context.pop():this.state.context.push(N.template),this.state.exprAllowed=!1};var F=function e(t,n){v(this,e),this.line=t,this.column=n},R=function e(t,n){v(this,e),this.start=t,this.end=n},I=function(){function e(){v(this,e)}return e.prototype.init=function(e,t){return this.strict=!1!==e.strictMode&&\"module\"===e.sourceType,this.input=t,this.potentialArrowAt=-1,this.inMethod=this.inFunction=this.inGenerator=this.inAsync=this.inPropertyName=this.inType=this.inClassProperty=this.noAnonFunctionType=!1,this.labels=[],this.decorators=[],this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.pos=this.lineStart=0,this.curLine=e.startLine,this.type=C.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=[N.braceStatement],this.exprAllowed=!0,this.containsEsc=this.containsOctal=!1,this.octalPosition=null,this.invalidTemplateEscapePosition=null,this.exportedIdentifiers=[],this},e.prototype.curPosition=function(){return new F(this.curLine,this.pos-this.lineStart)},e.prototype.clone=function(t){var n=new e;for(var r in this){var i=this[r];t&&\"context\"!==r||!Array.isArray(i)||(i=i.slice()),n[r]=i}return n},e}(),j=function e(t){v(this,e),this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new R(t.startLoc,t.endLoc)};function B(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}var q=function(){function e(t,n){v(this,e),this.state=new I,this.state.init(t,n)}return e.prototype.next=function(){this.isLookahead||this.state.tokens.push(new j(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()},e.prototype.eat=function(e){return!!this.match(e)&&(this.next(),!0)},e.prototype.match=function(e){return this.state.type===e},e.prototype.isKeyword=function(e){return o(e)},e.prototype.lookahead=function(){var e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;var t=this.state.clone(!0);return this.state=e,t},e.prototype.setStrict=function(e){if(this.state.strict=e,this.match(C.num)||this.match(C.string)){for(this.state.pos=this.state.start;this.state.pos<this.state.lineStart;)this.state.lineStart=this.input.lastIndexOf(\"\\n\",this.state.lineStart-2)+1,--this.state.curLine;this.nextToken()}},e.prototype.curContext=function(){return this.state.context[this.state.context.length-1]},e.prototype.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.state.containsOctal=!1,this.state.octalPosition=null,this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.input.length?this.finishToken(C.eof):e.override?e.override(this):this.readToken(this.fullCharCodeAtPos())},e.prototype.readToken=function(e){return d(e)||92===e?this.readWord():this.getTokenFromCode(e)},e.prototype.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.state.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.state.pos+1)-56613888},e.prototype.pushComment=function(e,t,n,r,i,o){var a={type:e?\"CommentBlock\":\"CommentLine\",value:t,start:n,end:r,loc:new R(i,o)};this.isLookahead||(this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a))},e.prototype.skipBlockComment=function(){var e=this.state.curPosition(),t=this.state.pos,n=this.input.indexOf(\"*/\",this.state.pos+=2);-1===n&&this.raise(this.state.pos-2,\"Unterminated comment\"),this.state.pos=n+2,M.lastIndex=t;for(var r=void 0;(r=M.exec(this.input))&&r.index<this.state.pos;)++this.state.curLine,this.state.lineStart=r.index+r[0].length;this.pushComment(!0,this.input.slice(t+2,n),t,this.state.pos,e,this.state.curPosition())},e.prototype.skipLineComment=function(e){for(var t=this.state.pos,n=this.state.curPosition(),r=this.input.charCodeAt(this.state.pos+=e);this.state.pos<this.input.length&&10!==r&&13!==r&&8232!==r&&8233!==r;)++this.state.pos,r=this.input.charCodeAt(this.state.pos);this.pushComment(!1,this.input.slice(t+e,this.state.pos),t,this.state.pos,n,this.state.curPosition())},e.prototype.skipSpace=function(){e:for(;this.state.pos<this.input.length;){var e=this.input.charCodeAt(this.state.pos);switch(e){case 32:case 160:++this.state.pos;break;case 13:10===this.input.charCodeAt(this.state.pos+1)&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break e}break;default:if(!(e>8&&e<14||e>=5760&&O.test(String.fromCharCode(e))))break e;++this.state.pos}}},e.prototype.finishToken=function(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var n=this.state.type;this.state.type=e,this.state.value=t,this.updateContext(n)},e.prototype.readToken_dot=function(){var e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.state.pos+2);return 46===e&&46===t?(this.state.pos+=3,this.finishToken(C.ellipsis)):(++this.state.pos,this.finishToken(C.dot))},e.prototype.readToken_slash=function(){return this.state.exprAllowed?(++this.state.pos,this.readRegexp()):61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.assign,2):this.finishOp(C.slash,1)},e.prototype.readToken_mult_modulo=function(e){var t=42===e?C.star:C.modulo,n=1,r=this.input.charCodeAt(this.state.pos+1);return 42===r&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=C.exponent),61===r&&(n++,t=C.assign),this.finishOp(t,n)},e.prototype.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?this.finishOp(124===e?C.logicalOR:C.logicalAND,2):61===t?this.finishOp(C.assign,2):124===e&&125===t&&this.hasPlugin(\"flow\")?this.finishOp(C.braceBarR,2):this.finishOp(124===e?C.bitwiseOR:C.bitwiseAND,1)},e.prototype.readToken_caret=function(){return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.assign,2):this.finishOp(C.bitwiseXOR,1)},e.prototype.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?45===t&&62===this.input.charCodeAt(this.state.pos+2)&&D.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(C.incDec,2):61===t?this.finishOp(C.assign,2):this.finishOp(C.plusMin,1)},e.prototype.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.state.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+n)?this.finishOp(C.assign,n+1):this.finishOp(C.bitShift,n)):33===t&&60===e&&45===this.input.charCodeAt(this.state.pos+2)&&45===this.input.charCodeAt(this.state.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(n=2),this.finishOp(C.relational,n))},e.prototype.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.state.pos+1);return 61===t?this.finishOp(C.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2):61===e&&62===t?(this.state.pos+=2,this.finishToken(C.arrow)):this.finishOp(61===e?C.eq:C.prefix,1)},e.prototype.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.state.pos,this.finishToken(C.parenL);case 41:return++this.state.pos,this.finishToken(C.parenR);case 59:return++this.state.pos,this.finishToken(C.semi);case 44:return++this.state.pos,this.finishToken(C.comma);case 91:return++this.state.pos,this.finishToken(C.bracketL);case 93:return++this.state.pos,this.finishToken(C.bracketR);case 123:return this.hasPlugin(\"flow\")&&124===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.braceBarL,2):(++this.state.pos,this.finishToken(C.braceL));case 125:return++this.state.pos,this.finishToken(C.braceR);case 58:return this.hasPlugin(\"functionBind\")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(C.doubleColon,2):(++this.state.pos,this.finishToken(C.colon));case 63:return++this.state.pos,this.finishToken(C.question);case 64:return++this.state.pos,this.finishToken(C.at);case 96:return++this.state.pos,this.finishToken(C.backQuote);case 48:var t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)return this.readRadixNumber(2);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(C.prefix,1)}this.raise(this.state.pos,\"Unexpected character '\"+B(e)+\"'\")},e.prototype.finishOp=function(e,t){var n=this.input.slice(this.state.pos,this.state.pos+t);return this.state.pos+=t,this.finishToken(e,n)},e.prototype.readRegexp=function(){for(var e=this.state.pos,t=void 0,n=void 0;;){this.state.pos>=this.input.length&&this.raise(e,\"Unterminated regular expression\");var r=this.input.charAt(this.state.pos);if(D.test(r)&&this.raise(e,\"Unterminated regular expression\"),t)t=!1;else{if(\"[\"===r)n=!0;else if(\"]\"===r&&n)n=!1;else if(\"/\"===r&&!n)break;t=\"\\\\\"===r}++this.state.pos}var i=this.input.slice(e,this.state.pos);++this.state.pos;var o=this.readWord1();return o&&(/^[gmsiyu]*$/.test(o)||this.raise(e,\"Invalid regular expression flag\")),this.finishToken(C.regexp,{pattern:i,flags:o})},e.prototype.readInt=function(e,t){for(var n=this.state.pos,r=0,i=0,o=null==t?1/0:t;i<o;++i){var a,s=this.input.charCodeAt(this.state.pos);if((a=s>=97?s-97+10:s>=65?s-65+10:s>=48&&s<=57?s-48:1/0)>=e)break;++this.state.pos,r=r*e+a}return this.state.pos===n||null!=t&&this.state.pos-n!==t?null:r},e.prototype.readRadixNumber=function(e){this.state.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.state.start+2,\"Expected number in radix \"+e),d(this.fullCharCodeAtPos())&&this.raise(this.state.pos,\"Identifier directly after number\"),this.finishToken(C.num,t)},e.prototype.readNumber=function(e){var t=this.state.pos,n=48===this.input.charCodeAt(t),r=!1;e||null!==this.readInt(10)||this.raise(t,\"Invalid number\"),n&&this.state.pos==t+1&&(n=!1);var i=this.input.charCodeAt(this.state.pos);46!==i||n||(++this.state.pos,this.readInt(10),r=!0,i=this.input.charCodeAt(this.state.pos)),69!==i&&101!==i||n||(43!==(i=this.input.charCodeAt(++this.state.pos))&&45!==i||++this.state.pos,null===this.readInt(10)&&this.raise(t,\"Invalid number\"),r=!0),d(this.fullCharCodeAtPos())&&this.raise(this.state.pos,\"Identifier directly after number\");var o=this.input.slice(t,this.state.pos),a=void 0;return r?a=parseFloat(o):n&&1!==o.length?this.state.strict?this.raise(t,\"Invalid number\"):a=/[89]/.test(o)?parseInt(o,10):parseInt(o,8):a=parseInt(o,10),this.finishToken(C.num,a)},e.prototype.readCodePoint=function(e){var t=void 0;if(123===this.input.charCodeAt(this.state.pos)){var n=++this.state.pos;if(t=this.readHexChar(this.input.indexOf(\"}\",this.state.pos)-this.state.pos,e),++this.state.pos,null===t)--this.state.invalidTemplateEscapePosition;else if(t>1114111){if(!e)return this.state.invalidTemplateEscapePosition=n-2,null;this.raise(n,\"Code point out of bounds\")}}else t=this.readHexChar(4,e);return t},e.prototype.readString=function(e){for(var t=\"\",n=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,\"Unterminated string constant\");var r=this.input.charCodeAt(this.state.pos);if(r===e)break;92===r?(t+=this.input.slice(n,this.state.pos),t+=this.readEscapedChar(!1),n=this.state.pos):(P(r)&&this.raise(this.state.start,\"Unterminated string constant\"),++this.state.pos)}return t+=this.input.slice(n,this.state.pos++),this.finishToken(C.string,t)},e.prototype.readTmplToken=function(){for(var e=\"\",t=this.state.pos,n=!1;;){this.state.pos>=this.input.length&&this.raise(this.state.start,\"Unterminated template\");var r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(C.template)?36===r?(this.state.pos+=2,this.finishToken(C.dollarBraceL)):(++this.state.pos,this.finishToken(C.backQuote)):(e+=this.input.slice(t,this.state.pos),this.finishToken(C.template,n?null:e));if(92===r){e+=this.input.slice(t,this.state.pos);var i=this.readEscapedChar(!0);null===i?n=!0:e+=i,t=this.state.pos}else if(P(r)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+=\"\\n\";break;default:e+=String.fromCharCode(r)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}},e.prototype.readEscapedChar=function(e){var t=!e,n=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,n){case 110:return\"\\n\";case 114:return\"\\r\";case 120:var r=this.readHexChar(2,t);return null===r?null:String.fromCharCode(r);case 117:var i=this.readCodePoint(t);return null===i?null:B(i);case 116:return\"\\t\";case 98:return\"\\b\";case 118:return\"\\v\";case 102:return\"\\f\";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:return this.state.lineStart=this.state.pos,++this.state.curLine,\"\";default:if(n>=48&&n<=55){var o=this.state.pos-1,a=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],s=parseInt(a,8);if(s>255&&(a=a.slice(0,-1),s=parseInt(a,8)),s>0){if(e)return this.state.invalidTemplateEscapePosition=o,null;this.state.strict?this.raise(o,\"Octal literal in strict mode\"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=o)}return this.state.pos+=a.length-1,String.fromCharCode(s)}return String.fromCharCode(n)}},e.prototype.readHexChar=function(e,t){var n=this.state.pos,r=this.readInt(16,e);return null===r&&(t?this.raise(n,\"Bad character escape sequence\"):(this.state.pos=n-1,this.state.invalidTemplateEscapePosition=n-1)),r},e.prototype.readWord1=function(){this.state.containsEsc=!1;for(var e=\"\",t=!0,n=this.state.pos;this.state.pos<this.input.length;){var r=this.fullCharCodeAtPos();if(h(r))this.state.pos+=r<=65535?1:2;else{if(92!==r)break;this.state.containsEsc=!0,e+=this.input.slice(n,this.state.pos);var i=this.state.pos;117!==this.input.charCodeAt(++this.state.pos)&&this.raise(this.state.pos,\"Expecting Unicode escape sequence \\\\uXXXX\"),++this.state.pos;var o=this.readCodePoint(!0);(t?d:h)(o,!0)||this.raise(i,\"Invalid Unicode escape\"),e+=B(o),n=this.state.pos}t=!1}return e+this.input.slice(n,this.state.pos)},e.prototype.readWord=function(){var e=this.readWord1(),t=C.name;return!this.state.containsEsc&&this.isKeyword(e)&&(t=T[e]),this.finishToken(t,e)},e.prototype.braceIsBlock=function(e){if(e===C.colon){var t=this.curContext();if(t===N.braceStatement||t===N.braceExpression)return!t.isExpr}return e===C._return?D.test(this.input.slice(this.state.lastTokEnd,this.state.start)):e===C._else||e===C.semi||e===C.eof||e===C.parenR||(e===C.braceL?this.curContext()===N.braceStatement:!this.state.exprAllowed)},e.prototype.updateContext=function(e){var t=this.state.type,n=void 0;t.keyword&&e===C.dot?this.state.exprAllowed=!1:(n=t.updateContext)?n.call(this,e):this.state.exprAllowed=t.beforeExpr},e}(),z={},V=[\"jsx\",\"doExpressions\",\"objectRestSpread\",\"decorators\",\"classProperties\",\"exportExtensions\",\"asyncGenerators\",\"functionBind\",\"functionSent\",\"dynamicImport\",\"flow\"],U=function(e){function t(n,r){v(this,t),n=function(e){var t={};for(var n in m)t[n]=e&&n in e?e[n]:m[n];return t}(n);var i=b(this,e.call(this,n,r));return i.options=n,i.inModule=\"module\"===i.options.sourceType,i.input=r,i.plugins=i.loadPlugins(i.options.plugins),i.filename=n.sourceFilename,0===i.state.pos&&\"#\"===i.input[0]&&\"!\"===i.input[1]&&i.skipLineComment(2),i}return g(t,e),t.prototype.isReservedWord=function(e){return\"await\"===e?this.inModule:i[6](e)},t.prototype.hasPlugin=function(e){return!!(this.plugins[\"*\"]&&V.indexOf(e)>-1)||!!this.plugins[e]},t.prototype.extend=function(e,t){this[e]=t(this[e])},t.prototype.loadAllPlugins=function(){var e=this,t=Object.keys(z).filter((function(e){return\"flow\"!==e&&\"estree\"!==e}));t.push(\"flow\"),t.forEach((function(t){var n=z[t];n&&n(e)}))},t.prototype.loadPlugins=function(e){if(e.indexOf(\"*\")>=0)return this.loadAllPlugins(),{\"*\":!0};var t={};e.indexOf(\"flow\")>=0&&(e=e.filter((function(e){return\"flow\"!==e})),e.push(\"flow\")),e.indexOf(\"estree\")>=0&&(e=e.filter((function(e){return\"estree\"!==e})),e.unshift(\"estree\"));var n=e,r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(!t[a]){t[a]=!0;var s=z[a];s&&s(this)}}return t},t.prototype.parse=function(){var e=this.startNode(),t=this.startNode();return this.nextToken(),this.parseTopLevel(e,t)},t}(q),W=U.prototype;W.addExtra=function(e,t,n){e&&((e.extra=e.extra||{})[t]=n)},W.isRelational=function(e){return this.match(C.relational)&&this.state.value===e},W.expectRelational=function(e){this.isRelational(e)?this.next():this.unexpected(null,C.relational)},W.isContextual=function(e){return this.match(C.name)&&this.state.value===e},W.eatContextual=function(e){return this.state.value===e&&this.eat(C.name)},W.expectContextual=function(e,t){this.eatContextual(e)||this.unexpected(null,t)},W.canInsertSemicolon=function(){return this.match(C.eof)||this.match(C.braceR)||D.test(this.input.slice(this.state.lastTokEnd,this.state.start))},W.isLineTerminator=function(){return this.eat(C.semi)||this.canInsertSemicolon()},W.semicolon=function(){this.isLineTerminator()||this.unexpected(null,C.semi)},W.expect=function(e,t){return this.eat(e)||this.unexpected(t,e)},W.unexpected=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"Unexpected token\";t&&\"object\"===(void 0===t?\"undefined\":y(t))&&t.label&&(t=\"Unexpected token, expected \"+t.label),this.raise(null!=e?e:this.state.start,t)};var Y=U.prototype;Y.parseTopLevel=function(e,t){return t.sourceType=this.options.sourceType,this.parseBlockBody(t,!0,!0,C.eof),e.program=this.finishNode(t,\"Program\"),e.comments=this.state.comments,e.tokens=this.state.tokens,this.finishNode(e,\"File\")};var X={kind:\"loop\"},H={kind:\"switch\"};Y.stmtToDirective=function(e){var t=e.expression,n=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),o=n.value=i.slice(1,-1);return this.addExtra(n,\"raw\",i),this.addExtra(n,\"rawValue\",o),r.value=this.finishNodeAt(n,\"DirectiveLiteral\",t.end,t.loc.end),this.finishNodeAt(r,\"Directive\",e.end,e.loc.end)},Y.parseStatement=function(e,t){this.match(C.at)&&this.parseDecorators(!0);var n=this.state.type,r=this.startNode();switch(n){case C._break:case C._continue:return this.parseBreakContinueStatement(r,n.keyword);case C._debugger:return this.parseDebuggerStatement(r);case C._do:return this.parseDoStatement(r);case C._for:return this.parseForStatement(r);case C._function:return e||this.unexpected(),this.parseFunctionStatement(r);case C._class:return e||this.unexpected(),this.parseClass(r,!0);case C._if:return this.parseIfStatement(r);case C._return:return this.parseReturnStatement(r);case C._switch:return this.parseSwitchStatement(r);case C._throw:return this.parseThrowStatement(r);case C._try:return this.parseTryStatement(r);case C._let:case C._const:e||this.unexpected();case C._var:return this.parseVarStatement(r,n);case C._while:return this.parseWhileStatement(r);case C._with:return this.parseWithStatement(r);case C.braceL:return this.parseBlock();case C.semi:return this.parseEmptyStatement(r);case C._export:case C._import:if(this.hasPlugin(\"dynamicImport\")&&this.lookahead().type===C.parenL)break;return this.options.allowImportExportEverywhere||(t||this.raise(this.state.start,\"'import' and 'export' may only appear at the top level\"),this.inModule||this.raise(this.state.start,\"'import' and 'export' may appear only with 'sourceType: \\\"module\\\"'\")),n===C._import?this.parseImport(r):this.parseExport(r);case C.name:if(\"async\"===this.state.value){var i=this.state.clone();if(this.next(),this.match(C._function)&&!this.canInsertSemicolon())return this.expect(C._function),this.parseFunction(r,!0,!1,!0);this.state=i}}var o=this.state.value,a=this.parseExpression();return n===C.name&&\"Identifier\"===a.type&&this.eat(C.colon)?this.parseLabeledStatement(r,o,a):this.parseExpressionStatement(r,a)},Y.takeDecorators=function(e){this.state.decorators.length&&(e.decorators=this.state.decorators,this.state.decorators=[])},Y.parseDecorators=function(e){for(;this.match(C.at);){var t=this.parseDecorator();this.state.decorators.push(t)}e&&this.match(C._export)||this.match(C._class)||this.raise(this.state.start,\"Leading decorators must be attached to a class declaration\")},Y.parseDecorator=function(){this.hasPlugin(\"decorators\")||this.unexpected();var e=this.startNode();return this.next(),e.expression=this.parseMaybeAssign(),this.finishNode(e,\"Decorator\")},Y.parseBreakContinueStatement=function(e,t){var n=\"break\"===t;this.next(),this.isLineTerminator()?e.label=null:this.match(C.name)?(e.label=this.parseIdentifier(),this.semicolon()):this.unexpected();var r=void 0;for(r=0;r<this.state.labels.length;++r){var i=this.state.labels[r];if(null==e.label||i.name===e.label.name){if(null!=i.kind&&(n||\"loop\"===i.kind))break;if(e.label&&n)break}}return r===this.state.labels.length&&this.raise(e.start,\"Unsyntactic \"+t),this.finishNode(e,n?\"BreakStatement\":\"ContinueStatement\")},Y.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,\"DebuggerStatement\")},Y.parseDoStatement=function(e){return this.next(),this.state.labels.push(X),e.body=this.parseStatement(!1),this.state.labels.pop(),this.expect(C._while),e.test=this.parseParenExpression(),this.eat(C.semi),this.finishNode(e,\"DoWhileStatement\")},Y.parseForStatement=function(e){this.next(),this.state.labels.push(X);var t=!1;if(this.hasPlugin(\"asyncGenerators\")&&this.state.inAsync&&this.isContextual(\"await\")&&(t=!0,this.next()),this.expect(C.parenL),this.match(C.semi))return t&&this.unexpected(),this.parseFor(e,null);if(this.match(C._var)||this.match(C._let)||this.match(C._const)){var n=this.startNode(),r=this.state.type;return this.next(),this.parseVar(n,!0,r),this.finishNode(n,\"VariableDeclaration\"),!this.match(C._in)&&!this.isContextual(\"of\")||1!==n.declarations.length||n.declarations[0].init?(t&&this.unexpected(),this.parseFor(e,n)):this.parseForIn(e,n,t)}var i={start:0},o=this.parseExpression(!0,i);if(this.match(C._in)||this.isContextual(\"of\")){var a=this.isContextual(\"of\")?\"for-of statement\":\"for-in statement\";return this.toAssignable(o,void 0,a),this.checkLVal(o,void 0,void 0,a),this.parseForIn(e,o,t)}return i.start&&this.unexpected(i.start),t&&this.unexpected(),this.parseFor(e,o)},Y.parseFunctionStatement=function(e){return this.next(),this.parseFunction(e,!0)},Y.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!1),e.alternate=this.eat(C._else)?this.parseStatement(!1):null,this.finishNode(e,\"IfStatement\")},Y.parseReturnStatement=function(e){return this.state.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.state.start,\"'return' outside of function\"),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,\"ReturnStatement\")},Y.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(C.braceL),this.state.labels.push(H);for(var t,n=void 0;!this.match(C.braceR);)if(this.match(C._case)||this.match(C._default)){var r=this.match(C._case);n&&this.finishNode(n,\"SwitchCase\"),e.cases.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(t&&this.raise(this.state.lastTokStart,\"Multiple default clauses\"),t=!0,n.test=null),this.expect(C.colon)}else n?n.consequent.push(this.parseStatement(!0)):this.unexpected();return n&&this.finishNode(n,\"SwitchCase\"),this.next(),this.state.labels.pop(),this.finishNode(e,\"SwitchStatement\")},Y.parseThrowStatement=function(e){return this.next(),D.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,\"Illegal newline after throw\"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,\"ThrowStatement\")};var G=[];Y.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(C._catch)){var t=this.startNode();this.next(),this.expect(C.parenL),t.param=this.parseBindingAtom(),this.checkLVal(t.param,!0,Object.create(null),\"catch clause\"),this.expect(C.parenR),t.body=this.parseBlock(),e.handler=this.finishNode(t,\"CatchClause\")}return e.guardedHandlers=G,e.finalizer=this.eat(C._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,\"Missing catch or finally clause\"),this.finishNode(e,\"TryStatement\")},Y.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,\"VariableDeclaration\")},Y.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.state.labels.push(X),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,\"WhileStatement\")},Y.parseWithStatement=function(e){return this.state.strict&&this.raise(this.state.start,\"'with' in strict mode\"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,\"WithStatement\")},Y.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,\"EmptyStatement\")},Y.parseLabeledStatement=function(e,t,n){var r=this.state.labels,i=Array.isArray(r),o=0;for(r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}a.name===t&&this.raise(n.start,\"Label '\"+t+\"' is already declared\")}for(var s=this.state.type.isLoop?\"loop\":this.match(C._switch)?\"switch\":null,u=this.state.labels.length-1;u>=0;u--){var l=this.state.labels[u];if(l.statementStart!==e.start)break;l.statementStart=this.state.start,l.kind=s}return this.state.labels.push({name:t,kind:s,statementStart:this.state.start}),e.body=this.parseStatement(!0),this.state.labels.pop(),e.label=n,this.finishNode(e,\"LabeledStatement\")},Y.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,\"ExpressionStatement\")},Y.parseBlock=function(e){var t=this.startNode();return this.expect(C.braceL),this.parseBlockBody(t,e,!1,C.braceR),this.finishNode(t,\"BlockStatement\")},Y.isValidDirective=function(e){return\"ExpressionStatement\"===e.type&&\"StringLiteral\"===e.expression.type&&!e.expression.extra.parenthesized},Y.parseBlockBody=function(e,t,n,r){e.body=[],e.directives=[];for(var i=!1,o=void 0,a=void 0;!this.eat(r);){i||!this.state.containsOctal||a||(a=this.state.octalPosition);var s=this.parseStatement(!0,n);if(t&&!i&&this.isValidDirective(s)){var u=this.stmtToDirective(s);e.directives.push(u),void 0===o&&\"use strict\"===u.value.value&&(o=this.state.strict,this.setStrict(!0),a&&this.raise(a,\"Octal literal in strict mode\"))}else i=!0,e.body.push(s)}!1===o&&this.setStrict(!1)},Y.parseFor=function(e,t){return e.init=t,this.expect(C.semi),e.test=this.match(C.semi)?null:this.parseExpression(),this.expect(C.semi),e.update=this.match(C.parenR)?null:this.parseExpression(),this.expect(C.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,\"ForStatement\")},Y.parseForIn=function(e,t,n){var r=void 0;return n?(this.eatContextual(\"of\"),r=\"ForAwaitStatement\"):(r=this.match(C._in)?\"ForInStatement\":\"ForOfStatement\",this.next()),e.left=t,e.right=this.parseExpression(),this.expect(C.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,r)},Y.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n.keyword;;){var r=this.startNode();if(this.parseVarHead(r),this.eat(C.eq)?r.init=this.parseMaybeAssign(t):n!==C._const||this.match(C._in)||this.isContextual(\"of\")?\"Identifier\"===r.id.type||t&&(this.match(C._in)||this.isContextual(\"of\"))?r.init=null:this.raise(this.state.lastTokEnd,\"Complex binding patterns require an initialization value\"):this.unexpected(),e.declarations.push(this.finishNode(r,\"VariableDeclarator\")),!this.eat(C.comma))break}return e},Y.parseVarHead=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0,void 0,\"variable declaration\")},Y.parseFunction=function(e,t,n,r,i){var o=this.state.inMethod;return this.state.inMethod=!1,this.initFunction(e,r),this.match(C.star)&&(e.async&&!this.hasPlugin(\"asyncGenerators\")?this.unexpected():(e.generator=!0,this.next())),!t||i||this.match(C.name)||this.match(C._yield)||this.unexpected(),(this.match(C.name)||this.match(C._yield))&&(e.id=this.parseBindingIdentifier()),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.state.inMethod=o,this.finishNode(e,t?\"FunctionDeclaration\":\"FunctionExpression\")},Y.parseFunctionParams=function(e){this.expect(C.parenL),e.params=this.parseBindingList(C.parenR)},Y.parseClass=function(e,t,n){return this.next(),this.takeDecorators(e),this.parseClassId(e,t,n),this.parseClassSuper(e),this.parseClassBody(e),this.finishNode(e,t?\"ClassDeclaration\":\"ClassExpression\")},Y.isClassProperty=function(){return this.match(C.eq)||this.match(C.semi)||this.match(C.braceR)},Y.isClassMethod=function(){return this.match(C.parenL)},Y.isNonstaticConstructor=function(e){return!(e.computed||e.static||\"constructor\"!==e.key.name&&\"constructor\"!==e.key.value)},Y.parseClassBody=function(e){var t=this.state.strict;this.state.strict=!0;var n=!1,r=!1,i=[],o=this.startNode();for(o.body=[],this.expect(C.braceL);!this.eat(C.braceR);)if(this.eat(C.semi))i.length>0&&this.raise(this.state.lastTokEnd,\"Decorators must not be followed by a semicolon\");else if(this.match(C.at))i.push(this.parseDecorator());else{var a=this.startNode();if(i.length&&(a.decorators=i,i=[]),a.static=!1,this.match(C.name)&&\"static\"===this.state.value){var s=this.parseIdentifier(!0);if(this.isClassMethod()){a.kind=\"method\",a.computed=!1,a.key=s,this.parseClassMethod(o,a,!1,!1);continue}if(this.isClassProperty()){a.computed=!1,a.key=s,o.body.push(this.parseClassProperty(a));continue}a.static=!0}if(this.eat(C.star))a.kind=\"method\",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,\"Constructor can't be a generator\"),a.computed||!a.static||\"prototype\"!==a.key.name&&\"prototype\"!==a.key.value||this.raise(a.key.start,\"Classes may not have static property named prototype\"),this.parseClassMethod(o,a,!0,!1);else{var u=this.match(C.name),l=this.parsePropertyName(a);if(a.computed||!a.static||\"prototype\"!==a.key.name&&\"prototype\"!==a.key.value||this.raise(a.key.start,\"Classes may not have static property named prototype\"),this.isClassMethod())this.isNonstaticConstructor(a)?(r?this.raise(l.start,\"Duplicate constructor in the same class\"):a.decorators&&this.raise(a.start,\"You can't attach decorators to a class constructor\"),r=!0,a.kind=\"constructor\"):a.kind=\"method\",this.parseClassMethod(o,a,!1,!1);else if(this.isClassProperty())this.isNonstaticConstructor(a)&&this.raise(a.key.start,\"Classes may not have a non-static field named 'constructor'\"),o.body.push(this.parseClassProperty(a));else if(u&&\"async\"===l.name&&!this.isLineTerminator()){var c=this.hasPlugin(\"asyncGenerators\")&&this.eat(C.star);a.kind=\"method\",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,\"Constructor can't be an async function\"),this.parseClassMethod(o,a,c,!0)}else!u||\"get\"!==l.name&&\"set\"!==l.name||this.isLineTerminator()&&this.match(C.star)?this.hasPlugin(\"classConstructorCall\")&&u&&\"call\"===l.name&&this.match(C.name)&&\"constructor\"===this.state.value?(n?this.raise(a.start,\"Duplicate constructor call in the same class\"):a.decorators&&this.raise(a.start,\"You can't attach decorators to a class constructor\"),n=!0,a.kind=\"constructorCall\",this.parsePropertyName(a),this.parseClassMethod(o,a,!1,!1)):this.isLineTerminator()?(this.isNonstaticConstructor(a)&&this.raise(a.key.start,\"Classes may not have a non-static field named 'constructor'\"),o.body.push(this.parseClassProperty(a))):this.unexpected():(a.kind=l.name,this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,\"Constructor can't have get/set modifier\"),this.parseClassMethod(o,a,!1,!1),this.checkGetterSetterParamCount(a))}}i.length&&this.raise(this.state.start,\"You have trailing decorators with no method\"),e.body=this.finishNode(o,\"ClassBody\"),this.state.strict=t},Y.parseClassProperty=function(e){return this.state.inClassProperty=!0,this.match(C.eq)?(this.hasPlugin(\"classProperties\")||this.unexpected(),this.next(),e.value=this.parseMaybeAssign()):e.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(e,\"ClassProperty\")},Y.parseClassMethod=function(e,t,n,r){this.parseMethod(t,n,r),e.body.push(this.finishNode(t,\"ClassMethod\"))},Y.parseClassId=function(e,t,n){this.match(C.name)?e.id=this.parseIdentifier():n||!t?e.id=null:this.unexpected()},Y.parseClassSuper=function(e){e.superClass=this.eat(C._extends)?this.parseExprSubscripts():null},Y.parseExport=function(e){if(this.next(),this.match(C.star)){var t=this.startNode();if(this.next(),!this.hasPlugin(\"exportExtensions\")||!this.eatContextual(\"as\"))return this.parseExportFrom(e,!0),this.finishNode(e,\"ExportAllDeclaration\");t.exported=this.parseIdentifier(),e.specifiers=[this.finishNode(t,\"ExportNamespaceSpecifier\")],this.parseExportSpecifiersMaybe(e),this.parseExportFrom(e,!0)}else if(this.hasPlugin(\"exportExtensions\")&&this.isExportDefaultSpecifier()){var n=this.startNode();if(n.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(n,\"ExportDefaultSpecifier\")],this.match(C.comma)&&this.lookahead().type===C.star){this.expect(C.comma);var r=this.startNode();this.expect(C.star),this.expectContextual(\"as\"),r.exported=this.parseIdentifier(),e.specifiers.push(this.finishNode(r,\"ExportNamespaceSpecifier\"))}else this.parseExportSpecifiersMaybe(e);this.parseExportFrom(e,!0)}else{if(this.eat(C._default)){var i=this.startNode(),o=!1;return this.eat(C._function)?i=this.parseFunction(i,!0,!1,!1,!0):this.match(C._class)?i=this.parseClass(i,!0,!0):(o=!0,i=this.parseMaybeAssign()),e.declaration=i,o&&this.semicolon(),this.checkExport(e,!0,!0),this.finishNode(e,\"ExportDefaultDeclaration\")}this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e)):(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e))}return this.checkExport(e,!0),this.finishNode(e,\"ExportNamedDeclaration\")},Y.parseExportDeclaration=function(){return this.parseStatement(!0)},Y.isExportDefaultSpecifier=function(){if(this.match(C.name))return\"async\"!==this.state.value;if(!this.match(C._default))return!1;var e=this.lookahead();return e.type===C.comma||e.type===C.name&&\"from\"===e.value},Y.parseExportSpecifiersMaybe=function(e){this.eat(C.comma)&&(e.specifiers=e.specifiers.concat(this.parseExportSpecifiers()))},Y.parseExportFrom=function(e,t){this.eatContextual(\"from\")?(e.source=this.match(C.string)?this.parseExprAtom():this.unexpected(),this.checkExport(e)):t?this.unexpected():e.source=null,this.semicolon()},Y.shouldParseExportDeclaration=function(){return\"var\"===this.state.type.keyword||\"const\"===this.state.type.keyword||\"let\"===this.state.type.keyword||\"function\"===this.state.type.keyword||\"class\"===this.state.type.keyword||this.isContextual(\"async\")},Y.checkExport=function(e,t,n){if(t)if(n)this.checkDuplicateExports(e,\"default\");else if(e.specifiers&&e.specifiers.length){var r=e.specifiers,i=Array.isArray(r),o=0;for(r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}var s=a;this.checkDuplicateExports(s,s.exported.name)}}else if(e.declaration)if(\"FunctionDeclaration\"===e.declaration.type||\"ClassDeclaration\"===e.declaration.type)this.checkDuplicateExports(e,e.declaration.id.name);else if(\"VariableDeclaration\"===e.declaration.type){var u=e.declaration.declarations,l=Array.isArray(u),c=0;for(u=l?u:u[Symbol.iterator]();;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;this.checkDeclaration(p.id)}}if(this.state.decorators.length){var d=e.declaration&&(\"ClassDeclaration\"===e.declaration.type||\"ClassExpression\"===e.declaration.type);e.declaration&&d||this.raise(e.start,\"You can only use decorators on an export when exporting a class\"),this.takeDecorators(e.declaration)}},Y.checkDeclaration=function(e){if(\"ObjectPattern\"===e.type){var t=e.properties,n=Array.isArray(t),r=0;for(t=n?t:t[Symbol.iterator]();;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if((r=t.next()).done)break;i=r.value}var o=i;this.checkDeclaration(o)}}else if(\"ArrayPattern\"===e.type){var a=e.elements,s=Array.isArray(a),u=0;for(a=s?a:a[Symbol.iterator]();;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;c&&this.checkDeclaration(c)}}else\"ObjectProperty\"===e.type?this.checkDeclaration(e.value):\"RestElement\"===e.type||\"RestProperty\"===e.type?this.checkDeclaration(e.argument):\"Identifier\"===e.type&&this.checkDuplicateExports(e,e.name)},Y.checkDuplicateExports=function(e,t){this.state.exportedIdentifiers.indexOf(t)>-1&&this.raiseDuplicateExportError(e,t),this.state.exportedIdentifiers.push(t)},Y.raiseDuplicateExportError=function(e,t){this.raise(e.start,\"default\"===t?\"Only one default export allowed per module.\":\"`\"+t+\"` has already been exported. Exported identifiers must be unique.\")},Y.parseExportSpecifiers=function(){var e=[],t=!0,n=void 0;for(this.expect(C.braceL);!this.eat(C.braceR);){if(t)t=!1;else if(this.expect(C.comma),this.eat(C.braceR))break;var r=this.match(C._default);r&&!n&&(n=!0);var i=this.startNode();i.local=this.parseIdentifier(r),i.exported=this.eatContextual(\"as\")?this.parseIdentifier(!0):i.local.__clone(),e.push(this.finishNode(i,\"ExportSpecifier\"))}return n&&!this.isContextual(\"from\")&&this.unexpected(),e},Y.parseImport=function(e){return this.eat(C._import),this.match(C.string)?(e.specifiers=[],e.source=this.parseExprAtom()):(e.specifiers=[],this.parseImportSpecifiers(e),this.expectContextual(\"from\"),e.source=this.match(C.string)?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,\"ImportDeclaration\")},Y.parseImportSpecifiers=function(e){var t=!0;if(this.match(C.name)){var n=this.state.start,r=this.state.startLoc;if(e.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(),n,r)),!this.eat(C.comma))return}if(this.match(C.star)){var i=this.startNode();return this.next(),this.expectContextual(\"as\"),i.local=this.parseIdentifier(),this.checkLVal(i.local,!0,void 0,\"import namespace specifier\"),void e.specifiers.push(this.finishNode(i,\"ImportNamespaceSpecifier\"))}for(this.expect(C.braceL);!this.eat(C.braceR);){if(t)t=!1;else if(this.eat(C.colon)&&this.unexpected(null,\"ES2015 named imports do not destructure. Use another statement for destructuring after the import.\"),this.expect(C.comma),this.eat(C.braceR))break;this.parseImportSpecifier(e)}},Y.parseImportSpecifier=function(e){var t=this.startNode();t.imported=this.parseIdentifier(!0),this.eatContextual(\"as\")?t.local=this.parseIdentifier():(this.checkReservedWord(t.imported.name,t.start,!0,!0),t.local=t.imported.__clone()),this.checkLVal(t.local,!0,void 0,\"import specifier\"),e.specifiers.push(this.finishNode(t,\"ImportSpecifier\"))},Y.parseImportSpecifierDefault=function(e,t,n){var r=this.startNodeAt(t,n);return r.local=e,this.checkLVal(r.local,!0,void 0,\"default import specifier\"),this.finishNode(r,\"ImportDefaultSpecifier\")};var $=U.prototype;$.toAssignable=function(e,t,n){if(e)switch(e.type){case\"Identifier\":case\"ObjectPattern\":case\"ArrayPattern\":case\"AssignmentPattern\":break;case\"ObjectExpression\":e.type=\"ObjectPattern\";var r=e.properties,i=Array.isArray(r),o=0;for(r=i?r:r[Symbol.iterator]();;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}var s=a;\"ObjectMethod\"===s.type?\"get\"===s.kind||\"set\"===s.kind?this.raise(s.key.start,\"Object pattern can't contain getter or setter\"):this.raise(s.key.start,\"Object pattern can't contain methods\"):this.toAssignable(s,t,\"object destructuring pattern\")}break;case\"ObjectProperty\":this.toAssignable(e.value,t,n);break;case\"SpreadProperty\":e.type=\"RestProperty\";var u=e.argument;this.toAssignable(u,t,n);break;case\"ArrayExpression\":e.type=\"ArrayPattern\",this.toAssignableList(e.elements,t,n);break;case\"AssignmentExpression\":\"=\"===e.operator?(e.type=\"AssignmentPattern\",delete e.operator):this.raise(e.left.end,\"Only '=' operator can be used for specifying default value.\");break;case\"MemberExpression\":if(!t)break;default:var l=\"Invalid left-hand side\"+(n?\" in \"+n:\"expression\");this.raise(e.start,l)}return e},$.toAssignableList=function(e,t,n){var r=e.length;if(r){var i=e[r-1];if(i&&\"RestElement\"===i.type)--r;else if(i&&\"SpreadElement\"===i.type){i.type=\"RestElement\";var o=i.argument;this.toAssignable(o,t,n),\"Identifier\"!==o.type&&\"MemberExpression\"!==o.type&&\"ArrayPattern\"!==o.type&&this.unexpected(o.start),--r}}for(var a=0;a<r;a++){var s=e[a];s&&this.toAssignable(s,t,n)}return e},$.toReferencedList=function(e){return e},$.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,\"SpreadElement\")},$.parseRest=function(){var e=this.startNode();return this.next(),e.argument=this.parseBindingIdentifier(),this.finishNode(e,\"RestElement\")},$.shouldAllowYieldIdentifier=function(){return this.match(C._yield)&&!this.state.strict&&!this.state.inGenerator},$.parseBindingIdentifier=function(){return this.parseIdentifier(this.shouldAllowYieldIdentifier())},$.parseBindingAtom=function(){switch(this.state.type){case C._yield:(this.state.strict||this.state.inGenerator)&&this.unexpected();case C.name:return this.parseIdentifier(!0);case C.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(C.bracketR,!0),this.finishNode(e,\"ArrayPattern\");case C.braceL:return this.parseObj(!0);default:this.unexpected()}},$.parseBindingList=function(e,t){for(var n=[],r=!0;!this.eat(e);)if(r?r=!1:this.expect(C.comma),t&&this.match(C.comma))n.push(null);else{if(this.eat(e))break;if(this.match(C.ellipsis)){n.push(this.parseAssignableListItemTypes(this.parseRest())),this.expect(e);break}for(var i=[];this.match(C.at);)i.push(this.parseDecorator());var o=this.parseMaybeDefault();i.length&&(o.decorators=i),this.parseAssignableListItemTypes(o),n.push(this.parseMaybeDefault(o.start,o.loc.start,o))}return n},$.parseAssignableListItemTypes=function(e){return e},$.parseMaybeDefault=function(e,t,n){if(t=t||this.state.startLoc,e=e||this.state.start,n=n||this.parseBindingAtom(),!this.eat(C.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,\"AssignmentPattern\")},$.checkLVal=function(e,t,n,r){switch(e.type){case\"Identifier\":if(this.checkReservedWord(e.name,e.start,!1,!0),n){var i=\"_\"+e.name;n[i]?this.raise(e.start,\"Argument name clash in strict mode\"):n[i]=!0}break;case\"MemberExpression\":t&&this.raise(e.start,(t?\"Binding\":\"Assigning to\")+\" member expression\");break;case\"ObjectPattern\":var o=e.properties,a=Array.isArray(o),s=0;for(o=a?o:o[Symbol.iterator]();;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if((s=o.next()).done)break;u=s.value}var l=u;\"ObjectProperty\"===l.type&&(l=l.value),this.checkLVal(l,t,n,\"object destructuring pattern\")}break;case\"ArrayPattern\":var c=e.elements,f=Array.isArray(c),p=0;for(c=f?c:c[Symbol.iterator]();;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}var h=d;h&&this.checkLVal(h,t,n,\"array destructuring pattern\")}break;case\"AssignmentPattern\":this.checkLVal(e.left,t,n,\"assignment pattern\");break;case\"RestProperty\":this.checkLVal(e.argument,t,n,\"rest property\");break;case\"RestElement\":this.checkLVal(e.argument,t,n,\"rest element\");break;default:var m=(t?\"Binding invalid\":\"Invalid\")+\" left-hand side\"+(r?\" in \"+r:\"expression\");this.raise(e.start,m)}};var K=U.prototype;K.checkPropClash=function(e,t){if(!e.computed&&!e.kind){var n=e.key;\"__proto__\"===(\"Identifier\"===n.type?n.name:String(n.value))&&(t.proto&&this.raise(n.start,\"Redefinition of __proto__ property\"),t.proto=!0)}},K.getExpression=function(){this.nextToken();var e=this.parseExpression();return this.match(C.eof)||this.unexpected(),e},K.parseExpression=function(e,t){var n=this.state.start,r=this.state.startLoc,i=this.parseMaybeAssign(e,t);if(this.match(C.comma)){var o=this.startNodeAt(n,r);for(o.expressions=[i];this.eat(C.comma);)o.expressions.push(this.parseMaybeAssign(e,t));return this.toReferencedList(o.expressions),this.finishNode(o,\"SequenceExpression\")}return i},K.parseMaybeAssign=function(e,t,n,r){var i=this.state.start,o=this.state.startLoc;if(this.match(C._yield)&&this.state.inGenerator){var a=this.parseYield();return n&&(a=n.call(this,a,i,o)),a}var s=void 0;t?s=!1:(t={start:0},s=!0),(this.match(C.parenL)||this.match(C.name))&&(this.state.potentialArrowAt=this.state.start);var u=this.parseMaybeConditional(e,t,r);if(n&&(u=n.call(this,u,i,o)),this.state.type.isAssign){var l=this.startNodeAt(i,o);if(l.operator=this.state.value,l.left=this.match(C.eq)?this.toAssignable(u,void 0,\"assignment expression\"):u,t.start=0,this.checkLVal(u,void 0,void 0,\"assignment expression\"),u.extra&&u.extra.parenthesized){var c=void 0;\"ObjectPattern\"===u.type?c=\"`({a}) = 0` use `({a} = 0)`\":\"ArrayPattern\"===u.type&&(c=\"`([a]) = 0` use `([a] = 0)`\"),c&&this.raise(u.start,\"You're trying to assign to a parenthesized expression, eg. instead of \"+c)}return this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,\"AssignmentExpression\")}return s&&t.start&&this.unexpected(t.start),u},K.parseMaybeConditional=function(e,t,n){var r=this.state.start,i=this.state.startLoc,o=this.parseExprOps(e,t);return t&&t.start?o:this.parseConditional(o,e,r,i,n)},K.parseConditional=function(e,t,n,r){if(this.eat(C.question)){var i=this.startNodeAt(n,r);return i.test=e,i.consequent=this.parseMaybeAssign(),this.expect(C.colon),i.alternate=this.parseMaybeAssign(t),this.finishNode(i,\"ConditionalExpression\")}return e},K.parseExprOps=function(e,t){var n=this.state.start,r=this.state.startLoc,i=this.parseMaybeUnary(t);return t&&t.start?i:this.parseExprOp(i,n,r,-1,e)},K.parseExprOp=function(e,t,n,r,i){var o=this.state.type.binop;if(!(null==o||i&&this.match(C._in))&&o>r){var a=this.startNodeAt(t,n);a.left=e,a.operator=this.state.value,\"**\"!==a.operator||\"UnaryExpression\"!==e.type||!e.extra||e.extra.parenthesizedArgument||e.extra.parenthesized||this.raise(e.argument.start,\"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.\");var s=this.state.type;this.next();var u=this.state.start,l=this.state.startLoc;return a.right=this.parseExprOp(this.parseMaybeUnary(),u,l,s.rightAssociative?o-1:o,i),this.finishNode(a,s===C.logicalOR||s===C.logicalAND?\"LogicalExpression\":\"BinaryExpression\"),this.parseExprOp(a,t,n,r,i)}return e},K.parseMaybeUnary=function(e){if(this.state.type.prefix){var t=this.startNode(),n=this.match(C.incDec);t.operator=this.state.value,t.prefix=!0,this.next();var r=this.state.type;return t.argument=this.parseMaybeUnary(),this.addExtra(t,\"parenthesizedArgument\",!(r!==C.parenL||t.argument.extra&&t.argument.extra.parenthesized)),e&&e.start&&this.unexpected(e.start),n?this.checkLVal(t.argument,void 0,void 0,\"prefix operation\"):this.state.strict&&\"delete\"===t.operator&&\"Identifier\"===t.argument.type&&this.raise(t.start,\"Deleting local variable in strict mode\"),this.finishNode(t,n?\"UpdateExpression\":\"UnaryExpression\")}var i=this.state.start,o=this.state.startLoc,a=this.parseExprSubscripts(e);if(e&&e.start)return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){var s=this.startNodeAt(i,o);s.operator=this.state.value,s.prefix=!1,s.argument=a,this.checkLVal(a,void 0,void 0,\"postfix operation\"),this.next(),a=this.finishNode(s,\"UpdateExpression\")}return a},K.parseExprSubscripts=function(e){var t=this.state.start,n=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(e);return\"ArrowFunctionExpression\"===i.type&&i.start===r||e&&e.start?i:this.parseSubscripts(i,t,n)},K.parseSubscripts=function(e,t,n,r){for(;;){if(!r&&this.eat(C.doubleColon)){var i=this.startNodeAt(t,n);return i.object=e,i.callee=this.parseNoCallExpr(),this.parseSubscripts(this.finishNode(i,\"BindExpression\"),t,n,r)}if(this.eat(C.dot)){var o=this.startNodeAt(t,n);o.object=e,o.property=this.parseIdentifier(!0),o.computed=!1,e=this.finishNode(o,\"MemberExpression\")}else if(this.eat(C.bracketL)){var a=this.startNodeAt(t,n);a.object=e,a.property=this.parseExpression(),a.computed=!0,this.expect(C.bracketR),e=this.finishNode(a,\"MemberExpression\")}else if(!r&&this.match(C.parenL)){var s=this.state.potentialArrowAt===e.start&&\"Identifier\"===e.type&&\"async\"===e.name&&!this.canInsertSemicolon();this.next();var u=this.startNodeAt(t,n);if(u.callee=e,u.arguments=this.parseCallExpressionArguments(C.parenR,s),\"Import\"===u.callee.type&&1!==u.arguments.length&&this.raise(u.start,\"import() requires exactly one argument\"),e=this.finishNode(u,\"CallExpression\"),s&&this.shouldParseAsyncArrow())return this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,n),u);this.toReferencedList(u.arguments)}else{if(!this.match(C.backQuote))return e;var l=this.startNodeAt(t,n);l.tag=e,l.quasi=this.parseTemplate(!0),e=this.finishNode(l,\"TaggedTemplateExpression\")}}},K.parseCallExpressionArguments=function(e,t){for(var n=[],r=void 0,i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(C.comma),this.eat(e))break;this.match(C.parenL)&&!r&&(r=this.state.start),n.push(this.parseExprListItem(!1,t?{start:0}:void 0,t?{start:0}:void 0))}return t&&r&&this.shouldParseAsyncArrow()&&this.unexpected(),n},K.shouldParseAsyncArrow=function(){return this.match(C.arrow)},K.parseAsyncArrowFromCallExpression=function(e,t){return this.expect(C.arrow),this.parseArrowExpression(e,t.arguments,!0)},K.parseNoCallExpr=function(){var e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)},K.parseExprAtom=function(e){var t=this.state.potentialArrowAt===this.state.start,n=void 0;switch(this.state.type){case C._super:return this.state.inMethod||this.state.inClassProperty||this.options.allowSuperOutsideMethod||this.raise(this.state.start,\"'super' outside of function or class\"),n=this.startNode(),this.next(),this.match(C.parenL)||this.match(C.bracketL)||this.match(C.dot)||this.unexpected(),this.match(C.parenL)&&\"constructor\"!==this.state.inMethod&&!this.options.allowSuperOutsideMethod&&this.raise(n.start,\"super() outside of class constructor\"),this.finishNode(n,\"Super\");case C._import:return this.hasPlugin(\"dynamicImport\")||this.unexpected(),n=this.startNode(),this.next(),this.match(C.parenL)||this.unexpected(null,C.parenL),this.finishNode(n,\"Import\");case C._this:return n=this.startNode(),this.next(),this.finishNode(n,\"ThisExpression\");case C._yield:this.state.inGenerator&&this.unexpected();case C.name:n=this.startNode();var r=\"await\"===this.state.value&&this.state.inAsync,i=this.shouldAllowYieldIdentifier(),o=this.parseIdentifier(r||i);if(\"await\"===o.name){if(this.state.inAsync||this.inModule)return this.parseAwait(n)}else{if(\"async\"===o.name&&this.match(C._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(n,!1,!1,!0);if(t&&\"async\"===o.name&&this.match(C.name)){var a=[this.parseIdentifier()];return this.expect(C.arrow),this.parseArrowExpression(n,a,!0)}}return t&&!this.canInsertSemicolon()&&this.eat(C.arrow)?this.parseArrowExpression(n,[o]):o;case C._do:if(this.hasPlugin(\"doExpressions\")){var s=this.startNode();this.next();var u=this.state.inFunction,l=this.state.labels;return this.state.labels=[],this.state.inFunction=!1,s.body=this.parseBlock(!1,!0),this.state.inFunction=u,this.state.labels=l,this.finishNode(s,\"DoExpression\")}case C.regexp:var c=this.state.value;return(n=this.parseLiteral(c.value,\"RegExpLiteral\")).pattern=c.pattern,n.flags=c.flags,n;case C.num:return this.parseLiteral(this.state.value,\"NumericLiteral\");case C.string:return this.parseLiteral(this.state.value,\"StringLiteral\");case C._null:return n=this.startNode(),this.next(),this.finishNode(n,\"NullLiteral\");case C._true:case C._false:return(n=this.startNode()).value=this.match(C._true),this.next(),this.finishNode(n,\"BooleanLiteral\");case C.parenL:return this.parseParenAndDistinguishExpression(null,null,t);case C.bracketL:return n=this.startNode(),this.next(),n.elements=this.parseExprList(C.bracketR,!0,e),this.toReferencedList(n.elements),this.finishNode(n,\"ArrayExpression\");case C.braceL:return this.parseObj(!1,e);case C._function:return this.parseFunctionExpression();case C.at:this.parseDecorators();case C._class:return n=this.startNode(),this.takeDecorators(n),this.parseClass(n,!1);case C._new:return this.parseNew();case C.backQuote:return this.parseTemplate(!1);case C.doubleColon:n=this.startNode(),this.next(),n.object=null;var f=n.callee=this.parseNoCallExpr();if(\"MemberExpression\"===f.type)return this.finishNode(n,\"BindExpression\");this.raise(f.start,\"Binding should be performed on object property.\");default:this.unexpected()}},K.parseFunctionExpression=function(){var e=this.startNode(),t=this.parseIdentifier(!0);return this.state.inGenerator&&this.eat(C.dot)&&this.hasPlugin(\"functionSent\")?this.parseMetaProperty(e,t,\"sent\"):this.parseFunction(e,!1)},K.parseMetaProperty=function(e,t,n){return e.meta=t,e.property=this.parseIdentifier(!0),e.property.name!==n&&this.raise(e.property.start,\"The only valid meta property for new is \"+t.name+\".\"+n),this.finishNode(e,\"MetaProperty\")},K.parseLiteral=function(e,t,n,r){n=n||this.state.start,r=r||this.state.startLoc;var i=this.startNodeAt(n,r);return this.addExtra(i,\"rawValue\",e),this.addExtra(i,\"raw\",this.input.slice(n,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)},K.parseParenExpression=function(){this.expect(C.parenL);var e=this.parseExpression();return this.expect(C.parenR),e},K.parseParenAndDistinguishExpression=function(e,t,n){e=e||this.state.start,t=t||this.state.startLoc;var r=void 0;this.expect(C.parenL);for(var i=this.state.start,o=this.state.startLoc,a=[],s={start:0},u={start:0},l=!0,c=void 0,f=void 0;!this.match(C.parenR);){if(l)l=!1;else if(this.expect(C.comma,u.start||null),this.match(C.parenR)){f=this.state.start;break}if(this.match(C.ellipsis)){var p=this.state.start,d=this.state.startLoc;c=this.state.start,a.push(this.parseParenItem(this.parseRest(),p,d));break}a.push(this.parseMaybeAssign(!1,s,this.parseParenItem,u))}var h=this.state.start,m=this.state.startLoc;this.expect(C.parenR);var y=this.startNodeAt(e,t);if(n&&this.shouldParseArrow()&&(y=this.parseArrow(y))){var v=a,g=Array.isArray(v),b=0;for(v=g?v:v[Symbol.iterator]();;){var x;if(g){if(b>=v.length)break;x=v[b++]}else{if((b=v.next()).done)break;x=b.value}var _=x;_.extra&&_.extra.parenthesized&&this.unexpected(_.extra.parenStart)}return this.parseArrowExpression(y,a)}return a.length||this.unexpected(this.state.lastTokStart),f&&this.unexpected(f),c&&this.unexpected(c),s.start&&this.unexpected(s.start),u.start&&this.unexpected(u.start),a.length>1?((r=this.startNodeAt(i,o)).expressions=a,this.toReferencedList(r.expressions),this.finishNodeAt(r,\"SequenceExpression\",h,m)):r=a[0],this.addExtra(r,\"parenthesized\",!0),this.addExtra(r,\"parenStart\",e),r},K.shouldParseArrow=function(){return!this.canInsertSemicolon()},K.parseArrow=function(e){if(this.eat(C.arrow))return e},K.parseParenItem=function(e){return e},K.parseNew=function(){var e=this.startNode(),t=this.parseIdentifier(!0);if(this.eat(C.dot)){var n=this.parseMetaProperty(e,t,\"target\");return this.state.inFunction||this.raise(n.property.start,\"new.target can only be used in functions\"),n}return e.callee=this.parseNoCallExpr(),this.eat(C.parenL)?(e.arguments=this.parseExprList(C.parenR),this.toReferencedList(e.arguments)):e.arguments=[],this.finishNode(e,\"NewExpression\")},K.parseTemplateElement=function(e){var t=this.startNode();return null===this.state.value&&(e&&this.hasPlugin(\"templateInvalidEscapes\")?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition,\"Invalid escape sequence in template\")),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\\r\\n?/g,\"\\n\"),cooked:this.state.value},this.next(),t.tail=this.match(C.backQuote),this.finishNode(t,\"TemplateElement\")},K.parseTemplate=function(e){var t=this.startNode();this.next(),t.expressions=[];var n=this.parseTemplateElement(e);for(t.quasis=[n];!n.tail;)this.expect(C.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(C.braceR),t.quasis.push(n=this.parseTemplateElement(e));return this.next(),this.finishNode(t,\"TemplateLiteral\")},K.parseObj=function(e,t){var n=[],r=Object.create(null),i=!0,o=this.startNode();o.properties=[],this.next();for(var a=null;!this.eat(C.braceR);){if(i)i=!1;else if(this.expect(C.comma),this.eat(C.braceR))break;for(;this.match(C.at);)n.push(this.parseDecorator());var s=this.startNode(),u=!1,l=!1,c=void 0,f=void 0;if(n.length&&(s.decorators=n,n=[]),this.hasPlugin(\"objectRestSpread\")&&this.match(C.ellipsis)){if((s=this.parseSpread(e?{start:0}:void 0)).type=e?\"RestProperty\":\"SpreadProperty\",e&&this.toAssignable(s.argument,!0,\"object pattern\"),o.properties.push(s),!e)continue;var p=this.state.start;if(null===a){if(this.eat(C.braceR))break;if(this.match(C.comma)&&this.lookahead().type===C.braceR)continue;a=p;continue}this.unexpected(a,\"Cannot have multiple rest elements when destructuring\")}if(s.method=!1,s.shorthand=!1,(e||t)&&(c=this.state.start,f=this.state.startLoc),e||(u=this.eat(C.star)),!e&&this.isContextual(\"async\")){u&&this.unexpected();var d=this.parseIdentifier();this.match(C.colon)||this.match(C.parenL)||this.match(C.braceR)||this.match(C.eq)||this.match(C.comma)?(s.key=d,s.computed=!1):(l=!0,this.hasPlugin(\"asyncGenerators\")&&(u=this.eat(C.star)),this.parsePropertyName(s))}else this.parsePropertyName(s);this.parseObjPropValue(s,c,f,u,l,e,t),this.checkPropClash(s,r),s.shorthand&&this.addExtra(s,\"shorthand\",!0),o.properties.push(s)}return null!==a&&this.unexpected(a,\"The rest element has to be the last element when destructuring\"),n.length&&this.raise(this.state.start,\"You have trailing decorators with no property\"),this.finishNode(o,e?\"ObjectPattern\":\"ObjectExpression\")},K.isGetterOrSetterMethod=function(e,t){return!t&&!e.computed&&\"Identifier\"===e.key.type&&(\"get\"===e.key.name||\"set\"===e.key.name)&&(this.match(C.string)||this.match(C.num)||this.match(C.bracketL)||this.match(C.name)||this.state.type.keyword)},K.checkGetterSetterParamCount=function(e){var t=\"get\"===e.kind?0:1;if(e.params.length!==t){var n=e.start;\"get\"===e.kind?this.raise(n,\"getter should have no params\"):this.raise(n,\"setter should have exactly one param\")}},K.parseObjectMethod=function(e,t,n,r){return n||t||this.match(C.parenL)?(r&&this.unexpected(),e.kind=\"method\",e.method=!0,this.parseMethod(e,t,n),this.finishNode(e,\"ObjectMethod\")):this.isGetterOrSetterMethod(e,r)?((t||n)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),this.parseMethod(e),this.checkGetterSetterParamCount(e),this.finishNode(e,\"ObjectMethod\")):void 0},K.parseObjectProperty=function(e,t,n,r,i){return this.eat(C.colon)?(e.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(e,\"ObjectProperty\")):e.computed||\"Identifier\"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!0),r?e.value=this.parseMaybeDefault(t,n,e.key.__clone()):this.match(C.eq)&&i?(i.start||(i.start=this.state.start),e.value=this.parseMaybeDefault(t,n,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,\"ObjectProperty\"))},K.parseObjPropValue=function(e,t,n,r,i,o,a){var s=this.parseObjectMethod(e,r,i,o)||this.parseObjectProperty(e,t,n,o,a);return s||this.unexpected(),s},K.parsePropertyName=function(e){if(this.eat(C.bracketL))e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(C.bracketR);else{e.computed=!1;var t=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(C.num)||this.match(C.string)?this.parseExprAtom():this.parseIdentifier(!0),this.state.inPropertyName=t}return e.key},K.initFunction=function(e,t){e.id=null,e.generator=!1,e.expression=!1,e.async=!!t},K.parseMethod=function(e,t,n){var r=this.state.inMethod;return this.state.inMethod=e.kind||!0,this.initFunction(e,n),this.expect(C.parenL),e.params=this.parseBindingList(C.parenR),e.generator=!!t,this.parseFunctionBody(e),this.state.inMethod=r,e},K.parseArrowExpression=function(e,t,n){return this.initFunction(e,n),e.params=this.toAssignableList(t,!0,\"arrow function parameters\"),this.parseFunctionBody(e,!0),this.finishNode(e,\"ArrowFunctionExpression\")},K.isStrictBody=function(e,t){if(!t&&e.body.directives.length){var n=e.body.directives,r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}if(\"use strict\"===o.value.value)return!0}}return!1},K.parseFunctionBody=function(e,t){var n=t&&!this.match(C.braceL),r=this.state.inAsync;if(this.state.inAsync=e.async,n)e.body=this.parseMaybeAssign(),e.expression=!0;else{var i=this.state.inFunction,o=this.state.inGenerator,a=this.state.labels;this.state.inFunction=!0,this.state.inGenerator=e.generator,this.state.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.state.inFunction=i,this.state.inGenerator=o,this.state.labels=a}this.state.inAsync=r;var s=this.isStrictBody(e,n),u=this.state.strict||t||s;if(s&&e.id&&\"Identifier\"===e.id.type&&\"yield\"===e.id.name&&this.raise(e.id.start,\"Binding yield in strict mode\"),u){var l=Object.create(null),c=this.state.strict;s&&(this.state.strict=!0),e.id&&this.checkLVal(e.id,!0,void 0,\"function name\");var f=e.params,p=Array.isArray(f),d=0;for(f=p?f:f[Symbol.iterator]();;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if((d=f.next()).done)break;h=d.value}var m=h;s&&\"Identifier\"!==m.type&&this.raise(m.start,\"Non-simple parameter in strict mode\"),this.checkLVal(m,!0,l,\"function parameter list\")}this.state.strict=c}},K.parseExprList=function(e,t,n){for(var r=[],i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(C.comma),this.eat(e))break;r.push(this.parseExprListItem(t,n))}return r},K.parseExprListItem=function(e,t,n){return e&&this.match(C.comma)?null:this.match(C.ellipsis)?this.parseSpread(t):this.parseMaybeAssign(!1,t,this.parseParenItem,n)},K.parseIdentifier=function(e){var t=this.startNode();return e||this.checkReservedWord(this.state.value,this.state.start,!!this.state.type.keyword,!1),this.match(C.name)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),!e&&\"await\"===t.name&&this.state.inAsync&&this.raise(t.start,\"invalid use of await inside of an async function\"),t.loc.identifierName=t.name,this.next(),this.finishNode(t,\"Identifier\")},K.checkReservedWord=function(e,t,n,r){(this.isReservedWord(e)||n&&this.isKeyword(e))&&this.raise(t,e+\" is a reserved word\"),this.state.strict&&(i.strict(e)||r&&i.strictBind(e))&&this.raise(t,e+\" is a reserved word in strict mode\")},K.parseAwait=function(e){return this.state.inAsync||this.unexpected(),this.match(C.star)&&this.raise(e.start,\"await* has been removed from the async functions proposal. Use Promise.all() instead.\"),e.argument=this.parseMaybeUnary(),this.finishNode(e,\"AwaitExpression\")},K.parseYield=function(){var e=this.startNode();return this.next(),this.match(C.semi)||this.canInsertSemicolon()||!this.match(C.star)&&!this.state.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(C.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,\"YieldExpression\")};var Z=U.prototype,J=[\"leadingComments\",\"trailingComments\",\"innerComments\"],Q=function(){function e(t,n,r){v(this,e),this.type=\"\",this.start=t,this.end=0,this.loc=new R(n),r&&(this.loc.filename=r)}return e.prototype.__clone=function(){var t=new e;for(var n in this)J.indexOf(n)<0&&(t[n]=this[n]);return t},e}();function ee(e,t,n,r){return e.type=t,e.end=n,e.loc.end=r,this.processComment(e),e}function te(e){return e[e.length-1]}Z.startNode=function(){return new Q(this.state.start,this.state.startLoc,this.filename)},Z.startNodeAt=function(e,t){return new Q(e,t,this.filename)},Z.finishNode=function(e,t){return ee.call(this,e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)},Z.finishNodeAt=function(e,t,n,r){return ee.call(this,e,t,n,r)},U.prototype.raise=function(e,t){var n=function(e,t){for(var n=1,r=0;;){M.lastIndex=r;var i=M.exec(e);if(!(i&&i.index<t))return new F(n,t-r);++n,r=i.index+i[0].length}}(this.input,e);t+=\" (\"+n.line+\":\"+n.column+\")\";var r=new SyntaxError(t);throw r.pos=e,r.loc=n,r};var ne=U.prototype;ne.addComment=function(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)},ne.processComment=function(e){if(!(\"Program\"===e.type&&e.body.length>0)){var t=this.state.commentStack,n=void 0,r=void 0,i=void 0,o=void 0,a=void 0;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else{var s=te(t);t.length>0&&s.trailingComments&&s.trailingComments[0].start>=e.end&&(i=s.trailingComments,s.trailingComments=null)}for(t.length>0&&te(t).start>=e.start&&(n=t.pop());t.length>0&&te(t).start>=e.start;)r=t.pop();if(!r&&n&&(r=n),n&&this.state.leadingComments.length>0){var u=te(this.state.leadingComments);if(\"ObjectProperty\"===n.type){if(u.start>=e.start&&this.state.commentPreviousNode){for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(n.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}else if(\"CallExpression\"===e.type&&e.arguments&&e.arguments.length){var l=te(e.arguments);l&&u.start>=l.start&&u.end<=e.end&&this.state.commentPreviousNode&&this.state.leadingComments.length>0&&(l.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}if(r){if(r.leadingComments)if(r!==e&&te(r.leadingComments).end<=e.start)e.leadingComments=r.leadingComments,r.leadingComments=null;else for(o=r.leadingComments.length-2;o>=0;--o)if(r.leadingComments[o].end<=e.start){e.leadingComments=r.leadingComments.splice(0,o+1);break}}else if(this.state.leadingComments.length>0)if(te(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a<this.state.leadingComments.length;a++)this.state.leadingComments[a].end<this.state.commentPreviousNode.end&&(this.state.leadingComments.splice(a,1),a--);this.state.leadingComments.length>0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(o=0;o<this.state.leadingComments.length&&!(this.state.leadingComments[o].end>e.start);o++);e.leadingComments=this.state.leadingComments.slice(0,o),0===e.leadingComments.length&&(e.leadingComments=null),0===(i=this.state.leadingComments.slice(o)).length&&(i=null)}this.state.commentPreviousNode=e,i&&(i.length&&i[0].start>=e.start&&te(i).end<=e.end?e.innerComments=i:e.trailingComments=i),t.push(e)}};var re=U.prototype;function ie(e){return e&&\"Property\"===e.type&&\"init\"===e.kind&&!1===e.method}re.estreeParseRegExpLiteral=function(e){var t=e.pattern,n=e.flags,r=null;try{r=new RegExp(t,n)}catch(e){}var i=this.estreeParseLiteral(r);return i.regex={pattern:t,flags:n},i},re.estreeParseLiteral=function(e){return this.parseLiteral(e,\"Literal\")},re.directiveToStmt=function(e){var t=e.value,n=this.startNodeAt(e.start,e.loc.start),r=this.startNodeAt(t.start,t.loc.start);return r.value=t.value,r.raw=t.extra.raw,n.expression=this.finishNodeAt(r,\"Literal\",t.end,t.loc.end),n.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(n,\"ExpressionStatement\",e.end,e.loc.end)};var oe=[\"any\",\"mixed\",\"empty\",\"bool\",\"boolean\",\"number\",\"string\",\"void\",\"null\"],ae=U.prototype;ae.flowParseTypeInitialiser=function(e){var t=this.state.inType;this.state.inType=!0,this.expect(e||C.colon);var n=this.flowParseType();return this.state.inType=t,n},ae.flowParsePredicate=function(){var e=this.startNode(),t=this.state.startLoc,n=this.state.start;this.expect(C.modulo);var r=this.state.startLoc;return this.expectContextual(\"checks\"),t.line===r.line&&t.column===r.column-1||this.raise(n,\"Spaces between ´%´ and ´checks´ are not allowed here.\"),this.eat(C.parenL)?(e.expression=this.parseExpression(),this.expect(C.parenR),this.finishNode(e,\"DeclaredPredicate\")):this.finishNode(e,\"InferredPredicate\")},ae.flowParseTypeAndPredicateInitialiser=function(){var e=this.state.inType;this.state.inType=!0,this.expect(C.colon);var t=null,n=null;return this.match(C.modulo)?(this.state.inType=e,n=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(C.modulo)&&(n=this.flowParsePredicate())),[t,n]},ae.flowParseDeclareClass=function(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,\"DeclareClass\")},ae.flowParseDeclareFunction=function(e){this.next();var t=e.id=this.parseIdentifier(),n=this.startNode(),r=this.startNode();this.isRelational(\"<\")?n.typeParameters=this.flowParseTypeParameterDeclaration():n.typeParameters=null,this.expect(C.parenL);var i=this.flowParseFunctionTypeParams();n.params=i.params,n.rest=i.rest,this.expect(C.parenR);var o,a=this.flowParseTypeAndPredicateInitialiser();return n.returnType=a[0],o=a[1],r.typeAnnotation=this.finishNode(n,\"FunctionTypeAnnotation\"),r.predicate=o,t.typeAnnotation=this.finishNode(r,\"TypeAnnotation\"),this.finishNode(t,t.type),this.semicolon(),this.finishNode(e,\"DeclareFunction\")},ae.flowParseDeclare=function(e){return this.match(C._class)?this.flowParseDeclareClass(e):this.match(C._function)?this.flowParseDeclareFunction(e):this.match(C._var)?this.flowParseDeclareVariable(e):this.isContextual(\"module\")?this.lookahead().type===C.dot?this.flowParseDeclareModuleExports(e):this.flowParseDeclareModule(e):this.isContextual(\"type\")?this.flowParseDeclareTypeAlias(e):this.isContextual(\"opaque\")?this.flowParseDeclareOpaqueType(e):this.isContextual(\"interface\")?this.flowParseDeclareInterface(e):this.match(C._export)?this.flowParseDeclareExportDeclaration(e):void this.unexpected()},ae.flowParseDeclareExportDeclaration=function(e){if(this.expect(C._export),this.isContextual(\"opaque\"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,\"DeclareExportDeclaration\");throw this.unexpected()},ae.flowParseDeclareVariable=function(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(),this.semicolon(),this.finishNode(e,\"DeclareVariable\")},ae.flowParseDeclareModule=function(e){this.next(),this.match(C.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();var t=e.body=this.startNode(),n=t.body=[];for(this.expect(C.braceL);!this.match(C.braceR);){var r=this.startNode();if(this.match(C._import)){var i=this.lookahead();\"type\"!==i.value&&\"typeof\"!==i.value&&this.unexpected(null,\"Imports within a `declare module` body must always be `import type` or `import typeof`\"),this.parseImport(r)}else this.expectContextual(\"declare\",\"Only declares and type imports are allowed inside declare module\"),r=this.flowParseDeclare(r,!0);n.push(r)}return this.expect(C.braceR),this.finishNode(t,\"BlockStatement\"),this.finishNode(e,\"DeclareModule\")},ae.flowParseDeclareModuleExports=function(e){return this.expectContextual(\"module\"),this.expect(C.dot),this.expectContextual(\"exports\"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,\"DeclareModuleExports\")},ae.flowParseDeclareTypeAlias=function(e){return this.next(),this.flowParseTypeAlias(e),this.finishNode(e,\"DeclareTypeAlias\")},ae.flowParseDeclareOpaqueType=function(e){return this.next(),this.flowParseOpaqueType(e,!0),this.finishNode(e,\"DeclareOpaqueType\")},ae.flowParseDeclareInterface=function(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,\"DeclareInterface\")},ae.flowParseInterfaceish=function(e){if(e.id=this.parseIdentifier(),this.isRelational(\"<\")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.mixins=[],this.eat(C._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(C.comma));if(this.isContextual(\"mixins\")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(C.comma))}e.body=this.flowParseObjectType(!0,!1,!1)},ae.flowParseInterfaceExtends=function(){var e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational(\"<\")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,\"InterfaceExtends\")},ae.flowParseInterface=function(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,\"InterfaceDeclaration\")},ae.flowParseRestrictedIdentifier=function(e){return oe.indexOf(this.state.value)>-1&&this.raise(this.state.start,\"Cannot overwrite primitive type \"+this.state.value),this.parseIdentifier(e)},ae.flowParseTypeAlias=function(e){return e.id=this.flowParseRestrictedIdentifier(),this.isRelational(\"<\")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(C.eq),this.semicolon(),this.finishNode(e,\"TypeAlias\")},ae.flowParseOpaqueType=function(e,t){return this.expectContextual(\"type\"),e.id=this.flowParseRestrictedIdentifier(),this.isRelational(\"<\")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(C.colon)&&(e.supertype=this.flowParseTypeInitialiser(C.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(C.eq)),this.semicolon(),this.finishNode(e,\"OpaqueType\")},ae.flowParseTypeParameter=function(){var e=this.startNode(),t=this.flowParseVariance(),n=this.flowParseTypeAnnotatableIdentifier();return e.name=n.name,e.variance=t,e.bound=n.typeAnnotation,this.match(C.eq)&&(this.eat(C.eq),e.default=this.flowParseType()),this.finishNode(e,\"TypeParameter\")},ae.flowParseTypeParameterDeclaration=function(){var e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational(\"<\")||this.match(C.jsxTagStart)?this.next():this.unexpected();do{t.params.push(this.flowParseTypeParameter()),this.isRelational(\">\")||this.expect(C.comma)}while(!this.isRelational(\">\"));return this.expectRelational(\">\"),this.state.inType=e,this.finishNode(t,\"TypeParameterDeclaration\")},ae.flowParseTypeParameterInstantiation=function(){var e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational(\"<\");!this.isRelational(\">\");)e.params.push(this.flowParseType()),this.isRelational(\">\")||this.expect(C.comma);return this.expectRelational(\">\"),this.state.inType=t,this.finishNode(e,\"TypeParameterInstantiation\")},ae.flowParseObjectPropertyKey=function(){return this.match(C.num)||this.match(C.string)?this.parseExprAtom():this.parseIdentifier(!0)},ae.flowParseObjectTypeIndexer=function(e,t,n){return e.static=t,this.expect(C.bracketL),this.lookahead().type===C.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(C.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=n,this.flowObjectTypeSemicolon(),this.finishNode(e,\"ObjectTypeIndexer\")},ae.flowParseObjectTypeMethodish=function(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational(\"<\")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(C.parenL);!this.match(C.parenR)&&!this.match(C.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(C.parenR)||this.expect(C.comma);return this.eat(C.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(C.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,\"FunctionTypeAnnotation\")},ae.flowParseObjectTypeMethod=function(e,t,n,r){var i=this.startNodeAt(e,t);return i.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e,t)),i.static=n,i.key=r,i.optional=!1,this.flowObjectTypeSemicolon(),this.finishNode(i,\"ObjectTypeProperty\")},ae.flowParseObjectTypeCallProperty=function(e,t){var n=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(n),this.flowObjectTypeSemicolon(),this.finishNode(e,\"ObjectTypeCallProperty\")},ae.flowParseObjectType=function(e,t,n){var r=this.state.inType;this.state.inType=!0;var i=this.startNode(),o=void 0,a=void 0,s=!1;i.callProperties=[],i.properties=[],i.indexers=[];var u=void 0,l=void 0;for(t&&this.match(C.braceBarL)?(this.expect(C.braceBarL),u=C.braceBarR,l=!0):(this.expect(C.braceL),u=C.braceR,l=!1),i.exact=l;!this.match(u);){var c=!1,f=this.state.start,p=this.state.startLoc;o=this.startNode(),e&&this.isContextual(\"static\")&&this.lookahead().type!==C.colon&&(this.next(),s=!0);var d=this.state.start,h=this.flowParseVariance();this.match(C.bracketL)?i.indexers.push(this.flowParseObjectTypeIndexer(o,s,h)):this.match(C.parenL)||this.isRelational(\"<\")?(h&&this.unexpected(d),i.callProperties.push(this.flowParseObjectTypeCallProperty(o,s))):this.match(C.ellipsis)?(n||this.unexpected(null,\"Spread operator cannot appear in class or interface definitions\"),h&&this.unexpected(h.start,\"Spread properties cannot have variance\"),this.expect(C.ellipsis),o.argument=this.flowParseType(),this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(o,\"ObjectTypeSpreadProperty\"))):(a=this.flowParseObjectPropertyKey(),this.isRelational(\"<\")||this.match(C.parenL)?(h&&this.unexpected(h.start),i.properties.push(this.flowParseObjectTypeMethod(f,p,s,a))):(this.eat(C.question)&&(c=!0),o.key=a,o.value=this.flowParseTypeInitialiser(),o.optional=c,o.static=s,o.variance=h,this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(o,\"ObjectTypeProperty\")))),s=!1}this.expect(u);var m=this.finishNode(i,\"ObjectTypeAnnotation\");return this.state.inType=r,m},ae.flowObjectTypeSemicolon=function(){this.eat(C.semi)||this.eat(C.comma)||this.match(C.braceR)||this.match(C.braceBarR)||this.unexpected()},ae.flowParseQualifiedTypeIdentifier=function(e,t,n){e=e||this.state.start,t=t||this.state.startLoc;for(var r=n||this.parseIdentifier();this.eat(C.dot);){var i=this.startNodeAt(e,t);i.qualification=r,i.id=this.parseIdentifier(),r=this.finishNode(i,\"QualifiedTypeIdentifier\")}return r},ae.flowParseGenericType=function(e,t,n){var r=this.startNodeAt(e,t);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(e,t,n),this.isRelational(\"<\")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,\"GenericTypeAnnotation\")},ae.flowParseTypeofType=function(){var e=this.startNode();return this.expect(C._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,\"TypeofTypeAnnotation\")},ae.flowParseTupleType=function(){var e=this.startNode();for(e.types=[],this.expect(C.bracketL);this.state.pos<this.input.length&&!this.match(C.bracketR)&&(e.types.push(this.flowParseType()),!this.match(C.bracketR));)this.expect(C.comma);return this.expect(C.bracketR),this.finishNode(e,\"TupleTypeAnnotation\")},ae.flowParseFunctionTypeParam=function(){var e=null,t=!1,n=null,r=this.startNode(),i=this.lookahead();return i.type===C.colon||i.type===C.question?(e=this.parseIdentifier(),this.eat(C.question)&&(t=!0),n=this.flowParseTypeInitialiser()):n=this.flowParseType(),r.name=e,r.optional=t,r.typeAnnotation=n,this.finishNode(r,\"FunctionTypeParam\")},ae.reinterpretTypeAsFunctionTypeParam=function(e){var t=this.startNodeAt(e.start,e.loc.start);return t.name=null,t.optional=!1,t.typeAnnotation=e,this.finishNode(t,\"FunctionTypeParam\")},ae.flowParseFunctionTypeParams=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t={params:e,rest:null};!this.match(C.parenR)&&!this.match(C.ellipsis);)t.params.push(this.flowParseFunctionTypeParam()),this.match(C.parenR)||this.expect(C.comma);return this.eat(C.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),t},ae.flowIdentToTypeAnnotation=function(e,t,n,r){switch(r.name){case\"any\":return this.finishNode(n,\"AnyTypeAnnotation\");case\"void\":return this.finishNode(n,\"VoidTypeAnnotation\");case\"bool\":case\"boolean\":return this.finishNode(n,\"BooleanTypeAnnotation\");case\"mixed\":return this.finishNode(n,\"MixedTypeAnnotation\");case\"empty\":return this.finishNode(n,\"EmptyTypeAnnotation\");case\"number\":return this.finishNode(n,\"NumberTypeAnnotation\");case\"string\":return this.finishNode(n,\"StringTypeAnnotation\");default:return this.flowParseGenericType(e,t,r)}},ae.flowParsePrimaryType=function(){var e=this.state.start,t=this.state.startLoc,n=this.startNode(),r=void 0,i=void 0,o=!1,a=this.state.noAnonFunctionType;switch(this.state.type){case C.name:return this.flowIdentToTypeAnnotation(e,t,n,this.parseIdentifier());case C.braceL:return this.flowParseObjectType(!1,!1,!0);case C.braceBarL:return this.flowParseObjectType(!1,!0,!0);case C.bracketL:return this.flowParseTupleType();case C.relational:if(\"<\"===this.state.value)return n.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(C.parenL),r=this.flowParseFunctionTypeParams(),n.params=r.params,n.rest=r.rest,this.expect(C.parenR),this.expect(C.arrow),n.returnType=this.flowParseType(),this.finishNode(n,\"FunctionTypeAnnotation\");break;case C.parenL:if(this.next(),!this.match(C.parenR)&&!this.match(C.ellipsis))if(this.match(C.name)){var s=this.lookahead().type;o=s!==C.question&&s!==C.colon}else o=!0;if(o){if(this.state.noAnonFunctionType=!1,i=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(C.comma)||this.match(C.parenR)&&this.lookahead().type===C.arrow))return this.expect(C.parenR),i;this.eat(C.comma)}return r=i?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]):this.flowParseFunctionTypeParams(),n.params=r.params,n.rest=r.rest,this.expect(C.parenR),this.expect(C.arrow),n.returnType=this.flowParseType(),n.typeParameters=null,this.finishNode(n,\"FunctionTypeAnnotation\");case C.string:return this.parseLiteral(this.state.value,\"StringLiteralTypeAnnotation\");case C._true:case C._false:return n.value=this.match(C._true),this.next(),this.finishNode(n,\"BooleanLiteralTypeAnnotation\");case C.plusMin:if(\"-\"===this.state.value)return this.next(),this.match(C.num)||this.unexpected(null,\"Unexpected token, expected number\"),this.parseLiteral(-this.state.value,\"NumericLiteralTypeAnnotation\",n.start,n.loc.start);this.unexpected();case C.num:return this.parseLiteral(this.state.value,\"NumericLiteralTypeAnnotation\");case C._null:return n.value=this.match(C._null),this.next(),this.finishNode(n,\"NullLiteralTypeAnnotation\");case C._this:return n.value=this.match(C._this),this.next(),this.finishNode(n,\"ThisTypeAnnotation\");case C.star:return this.next(),this.finishNode(n,\"ExistentialTypeParam\");default:if(\"typeof\"===this.state.type.keyword)return this.flowParseTypeofType()}this.unexpected()},ae.flowParsePostfixType=function(){for(var e=this.state.start,t=this.state.startLoc,n=this.flowParsePrimaryType();!this.canInsertSemicolon()&&this.match(C.bracketL);){var r=this.startNodeAt(e,t);r.elementType=n,this.expect(C.bracketL),this.expect(C.bracketR),n=this.finishNode(r,\"ArrayTypeAnnotation\")}return n},ae.flowParsePrefixType=function(){var e=this.startNode();return this.eat(C.question)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,\"NullableTypeAnnotation\")):this.flowParsePostfixType()},ae.flowParseAnonFunctionWithoutParens=function(){var e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(C.arrow)){var t=this.startNodeAt(e.start,e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,\"FunctionTypeAnnotation\")}return e},ae.flowParseIntersectionType=function(){var e=this.startNode();this.eat(C.bitwiseAND);var t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(C.bitwiseAND);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,\"IntersectionTypeAnnotation\")},ae.flowParseUnionType=function(){var e=this.startNode();this.eat(C.bitwiseOR);var t=this.flowParseIntersectionType();for(e.types=[t];this.eat(C.bitwiseOR);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,\"UnionTypeAnnotation\")},ae.flowParseType=function(){var e=this.state.inType;this.state.inType=!0;var t=this.flowParseUnionType();return this.state.inType=e,t},ae.flowParseTypeAnnotation=function(){var e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,\"TypeAnnotation\")},ae.flowParseTypeAndPredicateAnnotation=function(){var e=this.startNode(),t=this.flowParseTypeAndPredicateInitialiser();return e.typeAnnotation=t[0],e.predicate=t[1],this.finishNode(e,\"TypeAnnotation\")},ae.flowParseTypeAnnotatableIdentifier=function(){var e=this.flowParseRestrictedIdentifier();return this.match(C.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,e.type)),e},ae.typeCastToParameter=function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.finishNodeAt(e.expression,e.expression.type,e.typeAnnotation.end,e.typeAnnotation.loc.end)},ae.flowParseVariance=function(){var e=null;return this.match(C.plusMin)&&(\"+\"===this.state.value?e=\"plus\":\"-\"===this.state.value&&(e=\"minus\"),this.next()),e};var se=String.fromCodePoint;if(!se){var ue=String.fromCharCode,le=Math.floor;se=function(){var e=16384,t=[],n=void 0,r=void 0,i=-1,o=arguments.length;if(!o)return\"\";for(var a=\"\";++i<o;){var s=Number(arguments[i]);if(!isFinite(s)||s<0||s>1114111||le(s)!=s)throw RangeError(\"Invalid code point: \"+s);s<=65535?t.push(s):(n=55296+((s-=65536)>>10),r=s%1024+56320,t.push(n,r)),(i+1==o||t.length>e)&&(a+=ue.apply(null,t),t.length=0)}return a}}var ce=se,fe={quot:'\"',amp:\"&\",apos:\"'\",lt:\"<\",gt:\">\",nbsp:\" \",iexcl:\"¡\",cent:\"¢\",pound:\"£\",curren:\"¤\",yen:\"¥\",brvbar:\"¦\",sect:\"§\",uml:\"¨\",copy:\"©\",ordf:\"ª\",laquo:\"«\",not:\"¬\",shy:\"­\",reg:\"®\",macr:\"¯\",deg:\"°\",plusmn:\"±\",sup2:\"²\",sup3:\"³\",acute:\"´\",micro:\"µ\",para:\"¶\",middot:\"·\",cedil:\"¸\",sup1:\"¹\",ordm:\"º\",raquo:\"»\",frac14:\"¼\",frac12:\"½\",frac34:\"¾\",iquest:\"¿\",Agrave:\"À\",Aacute:\"Á\",Acirc:\"Â\",Atilde:\"Ã\",Auml:\"Ä\",Aring:\"Å\",AElig:\"Æ\",Ccedil:\"Ç\",Egrave:\"È\",Eacute:\"É\",Ecirc:\"Ê\",Euml:\"Ë\",Igrave:\"Ì\",Iacute:\"Í\",Icirc:\"Î\",Iuml:\"Ï\",ETH:\"Ð\",Ntilde:\"Ñ\",Ograve:\"Ò\",Oacute:\"Ó\",Ocirc:\"Ô\",Otilde:\"Õ\",Ouml:\"Ö\",times:\"×\",Oslash:\"Ø\",Ugrave:\"Ù\",Uacute:\"Ú\",Ucirc:\"Û\",Uuml:\"Ü\",Yacute:\"Ý\",THORN:\"Þ\",szlig:\"ß\",agrave:\"à\",aacute:\"á\",acirc:\"â\",atilde:\"ã\",auml:\"ä\",aring:\"å\",aelig:\"æ\",ccedil:\"ç\",egrave:\"è\",eacute:\"é\",ecirc:\"ê\",euml:\"ë\",igrave:\"ì\",iacute:\"í\",icirc:\"î\",iuml:\"ï\",eth:\"ð\",ntilde:\"ñ\",ograve:\"ò\",oacute:\"ó\",ocirc:\"ô\",otilde:\"õ\",ouml:\"ö\",divide:\"÷\",oslash:\"ø\",ugrave:\"ù\",uacute:\"ú\",ucirc:\"û\",uuml:\"ü\",yacute:\"ý\",thorn:\"þ\",yuml:\"ÿ\",OElig:\"Œ\",oelig:\"œ\",Scaron:\"Š\",scaron:\"š\",Yuml:\"Ÿ\",fnof:\"ƒ\",circ:\"ˆ\",tilde:\"˜\",Alpha:\"Α\",Beta:\"Β\",Gamma:\"Γ\",Delta:\"Δ\",Epsilon:\"Ε\",Zeta:\"Ζ\",Eta:\"Η\",Theta:\"Θ\",Iota:\"Ι\",Kappa:\"Κ\",Lambda:\"Λ\",Mu:\"Μ\",Nu:\"Ν\",Xi:\"Ξ\",Omicron:\"Ο\",Pi:\"Π\",Rho:\"Ρ\",Sigma:\"Σ\",Tau:\"Τ\",Upsilon:\"Υ\",Phi:\"Φ\",Chi:\"Χ\",Psi:\"Ψ\",Omega:\"Ω\",alpha:\"α\",beta:\"β\",gamma:\"γ\",delta:\"δ\",epsilon:\"ε\",zeta:\"ζ\",eta:\"η\",theta:\"θ\",iota:\"ι\",kappa:\"κ\",lambda:\"λ\",mu:\"μ\",nu:\"ν\",xi:\"ξ\",omicron:\"ο\",pi:\"π\",rho:\"ρ\",sigmaf:\"ς\",sigma:\"σ\",tau:\"τ\",upsilon:\"υ\",phi:\"φ\",chi:\"χ\",psi:\"ψ\",omega:\"ω\",thetasym:\"ϑ\",upsih:\"ϒ\",piv:\"ϖ\",ensp:\" \",emsp:\" \",thinsp:\" \",zwnj:\"‌\",zwj:\"‍\",lrm:\"‎\",rlm:\"‏\",ndash:\"–\",mdash:\"—\",lsquo:\"‘\",rsquo:\"’\",sbquo:\"‚\",ldquo:\"“\",rdquo:\"”\",bdquo:\"„\",dagger:\"†\",Dagger:\"‡\",bull:\"•\",hellip:\"…\",permil:\"‰\",prime:\"′\",Prime:\"″\",lsaquo:\"‹\",rsaquo:\"›\",oline:\"‾\",frasl:\"⁄\",euro:\"€\",image:\"ℑ\",weierp:\"℘\",real:\"ℜ\",trade:\"™\",alefsym:\"ℵ\",larr:\"←\",uarr:\"↑\",rarr:\"→\",darr:\"↓\",harr:\"↔\",crarr:\"↵\",lArr:\"⇐\",uArr:\"⇑\",rArr:\"⇒\",dArr:\"⇓\",hArr:\"⇔\",forall:\"∀\",part:\"∂\",exist:\"∃\",empty:\"∅\",nabla:\"∇\",isin:\"∈\",notin:\"∉\",ni:\"∋\",prod:\"∏\",sum:\"∑\",minus:\"−\",lowast:\"∗\",radic:\"√\",prop:\"∝\",infin:\"∞\",ang:\"∠\",and:\"∧\",or:\"∨\",cap:\"∩\",cup:\"∪\",int:\"∫\",there4:\"∴\",sim:\"∼\",cong:\"≅\",asymp:\"≈\",ne:\"≠\",equiv:\"≡\",le:\"≤\",ge:\"≥\",sub:\"⊂\",sup:\"⊃\",nsub:\"⊄\",sube:\"⊆\",supe:\"⊇\",oplus:\"⊕\",otimes:\"⊗\",perp:\"⊥\",sdot:\"⋅\",lceil:\"⌈\",rceil:\"⌉\",lfloor:\"⌊\",rfloor:\"⌋\",lang:\"〈\",rang:\"〉\",loz:\"◊\",spades:\"♠\",clubs:\"♣\",hearts:\"♥\",diams:\"♦\"},pe=/^[\\da-fA-F]+$/,de=/^\\d+$/;N.j_oTag=new L(\"<tag\",!1),N.j_cTag=new L(\"</tag\",!1),N.j_expr=new L(\"<tag>...</tag>\",!0,!0),C.jsxName=new S(\"jsxName\"),C.jsxText=new S(\"jsxText\",{beforeExpr:!0}),C.jsxTagStart=new S(\"jsxTagStart\",{startsExpr:!0}),C.jsxTagEnd=new S(\"jsxTagEnd\"),C.jsxTagStart.updateContext=function(){this.state.context.push(N.j_expr),this.state.context.push(N.j_oTag),this.state.exprAllowed=!1},C.jsxTagEnd.updateContext=function(e){var t=this.state.context.pop();t===N.j_oTag&&e===C.slash||t===N.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===N.j_expr):this.state.exprAllowed=!0};var he=U.prototype;function me(e){return\"JSXIdentifier\"===e.type?e.name:\"JSXNamespacedName\"===e.type?e.namespace.name+\":\"+e.name.name:\"JSXMemberExpression\"===e.type?me(e.object)+\".\"+me(e.property):void 0}he.jsxReadToken=function(){for(var e=\"\",t=this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,\"Unterminated JSX contents\");var n=this.input.charCodeAt(this.state.pos);switch(n){case 60:case 123:return this.state.pos===this.state.start?60===n&&this.state.exprAllowed?(++this.state.pos,this.finishToken(C.jsxTagStart)):this.getTokenFromCode(n):(e+=this.input.slice(t,this.state.pos),this.finishToken(C.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:P(n)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}},he.jsxReadNewLine=function(e){var t=this.input.charCodeAt(this.state.pos),n=void 0;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,n=e?\"\\n\":\"\\r\\n\"):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n},he.jsxReadString=function(e){for(var t=\"\",n=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,\"Unterminated string constant\");var r=this.input.charCodeAt(this.state.pos);if(r===e)break;38===r?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):P(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}return t+=this.input.slice(n,this.state.pos++),this.finishToken(C.string,t)},he.jsxReadEntity=function(){for(var e=\"\",t=0,n=void 0,r=this.input[this.state.pos],i=++this.state.pos;this.state.pos<this.input.length&&t++<10;){if(\";\"===(r=this.input[this.state.pos++])){\"#\"===e[0]?\"x\"===e[1]?(e=e.substr(2),pe.test(e)&&(n=ce(parseInt(e,16)))):(e=e.substr(1),de.test(e)&&(n=ce(parseInt(e,10)))):n=fe[e];break}e+=r}return n||(this.state.pos=i,\"&\")},he.jsxReadWord=function(){var e=void 0,t=this.state.pos;do{e=this.input.charCodeAt(++this.state.pos)}while(h(e)||45===e);return this.finishToken(C.jsxName,this.input.slice(t,this.state.pos))},he.jsxParseIdentifier=function(){var e=this.startNode();return this.match(C.jsxName)?e.name=this.state.value:this.state.type.keyword?e.name=this.state.type.keyword:this.unexpected(),this.next(),this.finishNode(e,\"JSXIdentifier\")},he.jsxParseNamespacedName=function(){var e=this.state.start,t=this.state.startLoc,n=this.jsxParseIdentifier();if(!this.eat(C.colon))return n;var r=this.startNodeAt(e,t);return r.namespace=n,r.name=this.jsxParseIdentifier(),this.finishNode(r,\"JSXNamespacedName\")},he.jsxParseElementName=function(){for(var e=this.state.start,t=this.state.startLoc,n=this.jsxParseNamespacedName();this.eat(C.dot);){var r=this.startNodeAt(e,t);r.object=n,r.property=this.jsxParseIdentifier(),n=this.finishNode(r,\"JSXMemberExpression\")}return n},he.jsxParseAttributeValue=function(){var e=void 0;switch(this.state.type){case C.braceL:if(\"JSXEmptyExpression\"!==(e=this.jsxParseExpressionContainer()).expression.type)return e;this.raise(e.start,\"JSX attributes must only be assigned a non-empty expression\");case C.jsxTagStart:case C.string:return(e=this.parseExprAtom()).extra=null,e;default:this.raise(this.state.start,\"JSX value should be either an expression or a quoted JSX text\")}},he.jsxParseEmptyExpression=function(){var e=this.startNodeAt(this.state.lastTokEnd,this.state.lastTokEndLoc);return this.finishNodeAt(e,\"JSXEmptyExpression\",this.state.start,this.state.startLoc)},he.jsxParseSpreadChild=function(){var e=this.startNode();return this.expect(C.braceL),this.expect(C.ellipsis),e.expression=this.parseExpression(),this.expect(C.braceR),this.finishNode(e,\"JSXSpreadChild\")},he.jsxParseExpressionContainer=function(){var e=this.startNode();return this.next(),this.match(C.braceR)?e.expression=this.jsxParseEmptyExpression():e.expression=this.parseExpression(),this.expect(C.braceR),this.finishNode(e,\"JSXExpressionContainer\")},he.jsxParseAttribute=function(){var e=this.startNode();return this.eat(C.braceL)?(this.expect(C.ellipsis),e.argument=this.parseMaybeAssign(),this.expect(C.braceR),this.finishNode(e,\"JSXSpreadAttribute\")):(e.name=this.jsxParseNamespacedName(),e.value=this.eat(C.eq)?this.jsxParseAttributeValue():null,this.finishNode(e,\"JSXAttribute\"))},he.jsxParseOpeningElementAt=function(e,t){var n=this.startNodeAt(e,t);for(n.attributes=[],n.name=this.jsxParseElementName();!this.match(C.slash)&&!this.match(C.jsxTagEnd);)n.attributes.push(this.jsxParseAttribute());return n.selfClosing=this.eat(C.slash),this.expect(C.jsxTagEnd),this.finishNode(n,\"JSXOpeningElement\")},he.jsxParseClosingElementAt=function(e,t){var n=this.startNodeAt(e,t);return n.name=this.jsxParseElementName(),this.expect(C.jsxTagEnd),this.finishNode(n,\"JSXClosingElement\")},he.jsxParseElementAt=function(e,t){var n=this.startNodeAt(e,t),r=[],i=this.jsxParseOpeningElementAt(e,t),o=null;if(!i.selfClosing){e:for(;;)switch(this.state.type){case C.jsxTagStart:if(e=this.state.start,t=this.state.startLoc,this.next(),this.eat(C.slash)){o=this.jsxParseClosingElementAt(e,t);break e}r.push(this.jsxParseElementAt(e,t));break;case C.jsxText:r.push(this.parseExprAtom());break;case C.braceL:this.lookahead().type===C.ellipsis?r.push(this.jsxParseSpreadChild()):r.push(this.jsxParseExpressionContainer());break;default:this.unexpected()}me(o.name)!==me(i.name)&&this.raise(o.start,\"Expected corresponding JSX closing tag for <\"+me(i.name)+\">\")}return n.openingElement=i,n.closingElement=o,n.children=r,this.match(C.relational)&&\"<\"===this.state.value&&this.raise(this.state.start,\"Adjacent JSX elements must be wrapped in an enclosing tag\"),this.finishNode(n,\"JSXElement\")},he.jsxParseElement=function(){var e=this.state.start,t=this.state.startLoc;return this.next(),this.jsxParseElementAt(e,t)},z.estree=function(e){e.extend(\"checkDeclaration\",(function(e){return function(t){ie(t)?this.checkDeclaration(t.value):e.call(this,t)}})),e.extend(\"checkGetterSetterParamCount\",(function(){return function(e){var t=\"get\"===e.kind?0:1;if(e.value.params.length!==t){var n=e.start;\"get\"===e.kind?this.raise(n,\"getter should have no params\"):this.raise(n,\"setter should have exactly one param\")}}})),e.extend(\"checkLVal\",(function(e){return function(t,n,r){var i=this;if(\"ObjectPattern\"===t.type)t.properties.forEach((function(e){i.checkLVal(\"Property\"===e.type?e.value:e,n,r,\"object destructuring pattern\")}));else{for(var o=arguments.length,a=Array(o>3?o-3:0),s=3;s<o;s++)a[s-3]=arguments[s];e.call.apply(e,[this,t,n,r].concat(a))}}})),e.extend(\"checkPropClash\",(function(){return function(e,t){if(!e.computed&&ie(e)){var n=e.key;\"__proto__\"===(\"Identifier\"===n.type?n.name:String(n.value))&&(t.proto&&this.raise(n.start,\"Redefinition of __proto__ property\"),t.proto=!0)}}})),e.extend(\"isStrictBody\",(function(){return function(e,t){if(!t&&e.body.body.length>0){var n=e.body.body,r=Array.isArray(n),i=0;for(n=r?n:n[Symbol.iterator]();;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}var a=o;if(\"ExpressionStatement\"!==a.type||\"Literal\"!==a.expression.type)break;if(\"use strict\"===a.expression.value)return!0}}return!1}})),e.extend(\"isValidDirective\",(function(){return function(e){return!(\"ExpressionStatement\"!==e.type||\"Literal\"!==e.expression.type||\"string\"!=typeof e.expression.value||e.expression.extra&&e.expression.extra.parenthesized)}})),e.extend(\"stmtToDirective\",(function(e){return function(t){var n=e.call(this,t),r=t.expression.value;return n.value.value=r,n}})),e.extend(\"parseBlockBody\",(function(e){return function(t){for(var n=this,r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];e.call.apply(e,[this,t].concat(i)),t.directives.reverse().forEach((function(e){t.body.unshift(n.directiveToStmt(e))})),delete t.directives}})),e.extend(\"parseClassMethod\",(function(){return function(e,t,n,r){this.parseMethod(t,n,r),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(this.finishNode(t,\"MethodDefinition\"))}})),e.extend(\"parseExprAtom\",(function(e){return function(){switch(this.state.type){case C.regexp:return this.estreeParseRegExpLiteral(this.state.value);case C.num:case C.string:return this.estreeParseLiteral(this.state.value);case C._null:return this.estreeParseLiteral(null);case C._true:return this.estreeParseLiteral(!0);case C._false:return this.estreeParseLiteral(!1);default:for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.call.apply(e,[this].concat(n))}}})),e.extend(\"parseLiteral\",(function(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=e.call.apply(e,[this].concat(n));return i.raw=i.extra.raw,delete i.extra,i}})),e.extend(\"parseMethod\",(function(e){return function(t){var n=this.startNode();n.kind=t.kind;for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return delete(n=e.call.apply(e,[this,n].concat(i))).kind,t.value=this.finishNode(n,\"FunctionExpression\"),t}})),e.extend(\"parseObjectMethod\",(function(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=e.call.apply(e,[this].concat(n));return i&&(\"method\"===i.kind&&(i.kind=\"init\"),i.type=\"Property\"),i}})),e.extend(\"parseObjectProperty\",(function(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=e.call.apply(e,[this].concat(n));return i&&(i.kind=\"init\",i.type=\"Property\"),i}})),e.extend(\"toAssignable\",(function(e){return function(t,n){for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];if(ie(t))return this.toAssignable.apply(this,[t.value,n].concat(i)),t;if(\"ObjectExpression\"===t.type){t.type=\"ObjectPattern\";var a=t.properties,s=Array.isArray(a),u=0;for(a=s?a:a[Symbol.iterator]();;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;\"get\"===c.kind||\"set\"===c.kind?this.raise(c.key.start,\"Object pattern can't contain getter or setter\"):c.method?this.raise(c.key.start,\"Object pattern can't contain methods\"):this.toAssignable(c,n,\"object destructuring pattern\")}return t}return e.call.apply(e,[this,t,n].concat(i))}}))},z.flow=function(e){e.extend(\"parseFunctionBody\",(function(e){return function(t,n){return this.match(C.colon)&&!n&&(t.returnType=this.flowParseTypeAndPredicateAnnotation()),e.call(this,t,n)}})),e.extend(\"parseStatement\",(function(e){return function(t,n){if(this.state.strict&&this.match(C.name)&&\"interface\"===this.state.value){var r=this.startNode();return this.next(),this.flowParseInterface(r)}return e.call(this,t,n)}})),e.extend(\"parseExpressionStatement\",(function(e){return function(t,n){if(\"Identifier\"===n.type)if(\"declare\"===n.name){if(this.match(C._class)||this.match(C.name)||this.match(C._function)||this.match(C._var)||this.match(C._export))return this.flowParseDeclare(t)}else if(this.match(C.name)){if(\"interface\"===n.name)return this.flowParseInterface(t);if(\"type\"===n.name)return this.flowParseTypeAlias(t);if(\"opaque\"===n.name)return this.flowParseOpaqueType(t,!1)}return e.call(this,t,n)}})),e.extend(\"shouldParseExportDeclaration\",(function(e){return function(){return this.isContextual(\"type\")||this.isContextual(\"interface\")||this.isContextual(\"opaque\")||e.call(this)}})),e.extend(\"isExportDefaultSpecifier\",(function(e){return function(){return(!this.match(C.name)||\"type\"!==this.state.value&&\"interface\"!==this.state.value&&\"opaque\"!==this.state.value)&&e.call(this)}})),e.extend(\"parseConditional\",(function(e){return function(t,n,r,i,o){if(o&&this.match(C.question)){var a=this.state.clone();try{return e.call(this,t,n,r,i)}catch(e){if(e instanceof SyntaxError)return this.state=a,o.start=e.pos||this.state.start,t;throw e}}return e.call(this,t,n,r,i)}})),e.extend(\"parseParenItem\",(function(e){return function(t,n,r){if(t=e.call(this,t,n,r),this.eat(C.question)&&(t.optional=!0),this.match(C.colon)){var i=this.startNodeAt(n,r);return i.expression=t,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,\"TypeCastExpression\")}return t}})),e.extend(\"parseExport\",(function(e){return function(t){return\"ExportNamedDeclaration\"===(t=e.call(this,t)).type&&(t.exportKind=t.exportKind||\"value\"),t}})),e.extend(\"parseExportDeclaration\",(function(e){return function(t){if(this.isContextual(\"type\")){t.exportKind=\"type\";var n=this.startNode();return this.next(),this.match(C.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(n)}if(this.isContextual(\"opaque\")){t.exportKind=\"type\";var r=this.startNode();return this.next(),this.flowParseOpaqueType(r,!1)}if(this.isContextual(\"interface\")){t.exportKind=\"type\";var i=this.startNode();return this.next(),this.flowParseInterface(i)}return e.call(this,t)}})),e.extend(\"parseClassId\",(function(e){return function(t){e.apply(this,arguments),this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}})),e.extend(\"isKeyword\",(function(e){return function(t){return(!this.state.inType||\"void\"!==t)&&e.call(this,t)}})),e.extend(\"readToken\",(function(e){return function(t){return!this.state.inType||62!==t&&60!==t?e.call(this,t):this.finishOp(C.relational,1)}})),e.extend(\"jsx_readToken\",(function(e){return function(){if(!this.state.inType)return e.call(this)}})),e.extend(\"toAssignable\",(function(e){return function(t,n,r){return\"TypeCastExpression\"===t.type?e.call(this,this.typeCastToParameter(t),n,r):e.call(this,t,n,r)}})),e.extend(\"toAssignableList\",(function(e){return function(t,n,r){for(var i=0;i<t.length;i++){var o=t[i];o&&\"TypeCastExpression\"===o.type&&(t[i]=this.typeCastToParameter(o))}return e.call(this,t,n,r)}})),e.extend(\"toReferencedList\",(function(){return function(e){for(var t=0;t<e.length;t++){var n=e[t];n&&n._exprListItem&&\"TypeCastExpression\"===n.type&&this.raise(n.start,\"Unexpected type cast\")}return e}})),e.extend(\"parseExprListItem\",(function(e){return function(){for(var t=this.startNode(),n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];var o=e.call.apply(e,[this].concat(r));return this.match(C.colon)?(t._exprListItem=!0,t.expression=o,t.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(t,\"TypeCastExpression\")):o}})),e.extend(\"checkLVal\",(function(e){return function(t){if(\"TypeCastExpression\"!==t.type)return e.apply(this,arguments)}})),e.extend(\"parseClassProperty\",(function(e){return function(t){return delete t.variancePos,this.match(C.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),e.call(this,t)}})),e.extend(\"isClassMethod\",(function(e){return function(){return this.isRelational(\"<\")||e.call(this)}})),e.extend(\"isClassProperty\",(function(e){return function(){return this.match(C.colon)||e.call(this)}})),e.extend(\"isNonstaticConstructor\",(function(e){return function(t){return!this.match(C.colon)&&e.call(this,t)}})),e.extend(\"parseClassMethod\",(function(e){return function(t,n){n.variance&&this.unexpected(n.variancePos),delete n.variance,delete n.variancePos,this.isRelational(\"<\")&&(n.typeParameters=this.flowParseTypeParameterDeclaration());for(var r=arguments.length,i=Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];e.call.apply(e,[this,t,n].concat(i))}})),e.extend(\"parseClassSuper\",(function(e){return function(t,n){if(e.call(this,t,n),t.superClass&&this.isRelational(\"<\")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(\"implements\")){this.next();var r=t.implements=[];do{var i=this.startNode();i.id=this.parseIdentifier(),this.isRelational(\"<\")?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,r.push(this.finishNode(i,\"ClassImplements\"))}while(this.eat(C.comma))}}})),e.extend(\"parsePropertyName\",(function(e){return function(t){var n=this.state.start,r=this.flowParseVariance(),i=e.call(this,t);return t.variance=r,t.variancePos=n,i}})),e.extend(\"parseObjPropValue\",(function(e){return function(t){t.variance&&this.unexpected(t.variancePos),delete t.variance,delete t.variancePos;var n=void 0;this.isRelational(\"<\")&&(n=this.flowParseTypeParameterDeclaration(),this.match(C.parenL)||this.unexpected()),e.apply(this,arguments),n&&((t.value||t).typeParameters=n)}})),e.extend(\"parseAssignableListItemTypes\",(function(){return function(e){return this.eat(C.question)&&(e.optional=!0),this.match(C.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.finishNode(e,e.type),e}})),e.extend(\"parseMaybeDefault\",(function(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=e.apply(this,n);return\"AssignmentPattern\"===i.type&&i.typeAnnotation&&i.right.start<i.typeAnnotation.start&&this.raise(i.typeAnnotation.start,\"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`\"),i}})),e.extend(\"parseImportSpecifiers\",(function(e){return function(t){t.importKind=\"value\";var n=null;if(this.match(C._typeof)?n=\"typeof\":this.isContextual(\"type\")&&(n=\"type\"),n){var r=this.lookahead();(r.type===C.name&&\"from\"!==r.value||r.type===C.braceL||r.type===C.star)&&(this.next(),t.importKind=n)}e.call(this,t)}})),e.extend(\"parseImportSpecifier\",(function(){return function(e){var t=this.startNode(),n=this.state.start,r=this.parseIdentifier(!0),i=null;\"type\"===r.name?i=\"type\":\"typeof\"===r.name&&(i=\"typeof\");var o=!1;if(this.isContextual(\"as\")){var a=this.parseIdentifier(!0);null===i||this.match(C.name)||this.state.type.keyword?(t.imported=r,t.importKind=null,t.local=this.parseIdentifier()):(t.imported=a,t.importKind=i,t.local=a.__clone())}else null!==i&&(this.match(C.name)||this.state.type.keyword)?(t.imported=this.parseIdentifier(!0),t.importKind=i,this.eatContextual(\"as\")?t.local=this.parseIdentifier():(o=!0,t.local=t.imported.__clone())):(o=!0,t.imported=r,t.importKind=null,t.local=t.imported.__clone());\"type\"!==e.importKind&&\"typeof\"!==e.importKind||\"type\"!==t.importKind&&\"typeof\"!==t.importKind||this.raise(n,\"`The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements`\"),o&&this.checkReservedWord(t.local.name,t.start,!0,!0),this.checkLVal(t.local,!0,void 0,\"import specifier\"),e.specifiers.push(this.finishNode(t,\"ImportSpecifier\"))}})),e.extend(\"parseFunctionParams\",(function(e){return function(t){this.isRelational(\"<\")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),e.call(this,t)}})),e.extend(\"parseVarHead\",(function(e){return function(t){e.call(this,t),this.match(C.colon)&&(t.id.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(t.id,t.id.type))}})),e.extend(\"parseAsyncArrowFromCallExpression\",(function(e){return function(t,n){if(this.match(C.colon)){var r=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0,t.returnType=this.flowParseTypeAnnotation(),this.state.noAnonFunctionType=r}return e.call(this,t,n)}})),e.extend(\"shouldParseAsyncArrow\",(function(e){return function(){return this.match(C.colon)||e.call(this)}})),e.extend(\"parseMaybeAssign\",(function(e){return function(){for(var t=null,n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];if(C.jsxTagStart&&this.match(C.jsxTagStart)){var o=this.state.clone();try{return e.apply(this,r)}catch(e){if(!(e instanceof SyntaxError))throw e;this.state=o,this.state.context.length-=2,t=e}}if(null!=t||this.isRelational(\"<\")){var a=void 0,s=void 0;try{s=this.flowParseTypeParameterDeclaration(),(a=e.apply(this,r)).typeParameters=s,a.start=s.start,a.loc.start=s.loc.start}catch(e){throw t||e}if(\"ArrowFunctionExpression\"===a.type)return a;if(null!=t)throw t;this.raise(s.start,\"Expected an arrow function after this type parameter declaration\")}return e.apply(this,r)}})),e.extend(\"parseArrow\",(function(e){return function(t){if(this.match(C.colon)){var n=this.state.clone();try{var r=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;var i=this.flowParseTypeAndPredicateAnnotation();this.state.noAnonFunctionType=r,this.canInsertSemicolon()&&this.unexpected(),this.match(C.arrow)||this.unexpected(),t.returnType=i}catch(e){if(!(e instanceof SyntaxError))throw e;this.state=n}}return e.call(this,t)}})),e.extend(\"shouldParseArrow\",(function(e){return function(){return this.match(C.colon)||e.call(this)}}))},z.jsx=function(e){e.extend(\"parseExprAtom\",(function(e){return function(t){if(this.match(C.jsxText)){var n=this.parseLiteral(this.state.value,\"JSXText\");return n.extra=null,n}return this.match(C.jsxTagStart)?this.jsxParseElement():e.call(this,t)}})),e.extend(\"readToken\",(function(e){return function(t){if(this.state.inPropertyName)return e.call(this,t);var n=this.curContext();if(n===N.j_expr)return this.jsxReadToken();if(n===N.j_oTag||n===N.j_cTag){if(d(t))return this.jsxReadWord();if(62===t)return++this.state.pos,this.finishToken(C.jsxTagEnd);if((34===t||39===t)&&n===N.j_oTag)return this.jsxReadString(t)}return 60===t&&this.state.exprAllowed?(++this.state.pos,this.finishToken(C.jsxTagStart)):e.call(this,t)}})),e.extend(\"updateContext\",(function(e){return function(t){if(this.match(C.braceL)){var n=this.curContext();n===N.j_oTag?this.state.context.push(N.braceExpression):n===N.j_expr?this.state.context.push(N.templateQuasi):e.call(this,t),this.state.exprAllowed=!0}else{if(!this.match(C.slash)||t!==C.jsxTagStart)return e.call(this,t);this.state.context.length-=2,this.state.context.push(N.j_cTag),this.state.exprAllowed=!1}}}))},t.parse=function(e,t){return new U(t,e).parse()},t.parseExpression=function(e,t){var n=new U(t,e);return n.options.strictMode&&(n.state.strict=!0),n.getExpression()},t.tokTypes=C},function(e,t,n){\"use strict\";var r=n(21),i=n(431),o=n(141),a=n(150)(\"IE_PROTO\"),s=function(){},u=function(){var e,t=n(230)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(426).appendChild(t),t.src=\"javascript:\",(e=t.contentWindow.document).open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),u=e.F;r--;)delete u.prototype[o[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:i(n,t)}},function(e,t){\"use strict\";t.f={}.propertyIsEnumerable},function(e,t){\"use strict\";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){\"use strict\";var r=n(23).f,i=n(28),o=n(13)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},function(e,t,n){\"use strict\";var r=n(140);e.exports=function(e){return Object(r(e))}},function(e,t){\"use strict\";var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t){},function(e,t,n){\"use strict\";t.ast=n(461),t.code=n(240),t.keyword=n(462)},function(e,t,n){\"use strict\";var r=n(546),i=n(547),o=n(548),a=n(549),s=n(550);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){\"use strict\";var r=n(98),i=n(565),o=n(566),a=n(567),s=n(568),u=n(569);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},function(e,t,n){\"use strict\";var r=n(46);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){\"use strict\";var r=n(110),i=n(560),o=n(563);e.exports=function(e,t){return o(i(e,t,r),e+\"\")}},function(e,t){\"use strict\";e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){\"use strict\";var r=n(101),i=n(172);e.exports=function(e){return r((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=e.length>3&&\"function\"==typeof a?(o--,a):void 0,s&&i(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),t=Object(t);++r<o;){var u=n[r];u&&e(t,u,r,a)}return t}))}},function(e,t,n){\"use strict\";var r=n(544);e.exports=function(e,t){var n=e.__data__;return r(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}},function(e,t){\"use strict\";var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||n)}},function(e,t,n){\"use strict\";var r=n(38)(Object,\"create\");e.exports=r},function(e,t){\"use strict\";e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},function(e,t,n){\"use strict\";var r=n(62);e.exports=function(e){if(\"string\"==typeof e||r(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},function(e,t,n){\"use strict\";var r=n(164);e.exports=function(e){return r(e,4)}},function(e,t){\"use strict\";e.exports=function(e){return e}},function(e,t,n){\"use strict\";var r=n(166),i=n(24),o=n(587),a=n(48),s=n(280),u=Math.max;e.exports=function(e,t,n,l){e=i(e)?e:s(e),n=n&&!l?a(n):0;var c=e.length;return n<0&&(n=u(c+n,0)),o(e)?n<=c&&e.indexOf(t,n)>-1:!!c&&r(e,t,n)>-1}},function(e,t,n){\"use strict\";var r=n(493),i=n(25),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=u},function(e,t,n){(function(e){\"use strict\";var r=\"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},i=n(17),o=n(596),a=\"object\"==r(t)&&t&&!t.nodeType&&t,s=a&&\"object\"==r(e)&&e&&!e.nodeType&&e,u=s&&s.exports===a?i.Buffer:void 0,l=(u?u.isBuffer:void 0)||o;e.exports=l}).call(t,n(39)(e))},function(e,t,n){\"use strict\";var r=n(253);e.exports=function(e){return null==e?\"\":r(e)}},96,function(e,t,n){\"use strict\";t.__esModule=!0,t.runtimeProperty=function(e){return r.memberExpression(r.identifier(\"regeneratorRuntime\"),r.identifier(e),!1)},t.isReference=function(e){return e.isReferenced()||e.parentPath.isAssignmentExpression({left:e.node})},t.replaceWithOrRemove=function(e,t){t?e.replaceWith(t):e.remove()};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1))},function(e,t,n){(function(e,r){\"use strict\";var i=\"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},o=/%[sdj%]/g;t.format=function(e){if(!g(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(u(arguments[n]));return t.join(\" \")}n=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if(\"%%\"===e)return\"%\";if(n>=i)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}})),s=r[n];n<i;s=r[++n])y(s)||!_(s)?a+=\" \"+s:a+=\" \"+u(s);return a},t.deprecate=function(n,i){if(b(e.process))return function(){return t.deprecate(n,i).apply(this,arguments)};if(!0===r.noDeprecation)return n;var o=!1;return function(){if(!o){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),o=!0}return n.apply(this,arguments)}};var a,s={};function u(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),m(n)?r.showHidden=n:n&&t._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),f(r,e,r.depth)}function l(e,t){var n=u.styles[t];return n?\"\u001b[\"+u.colors[n][0]+\"m\"+e+\"\u001b[\"+u.colors[n][1]+\"m\":e}function c(e,t){return e}function f(e,n,r){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return g(i)||(i=f(e,i,r)),i}var o=function(e,t){if(b(t))return e.stylize(\"undefined\",\"undefined\");if(g(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}return v(t)?e.stylize(\"\"+t,\"number\"):m(t)?e.stylize(\"\"+t,\"boolean\"):y(t)?e.stylize(\"null\",\"null\"):void 0}(e,n);if(o)return o;var a=Object.keys(n),s=function(e){var t={};return e.forEach((function(e,n){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),E(n)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return p(n);if(0===a.length){if(S(n)){var u=n.name?\": \"+n.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(x(n))return e.stylize(RegExp.prototype.toString.call(n),\"regexp\");if(w(n))return e.stylize(Date.prototype.toString.call(n),\"date\");if(E(n))return p(n)}var l,c=\"\",_=!1,k=[\"{\",\"}\"];return h(n)&&(_=!0,k=[\"[\",\"]\"]),S(n)&&(c=\" [Function\"+(n.name?\": \"+n.name:\"\")+\"]\"),x(n)&&(c=\" \"+RegExp.prototype.toString.call(n)),w(n)&&(c=\" \"+Date.prototype.toUTCString.call(n)),E(n)&&(c=\" \"+p(n)),0!==a.length||_&&0!=n.length?r<0?x(n)?e.stylize(RegExp.prototype.toString.call(n),\"regexp\"):e.stylize(\"[Object]\",\"special\"):(e.seen.push(n),l=_?function(e,t,n,r,i){for(var o=[],a=0,s=t.length;a<s;++a)D(t,String(a))?o.push(d(e,t,n,r,String(a),!0)):o.push(\"\");return i.forEach((function(i){i.match(/^\\d+$/)||o.push(d(e,t,n,r,i,!0))})),o}(e,n,r,s,a):a.map((function(t){return d(e,n,r,s,t,_)})),e.seen.pop(),function(e,t,n){return e.reduce((function(e,t){return t.indexOf(\"\\n\"),e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1}),0)>60?n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1]:n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}(l,c,k)):k[0]+c+k[1]}function p(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function d(e,t,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=u.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):u.set&&(s=e.stylize(\"[Setter]\",\"special\")),D(r,i)||(a=\"[\"+i+\"]\"),s||(e.seen.indexOf(u.value)<0?(s=y(n)?f(e,u.value,null):f(e,u.value,n-1)).indexOf(\"\\n\")>-1&&(s=o?s.split(\"\\n\").map((function(e){return\"  \"+e})).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map((function(e){return\"   \"+e})).join(\"\\n\")):s=e.stylize(\"[Circular]\",\"special\")),b(a)){if(o&&i.match(/^\\d+$/))return s;(a=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function h(e){return Array.isArray(e)}function m(e){return\"boolean\"==typeof e}function y(e){return null===e}function v(e){return\"number\"==typeof e}function g(e){return\"string\"==typeof e}function b(e){return void 0===e}function x(e){return _(e)&&\"[object RegExp]\"===k(e)}function _(e){return\"object\"===(void 0===e?\"undefined\":i(e))&&null!==e}function w(e){return _(e)&&\"[object Date]\"===k(e)}function E(e){return _(e)&&(\"[object Error]\"===k(e)||e instanceof Error)}function S(e){return\"function\"==typeof e}function k(e){return Object.prototype.toString.call(e)}function A(e){return e<10?\"0\"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(b(a)&&(a=r.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!s[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(a)){var n=r.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error(\"%s %d: %s\",e,n,r)}}else s[e]=function(){};return s[e]},t.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.isArray=h,t.isBoolean=m,t.isNull=y,t.isNullOrUndefined=function(e){return null==e},t.isNumber=v,t.isString=g,t.isSymbol=function(e){return\"symbol\"===(void 0===e?\"undefined\":i(e))},t.isUndefined=b,t.isRegExp=x,t.isObject=_,t.isDate=w,t.isError=E,t.isFunction=S,t.isPrimitive=function(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"===(void 0===e?\"undefined\":i(e))||void 0===e},t.isBuffer=n(627);var C=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function T(){var e=new Date,t=[A(e.getHours()),A(e.getMinutes()),A(e.getSeconds())].join(\":\");return[e.getDate(),C[e.getMonth()],t].join(\" \")}function D(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log(\"%s - %s\",T(),t.format.apply(t,arguments))},t.inherits=n(626),t._extend=function(e,t){if(!t||!_(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,function(){return this}(),n(8))},function(e,t,n){(function(r){\"use strict\";t.__esModule=!0;var i=s(n(11));t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.cwd();if(\"object\"===(void 0===o.default?\"undefined\":(0,i.default)(o.default)))return null;var n=u[t];if(!n){n=new o.default;var s=a.default.join(t,\".babelrc\");n.id=s,n.filename=s,n.paths=o.default._nodeModulePaths(t),u[t]=n}try{return o.default._resolveFilename(e,n)}catch(e){return null}};var o=s(n(115)),a=s(n(19));function s(e){return e&&e.__esModule?e:{default:e}}var u={};e.exports=t.default}).call(t,n(8))},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(133)),i=s(n(3)),o=s(n(42)),a=s(n(41));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(){(0,i.default)(this,t);var n=(0,o.default)(this,e.call(this));return n.dynamicData={},n}return(0,a.default)(t,e),t.prototype.setDynamic=function(e,t){this.dynamicData[e]=t},t.prototype.get=function(t){if(this.has(t))return e.prototype.get.call(this,t);if(Object.prototype.hasOwnProperty.call(this.dynamicData,t)){var n=this.dynamicData[t]();return this.set(t,n),n}},t}(r.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(3)),i=o(n(239));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,i.default)(\"babel:verbose\"),s=(0,i.default)(\"babel\"),u=[],l=function(){function e(t,n){(0,r.default)(this,e),this.filename=n,this.file=t}return e.prototype._buildMessage=function(e){var t=\"[BABEL] \"+this.filename;return e&&(t+=\": \"+e),t},e.prototype.warn=function(e){console.warn(this._buildMessage(e))},e.prototype.error=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Error;throw new t(this._buildMessage(e))},e.prototype.deprecate=function(e){this.file.opts&&this.file.opts.suppressDeprecationMessages||(e=this._buildMessage(e),u.indexOf(e)>=0||(u.push(e),console.error(e)))},e.prototype.verbose=function(e){a.enabled&&a(this._buildMessage(e))},e.prototype.debug=function(e){s.enabled&&s(this._buildMessage(e))},e.prototype.deopt=function(e,t){this.debug(t)},e}();t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.ImportDeclaration=t.ModuleDeclaration=void 0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.ExportDeclaration=function(e,t){var n=e.node,r=n.source?n.source.value:null,a=t.metadata.modules.exports,s=e.get(\"declaration\");if(s.isStatement()){var u=s.getBindingIdentifiers();for(var l in u)a.exported.push(l),a.specifiers.push({kind:\"local\",local:l,exported:e.isExportDefaultDeclaration()?\"default\":l})}if(e.isExportNamedDeclaration()&&n.specifiers){var c=n.specifiers,f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}var h=d,m=h.exported.name;a.exported.push(m),o.isExportDefaultSpecifier(h)&&a.specifiers.push({kind:\"external\",local:m,exported:m,source:r}),o.isExportNamespaceSpecifier(h)&&a.specifiers.push({kind:\"external-namespace\",exported:m,source:r});var y=h.local;y&&(r&&a.specifiers.push({kind:\"external\",local:y.name,exported:m,source:r}),r||a.specifiers.push({kind:\"local\",local:y.name,exported:m}))}}e.isExportAllDeclaration()&&a.specifiers.push({kind:\"external-all\",source:r})},t.Scope=function(e){e.skip()};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));t.ModuleDeclaration={enter:function(e,t){var n=e.node;n.source&&(n.source.value=t.resolveModuleSource(n.source.value))}},t.ImportDeclaration={exit:function(e,t){var n=e.node,r=[],o=[];t.metadata.modules.imports.push({source:n.source.value,imported:o,specifiers:r});var a=e.get(\"specifiers\"),s=Array.isArray(a),u=0;for(a=s?a:(0,i.default)(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l,f=c.node.local.name;if(c.isImportDefaultSpecifier()&&(o.push(\"default\"),r.push({kind:\"named\",imported:\"default\",local:f})),c.isImportSpecifier()){var p=c.node.imported.name;o.push(p),r.push({kind:\"named\",imported:p,local:f})}c.isImportNamespaceSpecifier()&&(o.push(\"*\"),r.push({kind:\"namespace\",local:f}))}}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.inspect=t.inherits=void 0;var r=p(n(2)),i=n(117);Object.defineProperty(t,\"inherits\",{enumerable:!0,get:function(){return i.inherits}}),Object.defineProperty(t,\"inspect\",{enumerable:!0,get:function(){return i.inspect}}),t.canCompile=d,t.list=h,t.regexify=function(e){if(!e)return new RegExp(/.^/);if(Array.isArray(e)&&(e=new RegExp(e.map(o.default).join(\"|\"),\"i\")),\"string\"==typeof e){e=(0,f.default)(e),((0,a.default)(e,\"./\")||(0,a.default)(e,\"*/\"))&&(e=e.slice(2)),(0,a.default)(e,\"**/\")&&(e=e.slice(3));var t=s.default.makeRe(e,{nocase:!0});return new RegExp(t.source.slice(1,-1),\"i\")}if((0,l.default)(e))return e;throw new TypeError(\"illegal type for regexify\")},t.arrayify=function e(t,n){return t?\"boolean\"==typeof t?e([t],n):\"string\"==typeof t?e(h(t),n):Array.isArray(t)?(n&&(t=t.map(n)),t):[t]:[]},t.booleanify=function(e){return\"true\"===e||1==e||!(\"false\"===e||0==e||!e)&&e},t.shouldIgnore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments[2];if(e=e.replace(/\\\\/g,\"/\"),n){var i=n,o=Array.isArray(i),a=0;for(i=o?i:(0,r.default)(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if((a=i.next()).done)break;s=a.value}var u=s;if(m(u,e))return!1}return!0}if(t.length){var l=t,c=Array.isArray(l),f=0;for(l=c?l:(0,r.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;if(m(d,e))return!0}}return!1};var o=p(n(577)),a=p(n(595)),s=p(n(601)),u=p(n(111)),l=p(n(276)),c=p(n(19)),f=p(n(284));function p(e){return e&&e.__esModule?e:{default:e}}function d(e,t){var n=t||d.EXTENSIONS,r=c.default.extname(e);return(0,u.default)(n,r)}function h(e){return e?Array.isArray(e)?e:\"string\"==typeof e?e.split(\",\"):[e]:[]}function m(e,t){return\"function\"==typeof e?e(t):e.test(t)}d.EXTENSIONS=[\".js\",\".jsx\",\".es6\",\".es\"]},function(e,t,n){\"use strict\";t.__esModule=!0,t.ArrayPattern=t.ObjectPattern=t.RestProperty=t.SpreadProperty=t.SpreadElement=void 0,t.Identifier=function(e){e.variance&&(\"plus\"===e.variance?this.token(\"+\"):\"minus\"===e.variance&&this.token(\"-\")),this.word(e.name)},t.RestElement=a,t.ObjectExpression=s,t.ObjectMethod=function(e){this.printJoin(e.decorators,e),this._method(e)},t.ObjectProperty=function(e){if(this.printJoin(e.decorators,e),e.computed)this.token(\"[\"),this.print(e.key,e),this.token(\"]\");else{if(i.isAssignmentPattern(e.value)&&i.isIdentifier(e.key)&&e.key.name===e.value.left.name)return void this.print(e.value,e);if(this.print(e.key,e),e.shorthand&&i.isIdentifier(e.key)&&i.isIdentifier(e.value)&&e.key.name===e.value.name)return}this.token(\":\"),this.space(),this.print(e.value,e)},t.ArrayExpression=u,t.RegExpLiteral=function(e){this.word(\"/\"+e.pattern+\"/\"+e.flags)},t.BooleanLiteral=function(e){this.word(e.value?\"true\":\"false\")},t.NullLiteral=function(){this.word(\"null\")},t.NumericLiteral=function(e){var t=this.getPossibleRaw(e),n=e.value+\"\";null==t?this.number(n):this.format.minified?this.number(t.length<n.length?t:n):this.number(t)},t.StringLiteral=function(e,t){var n=this.getPossibleRaw(e);if(this.format.minified||null==n){var r={quotes:i.isJSX(t)?\"double\":this.format.quotes,wrap:!0};this.format.jsonCompatibleStrings&&(r.json=!0);var a=(0,o.default)(e.value,r);return this.token(a)}this.token(n)};var r,i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),o=(r=n(469))&&r.__esModule?r:{default:r};function a(e){this.token(\"...\"),this.print(e.argument,e)}function s(e){var t=e.properties;this.token(\"{\"),this.printInnerComments(e),t.length&&(this.space(),this.printList(t,e,{indent:!0,statement:!0}),this.space()),this.token(\"}\")}function u(e){var t=e.elements,n=t.length;this.token(\"[\"),this.printInnerComments(e);for(var r=0;r<t.length;r++){var i=t[r];i?(r>0&&this.space(),this.print(i,e),r<n-1&&this.token(\",\")):this.token(\",\")}this.token(\"]\")}t.SpreadElement=a,t.SpreadProperty=a,t.RestProperty=a,t.ObjectPattern=s,t.ArrayPattern=u},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){n||(n={wrapAsync:t},t=null),e.traverse(c,{file:t,wrapAwait:n.wrapAwait}),e.isClassMethod()||e.isObjectMethod()?function(e,t){var n=e.node,r=n.body;n.async=!1;var i=o.functionExpression(null,[],o.blockStatement(r.body),!0);i.shadow=!0,r.body=[o.returnStatement(o.callExpression(o.callExpression(t,[i]),[]))],n.generator=!1}(e,n.wrapAsync):function(e,t){var n=e.node,i=e.isFunctionDeclaration(),a=n.id,s=u;e.isArrowFunctionExpression()?e.arrowFunctionToShadowed():!i&&a&&(s=l),n.async=!1,n.generator=!0,n.id=null,i&&(n.type=\"FunctionExpression\");var c=o.callExpression(t,[n]),f=s({NAME:a,REF:e.scope.generateUidIdentifier(\"ref\"),FUNCTION:c,PARAMS:n.params.reduce((function(t,n){return t.done=t.done||o.isAssignmentPattern(n)||o.isRestElement(n),t.done||t.params.push(e.scope.generateUidIdentifier(\"x\")),t}),{params:[],done:!1}).params}).expression;if(i){var p=o.variableDeclaration(\"let\",[o.variableDeclarator(o.identifier(a.name),o.callExpression(f,[]))]);p._blockHoist=!0,e.replaceWith(p)}else{var d=f.body.body[1].argument;a||(0,r.default)({node:d,parent:e.parent,scope:e.scope}),!d||d.id||n.params.length?e.replaceWith(o.callExpression(f,[])):e.replaceWith(c)}}(e,n.wrapAsync)};var r=s(n(40)),i=s(n(4)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),a=s(n(320));function s(e){return e&&e.__esModule?e:{default:e}}var u=(0,i.default)(\"\\n  (() => {\\n    var REF = FUNCTION;\\n    return function NAME(PARAMS) {\\n      return REF.apply(this, arguments);\\n    };\\n  })\\n\"),l=(0,i.default)(\"\\n  (() => {\\n    var REF = FUNCTION;\\n    function NAME(PARAMS) {\\n      return REF.apply(this, arguments);\\n    }\\n    return NAME;\\n  })\\n\"),c={Function:function(e){!e.isArrowFunctionExpression()||e.node.async?e.skip():e.arrowFunctionToShadowed()},AwaitExpression:function(e,t){var n=e.node,r=t.wrapAwait;n.type=\"YieldExpression\",r&&(n.argument=o.callExpression(r,[n.argument]))},ForAwaitStatement:function(e,t){var n=t.file,r=t.wrapAwait,i=e.node,s=(0,a.default)(e,{getAsyncIterator:n.addHelper(\"asyncIterator\"),wrapAwait:r}),u=s.declar,l=s.loop,c=l.body;e.ensureBlock(),u&&c.body.push(u),c.body=c.body.concat(i.body.body),o.inherits(l,i),o.inherits(l.body,i.body),s.replaceParent?(e.parentPath.replaceWithMultiple(s.node),e.remove()):e.replaceWithMultiple(s.node)}};e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"decorators\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"flow\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"jsx\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"trailingFunctionCommas\")}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{inherits:n(67),visitor:{Function:function(e,t){e.node.async&&!e.node.generator&&(0,i.default)(e,t.file,{wrapAsync:t.addHelper(\"asyncToGenerator\")})}}}};var r,i=(r=n(124))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(2)),i=a(n(9));t.default=function(){return{visitor:{ObjectExpression:function(e){var t,n=e.node.properties.filter((function(e){return!o.isSpreadProperty(e)&&!e.computed})),a=(0,i.default)(null),s=(0,i.default)(null),u=(0,i.default)(null),l=n,c=Array.isArray(l),f=0;for(l=c?l:(0,r.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p,h=(t=d.key,o.isIdentifier(t)?t.name:t.value.toString()),m=!1;switch(d.kind){case\"get\":(a[h]||s[h])&&(m=!0),s[h]=!0;break;case\"set\":(a[h]||u[h])&&(m=!0),u[h]=!0;break;default:(a[h]||s[h]||u[h])&&(m=!0),a[h]=!0}m&&(d.computed=!0,d.key=o.stringLiteral(h))}}}}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(9));t.default=function(e){var t=e.types;function i(e){if(!e.isCallExpression())return!1;if(!e.get(\"callee\").isIdentifier({name:\"require\"}))return!1;if(e.scope.getBinding(\"require\"))return!1;var t=e.get(\"arguments\");return 1===t.length&&!!t[0].isStringLiteral()}var o={ReferencedIdentifier:function(e){var t=e.node,n=e.scope;\"exports\"!==t.name||n.getBinding(\"exports\")||(this.hasExports=!0),\"module\"!==t.name||n.getBinding(\"module\")||(this.hasModule=!0)},CallExpression:function(e){i(e)&&(this.bareSources.push(e.node.arguments[0]),e.remove())},VariableDeclarator:function(e){var t=e.get(\"id\");if(t.isIdentifier()){var n=e.get(\"init\");if(i(n)){var r=n.node.arguments[0];this.sourceNames[r.value]=!0,this.sources.push([t.node,r]),e.remove()}}}};return{inherits:n(77),pre:function(){this.sources=[],this.sourceNames=(0,r.default)(null),this.bareSources=[],this.hasExports=!1,this.hasModule=!1},visitor:{Program:{exit:function(e){var n=this;if(!this.ran){this.ran=!0,e.traverse(o,this);var r=this.sources.map((function(e){return e[0]})),i=this.sources.map((function(e){return e[1]}));i=i.concat(this.bareSources.filter((function(e){return!n.sourceNames[e.value]})));var u=this.getModuleName();u&&(u=t.stringLiteral(u)),this.hasExports&&(i.unshift(t.stringLiteral(\"exports\")),r.unshift(t.identifier(\"exports\"))),this.hasModule&&(i.unshift(t.stringLiteral(\"module\")),r.unshift(t.identifier(\"module\")));var l=e.node,c=s({PARAMS:r,BODY:l.body});c.expression.body.directives=l.directives,l.directives=[],l.body=[a({MODULE_NAME:u,SOURCES:i,FACTORY:c})]}}}}}};var i=o(n(4));function o(e){return e&&e.__esModule?e:{default:e}}var a=(0,i.default)(\"\\n  define(MODULE_NAME, [SOURCES], FACTORY);\\n\"),s=(0,i.default)(\"\\n  (function (PARAMS) {\\n    BODY;\\n  })\\n\");e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{inherits:n(199),visitor:(0,i.default)({operator:\"**\",build:function(e,n){return t.callExpression(t.memberExpression(t.identifier(\"Math\"),t.identifier(\"pow\")),[e,n])}})}};var r,i=(r=n(316))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";e.exports={default:n(406),__esModule:!0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=b(n(14)),i=b(n(9)),o=b(n(133)),a=b(n(3)),s=b(n(2)),u=b(n(111)),l=b(n(278)),c=b(n(383)),f=b(n(7)),p=b(n(273)),d=g(n(20)),h=b(n(225)),m=b(n(463)),y=g(n(1)),v=n(88);function g(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function b(e){return e&&e.__esModule?e:{default:e}}var x=0;function _(e,t){if(y.isModuleDeclaration(e))if(e.source)_(e.source,t);else if(e.specifiers&&e.specifiers.length){var n=e.specifiers,r=Array.isArray(n),i=0;for(n=r?n:(0,s.default)(n);;){var o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}_(o,t)}}else e.declaration&&_(e.declaration,t);else if(y.isModuleSpecifier(e))_(e.local,t);else if(y.isMemberExpression(e))_(e.object,t),_(e.property,t);else if(y.isIdentifier(e))t.push(e.name);else if(y.isLiteral(e))t.push(e.value);else if(y.isCallExpression(e))_(e.callee,t);else if(y.isObjectExpression(e)||y.isObjectPattern(e)){var a=e.properties,u=Array.isArray(a),l=0;for(a=u?a:(0,s.default)(a);;){var c;if(u){if(l>=a.length)break;c=a[l++]}else{if((l=a.next()).done)break;c=l.value}var f=c;_(f.key||f.argument,t)}}}var w={For:function(e){var t=y.FOR_INIT_KEYS,n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if((r=t.next()).done)break;i=r.value}var o=i,a=e.get(o);a.isVar()&&e.scope.getFunctionParent().registerBinding(\"var\",a)}},Declaration:function(e){e.isBlockScoped()||e.isExportDeclaration()&&e.get(\"declaration\").isDeclaration()||e.scope.getFunctionParent().registerDeclaration(e)},ReferencedIdentifier:function(e,t){t.references.push(e)},ForXStatement:function(e,t){var n=e.get(\"left\");(n.isPattern()||n.isIdentifier())&&t.constantViolations.push(n)},ExportDeclaration:{exit:function(e){var t=e.node,n=e.scope,r=t.declaration;if(y.isClassDeclaration(r)||y.isFunctionDeclaration(r)){var i=r.id;if(!i)return;var o=n.getBinding(i.name);o&&o.reference(e)}else if(y.isVariableDeclaration(r)){var a=r.declarations,u=Array.isArray(a),l=0;for(a=u?a:(0,s.default)(a);;){var c;if(u){if(l>=a.length)break;c=a[l++]}else{if((l=a.next()).done)break;c=l.value}var f=c,p=y.getBindingIdentifiers(f);for(var d in p){var h=n.getBinding(d);h&&h.reference(e)}}}}},LabeledStatement:function(e){e.scope.getProgramParent().addGlobal(e.node),e.scope.getBlockParent().registerDeclaration(e)},AssignmentExpression:function(e,t){t.assignments.push(e)},UpdateExpression:function(e,t){t.constantViolations.push(e.get(\"argument\"))},UnaryExpression:function(e,t){\"delete\"===e.node.operator&&t.constantViolations.push(e.get(\"argument\"))},BlockScoped:function(e){var t=e.scope;t.path===e&&(t=t.parent),t.getBlockParent().registerDeclaration(e)},ClassDeclaration:function(e){var t=e.node.id;if(t){var n=t.name;e.scope.bindings[n]=e.scope.getBinding(n)}},Block:function(e){var t=e.get(\"body\"),n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if((r=t.next()).done)break;i=r.value}var o=i;o.isFunctionDeclaration()&&e.scope.getBlockParent().registerDeclaration(o)}}},E=0,S=function(){function e(t,n){if((0,a.default)(this,e),n&&n.block===t.node)return n;var r=function(e,t,n){var r=v.scope.get(e.node)||[],i=r,o=Array.isArray(i),a=0;for(i=o?i:(0,s.default)(i);;){var u;if(o){if(a>=i.length)break;u=i[a++]}else{if((a=i.next()).done)break;u=a.value}var l=u;if(l.parent===t&&l.path===e)return l}r.push(n),v.scope.has(e.node)||v.scope.set(e.node,r)}(t,n,this);if(r)return r;this.uid=E++,this.parent=n,this.hub=t.hub,this.parentBlock=t.parent,this.block=t.node,this.path=t,this.labels=new o.default}return e.prototype.traverse=function(e,t,n){(0,f.default)(e,t,this,n,this.path)},e.prototype.generateDeclaredUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"temp\",t=this.generateUidIdentifier(e);return this.push({id:t}),t},e.prototype.generateUidIdentifier=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"temp\";return y.identifier(this.generateUid(e))},e.prototype.generateUid=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"temp\";e=y.toIdentifier(e).replace(/^_+/,\"\").replace(/[0-9]+$/g,\"\");var t=void 0,n=0;do{t=this._generateUid(e,n),n++}while(this.hasLabel(t)||this.hasBinding(t)||this.hasGlobal(t)||this.hasReference(t));var r=this.getProgramParent();return r.references[t]=!0,r.uids[t]=!0,t},e.prototype._generateUid=function(e,t){var n=e;return t>1&&(n+=t),\"_\"+n},e.prototype.generateUidIdentifierBasedOnNode=function(e,t){var n=e;y.isAssignmentExpression(e)?n=e.left:y.isVariableDeclarator(e)?n=e.id:(y.isObjectProperty(n)||y.isObjectMethod(n))&&(n=n.key);var r=[];_(n,r);var i=r.join(\"$\");return i=i.replace(/^_/,\"\")||t||\"ref\",this.generateUidIdentifier(i.slice(0,20))},e.prototype.isStatic=function(e){if(y.isThisExpression(e)||y.isSuper(e))return!0;if(y.isIdentifier(e)){var t=this.getBinding(e.name);return t?t.constant:this.hasBinding(e.name)}return!1},e.prototype.maybeGenerateMemoised=function(e,t){if(this.isStatic(e))return null;var n=this.generateUidIdentifierBasedOnNode(e);return t||this.push({id:n}),n},e.prototype.checkBlockScopedCollisions=function(e,t,n,r){if(\"param\"!==t&&!(\"hoisted\"===t&&\"let\"===e.kind||\"let\"!==t&&\"let\"!==e.kind&&\"const\"!==e.kind&&\"module\"!==e.kind&&(\"param\"!==e.kind||\"let\"!==t&&\"const\"!==t)))throw this.hub.file.buildCodeFrameError(r,d.get(\"scopeDuplicateDeclaration\",n),TypeError)},e.prototype.rename=function(e,t,n){var r=this.getBinding(e);if(r)return t=t||this.generateUidIdentifier(e).name,new c.default(r,e,t).rename(n)},e.prototype._renameFromMap=function(e,t,n,r){e[t]&&(e[n]=r,e[t]=null)},e.prototype.dump=function(){var e=(0,l.default)(\"-\",60);console.log(e);var t=this;do{for(var n in console.log(\"#\",t.block.type),t.bindings){var r=t.bindings[n];console.log(\" -\",n,{constant:r.constant,references:r.references,violations:r.constantViolations.length,kind:r.kind})}}while(t=t.parent);console.log(e)},e.prototype.toArray=function(e,t){var n=this.hub.file;if(y.isIdentifier(e)){var r=this.getBinding(e.name);if(r&&r.constant&&r.path.isGenericType(\"Array\"))return e}if(y.isArrayExpression(e))return e;if(y.isIdentifier(e,{name:\"arguments\"}))return y.callExpression(y.memberExpression(y.memberExpression(y.memberExpression(y.identifier(\"Array\"),y.identifier(\"prototype\")),y.identifier(\"slice\")),y.identifier(\"call\")),[e]);var i=\"toArray\",o=[e];return!0===t?i=\"toConsumableArray\":t&&(o.push(y.numericLiteral(t)),i=\"slicedToArray\"),y.callExpression(n.addHelper(i),o)},e.prototype.hasLabel=function(e){return!!this.getLabel(e)},e.prototype.getLabel=function(e){return this.labels.get(e)},e.prototype.registerLabel=function(e){this.labels.set(e.node.label.name,e)},e.prototype.registerDeclaration=function(e){if(e.isLabeledStatement())this.registerLabel(e);else if(e.isFunctionDeclaration())this.registerBinding(\"hoisted\",e.get(\"id\"),e);else if(e.isVariableDeclaration()){var t=e.get(\"declarations\"),n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if((r=t.next()).done)break;i=r.value}var o=i;this.registerBinding(e.node.kind,o)}}else if(e.isClassDeclaration())this.registerBinding(\"let\",e);else if(e.isImportDeclaration()){var a=e.get(\"specifiers\"),u=Array.isArray(a),l=0;for(a=u?a:(0,s.default)(a);;){var c;if(u){if(l>=a.length)break;c=a[l++]}else{if((l=a.next()).done)break;c=l.value}var f=c;this.registerBinding(\"module\",f)}}else if(e.isExportDeclaration()){var p=e.get(\"declaration\");(p.isClassDeclaration()||p.isFunctionDeclaration()||p.isVariableDeclaration())&&this.registerDeclaration(p)}else this.registerBinding(\"unknown\",e)},e.prototype.buildUndefinedNode=function(){return this.hasBinding(\"undefined\")?y.unaryExpression(\"void\",y.numericLiteral(0),!0):y.identifier(\"undefined\")},e.prototype.registerConstantViolation=function(e){var t=e.getBindingIdentifiers();for(var n in t){var r=this.getBinding(n);r&&r.reassign(e)}},e.prototype.registerBinding=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;if(!e)throw new ReferenceError(\"no `kind`\");if(t.isVariableDeclaration()){var r=t.get(\"declarations\"),i=r,o=Array.isArray(i),a=0;for(i=o?i:(0,s.default)(i);;){var u;if(o){if(a>=i.length)break;u=i[a++]}else{if((a=i.next()).done)break;u=a.value}var l=u;this.registerBinding(e,l)}}else{var c=this.getProgramParent(),f=t.getBindingIdentifiers(!0);for(var p in f){var d=f[p],m=Array.isArray(d),y=0;for(d=m?d:(0,s.default)(d);;){var v;if(m){if(y>=d.length)break;v=d[y++]}else{if((y=d.next()).done)break;v=y.value}var g=v,b=this.getOwnBinding(p);if(b){if(b.identifier===g)continue;this.checkBlockScopedCollisions(b,e,p,g)}b&&b.path.isFlow()&&(b=null),c.references[p]=!0,this.bindings[p]=new h.default({identifier:g,existing:b,scope:this,path:n,kind:e})}}}},e.prototype.addGlobal=function(e){this.globals[e.name]=e},e.prototype.hasUid=function(e){var t=this;do{if(t.uids[e])return!0}while(t=t.parent);return!1},e.prototype.hasGlobal=function(e){var t=this;do{if(t.globals[e])return!0}while(t=t.parent);return!1},e.prototype.hasReference=function(e){var t=this;do{if(t.references[e])return!0}while(t=t.parent);return!1},e.prototype.isPure=function(e,t){if(y.isIdentifier(e)){var n=this.getBinding(e.name);return!!n&&(!t||n.constant)}if(y.isClass(e))return!(e.superClass&&!this.isPure(e.superClass,t))&&this.isPure(e.body,t);if(y.isClassBody(e)){var r=e.body,i=Array.isArray(r),o=0;for(r=i?r:(0,s.default)(r);;){var a;if(i){if(o>=r.length)break;a=r[o++]}else{if((o=r.next()).done)break;a=o.value}var u=a;if(!this.isPure(u,t))return!1}return!0}if(y.isBinary(e))return this.isPure(e.left,t)&&this.isPure(e.right,t);if(y.isArrayExpression(e)){var l=e.elements,c=Array.isArray(l),f=0;for(l=c?l:(0,s.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;if(!this.isPure(d,t))return!1}return!0}if(y.isObjectExpression(e)){var h=e.properties,m=Array.isArray(h),v=0;for(h=m?h:(0,s.default)(h);;){var g;if(m){if(v>=h.length)break;g=h[v++]}else{if((v=h.next()).done)break;g=v.value}var b=g;if(!this.isPure(b,t))return!1}return!0}return y.isClassMethod(e)?!(e.computed&&!this.isPure(e.key,t))&&\"get\"!==e.kind&&\"set\"!==e.kind:y.isClassProperty(e)||y.isObjectProperty(e)?!(e.computed&&!this.isPure(e.key,t))&&this.isPure(e.value,t):y.isUnaryExpression(e)?this.isPure(e.argument,t):y.isPureish(e)},e.prototype.setData=function(e,t){return this.data[e]=t},e.prototype.getData=function(e){var t=this;do{var n=t.data[e];if(null!=n)return n}while(t=t.parent)},e.prototype.removeData=function(e){var t=this;do{null!=t.data[e]&&(t.data[e]=null)}while(t=t.parent)},e.prototype.init=function(){this.references||this.crawl()},e.prototype.crawl=function(){x++,this._crawl(),x--},e.prototype._crawl=function(){var e=this.path;if(this.references=(0,i.default)(null),this.bindings=(0,i.default)(null),this.globals=(0,i.default)(null),this.uids=(0,i.default)(null),this.data=(0,i.default)(null),e.isLoop()){var t=y.FOR_INIT_KEYS,n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}var a=o,u=e.get(a);u.isBlockScoped()&&this.registerBinding(u.node.kind,u)}}if(e.isFunctionExpression()&&e.has(\"id\")&&(e.get(\"id\").node[y.NOT_LOCAL_BINDING]||this.registerBinding(\"local\",e.get(\"id\"),e)),e.isClassExpression()&&e.has(\"id\")&&(e.get(\"id\").node[y.NOT_LOCAL_BINDING]||this.registerBinding(\"local\",e)),e.isFunction()){var l=e.get(\"params\"),c=Array.isArray(l),f=0;for(l=c?l:(0,s.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;this.registerBinding(\"param\",d)}}if(e.isCatchClause()&&this.registerBinding(\"let\",e),!this.getProgramParent().crawling){var h={references:[],constantViolations:[],assignments:[]};this.crawling=!0,e.traverse(w,h),this.crawling=!1;var m=h.assignments,v=Array.isArray(m),g=0;for(m=v?m:(0,s.default)(m);;){var b;if(v){if(g>=m.length)break;b=m[g++]}else{if((g=m.next()).done)break;b=g.value}var x=b,_=x.getBindingIdentifiers(),E=void 0;for(var S in _)x.scope.getBinding(S)||(E=E||x.scope.getProgramParent()).addGlobal(_[S]);x.scope.registerConstantViolation(x)}var k=h.references,A=Array.isArray(k),C=0;for(k=A?k:(0,s.default)(k);;){var T;if(A){if(C>=k.length)break;T=k[C++]}else{if((C=k.next()).done)break;T=C.value}var D=T,M=D.scope.getBinding(D.node.name);M?M.reference(D):D.scope.getProgramParent().addGlobal(D.node)}var P=h.constantViolations,O=Array.isArray(P),L=0;for(P=O?P:(0,s.default)(P);;){var N;if(O){if(L>=P.length)break;N=P[L++]}else{if((L=P.next()).done)break;N=L.value}var F=N;F.scope.registerConstantViolation(F)}}},e.prototype.push=function(e){var t=this.path;t.isBlockStatement()||t.isProgram()||(t=this.getBlockParent().path),t.isSwitchStatement()&&(t=this.getFunctionParent().path),(t.isLoop()||t.isCatchClause()||t.isFunction())&&(y.ensureBlock(t.node),t=t.get(\"body\"));var n=e.unique,r=e.kind||\"var\",i=null==e._blockHoist?2:e._blockHoist,o=\"declaration:\"+r+\":\"+i,a=!n&&t.getData(o);if(!a){var s=y.variableDeclaration(r,[]);s._generated=!0,s._blockHoist=i,a=t.unshiftContainer(\"body\",[s])[0],n||t.setData(o,a)}var u=y.variableDeclarator(e.id,e.init);a.node.declarations.push(u),this.registerBinding(r,a.get(\"declarations\").pop())},e.prototype.getProgramParent=function(){var e=this;do{if(e.path.isProgram())return e}while(e=e.parent);throw new Error(\"We couldn't find a Function or Program...\")},e.prototype.getFunctionParent=function(){var e=this;do{if(e.path.isFunctionParent())return e}while(e=e.parent);throw new Error(\"We couldn't find a Function or Program...\")},e.prototype.getBlockParent=function(){var e=this;do{if(e.path.isBlockParent())return e}while(e=e.parent);throw new Error(\"We couldn't find a BlockStatement, For, Switch, Function, Loop or Program...\")},e.prototype.getAllBindings=function(){var e=(0,i.default)(null),t=this;do{(0,p.default)(e,t.bindings),t=t.parent}while(t);return e},e.prototype.getAllBindingsOfKind=function(){var e=(0,i.default)(null),t=arguments,n=Array.isArray(t),r=0;for(t=n?t:(0,s.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}var a=o,u=this;do{for(var l in u.bindings){var c=u.bindings[l];c.kind===a&&(e[l]=c)}u=u.parent}while(u)}return e},e.prototype.bindingIdentifierEquals=function(e,t){return this.getBindingIdentifier(e)===t},e.prototype.warnOnFlowBinding=function(e){return 0===x&&e&&e.path.isFlow()&&console.warn(\"\\n        You or one of the Babel plugins you are using are using Flow declarations as bindings.\\n        Support for this will be removed in version 7. To find out the caller, grep for this\\n        message and change it to a `console.trace()`.\\n      \"),e},e.prototype.getBinding=function(e){var t=this;do{var n=t.getOwnBinding(e);if(n)return this.warnOnFlowBinding(n)}while(t=t.parent)},e.prototype.getOwnBinding=function(e){return this.warnOnFlowBinding(this.bindings[e])},e.prototype.getBindingIdentifier=function(e){var t=this.getBinding(e);return t&&t.identifier},e.prototype.getOwnBindingIdentifier=function(e){var t=this.bindings[e];return t&&t.identifier},e.prototype.hasOwnBinding=function(e){return!!this.getOwnBinding(e)},e.prototype.hasBinding=function(t,n){return!(!t||!this.hasOwnBinding(t)&&!this.parentHasBinding(t,n)&&!this.hasUid(t)&&(n||!(0,u.default)(e.globals,t))&&(n||!(0,u.default)(e.contextVariables,t)))},e.prototype.parentHasBinding=function(e,t){return this.parent&&this.parent.hasBinding(e,t)},e.prototype.moveBindingTo=function(e,t){var n=this.getBinding(e);n&&(n.scope.removeOwnBinding(e),n.scope=t,t.bindings[e]=n)},e.prototype.removeOwnBinding=function(e){delete this.bindings[e]},e.prototype.removeBinding=function(e){var t=this.getBinding(e);t&&t.scope.removeOwnBinding(e);var n=this;do{n.uids[e]&&(n.uids[e]=!1)}while(n=n.parent)},e}();S.globals=(0,r.default)(m.default.builtin),S.contextVariables=[\"arguments\",\"undefined\",\"Infinity\",\"NaN\"],t.default=S,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.NOT_LOCAL_BINDING=t.BLOCK_SCOPED_SYMBOL=t.INHERIT_KEYS=t.UNARY_OPERATORS=t.STRING_UNARY_OPERATORS=t.NUMBER_UNARY_OPERATORS=t.BOOLEAN_UNARY_OPERATORS=t.BINARY_OPERATORS=t.NUMBER_BINARY_OPERATORS=t.BOOLEAN_BINARY_OPERATORS=t.COMPARISON_BINARY_OPERATORS=t.EQUALITY_BINARY_OPERATORS=t.BOOLEAN_NUMBER_BINARY_OPERATORS=t.UPDATE_OPERATORS=t.LOGICAL_OPERATORS=t.COMMENT_KEYS=t.FOR_INIT_KEYS=t.FLATTENABLE_KEYS=t.STATEMENT_OR_BLOCK_KEYS=void 0;var r,i=(r=n(362))&&r.__esModule?r:{default:r};t.STATEMENT_OR_BLOCK_KEYS=[\"consequent\",\"body\",\"alternate\"],t.FLATTENABLE_KEYS=[\"body\",\"expressions\"],t.FOR_INIT_KEYS=[\"left\",\"init\"],t.COMMENT_KEYS=[\"leadingComments\",\"trailingComments\",\"innerComments\"],t.LOGICAL_OPERATORS=[\"||\",\"&&\"],t.UPDATE_OPERATORS=[\"++\",\"--\"];var o=t.BOOLEAN_NUMBER_BINARY_OPERATORS=[\">\",\"<\",\">=\",\"<=\"],a=t.EQUALITY_BINARY_OPERATORS=[\"==\",\"===\",\"!=\",\"!==\"],s=t.COMPARISON_BINARY_OPERATORS=[].concat(a,[\"in\",\"instanceof\"]),u=t.BOOLEAN_BINARY_OPERATORS=[].concat(s,o),l=t.NUMBER_BINARY_OPERATORS=[\"-\",\"/\",\"%\",\"*\",\"**\",\"&\",\"|\",\">>\",\">>>\",\"<<\",\"^\"],c=(t.BINARY_OPERATORS=[\"+\"].concat(l,u),t.BOOLEAN_UNARY_OPERATORS=[\"delete\",\"!\"]),f=t.NUMBER_UNARY_OPERATORS=[\"+\",\"-\",\"++\",\"--\",\"~\"],p=t.STRING_UNARY_OPERATORS=[\"typeof\"];t.UNARY_OPERATORS=[\"void\"].concat(c,f,p),t.INHERIT_KEYS={optional:[\"typeAnnotation\",\"typeParameters\",\"returnType\"],force:[\"start\",\"loc\",\"end\"]},t.BLOCK_SCOPED_SYMBOL=(0,i.default)(\"var used to be block scoped\"),t.NOT_LOCAL_BINDING=(0,i.default)(\"should not be considered a local binding\")},function(e,t){\"use strict\";e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){\"use strict\";var r=n(43),i=n(142),o=n(94),a=n(153),s=n(422);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,f=6==e,p=5==e||f,d=t||s;return function(t,s,h){for(var m,y,v=o(t),g=i(v),b=r(s,h,3),x=a(g.length),_=0,w=n?d(t,x):u?d(t,0):void 0;x>_;_++)if((p||_ in g)&&(y=b(m=g[_],_,v),e))if(n)w[_]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(c)return!1;return f?-1:l||c?c:w}}},function(e,t){\"use strict\";var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){\"use strict\";var r=n(15),i=n(12),o=n(57),a=n(27),s=n(29),u=n(146),l=n(55),c=n(136),f=n(16),p=n(93),d=n(23).f,h=n(137)(0),m=n(22);e.exports=function(e,t,n,y,v,g){var b=r[e],x=b,_=v?\"set\":\"add\",w=x&&x.prototype,E={};return m&&\"function\"==typeof x&&(g||w.forEach&&!a((function(){(new x).entries().next()})))?(x=t((function(t,n){c(t,x,e,\"_c\"),t._c=new b,null!=n&&l(n,v,t[_],t)})),h(\"add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON\".split(\",\"),(function(e){var t=\"add\"==e||\"set\"==e;!(e in w)||g&&\"clear\"==e||s(x.prototype,e,(function(n,r){if(c(this,x,e),!t&&g&&!f(n))return\"get\"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i}))})),g||d(x.prototype,\"size\",{get:function(){return this._c.size}})):(x=y.getConstructor(t,e,v,_),u(x.prototype,n),o.NEED=!0),p(x,e),E[e]=x,i(i.G+i.W+i.F,E),g||y.setStrong(x,e,v),x}},function(e,t){\"use strict\";e.exports=function(e){if(null==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t){\"use strict\";e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(e,t,n){\"use strict\";var r=n(138);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},function(e,t,n){\"use strict\";var r=n(144),i=n(12),o=n(147),a=n(29),s=n(28),u=n(56),l=n(429),c=n(93),f=n(433),p=n(13)(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),h=\"keys\",m=\"values\",y=function(){return this};e.exports=function(e,t,n,v,g,b,x){l(n,t,v);var _,w,E,S=function(e){if(!d&&e in T)return T[e];switch(e){case h:case m:return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+\" Iterator\",A=g==m,C=!1,T=e.prototype,D=T[p]||T[\"@@iterator\"]||g&&T[g],M=D||S(g),P=g?A?S(\"entries\"):M:void 0,O=\"Array\"==t&&T.entries||D;if(O&&(E=f(O.call(new e)))!==Object.prototype&&E.next&&(c(E,k,!0),r||s(E,p)||a(E,p,y)),A&&D&&D.name!==m&&(C=!0,M=function(){return D.call(this)}),r&&!x||!d&&!C&&T[p]||a(T,p,M),u[t]=M,u[k]=y,g)if(_={values:A?M:S(m),keys:b?M:S(h),entries:P},x)for(w in _)w in T||o(T,w,_[w]);else i(i.P+i.F*(d||C),t,_);return _}},function(e,t){\"use strict\";e.exports=!0},function(e,t){\"use strict\";t.f=Object.getOwnPropertySymbols},function(e,t,n){\"use strict\";var r=n(29);e.exports=function(e,t,n){for(var i in t)n&&e[i]?e[i]=t[i]:r(e,i,t[i]);return e}},function(e,t,n){\"use strict\";e.exports=n(29)},function(e,t,n){\"use strict\";var r=n(12),i=n(227),o=n(43),a=n(55);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return i(this),(t=void 0!==u)&&i(u),null==e?new this:(n=[],t?(r=0,s=o(u,arguments[2],2),a(e,!1,(function(e){n.push(s(e,r++))}))):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(12);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){\"use strict\";var r=n(151)(\"keys\"),i=n(95);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){\"use strict\";var r=n(15),i=\"__core-js_shared__\",o=r[i]||(r[i]={});e.exports=function(e){return o[e]||(o[e]={})}},function(e,t){\"use strict\";var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t,n){\"use strict\";var r=n(152),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){\"use strict\";var r=n(16);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n){\"use strict\";var r=n(15),i=n(5),o=n(144),a=n(156),s=n(23).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},function(e,t,n){\"use strict\";t.f=n(13)},function(e,t,n){\"use strict\";var r=n(437)(!0);n(143)(String,\"String\",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},function(e,t,n){\"use strict\";var r=\"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},i=n(15),o=n(28),a=n(22),s=n(12),u=n(147),l=n(57).KEY,c=n(27),f=n(151),p=n(93),d=n(95),h=n(13),m=n(156),y=n(155),v=n(430),g=n(425),b=n(232),x=n(21),_=n(37),w=n(154),E=n(92),S=n(90),k=n(432),A=n(235),C=n(23),T=n(44),D=A.f,M=C.f,P=k.f,O=i.Symbol,L=i.JSON,N=L&&L.stringify,F=h(\"_hidden\"),R=h(\"toPrimitive\"),I={}.propertyIsEnumerable,j=f(\"symbol-registry\"),B=f(\"symbols\"),q=f(\"op-symbols\"),z=Object.prototype,V=\"function\"==typeof O,U=i.QObject,W=!U||!U.prototype||!U.prototype.findChild,Y=a&&c((function(){return 7!=S(M({},\"a\",{get:function(){return M(this,\"a\",{value:7}).a}})).a}))?function(e,t,n){var r=D(z,t);r&&delete z[t],M(e,t,n),r&&e!==z&&M(z,t,r)}:M,X=function(e){var t=B[e]=S(O.prototype);return t._k=e,t},H=V&&\"symbol\"==r(O.iterator)?function(e){return\"symbol\"==(void 0===e?\"undefined\":r(e))}:function(e){return e instanceof O},G=function(e,t,n){return e===z&&G(q,t,n),x(e),t=w(t,!0),x(n),o(B,t)?(n.enumerable?(o(e,F)&&e[F][t]&&(e[F][t]=!1),n=S(n,{enumerable:E(0,!1)})):(o(e,F)||M(e,F,E(1,{})),e[F][t]=!0),Y(e,t,n)):M(e,t,n)},$=function(e,t){x(e);for(var n,r=g(t=_(t)),i=0,o=r.length;o>i;)G(e,n=r[i++],t[n]);return e},K=function(e){var t=I.call(this,e=w(e,!0));return!(this===z&&o(B,e)&&!o(q,e))&&(!(t||!o(this,e)||!o(B,e)||o(this,F)&&this[F][e])||t)},Z=function(e,t){if(e=_(e),t=w(t,!0),e!==z||!o(B,t)||o(q,t)){var n=D(e,t);return!n||!o(B,t)||o(e,F)&&e[F][t]||(n.enumerable=!0),n}},J=function(e){for(var t,n=P(_(e)),r=[],i=0;n.length>i;)o(B,t=n[i++])||t==F||t==l||r.push(t);return r},Q=function(e){for(var t,n=e===z,r=P(n?q:_(e)),i=[],a=0;r.length>a;)!o(B,t=r[a++])||n&&!o(z,t)||i.push(B[t]);return i};V||(O=function(){if(this instanceof O)throw TypeError(\"Symbol is not a constructor!\");var e=d(arguments.length>0?arguments[0]:void 0),t=function t(n){this===z&&t.call(q,n),o(this,F)&&o(this[F],e)&&(this[F][e]=!1),Y(this,e,E(1,n))};return a&&W&&Y(z,e,{configurable:!0,set:t}),X(e)},u(O.prototype,\"toString\",(function(){return this._k})),A.f=Z,C.f=G,n(236).f=k.f=J,n(91).f=K,n(145).f=Q,a&&!n(144)&&u(z,\"propertyIsEnumerable\",K,!0),m.f=function(e){return X(h(e))}),s(s.G+s.W+s.F*!V,{Symbol:O});for(var ee=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),te=0;ee.length>te;)h(ee[te++]);for(var ne=T(h.store),re=0;ne.length>re;)y(ne[re++]);s(s.S+s.F*!V,\"Symbol\",{for:function(e){return o(j,e+=\"\")?j[e]:j[e]=O(e)},keyFor:function(e){if(H(e))return v(j,e);throw TypeError(e+\" is not a symbol!\")},useSetter:function(){W=!0},useSimple:function(){W=!1}}),s(s.S+s.F*!V,\"Object\",{create:function(e,t){return void 0===t?S(e):$(S(e),t)},defineProperty:G,defineProperties:$,getOwnPropertyDescriptor:Z,getOwnPropertyNames:J,getOwnPropertySymbols:Q}),L&&s(s.S+s.F*(!V||c((function(){var e=O();return\"[null]\"!=N([e])||\"{}\"!=N({a:e})||\"{}\"!=N(Object(e))}))),\"JSON\",{stringify:function(e){if(void 0!==e&&!H(e)){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);return\"function\"==typeof(t=r[1])&&(n=t),!n&&b(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!H(t))return t}),r[1]=t,N.apply(L,r)}}}),O.prototype[R]||n(29)(O.prototype,R,O.prototype.valueOf),p(O,\"Symbol\"),p(Math,\"Math\",!0),p(i.JSON,\"JSON\",!0)},function(e,t,n){\"use strict\";var r=n(38)(n(17),\"Map\");e.exports=r},function(e,t,n){\"use strict\";var r=n(551),i=n(552),o=n(553),a=n(554),s=n(555);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},function(e,t,n){\"use strict\";var r=n(163),i=n(46),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){\"use strict\";var r=n(259);e.exports=function(e,t,n){\"__proto__\"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},function(e,t,n){\"use strict\";var r=n(99),i=n(478),o=n(162),a=n(483),s=n(484),u=n(256),l=n(168),c=n(523),f=n(524),p=n(262),d=n(532),h=n(264),m=n(541),y=n(542),v=n(266),g=n(6),b=n(113),x=n(18),_=n(32),w=\"[object Arguments]\",E=\"[object Function]\",S=\"[object Object]\",k={};k[w]=k[\"[object Array]\"]=k[\"[object ArrayBuffer]\"]=k[\"[object DataView]\"]=k[\"[object Boolean]\"]=k[\"[object Date]\"]=k[\"[object Float32Array]\"]=k[\"[object Float64Array]\"]=k[\"[object Int8Array]\"]=k[\"[object Int16Array]\"]=k[\"[object Int32Array]\"]=k[\"[object Map]\"]=k[\"[object Number]\"]=k[S]=k[\"[object RegExp]\"]=k[\"[object Set]\"]=k[\"[object String]\"]=k[\"[object Symbol]\"]=k[\"[object Uint8Array]\"]=k[\"[object Uint8ClampedArray]\"]=k[\"[object Uint16Array]\"]=k[\"[object Uint32Array]\"]=!0,k[\"[object Error]\"]=k[E]=k[\"[object WeakMap]\"]=!1,e.exports=function e(t,n,A,C,T,D){var M,P=1&n,O=2&n,L=4&n;if(A&&(M=T?A(t,C,T,D):A(t)),void 0!==M)return M;if(!x(t))return t;var N=g(t);if(N){if(M=m(t),!P)return l(t,M)}else{var F=h(t),R=F==E||\"[object GeneratorFunction]\"==F;if(b(t))return u(t,P);if(F==S||F==w||R&&!T){if(M=O||R?{}:v(t),!P)return O?f(t,s(M,t)):c(t,a(M,t))}else{if(!k[F])return T?t:{};M=y(t,F,e,P)}}D||(D=new r);var I=D.get(t);if(I)return I;D.set(t,M);var j=L?O?d:p:O?keysIn:_,B=N?void 0:j(t);return i(B||t,(function(r,i){B&&(r=t[i=r]),o(M,i,e(r,n,A,i,t,D))})),M}},function(e,t){\"use strict\";e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},function(e,t,n){\"use strict\";var r=n(165),i=n(496),o=n(570);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},function(e,t,n){\"use strict\";var r=n(243);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t){\"use strict\";e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},function(e,t,n){\"use strict\";var r=n(271)(Object.getPrototypeOf,Object);e.exports=r},function(e,t,n){\"use strict\";var r=n(479),i=n(279),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),(function(t){return o.call(e,t)})))}:i;e.exports=s},function(e,t){\"use strict\";var n=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,t){return!!(t=null==t?9007199254740991:t)&&(\"number\"==typeof e||n.test(e))&&e>-1&&e%1==0&&e<t}},function(e,t,n){\"use strict\";var r=\"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},i=n(46),o=n(24),a=n(171),s=n(18);e.exports=function(e,t,n){if(!s(n))return!1;var u=void 0===t?\"undefined\":r(t);return!!(\"number\"==u?o(n)&&a(t,n.length):\"string\"==u&&t in n)&&i(n[t],e)}},function(e,t,n){\"use strict\";var r=\"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},i=n(6),o=n(62),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,s=/^\\w*$/;e.exports=function(e,t){if(i(e))return!1;var n=void 0===e?\"undefined\":r(e);return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!o(e))||s.test(e)||!a.test(e)||null!=t&&e in Object(t)}},function(e,t,n){\"use strict\";var r=n(162),i=n(31),o=n(103),a=n(24),s=n(105),u=n(32),l=Object.prototype.hasOwnProperty,c=o((function(e,t){if(s(t)||a(t))i(t,u(t),e);else for(var n in t)l.call(t,n)&&r(e,n,t[n])}));e.exports=c},function(e,t,n){\"use strict\";var r=n(30),i=n(18);e.exports=function(e){if(!i(e))return!1;var t=r(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},function(e,t){\"use strict\";e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){\"use strict\";var r=n(499),i=n(102),o=n(270),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},function(e,t,n){var r={\"./index\":50,\"./index.js\":50,\"./logger\":120,\"./logger.js\":120,\"./metadata\":121,\"./metadata.js\":121,\"./options/build-config-chain\":51,\"./options/build-config-chain.js\":51,\"./options/config\":33,\"./options/config.js\":33,\"./options/index\":52,\"./options/index.js\":52,\"./options/option-manager\":34,\"./options/option-manager.js\":34,\"./options/parsers\":53,\"./options/parsers.js\":53,\"./options/removed\":54,\"./options/removed.js\":54};function i(e){return n(o(e))}function o(e){return r[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=178},function(e,t,n){var r={\"./build-config-chain\":51,\"./build-config-chain.js\":51,\"./config\":33,\"./config.js\":33,\"./index\":52,\"./index.js\":52,\"./option-manager\":34,\"./option-manager.js\":34,\"./parsers\":53,\"./parsers.js\":53,\"./removed\":54,\"./removed.js\":54};function i(e){return n(o(e))}function o(e){return r[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}i.keys=function(){return Object.keys(r)},i.resolve=o,e.exports=i,i.id=179},function(e,t){\"use strict\";e.exports=function(){return/[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=Math.max(n,0);var i=r.highlightCode&&a.default.supportsColor||r.forceColor,o=a.default;r.forceColor&&(o=new a.default.constructor({enabled:!0}));var s=function(e,t){return i?e(t):t},c=u(o);i&&(e=d(c,e));var f=r.linesAbove||2,p=r.linesBelow||3,h=e.split(l),m=Math.max(t-(f+1),0),y=Math.min(h.length,t+p);t||n||(m=0,y=h.length);var v=String(y).length,g=h.slice(m,y).map((function(e,r){var i=m+1+r,o=\" \"+(\" \"+i).slice(-v)+\" | \";if(i===t){var a=\"\";if(n){var u=e.slice(0,n-1).replace(/[^\\t]/g,\" \");a=[\"\\n \",s(c.gutter,o.replace(/\\d/g,\" \")),u,s(c.marker,\"^\")].join(\"\")}return[s(c.marker,\">\"),s(c.gutter,o),e,a].join(\"\")}return\" \"+s(c.gutter,o)+e})).join(\"\\n\");return i?o.reset(g):g};var r=n(468),i=s(r),o=s(n(97)),a=s(n(401));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){return{keyword:e.cyan,capitalized:e.yellow,jsx_tag:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.grey,invalid:e.white.bgRed.bold,gutter:e.grey,marker:e.red.bold}}var l=/\\r\\n|[\\n\\r\\u2028\\u2029]/,c=/^[a-z][\\w-]*$/i,f=/^[()\\[\\]{}]$/;function p(e){var t=e.slice(-2),n=t[0],i=t[1],a=(0,r.matchToToken)(e);if(\"name\"===a.type){if(o.default.keyword.isReservedWordES6(a.value))return\"keyword\";if(c.test(a.value)&&(\"<\"===i[n-1]||\"</\"==i.substr(n-2,2)))return\"jsx_tag\";if(a.value[0]!==a.value[0].toLowerCase())return\"capitalized\"}return\"punctuator\"===a.type&&f.test(a.value)?\"bracket\":a.type}function d(e,t){return t.replace(i.default,(function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var i=p(n),o=e[i];return o?n[0].split(l).map((function(e){return o(e)})).join(\"\\n\"):n[0]}))}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.transformFromAst=t.transform=t.analyse=t.Pipeline=t.OptionManager=t.traverse=t.types=t.messages=t.util=t.version=t.resolvePreset=t.resolvePlugin=t.template=t.buildExternalHelpers=t.options=t.File=void 0;var r=n(50);Object.defineProperty(t,\"File\",{enumerable:!0,get:function(){return g(r).default}});var i=n(33);Object.defineProperty(t,\"options\",{enumerable:!0,get:function(){return g(i).default}});var o=n(295);Object.defineProperty(t,\"buildExternalHelpers\",{enumerable:!0,get:function(){return g(o).default}});var a=n(4);Object.defineProperty(t,\"template\",{enumerable:!0,get:function(){return g(a).default}});var s=n(184);Object.defineProperty(t,\"resolvePlugin\",{enumerable:!0,get:function(){return g(s).default}});var u=n(185);Object.defineProperty(t,\"resolvePreset\",{enumerable:!0,get:function(){return g(u).default}});var l=n(628);Object.defineProperty(t,\"version\",{enumerable:!0,get:function(){return l.version}}),t.Plugin=function(e){throw new Error(\"The (\"+e+\") Babel 5 plugin is being run with Babel 6.\")},t.transformFile=function(e,t,n){\"function\"==typeof t&&(n=t,t={}),t.filename=e,c.default.readFile(e,(function(e,r){var i=void 0;if(!e)try{i=x(r,t)}catch(t){e=t}e?n(e):n(null,i)}))},t.transformFileSync=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.filename=e,x(c.default.readFileSync(e,\"utf8\"),t)};var c=g(n(115)),f=v(n(122)),p=v(n(20)),d=v(n(1)),h=g(n(7)),m=g(n(34)),y=g(n(298));function v(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function g(e){return e&&e.__esModule?e:{default:e}}t.util=f,t.messages=p,t.types=d,t.traverse=h.default,t.OptionManager=m.default,t.Pipeline=y.default;var b=new y.default,x=(t.analyse=b.analyse.bind(b),t.transform=b.transform.bind(b));t.transformFromAst=b.transformFromAst.bind(b)},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){return e.reduce((function(e,n){return e||(0,i.default)(n,t)}),null)};var r,i=(r=n(118))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){(function(r){\"use strict\";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.cwd();return(0,i.default)((0,o.default)(e),t)};var i=a(n(183)),o=a(n(291));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}).call(t,n(8))},function(e,t,n){(function(r){\"use strict\";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.cwd();return(0,i.default)((0,o.default)(e),t)};var i=a(n(183)),o=a(n(292));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default}).call(t,n(8))},function(e,t,n){\"use strict\";t.__esModule=!0,t.CodeGenerator=void 0;var r=l(n(3)),i=l(n(42)),o=l(n(41));t.default=function(e,t,n){return new c(e,t,n).generate()};var a=l(n(459)),s=l(n(313)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(20));function l(e){return e&&e.__esModule?e:{default:e}}var c=function(e){function t(n){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2];(0,r.default)(this,t);var u=n.tokens||[],l=f(a,o,u),c=o.sourceMaps?new s.default(o,a):null,p=(0,i.default)(this,e.call(this,l,c,u));return p.ast=n,p}return(0,o.default)(t,e),t.prototype.generate=function(){return e.prototype.generate.call(this,this.ast)},t}(l(n(312)).default);function f(e,t,n){var r=\"  \";if(e&&\"string\"==typeof e){var i=(0,a.default)(e).indent;i&&\" \"!==i&&(r=i)}var o={auxiliaryCommentBefore:t.auxiliaryCommentBefore,auxiliaryCommentAfter:t.auxiliaryCommentAfter,shouldPrintComment:t.shouldPrintComment,retainLines:t.retainLines,retainFunctionParens:t.retainFunctionParens,comments:null==t.comments||t.comments,compact:t.compact,minified:t.minified,concise:t.concise,quotes:t.quotes||p(e,n),jsonCompatibleStrings:t.jsonCompatibleStrings,indent:{adjustMultilineComment:!0,style:r,base:0},flowCommaSeparator:t.flowCommaSeparator};return o.minified?(o.compact=!0,o.shouldPrintComment=o.shouldPrintComment||function(){return o.comments}):o.shouldPrintComment=o.shouldPrintComment||function(e){return o.comments||e.indexOf(\"@license\")>=0||e.indexOf(\"@preserve\")>=0},\"auto\"===o.compact&&(o.compact=e.length>5e5,o.compact&&console.error(\"[BABEL] \"+u.get(\"codeGeneratorDeopt\",t.filename,\"500KB\"))),o.compact&&(o.indent.adjustMultilineComment=!1),o}function p(e,t){if(!e)return\"double\";for(var n={single:0,double:0},r=0,i=0;i<t.length;i++){var o=t[i];if(\"string\"===o.type.label&&(\"'\"===e.slice(o.start,o.end)[0]?n.single++:n.double++,++r>=3))break}return n.single>n.double?\"single\":\"double\"}t.CodeGenerator=function(){function e(t,n,i){(0,r.default)(this,e),this._generator=new c(t,n,i)}return e.prototype.generate=function(){return this._generator.generate()},e}()},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(2)),i=l(n(14));t.needsWhitespace=y,t.needsWhitespaceBefore=function(e,t){return y(e,t,\"before\")},t.needsWhitespaceAfter=function(e,t){return y(e,t,\"after\")},t.needsParens=function(e,t,n){return!!t&&(!(!s.isNewExpression(t)||t.callee!==e||!m(e))||h(f,e,t,n))};var o=l(n(311)),a=u(n(310)),s=u(n(1));function u(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function l(e){return e&&e.__esModule?e:{default:e}}function c(e){var t={};function n(e,n){var r=t[e];t[e]=r?function(e,t,i){var o=r(e,t,i);return null==o?n(e,t,i):o}:n}var o=(0,i.default)(e),a=Array.isArray(o),u=0;for(o=a?o:(0,r.default)(o);;){var l;if(a){if(u>=o.length)break;l=o[u++]}else{if((u=o.next()).done)break;l=u.value}var c=l,f=s.FLIPPED_ALIAS_KEYS[c];if(f){var p=f,d=Array.isArray(p),h=0;for(p=d?p:(0,r.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if((h=p.next()).done)break;m=h.value}n(m,e[c])}}else n(c,e[c])}return t}var f=c(a),p=c(o.default.nodes),d=c(o.default.list);function h(e,t,n,r){var i=e[t.type];return i?i(t,n,r):null}function m(e){return!!s.isCallExpression(e)||!!s.isMemberExpression(e)&&(m(e.object)||!e.computed&&m(e.property))}function y(e,t,n){if(!e)return 0;s.isExpressionStatement(e)&&(e=e.expression);var r=h(p,e,t);if(!r){var i=h(d,e,t);if(i)for(var o=0;o<i.length&&!(r=y(i[o],e,n));o++);}return r&&r[n]||0}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(14));t.push=function(e,t,n,r,s){var u=a.toKeyAlias(t),l={};if((0,o.default)(e,u)&&(l=e[u]),e[u]=l,l._inherits=l._inherits||[],l._inherits.push(t),l._key=t.key,t.computed&&(l._computed=!0),t.decorators){var c=l.decorators=l.decorators||a.arrayExpression([]);c.elements=c.elements.concat(t.decorators.map((function(e){return e.expression})).reverse())}if(l.value||l.initializer)throw r.buildCodeFrameError(t,\"Key conflict with sibling node\");var f=void 0,p=void 0;(a.isObjectProperty(t)||a.isObjectMethod(t)||a.isClassMethod(t))&&(f=a.toComputedKey(t,t.key)),a.isObjectProperty(t)||a.isClassProperty(t)?p=t.value:(a.isObjectMethod(t)||a.isClassMethod(t))&&((p=a.functionExpression(null,t.params,t.body,t.generator,t.async)).returnType=t.returnType);var d=function(e){return!a.isClassMethod(e)&&!a.isObjectMethod(e)||\"get\"!==e.kind&&\"set\"!==e.kind?\"value\":e.kind}(t);return n&&\"value\"===d||(n=d),s&&a.isStringLiteral(f)&&(\"value\"===n||\"initializer\"===n)&&a.isFunctionExpression(p)&&(p=(0,i.default)({id:f,node:p,scope:s})),p&&(a.inheritsComments(p,t),l[n]=p),l},t.hasComputed=function(e){for(var t in e)if(e[t]._computed)return!0;return!1},t.toComputedObjectFromClass=function(e){for(var t=a.arrayExpression([]),n=0;n<e.properties.length;n++){var r=e.properties[n],i=r.value;i.properties.unshift(a.objectProperty(a.identifier(\"key\"),a.toComputedKey(r))),t.elements.push(i)}return t},t.toClassObject=u,t.toDefineObject=function(e){return(0,r.default)(e).forEach((function(t){var n=e[t];n.value&&(n.writable=a.booleanLiteral(!0)),n.configurable=a.booleanLiteral(!0),n.enumerable=a.booleanLiteral(!0)})),u(e)};var i=s(n(40)),o=s(n(274)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function s(e){return e&&e.__esModule?e:{default:e}}function u(e){var t=a.objectExpression([]);return(0,r.default)(e).forEach((function(n){var i=e[n],o=a.objectExpression([]),s=a.objectProperty(i._key,o,i._computed);(0,r.default)(i).forEach((function(e){var t=i[e];if(\"_\"!==e[0]){var n=t;(a.isClassMethod(t)||a.isClassProperty(t))&&(t=t.value);var r=a.objectProperty(a.identifier(e),t);a.inheritsComments(r,n),a.removeComments(n),o.properties.push(r)}})),t.properties.push(s)})),t}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){for(var t=e.params,n=0;n<t.length;n++){var i=t[n];if(r.isAssignmentPattern(i)||r.isRestElement(i))return n}return t.length};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"var\";e.traverse(a,{kind:n,emit:t})};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),a={Scope:function(e,t){\"let\"===t.kind&&e.skip()},Function:function(e){e.skip()},VariableDeclaration:function(e,t){if(!t.kind||e.node.kind===t.kind){var n=[],r=void 0,a=e.get(\"declarations\"),s=Array.isArray(a),u=0;for(a=s?a:(0,i.default)(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;for(var f in r=c.node.id,c.node.init&&n.push(o.expressionStatement(o.assignmentExpression(\"=\",c.node.id,c.node.init))),c.getBindingIdentifiers())t.emit(o.identifier(f),f)}e.parentPath.isFor({left:e.node})?e.replaceWith(r):e.replaceWithMultiple(n)}}};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){return 1===n.length&&r.isSpreadElement(n[0])&&r.isIdentifier(n[0].argument,{name:\"arguments\"})?r.callExpression(r.memberExpression(e,r.identifier(\"apply\")),[t,n[0].argument]):r.callExpression(r.memberExpression(e,r.identifier(\"call\")),[t].concat(n))};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.is=function(e,t){return o.isRegExpLiteral(e)&&e.flags.indexOf(t)>=0},t.pullFlag=function(e,t){var n=e.flags.split(\"\");e.flags.indexOf(t)<0||((0,i.default)(n,t),e.flags=n.join(\"\"))};var r,i=(r=n(277))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1))},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(3)),i=l(n(10)),o=l(n(191)),a=u(n(20)),s=u(n(1));function u(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function l(e){return e&&e.__esModule?e:{default:e}}var c=(0,i.default)();function f(e){return s.isMemberExpression(e)&&s.isSuper(e.object)}function p(e,t){var n=t?e:s.memberExpression(e,s.identifier(\"prototype\"));return s.logicalExpression(\"||\",s.memberExpression(n,s.identifier(\"__proto__\")),s.callExpression(s.memberExpression(s.identifier(\"Object\"),s.identifier(\"getPrototypeOf\")),[n]))}var d={Function:function(e){e.inShadow(\"this\")||e.skip()},ReturnStatement:function(e,t){e.inShadow(\"this\")||t.returns.push(e)},ThisExpression:function(e,t){e.node[c]||t.thises.push(e)},enter:function(e,t){var n=t.specHandle;t.isLoose&&(n=t.looseHandle);var r=e.isCallExpression()&&e.get(\"callee\").isSuper(),i=n.call(t,e);i&&(t.hasSuper=!0),r&&t.bareSupers.push(e),!0===i&&e.requeue(),!0!==i&&i&&(Array.isArray(i)?e.replaceWithMultiple(i):e.replaceWith(i))}},h=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];(0,r.default)(this,e),this.forceSuperMemoisation=t.forceSuperMemoisation,this.methodPath=t.methodPath,this.methodNode=t.methodNode,this.superRef=t.superRef,this.isStatic=t.isStatic,this.hasSuper=!1,this.inClass=n,this.isLoose=t.isLoose,this.scope=this.methodPath.scope,this.file=t.file,this.opts=t,this.bareSupers=[],this.returns=[],this.thises=[]}return e.prototype.getObjectRef=function(){return this.opts.objectRef||this.opts.getObjectRef()},e.prototype.setSuperProperty=function(e,t,n){return s.callExpression(this.file.addHelper(\"set\"),[p(this.getObjectRef(),this.isStatic),n?e:s.stringLiteral(e.name),t,s.thisExpression()])},e.prototype.getSuperProperty=function(e,t){return s.callExpression(this.file.addHelper(\"get\"),[p(this.getObjectRef(),this.isStatic),t?e:s.stringLiteral(e.name),s.thisExpression()])},e.prototype.replace=function(){this.methodPath.traverse(d,this)},e.prototype.getLooseSuperProperty=function(e,t){var n=this.methodNode,r=this.superRef||s.identifier(\"Function\");return t.property===e||s.isCallExpression(t,{callee:e})?void 0:s.isMemberExpression(t)&&!n.static?s.memberExpression(r,s.identifier(\"prototype\")):r},e.prototype.looseHandle=function(e){var t=e.node;if(e.isSuper())return this.getLooseSuperProperty(t,e.parent);if(e.isCallExpression()){var n=t.callee;if(!s.isMemberExpression(n))return;if(!s.isSuper(n.object))return;return s.appendToMemberExpression(n,s.identifier(\"call\")),t.arguments.unshift(s.thisExpression()),!0}},e.prototype.specHandleAssignmentExpression=function(e,t,n){return\"=\"===n.operator?this.setSuperProperty(n.left.property,n.right,n.left.computed):(e=e||t.scope.generateUidIdentifier(\"ref\"),[s.variableDeclaration(\"var\",[s.variableDeclarator(e,n.left)]),s.expressionStatement(s.assignmentExpression(\"=\",n.left,s.binaryExpression(n.operator[0],e,n.right)))])},e.prototype.specHandle=function(e){var t=void 0,n=void 0,r=void 0,i=e.parent,o=e.node;if(function(e,t){return!!s.isSuper(e)&&!s.isMemberExpression(t,{computed:!1})&&!s.isCallExpression(t,{callee:e})}(o,i))throw e.buildCodeFrameError(a.get(\"classesIllegalBareSuper\"));if(s.isCallExpression(o)){var u=o.callee;if(s.isSuper(u))return;f(u)&&(t=u.property,n=u.computed,r=o.arguments)}else if(s.isMemberExpression(o)&&s.isSuper(o.object))t=o.property,n=o.computed;else{if(s.isUpdateExpression(o)&&f(o.argument)){var l=s.binaryExpression(o.operator[0],o.argument,s.numericLiteral(1));if(o.prefix)return this.specHandleAssignmentExpression(null,e,l);var c=e.scope.generateUidIdentifier(\"ref\");return this.specHandleAssignmentExpression(c,e,l).concat(s.expressionStatement(c))}if(s.isAssignmentExpression(o)&&f(o.left))return this.specHandleAssignmentExpression(null,e,o)}if(t){var p=this.getSuperProperty(t,n);return r?this.optimiseCall(p,r):p}},e.prototype.optimiseCall=function(e,t){var n=s.thisExpression();return n[c]=!0,(0,o.default)(e,n,t)},e}();t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.list=void 0;var r=o(n(14));t.get=a;var i=o(n(321));function o(e){return e&&e.__esModule?e:{default:e}}function a(e){var t=i.default[e];if(!t)throw new ReferenceError(\"Unknown helper \"+e);return t().expression}t.list=(0,r.default)(i.default).map((function(e){return e.replace(/^_/,\"\")})).filter((function(e){return\"__esModule\"!==e})),t.default=a},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"asyncGenerators\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"classConstructorCall\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"classProperties\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"doExpressions\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"exponentiationOperator\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"exportExtensions\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"functionBind\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"objectRestSpread\")}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(2)),i=o(n(10));function o(e){return e&&e.__esModule?e:{default:e}}t.default=function(e){var t=e.types,o=(0,i.default)();return{inherits:n(196),visitor:{Class:function(e){if(!e.node[o]){e.node[o]=!0;var n=function(e){var t=e.get(\"body.body\"),n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}var a=o;if(\"constructorCall\"===a.node.kind)return a}return null}(e);n&&function(e,n){var r=n.node,i=r.id||n.scope.generateUidIdentifier(\"class\");n.parentPath.isExportDefaultDeclaration()&&(n=n.parentPath).insertAfter(t.exportDefaultDeclaration(i)),n.replaceWithMultiple(a({CLASS_REF:n.scope.generateUidIdentifier(i.name),CALL_REF:n.scope.generateUidIdentifier(i.name+\"Call\"),CALL:t.functionExpression(null,e.node.params,e.node.body),CLASS:t.toExpression(r),WRAPPER_REF:i})),e.remove()}(n,e)}}}}};var a=(0,o(n(4)).default)(\"\\n  let CLASS_REF = CLASS;\\n  var CALL_REF = CALL;\\n  var WRAPPER_REF = function (...args) {\\n    if (this instanceof WRAPPER_REF) {\\n      return Reflect.construct(CLASS_REF, args);\\n    } else {\\n      return CALL_REF.apply(this, args);\\n    }\\n  };\\n  WRAPPER_REF.__proto__ = CLASS_REF;\\n  WRAPPER_REF;\\n\");e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(2));t.default=function(e){var t=e.types,a={Super:function(e){e.parentPath.isCallExpression({callee:e.node})&&this.push(e.parentPath)}},s={ReferencedIdentifier:function(e){this.scope.hasOwnBinding(e.node.name)&&(this.collision=!0,e.skip())}},u=(0,o.default)(\"\\n    Object.defineProperty(REF, KEY, {\\n      // configurable is false by default\\n      enumerable: true,\\n      writable: true,\\n      value: VALUE\\n    });\\n  \"),l=function(e,n){var r=n.key,i=n.value,o=n.computed;return u({REF:e,KEY:t.isIdentifier(r)&&!o?t.stringLiteral(r.name):r,VALUE:i||t.identifier(\"undefined\")})},c=function(e,n){var r=n.key,i=n.value,o=n.computed;return t.expressionStatement(t.assignmentExpression(\"=\",t.memberExpression(e,r,o||t.isLiteral(r)),i))};return{inherits:n(197),visitor:{Class:function(e,n){var o=n.opts.spec?l:c,u=!!e.node.superClass,f=void 0,p=[],d=e.get(\"body\"),h=d.get(\"body\"),m=Array.isArray(h),y=0;for(h=m?h:(0,r.default)(h);;){var v;if(m){if(y>=h.length)break;v=h[y++]}else{if((y=h.next()).done)break;v=y.value}var g=v;g.isClassProperty()?p.push(g):g.isClassMethod({kind:\"constructor\"})&&(f=g)}if(p.length){var b=[],x=void 0;e.isClassExpression()||!e.node.id?((0,i.default)(e),x=e.scope.generateUidIdentifier(\"class\")):x=e.node.id;var _=[],w=p,E=Array.isArray(w),S=0;for(w=E?w:(0,r.default)(w);;){var k;if(E){if(S>=w.length)break;k=w[S++]}else{if((S=w.next()).done)break;k=S.value}var A=k.node;if(!(A.decorators&&A.decorators.length>0)&&(n.opts.spec||A.value))if(A.static)b.push(o(x,A));else{if(!A.value)continue;_.push(o(t.thisExpression(),A))}}if(_.length){if(!f){var C=t.classMethod(\"constructor\",t.identifier(\"constructor\"),[],t.blockStatement([]));u&&(C.params=[t.restElement(t.identifier(\"args\"))],C.body.body.push(t.returnStatement(t.callExpression(t.super(),[t.spreadElement(t.identifier(\"args\"))])))),f=d.unshiftContainer(\"body\",C)[0]}var T={collision:!1,scope:f.scope},D=p,M=Array.isArray(D),P=0;for(D=M?D:(0,r.default)(D);;){var O;if(M){if(P>=D.length)break;O=D[P++]}else{if((P=D.next()).done)break;O=P.value}if(O.traverse(s,T),T.collision)break}if(T.collision){var L=e.scope.generateUidIdentifier(\"initialiseProps\");b.push(t.variableDeclaration(\"var\",[t.variableDeclarator(L,t.functionExpression(null,[],t.blockStatement(_)))])),_=[t.expressionStatement(t.callExpression(t.memberExpression(L,t.identifier(\"call\")),[t.thisExpression()]))]}if(u){var N=[];f.traverse(a,N);var F=N,R=Array.isArray(F),I=0;for(F=R?F:(0,r.default)(F);;){var j;if(R){if(I>=F.length)break;j=F[I++]}else{if((I=F.next()).done)break;j=I.value}j.insertAfter(_)}}else f.get(\"body\").unshiftContainer(\"body\",_)}var B=p,q=Array.isArray(B),z=0;for(B=q?B:(0,r.default)(B);;){var V;if(q){if(z>=B.length)break;V=B[z++]}else{if((z=B.next()).done)break;V=z.value}V.remove()}b.length&&(e.isClassExpression()?(e.scope.push({id:x}),e.replaceWith(t.assignmentExpression(\"=\",x,e.node))):(e.node.id||(e.node.id=x),e.parentPath.isExportDeclaration()&&(e=e.parentPath)),e.insertAfter(b))}},ArrowFunctionExpression:function(e){var t=e.get(\"body\");t.isClassExpression()&&t.get(\"body\").get(\"body\").some((function(e){return e.isClassProperty()}))&&e.ensureBlock()}}}};var i=a(n(40)),o=a(n(4));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(9)),i=s(n(2));t.default=function(e){var t=e.types;function o(e,n,o){var a=[],s=e.node.decorators;if(s){e.node.decorators=null;var l=s=s.reverse().map((function(e){return e.expression})),c=Array.isArray(l),f=0;for(l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;a.push(u({CLASS_REF:n,DECORATOR:d}))}}var h=(0,r.default)(null),m=e.get(\"body.body\"),y=Array.isArray(m),v=0;for(m=y?m:(0,i.default)(m);;){var g;if(y){if(v>=m.length)break;g=m[v++]}else{if((v=m.next()).done)break;g=v.value}var b=g;if(b.node.decorators){var x=t.toKeyAlias(b.node);h[x]=h[x]||[],h[x].push(b.node),b.remove()}}for(var _ in h)h[_];return a}function s(e){if(e.isClass()){if(e.node.decorators)return!0;var t=e.node.body.body,n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}if(o.decorators)return!0}}else if(e.isObjectExpression()){var a=e.node.properties,s=Array.isArray(a),u=0;for(a=s?a:(0,i.default)(a);;){var l;if(s){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}if(l.decorators)return!0}}return!1}function l(e){throw e.buildCodeFrameError('Decorators are not officially supported yet in 6.x pending a proposal update.\\nHowever, if you need to use them you can install the legacy decorators transform with:\\n\\nnpm install babel-plugin-transform-decorators-legacy --save-dev\\n\\nand add the following line to your .babelrc file:\\n\\n{\\n  \"plugins\": [\"transform-decorators-legacy\"]\\n}\\n\\nThe repo url is: https://github.com/loganfsmyth/babel-plugin-transform-decorators-legacy.\\n    ')}return{inherits:n(125),visitor:{ClassExpression:function(e){if(s(e)){l(e),(0,a.default)(e);var n=e.scope.generateDeclaredUidIdentifier(\"ref\"),r=[];r.push(t.assignmentExpression(\"=\",n,e.node)),(r=r.concat(o(e,n))).push(n),e.replaceWith(t.sequenceExpression(r))}},ClassDeclaration:function(e){if(s(e)){l(e),(0,a.default)(e);var n=e.node.id,r=[];(r=r.concat(o(e,n).map((function(e){return t.expressionStatement(e)})))).push(t.expressionStatement(n)),e.insertAfter(r)}},ObjectExpression:function(e){s(e)&&l(e)}}}};var o=s(n(4)),a=s(n(319));function s(e){return e&&e.__esModule?e:{default:e}}var u=(0,o.default)(\"\\n  CLASS_REF = DECORATOR(CLASS_REF) || CLASS_REF;\\n\");e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{inherits:n(198),visitor:{DoExpression:function(e){var t=e.node.body.body;t.length?e.replaceWithMultiple(t):e.replaceWith(e.scope.buildUndefinedNode())}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=p(n(2)),i=p(n(3)),o=n(7),a=p(n(193)),s=p(n(191)),u=f(n(188)),l=p(n(4)),c=f(n(1));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function p(e){return e&&e.__esModule?e:{default:e}}var d=(0,l.default)(\"\\n  (function () {\\n    super(...arguments);\\n  })\\n\"),h={\"FunctionExpression|FunctionDeclaration\":function(e){e.is(\"shadow\")||e.skip()},Method:function(e){e.skip()}},m=o.visitors.merge([h,{Super:function(e){if(this.isDerived&&!this.hasBareSuper&&!e.parentPath.isCallExpression({callee:e.node}))throw e.buildCodeFrameError(\"'super.*' is not allowed before super()\")},CallExpression:{exit:function(e){if(e.get(\"callee\").isSuper()&&(this.hasBareSuper=!0,!this.isDerived))throw e.buildCodeFrameError(\"super() is only allowed in a derived constructor\")}},ThisExpression:function(e){if(this.isDerived&&!this.hasBareSuper&&!e.inShadow(\"this\"))throw e.buildCodeFrameError(\"'this' is not allowed before super()\")}}]),y=o.visitors.merge([h,{ThisExpression:function(e){this.superThises.push(e)}}]),v=function(){function e(t,n){(0,i.default)(this,e),this.parent=t.parent,this.scope=t.scope,this.node=t.node,this.path=t,this.file=n,this.clearDescriptors(),this.instancePropBody=[],this.instancePropRefs={},this.staticPropBody=[],this.body=[],this.bareSuperAfter=[],this.bareSupers=[],this.pushedConstructor=!1,this.pushedInherits=!1,this.isLoose=!1,this.superThises=[],this.classId=this.node.id,this.classRef=this.node.id?c.identifier(this.node.id.name):this.scope.generateUidIdentifier(\"class\"),this.superName=this.node.superClass||c.identifier(\"Function\"),this.isDerived=!!this.node.superClass}return e.prototype.run=function(){var e=this,t=this.superName,n=this.file,r=this.body,i=this.constructorBody=c.blockStatement([]);this.constructor=this.buildConstructor();var o=[],a=[];if(this.isDerived&&(a.push(t),t=this.scope.generateUidIdentifierBasedOnNode(t),o.push(t),this.superName=t),this.buildBody(),i.body.unshift(c.expressionStatement(c.callExpression(n.addHelper(\"classCallCheck\"),[c.thisExpression(),this.classRef]))),r=r.concat(this.staticPropBody.map((function(t){return t(e.classRef)}))),this.classId&&1===r.length)return c.toExpression(r[0]);r.push(c.returnStatement(this.classRef));var s=c.functionExpression(null,o,c.blockStatement(r));return s.shadow=!0,c.callExpression(s,a)},e.prototype.buildConstructor=function(){var e=c.functionDeclaration(this.classRef,[],this.constructorBody);return c.inherits(e,this.node),e},e.prototype.pushToMap=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"value\",r=arguments[3],i=void 0;e.static?(this.hasStaticDescriptors=!0,i=this.staticMutatorMap):(this.hasInstanceDescriptors=!0,i=this.instanceMutatorMap);var o=u.push(i,e,n,this.file,r);return t&&(o.enumerable=c.booleanLiteral(!0)),o},e.prototype.constructorMeMaybe=function(){var e=!1,t=this.path.get(\"body.body\"),n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}if(e=o.equals(\"kind\",\"constructor\"))break}if(!e){var a=void 0,s=void 0;if(this.isDerived){var u=d().expression;a=u.params,s=u.body}else a=[],s=c.blockStatement([]);this.path.get(\"body\").unshiftContainer(\"body\",c.classMethod(\"constructor\",c.identifier(\"constructor\"),a,s))}},e.prototype.buildBody=function(){if(this.constructorMeMaybe(),this.pushBody(),this.verifyConstructor(),this.userConstructor){var e=this.constructorBody;e.body=e.body.concat(this.userConstructor.body.body),c.inherits(this.constructor,this.userConstructor),c.inherits(e,this.userConstructor.body)}this.pushDescriptors()},e.prototype.pushBody=function(){var e=this.path.get(\"body.body\"),t=Array.isArray(e),n=0;for(e=t?e:(0,r.default)(e);;){var i;if(t){if(n>=e.length)break;i=e[n++]}else{if((n=e.next()).done)break;i=n.value}var o=i,s=o.node;if(o.isClassProperty())throw o.buildCodeFrameError(\"Missing class properties transform.\");if(s.decorators)throw o.buildCodeFrameError(\"Method has decorators, put the decorator plugin before the classes one.\");if(c.isClassMethod(s)){var u=\"constructor\"===s.kind;if(u&&(o.traverse(m,this),!this.hasBareSuper&&this.isDerived))throw o.buildCodeFrameError(\"missing super() call in constructor\");var l=new a.default({forceSuperMemoisation:u,methodPath:o,methodNode:s,objectRef:this.classRef,superRef:this.superName,isStatic:s.static,isLoose:this.isLoose,scope:this.scope,file:this.file},!0);l.replace(),u?this.pushConstructor(l,s,o):this.pushMethod(s,o)}}},e.prototype.clearDescriptors=function(){this.hasInstanceDescriptors=!1,this.hasStaticDescriptors=!1,this.instanceMutatorMap={},this.staticMutatorMap={}},e.prototype.pushDescriptors=function(){this.pushInherits();var e=this.body,t=void 0,n=void 0;if(this.hasInstanceDescriptors&&(t=u.toClassObject(this.instanceMutatorMap)),this.hasStaticDescriptors&&(n=u.toClassObject(this.staticMutatorMap)),t||n){t&&(t=u.toComputedObjectFromClass(t)),n&&(n=u.toComputedObjectFromClass(n));var r=c.nullLiteral(),i=[this.classRef,r,r,r,r];t&&(i[1]=t),n&&(i[2]=n),this.instanceInitializersId&&(i[3]=this.instanceInitializersId,e.unshift(this.buildObjectAssignment(this.instanceInitializersId))),this.staticInitializersId&&(i[4]=this.staticInitializersId,e.unshift(this.buildObjectAssignment(this.staticInitializersId)));for(var o=0,a=0;a<i.length;a++)i[a]!==r&&(o=a);i=i.slice(0,o+1),e.push(c.expressionStatement(c.callExpression(this.file.addHelper(\"createClass\"),i)))}this.clearDescriptors()},e.prototype.buildObjectAssignment=function(e){return c.variableDeclaration(\"var\",[c.variableDeclarator(e,c.objectExpression([]))])},e.prototype.wrapSuperCall=function(e,t,n,r){var i=e.node;this.isLoose?(i.arguments.unshift(c.thisExpression()),2===i.arguments.length&&c.isSpreadElement(i.arguments[1])&&c.isIdentifier(i.arguments[1].argument,{name:\"arguments\"})?(i.arguments[1]=i.arguments[1].argument,i.callee=c.memberExpression(t,c.identifier(\"apply\"))):i.callee=c.memberExpression(t,c.identifier(\"call\"))):i=(0,s.default)(c.logicalExpression(\"||\",c.memberExpression(this.classRef,c.identifier(\"__proto__\")),c.callExpression(c.memberExpression(c.identifier(\"Object\"),c.identifier(\"getPrototypeOf\")),[this.classRef])),c.thisExpression(),i.arguments);var o=c.callExpression(this.file.addHelper(\"possibleConstructorReturn\"),[c.thisExpression(),i]),a=this.bareSuperAfter.map((function(e){return e(n)}));e.parentPath.isExpressionStatement()&&e.parentPath.container===r.node.body&&r.node.body.length-1===e.parentPath.key?((this.superThises.length||a.length)&&(e.scope.push({id:n}),o=c.assignmentExpression(\"=\",n,o)),a.length&&(o=c.toSequenceExpression([o].concat(a,[n]))),e.parentPath.replaceWith(c.returnStatement(o))):e.replaceWithMultiple([c.variableDeclaration(\"var\",[c.variableDeclarator(n,o)])].concat(a,[c.expressionStatement(n)]))},e.prototype.verifyConstructor=function(){var e=this;if(this.isDerived){var t=this.userConstructorPath,n=t.get(\"body\");t.traverse(y,this);var i=!!this.bareSupers.length,o=this.superName||c.identifier(\"Function\"),a=t.scope.generateUidIdentifier(\"this\"),s=this.bareSupers,u=Array.isArray(s),l=0;for(s=u?s:(0,r.default)(s);;){var f;if(u){if(l>=s.length)break;f=s[l++]}else{if((l=s.next()).done)break;f=l.value}var p=f;this.wrapSuperCall(p,o,a,n),i&&p.find((function(e){return e===t||(e.isLoop()||e.isConditional()?(i=!1,!0):void 0)}))}var d=this.superThises,h=Array.isArray(d),m=0;for(d=h?d:(0,r.default)(d);;){var v;if(h){if(m>=d.length)break;v=d[m++]}else{if((m=d.next()).done)break;v=m.value}v.replaceWith(a)}var g=function(t){return c.callExpression(e.file.addHelper(\"possibleConstructorReturn\"),[a].concat(t||[]))},b=n.get(\"body\");b.length&&!b.pop().isReturnStatement()&&n.pushContainer(\"body\",c.returnStatement(i?a:g()));var x=this.superReturns,_=Array.isArray(x),w=0;for(x=_?x:(0,r.default)(x);;){var E;if(_){if(w>=x.length)break;E=x[w++]}else{if((w=x.next()).done)break;E=w.value}var S=E;if(S.node.argument){var k=S.scope.generateDeclaredUidIdentifier(\"ret\");S.get(\"argument\").replaceWithMultiple([c.assignmentExpression(\"=\",k,S.node.argument),g(k)])}else S.get(\"argument\").replaceWith(g())}}},e.prototype.pushMethod=function(e,t){var n=t?t.scope:this.scope;\"method\"===e.kind&&this._processMethod(e,n)||this.pushToMap(e,!1,null,n)},e.prototype._processMethod=function(){return!1},e.prototype.pushConstructor=function(e,t,n){this.bareSupers=e.bareSupers,this.superReturns=e.returns,n.scope.hasOwnBinding(this.classRef.name)&&n.scope.rename(this.classRef.name);var r=this.constructor;this.userConstructorPath=n,this.userConstructor=t,this.hasConstructor=!0,c.inheritsComments(r,t),r._ignoreUserWhitespace=!0,r.params=t.params,c.inherits(r.body,t.body),r.body.directives=t.body.directives,this._pushConstructor()},e.prototype._pushConstructor=function(){this.pushedConstructor||(this.pushedConstructor=!0,(this.hasInstanceDescriptors||this.hasStaticDescriptors)&&this.pushDescriptors(),this.body.push(this.constructor),this.pushInherits())},e.prototype.pushInherits=function(){this.isDerived&&!this.pushedInherits&&(this.pushedInherits=!0,this.body.unshift(c.expressionStatement(c.callExpression(this.file.addHelper(\"inherits\"),[this.classRef,this.superName]))))},e}();t.default=v,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=u(n(9)),i=u(n(2)),o=u(n(10));t.default=function(e){var t=e.types,n=(0,o.default)(),s={\"AssignmentExpression|UpdateExpression\":function(e){if(!e.node[n]){e.node[n]=!0;var r=e.get(e.isAssignmentExpression()?\"left\":\"argument\");if(r.isIdentifier()){var o=r.node.name;if(this.scope.getBinding(o)===e.scope.getBinding(o)){var a=this.exports[o];if(a){var s=e.node,u=e.isUpdateExpression()&&!s.prefix;u&&(\"++\"===s.operator?s=t.binaryExpression(\"+\",s.argument,t.numericLiteral(1)):\"--\"===s.operator?s=t.binaryExpression(\"-\",s.argument,t.numericLiteral(1)):u=!1);var l=a,c=Array.isArray(l),f=0;for(l=c?l:(0,i.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;s=this.buildCall(d,s).expression}u&&(s=t.sequenceExpression([s,e.node])),e.replaceWith(s)}}}}}};return{visitor:{CallExpression:function(e,n){if(e.node.callee.type===f){var r=n.contextIdent;e.replaceWith(t.callExpression(t.memberExpression(r,t.identifier(\"import\")),e.node.arguments))}},ReferencedIdentifier:function(e,n){\"__moduleName\"!=e.node.name||e.scope.hasBinding(\"__moduleName\")||e.replaceWith(t.memberExpression(n.contextIdent,t.identifier(\"id\")))},Program:{enter:function(e,t){t.contextIdent=e.scope.generateUidIdentifier(\"context\")},exit:function(e,n){var o=e.scope.generateUidIdentifier(\"export\"),u=n.contextIdent,f=(0,r.default)(null),p=[],d=[],h=[],m=[],y=[],v=[];function g(e,t){f[e]=f[e]||[],f[e].push(t)}function b(e,t,n){var r=void 0;p.forEach((function(t){t.key===e&&(r=t)})),r||p.push(r={key:e,imports:[],exports:[]}),r[t]=r[t].concat(n)}function x(e,n){return t.expressionStatement(t.callExpression(o,[t.stringLiteral(e),n]))}var _=e.get(\"body\"),w=!0,E=_,S=Array.isArray(E),k=0;for(E=S?E:(0,i.default)(E);;){var A;if(S){if(k>=E.length)break;A=E[k++]}else{if((k=E.next()).done)break;A=k.value}var C=A;if(C.isExportDeclaration()&&(C=C.get(\"declaration\")),C.isVariableDeclaration()&&\"var\"!==C.node.kind){w=!1;break}}var T=_,D=Array.isArray(T),M=0;for(T=D?T:(0,i.default)(T);;){var P;if(D){if(M>=T.length)break;P=T[M++]}else{if((M=T.next()).done)break;P=M.value}var O=P;if(w&&O.isFunctionDeclaration())d.push(O.node),v.push(O);else if(O.isImportDeclaration()){var L=O.node.source.value;for(var N in b(L,\"imports\",O.node.specifiers),O.getBindingIdentifiers())O.scope.removeBinding(N),y.push(t.identifier(N));O.remove()}else if(O.isExportAllDeclaration())b(O.node.source.value,\"exports\",O.node),O.remove();else if(O.isExportDefaultDeclaration()){var F=O.get(\"declaration\");if(F.isClassDeclaration()||F.isFunctionDeclaration()){var R=F.node.id,I=[];R?(I.push(F.node),I.push(x(\"default\",R)),g(R.name,\"default\")):I.push(x(\"default\",t.toExpression(F.node))),!w||F.isClassDeclaration()?O.replaceWithMultiple(I):(d=d.concat(I),v.push(O))}else O.replaceWith(x(\"default\",F.node))}else if(O.isExportNamedDeclaration()){var j=O.get(\"declaration\");if(j.node){O.replaceWith(j);var B=[],q=void 0;if(O.isFunction()){var z,V=j.node,U=V.id.name;w?(g(U,U),d.push(V),d.push(x(U,V.id)),v.push(O)):((z={})[U]=V.id,q=z)}else q=j.getBindingIdentifiers();for(var W in q)g(W,W),B.push(x(W,t.identifier(W)));O.insertAfter(B)}else{var Y=O.node.specifiers;if(Y&&Y.length)if(O.node.source)b(O.node.source.value,\"exports\",Y),O.remove();else{var X=[],H=Y,G=Array.isArray(H),$=0;for(H=G?H:(0,i.default)(H);;){var K;if(G){if($>=H.length)break;K=H[$++]}else{if(($=H.next()).done)break;K=$.value}var Z=K;X.push(x(Z.exported.name,Z.local)),g(Z.local.name,Z.exported.name)}O.replaceWithMultiple(X)}}}}p.forEach((function(n){var r=[],a=e.scope.generateUidIdentifier(n.key),s=n.imports,u=Array.isArray(s),l=0;for(s=u?s:(0,i.default)(s);;){var f;if(u){if(l>=s.length)break;f=s[l++]}else{if((l=s.next()).done)break;f=l.value}var p=f;t.isImportNamespaceSpecifier(p)?r.push(t.expressionStatement(t.assignmentExpression(\"=\",p.local,a))):t.isImportDefaultSpecifier(p)&&(p=t.importSpecifier(p.local,t.identifier(\"default\"))),t.isImportSpecifier(p)&&r.push(t.expressionStatement(t.assignmentExpression(\"=\",p.local,t.memberExpression(a,p.imported))))}if(n.exports.length){var d=e.scope.generateUidIdentifier(\"exportObj\");r.push(t.variableDeclaration(\"var\",[t.variableDeclarator(d,t.objectExpression([]))]));var y=n.exports,v=Array.isArray(y),g=0;for(y=v?y:(0,i.default)(y);;){var b;if(v){if(g>=y.length)break;b=y[g++]}else{if((g=y.next()).done)break;b=g.value}var x=b;t.isExportAllDeclaration(x)?r.push(c({KEY:e.scope.generateUidIdentifier(\"key\"),EXPORT_OBJ:d,TARGET:a})):t.isExportSpecifier(x)&&r.push(t.expressionStatement(t.assignmentExpression(\"=\",t.memberExpression(d,x.exported),t.memberExpression(a,x.local))))}r.push(t.expressionStatement(t.callExpression(o,[d])))}m.push(t.stringLiteral(n.key)),h.push(t.functionExpression(null,[a],t.blockStatement(r)))}));var J=this.getModuleName();J&&(J=t.stringLiteral(J)),w&&(0,a.default)(e,(function(e){return y.push(e)})),y.length&&d.unshift(t.variableDeclaration(\"var\",y.map((function(e){return t.variableDeclarator(e)})))),e.traverse(s,{exports:f,buildCall:x,scope:e.scope});var Q=v,ee=Array.isArray(Q),te=0;for(Q=ee?Q:(0,i.default)(Q);;){var ne;if(ee){if(te>=Q.length)break;ne=Q[te++]}else{if((te=Q.next()).done)break;ne=te.value}ne.remove()}e.node.body=[l({SYSTEM_REGISTER:t.memberExpression(t.identifier(n.opts.systemGlobal||\"System\"),t.identifier(\"register\")),BEFORE_BODY:d,MODULE_NAME:J,SETTERS:h,SOURCES:m,BODY:e.node.body,EXPORT_IDENTIFIER:o,CONTEXT_IDENTIFIER:u})]}}}}};var a=u(n(190)),s=u(n(4));function u(e){return e&&e.__esModule?e:{default:e}}var l=(0,s.default)('\\n  SYSTEM_REGISTER(MODULE_NAME, [SOURCES], function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\\n    \"use strict\";\\n    BEFORE_BODY;\\n    return {\\n      setters: [SETTERS],\\n      execute: function () {\\n        BODY;\\n      }\\n    };\\n  });\\n'),c=(0,s.default)('\\n  for (var KEY in TARGET) {\\n    if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\\n  }\\n'),f=\"Import\";e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{inherits:n(131),visitor:{Program:{exit:function(e,n){var r=e.get(\"body\").pop();if(function(e){if(e.isExpressionStatement()){var t=e.get(\"expression\");if(!t.isCallExpression())return!1;if(!t.get(\"callee\").isIdentifier({name:\"define\"}))return!1;var n=t.get(\"arguments\");return!(3===n.length&&!n.shift().isStringLiteral()||2!==n.length||!n.shift().isArrayExpression()||!n.shift().isFunctionExpression())}}(r)){var o=r.node.expression,l=o.arguments,c=3===l.length?l.shift():null,f=o.arguments[0],p=o.arguments[1],d=n.opts.globals||{},h=f.elements.map((function(e){return\"module\"===e.value||\"exports\"===e.value?t.identifier(e.value):t.callExpression(t.identifier(\"require\"),[e])})),m=f.elements.map((function(e){if(\"module\"===e.value)return t.identifier(\"mod\");if(\"exports\"===e.value)return t.memberExpression(t.identifier(\"mod\"),t.identifier(\"exports\"));var r=void 0;if(n.opts.exactGlobals){var o=d[e.value];r=o?o.split(\".\").reduce((function(e,n){return t.memberExpression(e,t.identifier(n))}),t.identifier(\"global\")):t.memberExpression(t.identifier(\"global\"),t.identifier(t.toIdentifier(e.value)))}else{var a=(0,i.basename)(e.value,(0,i.extname)(e.value)),s=d[a]||a;r=t.memberExpression(t.identifier(\"global\"),t.identifier(t.toIdentifier(s)))}return r})),y=c?c.value:this.file.opts.basename,v=t.memberExpression(t.identifier(\"global\"),t.identifier(t.toIdentifier(y))),g=null;if(n.opts.exactGlobals){var b=d[y];if(b){g=[];var x=b.split(\".\");v=x.slice(1).reduce((function(e,n){return g.push(a({GLOBAL_REFERENCE:e})),t.memberExpression(e,t.identifier(n))}),t.memberExpression(t.identifier(\"global\"),t.identifier(x[0])))}}var _=s({BROWSER_ARGUMENTS:m,PREREQUISITE_ASSIGNMENTS:g,GLOBAL_TO_ASSIGN:v});r.replaceWith(u({MODULE_NAME:c,AMD_ARGUMENTS:f,COMMON_ARGUMENTS:h,GLOBAL_EXPORT:_,FUNC:p}))}}}}}};var r,i=n(19),o=(r=n(4))&&r.__esModule?r:{default:r},a=(0,o.default)(\"\\n  GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\\n\"),s=(0,o.default)(\"\\n  var mod = { exports: {} };\\n  factory(BROWSER_ARGUMENTS);\\n  PREREQUISITE_ASSIGNMENTS\\n  GLOBAL_TO_ASSIGN = mod.exports;\\n\"),u=(0,o.default)('\\n  (function (global, factory) {\\n    if (typeof define === \"function\" && define.amd) {\\n      define(MODULE_NAME, AMD_ARGUMENTS, factory);\\n    } else if (typeof exports !== \"undefined\") {\\n      factory(COMMON_ARGUMENTS);\\n    } else {\\n      GLOBAL_EXPORT\\n    }\\n  })(this, FUNC);\\n');e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;function r(e,n,i){var o=e.specifiers[0];if(t.isExportNamespaceSpecifier(o)||t.isExportDefaultSpecifier(o)){var a,s=e.specifiers.shift(),u=i.generateUidIdentifier(s.exported.name);a=t.isExportNamespaceSpecifier(s)?t.importNamespaceSpecifier(u):t.importDefaultSpecifier(u),n.push(t.importDeclaration([a],e.source)),n.push(t.exportNamedDeclaration(null,[t.exportSpecifier(u,s.exported)])),r(e,n,i)}}return{inherits:n(200),visitor:{ExportNamedDeclaration:function(e){var t=e.node,n=[];r(t,n,e.scope),n.length&&(t.specifiers.length>=1&&n.push(t),e.replaceWithMultiple(n))}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types,r=\"@flow\";return{inherits:n(126),visitor:{Program:function(e,t){var n=t.file.ast.comments,o=Array.isArray(n),a=0;for(n=o?n:(0,i.default)(n);;){var s;if(o){if(a>=n.length)break;s=n[a++]}else{if((a=n.next()).done)break;s=a.value}var u=s;u.value.indexOf(r)>=0&&(u.value=u.value.replace(r,\"\"),u.value.replace(/\\*/g,\"\").trim()||(u.ignore=!0))}},Flow:function(e){e.remove()},ClassProperty:function(e){e.node.variance=null,e.node.typeAnnotation=null,e.node.value||e.remove()},Class:function(e){e.node.implements=null,e.get(\"body.body\").forEach((function(e){e.isClassProperty()&&(e.node.typeAnnotation=null,e.node.value||e.remove())}))},AssignmentPattern:function(e){e.node.left.optional=!1},Function:function(e){for(var t=e.node,n=0;n<t.params.length;n++)t.params[n].optional=!1},TypeCastExpression:function(e){var n=e.node;do{n=n.expression}while(t.isTypeCastExpression(n));e.replaceWith(n)}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;function r(e,n){var r=function(e,t){var n=e.object||e.callee.object;return t.isStatic(n)&&n}(e,n);if(r)return r;var i=function(e){var t=e.path.getData(\"functionBind\");return t||(t=e.generateDeclaredUidIdentifier(\"context\"),e.path.setData(\"functionBind\",t))}(n);return e.object?e.callee=t.sequenceExpression([t.assignmentExpression(\"=\",i,e.object),e.callee]):e.callee.object=t.assignmentExpression(\"=\",i,e.callee.object),i}return{inherits:n(201),visitor:{CallExpression:function(e){var n=e.node,i=e.scope,o=n.callee;if(t.isBindExpression(o)){var a=r(o,i);n.callee=t.memberExpression(o.callee,t.identifier(\"call\")),n.arguments.unshift(a)}},BindExpression:function(e){var n=e.node,i=r(n,e.scope);e.replaceWith(t.callExpression(t.memberExpression(n.callee,t.identifier(\"bind\")),[i]))}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;function r(e){var t=!1;return e.traverse({RestProperty:function(){t=!0,e.stop()}}),t}function o(e,n,r){var o=n.pop(),a=[],s=n,u=Array.isArray(s),l=0;for(s=u?s:(0,i.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c,p=f.key;t.isIdentifier(p)&&!f.computed&&(p=t.stringLiteral(f.key.name)),a.push(p)}return[o.argument,t.callExpression(e.addHelper(\"objectWithoutProperties\"),[r,t.arrayExpression(a)])]}function a(e,n,i,o){if(n.isAssignmentPattern())a(e,n.get(\"left\"),i,o);else if(n.isObjectPattern()&&r(n)){var s=e.scope.generateUidIdentifier(\"ref\"),u=t.variableDeclaration(\"let\",[t.variableDeclarator(n.node,s)]);u._blockHoist=i?o-i:1,e.ensureBlock(),e.get(\"body\").unshiftContainer(\"body\",u),n.replaceWith(s)}}return{inherits:n(202),visitor:{Function:function(e){for(var t=e.get(\"params\"),n=0;n<t.length;n++)a(t[n].parentPath,t[n],n,t.length)},VariableDeclarator:function(e,n){if(e.get(\"id\").isObjectPattern()){var r=e;e.get(\"id\").traverse({RestProperty:function(e){if(this.originalPath.node.id.properties.length>1&&!t.isIdentifier(this.originalPath.node.init)){var i=e.scope.generateUidIdentifierBasedOnNode(this.originalPath.node.init,\"ref\");return this.originalPath.insertBefore(t.variableDeclarator(i,this.originalPath.node.init)),void this.originalPath.replaceWith(t.variableDeclarator(this.originalPath.node.id,i))}var a=this.originalPath.node.init,s=[];e.findParent((function(e){if(e.isObjectProperty())s.unshift(e.node.key.name);else if(e.isVariableDeclarator())return!0})),s.length&&s.forEach((function(e){a=t.memberExpression(a,t.identifier(e))}));var u=o(n,e.parentPath.node.properties,a),l=u[0],c=u[1];r.insertAfter(t.variableDeclarator(l,c)),r=r.getSibling(r.key+1),0===e.parentPath.node.properties.length&&e.findParent((function(e){return e.isObjectProperty()||e.isVariableDeclarator()})).remove()}},{originalPath:e})}},ExportNamedDeclaration:function(e){var n=e.get(\"declaration\");if(n.isVariableDeclaration()&&r(n)){var i=[];for(var o in e.getOuterBindingIdentifiers(e)){var a=t.identifier(o);i.push(t.exportSpecifier(a,a))}e.replaceWith(n.node),e.insertAfter(t.exportNamedDeclaration(null,i))}},CatchClause:function(e){var t=e.get(\"param\");a(t.parentPath,t)},AssignmentExpression:function(e,n){var i=e.get(\"left\");if(i.isObjectPattern()&&r(i)){var a=[],s=void 0;(e.isCompletionRecord()||e.parentPath.isExpressionStatement())&&(s=e.scope.generateUidIdentifierBasedOnNode(e.node.right,\"ref\"),a.push(t.variableDeclaration(\"var\",[t.variableDeclarator(s,e.node.right)])));var u=o(n,e.node.left.properties,s),l=u[0],c=u[1],f=t.clone(e.node);f.right=s,a.push(t.expressionStatement(f)),a.push(t.toStatement(t.assignmentExpression(\"=\",l,c))),s&&a.push(t.expressionStatement(s)),e.replaceWithMultiple(a)}},ForXStatement:function(e){var n=e.node,i=e.scope,o=e.get(\"left\"),a=n.left;if(t.isObjectPattern(a)&&r(o)){var s=i.generateUidIdentifier(\"ref\");return n.left=t.variableDeclaration(\"var\",[t.variableDeclarator(s)]),e.ensureBlock(),void n.body.body.unshift(t.variableDeclaration(\"var\",[t.variableDeclarator(a,s)]))}if(t.isVariableDeclaration(a)){var u=a.declarations[0].id;if(t.isObjectPattern(u)){var l=i.generateUidIdentifier(\"ref\");n.left=t.variableDeclaration(a.kind,[t.variableDeclarator(l,null)]),e.ensureBlock(),n.body.body.unshift(t.variableDeclaration(n.left.kind,[t.variableDeclarator(u,l)]))}}},ObjectExpression:function(e,n){if(function(e){var n=e.properties,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;if(t.isSpreadProperty(s))return!0}return!1}(e.node)){var r=n.opts.useBuiltIns||!1;if(\"boolean\"!=typeof r)throw new Error(\"transform-object-rest-spread currently only accepts a boolean option for useBuiltIns (defaults to false)\");var o=[],a=[],s=e.node.properties,u=Array.isArray(s),l=0;for(s=u?s:(0,i.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c;t.isSpreadProperty(f)?(d(),o.push(f.argument)):a.push(f)}d(),t.isObjectExpression(o[0])||o.unshift(t.objectExpression([]));var p=r?t.memberExpression(t.identifier(\"Object\"),t.identifier(\"assign\")):n.addHelper(\"extends\");e.replaceWith(t.callExpression(p,o))}function d(){a.length&&(o.push(t.objectExpression(a)),a=[])}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;function n(e,n){for(var r=n.arguments[0].properties,i=!0,o=0;o<r.length;o++){var a=r[o],s=t.toComputedKey(a);if(t.isLiteral(s,{value:\"displayName\"})){i=!1;break}}i&&r.unshift(t.objectProperty(t.identifier(\"displayName\"),t.stringLiteral(e)))}var r=t.buildMatchMemberExpression(\"React.createClass\");function o(e){if(!e||!t.isCallExpression(e))return!1;if(!r(e.callee)&&\"createReactClass\"!==e.callee.name)return!1;var n=e.arguments;if(1!==n.length)return!1;var i=n[0];return!!t.isObjectExpression(i)}return{visitor:{ExportDefaultDeclaration:function(e,t){var r=e.node;if(o(r.declaration)){var a=t.file.opts.basename;\"index\"===a&&(a=i.default.basename(i.default.dirname(t.file.opts.filename))),n(a,r.declaration)}},CallExpression:function(e){var r=e.node;if(o(r)){var i=void 0;e.find((function(e){if(e.isAssignmentExpression())i=e.node.left;else if(e.isObjectProperty())i=e.node.key;else if(e.isVariableDeclarator())i=e.node.id;else if(e.isStatement())return!0;if(i)return!0})),i&&(t.isMemberExpression(i)&&(i=i.property),t.isIdentifier(i)&&n(i.name,r))}}}}};var r,i=(r=n(19))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(2));t.default=function(e){var t=e.types,n=/\\*?\\s*@jsx\\s+([^\\s]+)/,a=(0,o.default)({pre:function(e){var n=e.tagName,r=e.args;t.react.isCompatTag(n)?r.push(t.stringLiteral(n)):r.push(e.tagExpr)},post:function(e,t){e.callee=t.get(\"jsxIdentifier\")()}});return a.Program=function(e,i){var o=i.file,a=i.opts.pragma||\"React.createElement\",s=o.ast.comments,u=Array.isArray(s),l=0;for(s=u?s:(0,r.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c,p=n.exec(f.value);if(p){if(\"React.DOM\"===(a=p[1]))throw o.buildCodeFrameError(f,\"The @jsx React.DOM pragma has been deprecated as of React 0.12\");break}}i.set(\"jsxIdentifier\",(function(){return a.split(\".\").map((function(e){return t.identifier(e)})).reduce((function(e,n){return t.memberExpression(e,n)}))}))},{inherits:i.default,visitor:a}};var i=a(n(127)),o=a(n(351));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(){return{visitor:{Program:function(e,t){if(!1!==t.opts.strict&&!1!==t.opts.strictMode){var n=e.node.directives,r=Array.isArray(n),a=0;for(n=r?n:(0,i.default)(n);;){var s;if(r){if(a>=n.length)break;s=n[a++]}else{if((a=n.next()).done)break;s=a.value}if(\"use strict\"===s.value.value)return}e.unshiftContainer(\"directives\",o.directive(o.directiveLiteral(\"use strict\")))}}}}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=C(n(83)),i=C(n(76)),o=C(n(75)),a=C(n(68)),s=C(n(69)),u=C(n(71)),l=C(n(78)),c=C(n(80)),f=C(n(130)),p=C(n(72)),d=C(n(74)),h=C(n(82)),m=C(n(85)),y=C(n(66)),v=C(n(81)),g=C(n(79)),b=C(n(73)),x=C(n(70)),_=C(n(84)),w=C(n(77)),E=C(n(208)),S=C(n(131)),k=C(n(209)),A=C(n(86));function C(e){return e&&e.__esModule?e:{default:e}}function T(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[\"commonjs\",\"amd\",\"umd\",\"systemjs\"],C=!1,T=\"commonjs\",D=!1;if(void 0!==t&&(void 0!==t.loose&&(C=t.loose),void 0!==t.modules&&(T=t.modules),void 0!==t.spec&&(D=t.spec)),\"boolean\"!=typeof C)throw new Error(\"Preset es2015 'loose' option must be a boolean.\");if(\"boolean\"!=typeof D)throw new Error(\"Preset es2015 'spec' option must be a boolean.\");if(!1!==T&&-1===n.indexOf(T))throw new Error(\"Preset es2015 'modules' option must be 'false' to indicate no modules\\nor a module type which be be one of: 'commonjs' (default), 'amd', 'umd', 'systemjs'\");var M={loose:C};return{plugins:[[r.default,{loose:C,spec:D}],i.default,o.default,[a.default,{spec:D}],s.default,[u.default,M],l.default,c.default,f.default,[p.default,M],[d.default,M],h.default,m.default,y.default,[v.default,M],g.default,[b.default,M],x.default,_.default,\"commonjs\"===T&&[w.default,M],\"systemjs\"===T&&[E.default,M],\"amd\"===T&&[S.default,M],\"umd\"===T&&[k.default,M],[A.default,{async:!1,asyncGenerators:!1}]].filter(Boolean)}}var D=T({});t.default=D,Object.defineProperty(D,\"buildPreset\",{configurable:!0,writable:!0,enumerable:!1,value:T}),e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(132))&&r.__esModule?r:{default:r};t.default={plugins:[i.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(128)),i=o(n(129));function o(e){return e&&e.__esModule?e:{default:e}}t.default={plugins:[r.default,i.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(221)),i=a(n(203)),o=a(n(210));function a(e){return e&&e.__esModule?e:{default:e}}t.default={presets:[r.default],plugins:[i.default,o.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(222)),i=s(n(204)),o=s(n(205)),a=s(n(324));function s(e){return e&&e.__esModule?e:{default:e}}t.default={presets:[r.default],plugins:[a.default,i.default,o.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=u(n(128)),i=u(n(129)),o=u(n(132)),a=u(n(213)),s=u(n(327));function u(e){return e&&e.__esModule?e:{default:e}}t.default={plugins:[r.default,i.default,o.default,s.default,a.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(3))&&r.__esModule?r:{default:r};t.default=function e(t,n){(0,i.default)(this,e),this.file=t,this.options=n},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.Flow=t.Pure=t.Generated=t.User=t.Var=t.BlockScoped=t.Referenced=t.Scope=t.Expression=t.Statement=t.BindingIdentifier=t.ReferencedMemberExpression=t.ReferencedIdentifier=void 0;var r=n(1),i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(r);t.ReferencedIdentifier={types:[\"Identifier\",\"JSXIdentifier\"],checkPath:function(e,t){var n=e.node,o=e.parent;if(!i.isIdentifier(n,t)&&!i.isJSXMemberExpression(o,t)){if(!i.isJSXIdentifier(n,t))return!1;if(r.react.isCompatTag(n.name))return!1}return i.isReferenced(n,o)}},t.ReferencedMemberExpression={types:[\"MemberExpression\"],checkPath:function(e){var t=e.node,n=e.parent;return i.isMemberExpression(t)&&i.isReferenced(t,n)}},t.BindingIdentifier={types:[\"Identifier\"],checkPath:function(e){var t=e.node,n=e.parent;return i.isIdentifier(t)&&i.isBinding(t,n)}},t.Statement={types:[\"Statement\"],checkPath:function(e){var t=e.node,n=e.parent;if(i.isStatement(t)){if(i.isVariableDeclaration(t)){if(i.isForXStatement(n,{left:t}))return!1;if(i.isForStatement(n,{init:t}))return!1}return!0}return!1}},t.Expression={types:[\"Expression\"],checkPath:function(e){return e.isIdentifier()?e.isReferencedIdentifier():i.isExpression(e.node)}},t.Scope={types:[\"Scopable\"],checkPath:function(e){return i.isScope(e.node,e.parent)}},t.Referenced={checkPath:function(e){return i.isReferenced(e.node,e.parent)}},t.BlockScoped={checkPath:function(e){return i.isBlockScoped(e.node)}},t.Var={types:[\"VariableDeclaration\"],checkPath:function(e){return i.isVar(e.node)}},t.User={checkPath:function(e){return e.node&&!!e.node.loc}},t.Generated={checkPath:function(e){return!e.isUser()}},t.Pure={checkPath:function(e,t){return e.scope.isPure(e.node,t)}},t.Flow={types:[\"Flow\",\"ImportDeclaration\",\"ExportDeclaration\",\"ImportSpecifier\"],checkPath:function(e){var t=e.node;return!(!i.isFlow(t)&&(i.isImportDeclaration(t)?\"type\"!==t.importKind&&\"typeof\"!==t.importKind:i.isExportDeclaration(t)?\"type\"!==t.exportKind:!i.isImportSpecifier(t)||\"type\"!==t.importKind&&\"typeof\"!==t.importKind))}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(3))&&r.__esModule?r:{default:r},o=function(){function e(t){var n=t.existing,r=t.identifier,o=t.scope,a=t.path,s=t.kind;(0,i.default)(this,e),this.identifier=r,this.scope=o,this.path=a,this.kind=s,this.constantViolations=[],this.constant=!0,this.referencePaths=[],this.referenced=!1,this.references=0,this.clearValue(),n&&(this.constantViolations=[].concat(n.path,n.constantViolations,this.constantViolations))}return e.prototype.deoptValue=function(){this.clearValue(),this.hasDeoptedValue=!0},e.prototype.setValue=function(e){this.hasDeoptedValue||(this.hasValue=!0,this.value=e)},e.prototype.clearValue=function(){this.hasDeoptedValue=!1,this.hasValue=!1,this.value=null},e.prototype.reassign=function(e){this.constant=!1,-1===this.constantViolations.indexOf(e)&&this.constantViolations.push(e)},e.prototype.reference=function(e){-1===this.referencePaths.indexOf(e)&&(this.referenced=!0,this.references++,this.referencePaths.push(e))},e.prototype.dereference=function(){this.references--,this.referenced=!!this.references},e}();t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(9))&&r.__esModule?r:{default:r};t.getBindingIdentifiers=a,t.getOuterBindingIdentifiers=function(e,t){return a(e,t,!0)};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e,t,n){for(var r=[].concat(e),a=(0,i.default)(null);r.length;){var s=r.shift();if(s){var u=o.getBindingIdentifiers.keys[s.type];if(o.isIdentifier(s))t?(a[s.name]=a[s.name]||[]).push(s):a[s.name]=s;else if(o.isExportDeclaration(s))o.isDeclaration(s.declaration)&&r.push(s.declaration);else{if(n){if(o.isFunctionDeclaration(s)){r.push(s.id);continue}if(o.isFunctionExpression(s))continue}if(u)for(var l=0;l<u.length;l++){var c=u[l];s[c]&&(r=r.concat(s[c]))}}}}return a}a.keys={DeclareClass:[\"id\"],DeclareFunction:[\"id\"],DeclareModule:[\"id\"],DeclareVariable:[\"id\"],InterfaceDeclaration:[\"id\"],TypeAlias:[\"id\"],OpaqueType:[\"id\"],CatchClause:[\"param\"],LabeledStatement:[\"label\"],UnaryExpression:[\"argument\"],AssignmentExpression:[\"left\"],ImportSpecifier:[\"local\"],ImportNamespaceSpecifier:[\"local\"],ImportDefaultSpecifier:[\"local\"],ImportDeclaration:[\"specifiers\"],ExportSpecifier:[\"exported\"],ExportNamespaceSpecifier:[\"exported\"],ExportDefaultSpecifier:[\"exported\"],FunctionDeclaration:[\"id\",\"params\"],FunctionExpression:[\"id\",\"params\"],ClassDeclaration:[\"id\"],ClassExpression:[\"id\"],RestElement:[\"argument\"],UpdateExpression:[\"argument\"],RestProperty:[\"argument\"],ObjectProperty:[\"value\"],AssignmentPattern:[\"left\"],ArrayPattern:[\"elements\"],ObjectPattern:[\"properties\"],VariableDeclaration:[\"declarations\"],VariableDeclarator:[\"id\"]}},function(e,t){\"use strict\";e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";var r=n(138),i=n(13)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:o?r(t):\"Object\"==(a=r(t))&&\"function\"==typeof t.callee?\"Arguments\":a}},function(e,t,n){\"use strict\";var r=n(146),i=n(57).getWeak,o=n(21),a=n(16),s=n(136),u=n(55),l=n(137),c=n(28),f=n(58),p=l(5),d=l(6),h=0,m=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},v=function(e,t){return p(e.a,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=d(this.a,(function(t){return t[0]===e}));return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e((function(e,r){s(e,l,t,\"_i\"),e._t=t,e._i=h++,e._l=void 0,null!=r&&u(r,n,e[o],e)}));return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(f(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(f(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){\"use strict\";var r=n(16),i=n(15).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},function(e,t,n){\"use strict\";e.exports=!n(22)&&!n(27)((function(){return 7!=Object.defineProperty(n(230)(\"div\"),\"a\",{get:function(){return 7}}).a}))},function(e,t,n){\"use strict\";var r=n(138);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},function(e,t){\"use strict\";e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){\"use strict\";var r=n(44),i=n(145),o=n(91),a=n(94),s=n(142),u=Object.assign;e.exports=!u||n(27)((function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach((function(e){t[e]=e})),7!=u({},e)[n]||Object.keys(u({},t)).join(\"\")!=r}))?function(e,t){for(var n=a(e),u=arguments.length,l=1,c=i.f,f=o.f;u>l;)for(var p,d=s(arguments[l++]),h=c?r(d).concat(c(d)):r(d),m=h.length,y=0;m>y;)f.call(d,p=h[y++])&&(n[p]=d[p]);return n}:u},function(e,t,n){\"use strict\";var r=n(91),i=n(92),o=n(37),a=n(154),s=n(28),u=n(231),l=Object.getOwnPropertyDescriptor;t.f=n(22)?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){\"use strict\";var r=n(237),i=n(141).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){\"use strict\";var r=n(28),i=n(37),o=n(420)(!1),a=n(150)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},function(e,t,n){\"use strict\";var r=n(228),i=n(13)(\"iterator\"),o=n(56);e.exports=n(5).getIteratorMethod=function(e){if(null!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},function(e,t,n){(function(r){\"use strict\";var i=\"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};function o(){var e;try{e=t.storage.debug}catch(e){}return!e&&void 0!==r&&\"env\"in r&&(e=r.env.DEBUG),e}(t=e.exports=n(458)).log=function(){return\"object\"===(\"undefined\"==typeof console?\"undefined\":i(console))&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?\"%c\":\"\")+this.namespace+(n?\" %c\":\" \")+e[0]+(n?\"%c \":\" \")+\"+\"+t.humanize(this.diff),n){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var i=0,o=0;e[0].replace(/%[a-zA-Z%]/g,(function(e){\"%%\"!==e&&(i++,\"%c\"===e&&(o=i))})),e.splice(o,0,r)}},t.save=function(e){try{null==e?t.storage.removeItem(\"debug\"):t.storage.debug=e}catch(e){}},t.load=o,t.useColors=function(){return!(\"undefined\"==typeof window||!window.process||\"renderer\"!==window.process.type)||\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},t.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return\"[UnexpectedJSONParseError]: \"+e.message}},t.enable(o())}).call(t,n(8))},function(e,t){\"use strict\";!function(){var t,n,r,i,o,a;function s(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/},t={NonAsciiIdentifierStart:/[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309B-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC03-\\uDC37\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF5D-\\uDF61]|\\uD805[\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA]|\\uD806[\\uDCA0-\\uDCDF\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50\\uDF93-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD83A[\\uDC00-\\uDCC4]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]/,NonAsciiIdentifierPart:/[\\xAA\\xB5\\xB7\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1369-\\u1371\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19DA\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2118-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDD40-\\uDD74\\uDDFD\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDEE0\\uDF00-\\uDF1F\\uDF30-\\uDF4A\\uDF50-\\uDF7A\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF\\uDFD1-\\uDFD5]|\\uD801[\\uDC00-\\uDC9D\\uDCA0-\\uDCA9\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00-\\uDE03\\uDE05\\uDE06\\uDE0C-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE33\\uDE38-\\uDE3A\\uDE3F\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE6\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48]|\\uD804[\\uDC00-\\uDC46\\uDC66-\\uDC6F\\uDC7F-\\uDCBA\\uDCD0-\\uDCE8\\uDCF0-\\uDCF9\\uDD00-\\uDD34\\uDD36-\\uDD3F\\uDD50-\\uDD73\\uDD76\\uDD80-\\uDDC4\\uDDD0-\\uDDDA\\uDE00-\\uDE11\\uDE13-\\uDE37\\uDEB0-\\uDEEA\\uDEF0-\\uDEF9\\uDF01-\\uDF03\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3C-\\uDF44\\uDF47\\uDF48\\uDF4B-\\uDF4D\\uDF57\\uDF5D-\\uDF63\\uDF66-\\uDF6C\\uDF70-\\uDF74]|\\uD805[\\uDC80-\\uDCC5\\uDCC7\\uDCD0-\\uDCD9\\uDD80-\\uDDB5\\uDDB8-\\uDDC0\\uDE00-\\uDE40\\uDE44\\uDE50-\\uDE59\\uDE80-\\uDEB7\\uDEC0-\\uDEC9]|\\uD806[\\uDCA0-\\uDCE9\\uDCFF\\uDEC0-\\uDEF8]|\\uD808[\\uDC00-\\uDF98]|\\uD809[\\uDC00-\\uDC6E]|[\\uD80C\\uD840-\\uD868\\uD86A-\\uD86C][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE60-\\uDE69\\uDED0-\\uDEED\\uDEF0-\\uDEF4\\uDF00-\\uDF36\\uDF40-\\uDF43\\uDF50-\\uDF59\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDF00-\\uDF44\\uDF50-\\uDF7E\\uDF8F-\\uDF9F]|\\uD82C[\\uDC00\\uDC01]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99\\uDC9D\\uDC9E]|\\uD834[\\uDD65-\\uDD69\\uDD6D-\\uDD72\\uDD7B-\\uDD82\\uDD85-\\uDD8B\\uDDAA-\\uDDAD\\uDE42-\\uDE44]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB\\uDFCE-\\uDFFF]|\\uD83A[\\uDC00-\\uDCC4\\uDCD0-\\uDCD6]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D]|\\uD87E[\\uDC00-\\uDE1D]|\\uDB40[\\uDD00-\\uDDEF]/},r=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(o=new Array(128),a=0;a<128;++a)o[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;e.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES5:function(e){return e<128?o[e]:n.NonAsciiIdentifierPart.test(s(e))},isIdentifierStartES6:function(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(s(e))},isIdentifierPartES6:function(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(s(e))}}}()},function(e,t,n){\"use strict\";var r=n(38)(n(17),\"Set\");e.exports=r},function(e,t,n){\"use strict\";var r=n(160),i=n(561),o=n(562);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},function(e,t,n){\"use strict\";var r=n(17).Uint8Array;e.exports=r},function(e,t){\"use strict\";e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},function(e,t,n){\"use strict\";var r=n(513),i=n(112),o=n(6),a=n(113),s=n(171),u=n(177),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),c=!n&&i(e),f=!n&&!c&&a(e),p=!n&&!c&&!f&&u(e),d=n||c||f||p,h=d?r(e.length,String):[],m=h.length;for(var y in e)!t&&!l.call(e,y)||d&&(\"length\"==y||f&&(\"offset\"==y||\"parent\"==y)||p&&(\"buffer\"==y||\"byteLength\"==y||\"byteOffset\"==y)||s(y,m))||h.push(y);return h}},function(e,t){\"use strict\";e.exports=function(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}},function(e,t,n){\"use strict\";var r=n(163),i=n(46);e.exports=function(e,t,n){(void 0!==n&&!i(e[t],n)||void 0===n&&!(t in e))&&r(e,t,n)}},function(e,t,n){\"use strict\";var r=n(527)();e.exports=r},function(e,t,n){\"use strict\";var r=n(255),i=n(108);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},function(e,t,n){\"use strict\";var r=n(161),i=n(6);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},function(e,t,n){\"use strict\";var r=n(494),i=n(25);e.exports=function e(t,n,o,a,s){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!=t&&n!=n:r(t,n,o,a,e,s))}},function(e,t,n){\"use strict\";var r=n(487),i=n(24);e.exports=function(e,t){var n=-1,o=i(e)?Array(e.length):[];return r(e,(function(e,r,i){o[++n]=t(e,r,i)})),o}},function(e,t,n){\"use strict\";var r=n(45),i=n(60),o=n(6),a=n(62),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(o(t))return i(t,e)+\"\";if(a(t))return u?u.call(t):\"\";var n=t+\"\";return\"0\"==n&&1/t==-1/0?\"-0\":n}},function(e,t){\"use strict\";e.exports=function(e,t){return e.has(t)}},function(e,t,n){\"use strict\";var r=n(6),i=n(173),o=n(571),a=n(114);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(a(e))}},function(e,t,n){(function(e){\"use strict\";var r=\"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},i=n(17),o=\"object\"==r(t)&&t&&!t.nodeType&&t,a=o&&\"object\"==r(e)&&e&&!e.nodeType&&e,s=a&&a.exports===o?i.Buffer:void 0,u=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=u?u(n):new e.constructor(n);return e.copy(r),r}}).call(t,n(39)(e))},function(e,t,n){\"use strict\";var r=n(167);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},function(e,t,n){\"use strict\";var r=n(61),i=n(24),o=n(32);e.exports=function(e){return function(t,n,a){var s=Object(t);if(!i(t)){var u=r(n,3);t=o(t),n=function(e){return u(s[e],e,s)}}var l=e(t,n,a);return l>-1?s[u?t[l]:l]:void 0}}},function(e,t,n){\"use strict\";var r=n(38),i=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=i},function(e,t,n){\"use strict\";var r=n(242),i=n(482),o=n(254);e.exports=function(e,t,n,a,s,u){var l=1&n,c=e.length,f=t.length;if(c!=f&&!(l&&f>c))return!1;var p=u.get(e);if(p&&u.get(t))return p==t;var d=-1,h=!0,m=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++d<c;){var y=e[d],v=t[d];if(a)var g=l?a(v,y,d,t,e,u):a(y,v,d,e,t,u);if(void 0!==g){if(g)continue;h=!1;break}if(m){if(!i(t,(function(e,t){if(!o(m,t)&&(y===e||s(y,e,n,a,u)))return m.push(t)}))){h=!1;break}}else if(y!==v&&!s(y,v,n,a,u)){h=!1;break}}return u.delete(e),u.delete(t),h}},function(e,t){(function(t){\"use strict\";var n=\"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},r=\"object\"==(void 0===t?\"undefined\":n(t))&&t&&t.Object===Object&&t;e.exports=r}).call(t,function(){return this}())},function(e,t,n){\"use strict\";var r=n(250),i=n(170),o=n(32);e.exports=function(e){return r(e,o,i)}},function(e,t,n){\"use strict\";var r=n(161),i=n(169),o=n(170),a=n(279),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:a;e.exports=s},function(e,t,n){\"use strict\";var r=n(472),i=n(159),o=n(474),a=n(241),s=n(475),u=n(30),l=n(272),c=\"[object Map]\",f=\"[object Promise]\",p=\"[object Set]\",d=\"[object WeakMap]\",h=\"[object DataView]\",m=l(r),y=l(i),v=l(o),g=l(a),b=l(s),x=u;(r&&x(new r(new ArrayBuffer(1)))!=h||i&&x(new i)!=c||o&&x(o.resolve())!=f||a&&x(new a)!=p||s&&x(new s)!=d)&&(x=function(e){var t=u(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?l(n):\"\";if(r)switch(r){case m:return h;case y:return c;case v:return f;case g:return p;case b:return d}return t}),e.exports=x},function(e,t,n){\"use strict\";var r=n(255),i=n(112),o=n(6),a=n(171),s=n(176),u=n(108);e.exports=function(e,t,n){for(var l=-1,c=(t=r(t,e)).length,f=!1;++l<c;){var p=u(t[l]);if(!(f=null!=e&&n(e,p)))break;e=e[p]}return f||++l!=c?f:!!(c=null==e?0:e.length)&&s(c)&&a(p,c)&&(o(e)||i(e))}},function(e,t,n){\"use strict\";var r=n(486),i=n(169),o=n(105);e.exports=function(e){return\"function\"!=typeof e.constructor||o(e)?{}:r(i(e))}},function(e,t,n){\"use strict\";var r=n(18);e.exports=function(e){return e==e&&!r(e)}},function(e,t){\"use strict\";e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},function(e,t){\"use strict\";e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},function(e,t,n){(function(e){\"use strict\";var r=\"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},i=n(261),o=\"object\"==r(t)&&t&&!t.nodeType&&t,a=o&&\"object\"==r(e)&&e&&!e.nodeType&&e,s=a&&a.exports===o&&i.process,u=function(){try{return s&&s.binding&&s.binding(\"util\")}catch(e){}}();e.exports=u}).call(t,n(39)(e))},function(e,t){\"use strict\";e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t){\"use strict\";var n=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},function(e,t,n){\"use strict\";var r=n(244),i=n(573),o=n(101),a=n(529),s=o((function(e){return e.push(void 0,a),r(i,void 0,e)}));e.exports=s},function(e,t,n){\"use strict\";var r=n(490),i=n(265);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t,n){\"use strict\";var r=n(30),i=n(169),o=n(25),a=Function.prototype,s=Object.prototype,u=a.toString,l=s.hasOwnProperty,c=u.call(Object);e.exports=function(e){if(!o(e)||\"[object Object]\"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=l.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&u.call(n)==c}},function(e,t,n){\"use strict\";var r=n(498),i=n(102),o=n(270),a=o&&o.isRegExp,s=a?i(a):r;e.exports=s},function(e,t,n){\"use strict\";var r=n(101)(n(593));e.exports=r},function(e,t,n){\"use strict\";var r=n(510),i=n(172),o=n(48),a=n(114);e.exports=function(e,t,n){return t=(n?i(e,t,n):void 0===t)?1:o(t),r(a(e),t)}},function(e,t){\"use strict\";e.exports=function(){return[]}},function(e,t,n){\"use strict\";var r=n(515),i=n(32);e.exports=function(e){return null==e?[]:r(e,i(e))}},function(e,t){\"use strict\";var n=Object,r=Object.defineProperty,i=Object.create;function o(e,t,i){if(r)try{r.call(n,e,t,{value:i})}catch(n){e[t]=i}else e[t]=i}function a(e){return e&&(o(e,\"call\",e.call),o(e,\"apply\",e.apply)),e}a(r),a(i);var s=a(Object.prototype.hasOwnProperty),u=a(Number.prototype.toString),l=a(String.prototype.slice),c=function(){};function f(e){return i?i.call(n,e):(c.prototype=e||null,new c)}var p=Math.random,d=f(null);function h(){do{var e=(t=void 0,(t={})[l.call(u.call(p(),36),2)]=!0,Object.keys(t)[0])}while(s.call(d,e));var t;return d[e]=e}t.makeUniqueKey=h;var m=Object.getOwnPropertyNames;function y(e){return f(null)}Object.getOwnPropertyNames=function(e){for(var t=m(e),n=0,r=0,i=t.length;n<i;++n)s.call(d,t[n])||(n>r&&(t[r]=t[n]),++r);return t.length=r,t},t.makeAccessor=function(e){var t=h(),n=f(null);function r(r){return s.call(r,t)||function(r){var i;o(r,t,(function(t,o){if(t===n)return o?i=null:i||(i=e(r))}))}(r),r[t](n)}return e=e||y,r.forget=function(e){s.call(e,t)&&e[t](n,!0)},r}},function(e,t,n){var r;(function(e,i){\"use strict\";var o=\"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};!function(a){var s=\"object\"==o(t)&&t,u=\"object\"==o(e)&&e&&e.exports==s&&e,l=\"object\"==(void 0===i?\"undefined\":o(i))&&i;l.global!==l&&l.window!==l||(a=l);var c=\"A range’s `stop` value must be greater than or equal to the `start` value.\",f=\"Invalid code point value. Code points range from U+000000 to U+10FFFF.\",p=55296,d=56319,h=56320,m=57343,y=/\\\\x00([^0123456789]|$)/g,v={},g=v.hasOwnProperty,b=function(e,t){for(var n=-1,r=e.length;++n<r;)t(e[n],n)},x=v.toString,_=function(e){return\"[object Array]\"==x.call(e)},w=function(e){return\"number\"==typeof e||\"[object Number]\"==x.call(e)},E=function(e,t){var n=String(e);return n.length<t?(\"0000\"+n).slice(-t):n},S=function(e){return Number(e).toString(16).toUpperCase()},k=[].slice,A=function(e,t){for(var n,r,i=0,o=e.length;i<o;){if(n=e[i],r=e[i+1],t>=n&&t<r)return t==n?r==n+1?(e.splice(i,2),e):(e[i]=t+1,e):t==r-1?(e[i+1]=t,e):(e.splice(i,2,n,t,t+1,r),e);i+=2}return e},C=function(e,t,n){if(n<t)throw Error(c);for(var r,i,o=0;o<e.length;){if(r=e[o],i=e[o+1]-1,r>n)return e;if(t<=r&&n>=i)e.splice(o,2);else{if(t>=r&&n<i)return t==r?(e[o]=n+1,e[o+1]=i+1,e):(e.splice(o,2,r,t,n+1,i+1),e);if(t>=r&&t<=i)e[o+1]=t;else if(n>=r&&n<=i)return e[o]=n+1,e;o+=2}}return e},T=function(e,t){var n,r,i=0,o=null,a=e.length;if(t<0||t>1114111)throw RangeError(f);for(;i<a;){if(n=e[i],r=e[i+1],t>=n&&t<r)return e;if(t==n-1)return e[i]=t,e;if(n>t)return e.splice(null!=o?o+2:0,0,t,t+1),e;if(t==r)return t+1==e[i+2]?(e.splice(i,4,n,e[i+3]),e):(e[i+1]=t+1,e);o=i,i+=2}return e.push(t,t+1),e},D=function(e,t){for(var n,r,i=0,o=e.slice(),a=t.length;i<a;)o=(n=t[i])==(r=t[i+1]-1)?T(o,n):P(o,n,r),i+=2;return o},M=function(e,t){for(var n,r,i=0,o=e.slice(),a=t.length;i<a;)o=(n=t[i])==(r=t[i+1]-1)?A(o,n):C(o,n,r),i+=2;return o},P=function(e,t,n){if(n<t)throw Error(c);if(t<0||t>1114111||n<0||n>1114111)throw RangeError(f);for(var r,i,o=0,a=!1,s=e.length;o<s;){if(r=e[o],i=e[o+1],a){if(r==n+1)return e.splice(o-1,2),e;if(r>n)return e;r>=t&&r<=n&&(i>t&&i-1<=n?(e.splice(o,2),o-=2):(e.splice(o-1,2),o-=2))}else{if(r==n+1)return e[o]=t,e;if(r>n)return e.splice(o,0,t,n+1),e;if(t>=r&&t<i&&n+1<=i)return e;t>=r&&t<i||i==t?(e[o+1]=n+1,a=!0):t<=r&&n+1>=i&&(e[o]=t,e[o+1]=n+1,a=!0)}o+=2}return a||e.push(t,n+1),e},O=function(e,t){var n=0,r=e.length,i=e[n],o=e[r-1];if(r>=2&&(t<i||t>o))return!1;for(;n<r;){if(i=e[n],o=e[n+1],t>=i&&t<o)return!0;n+=2}return!1},L=function(e){return!e.length},N=function(e){return 2==e.length&&e[0]+1==e[1]},F=function(e){for(var t,n,r=0,i=[],o=e.length;r<o;){for(t=e[r],n=e[r+1];t<n;)i.push(t),++t;r+=2}return i},R=Math.floor,I=function(e){return parseInt(R((e-65536)/1024)+p,10)},j=function(e){return parseInt((e-65536)%1024+h,10)},B=String.fromCharCode,q=function(e){return 9==e?\"\\\\t\":10==e?\"\\\\n\":12==e?\"\\\\f\":13==e?\"\\\\r\":92==e?\"\\\\\\\\\":36==e||e>=40&&e<=43||45==e||46==e||63==e||e>=91&&e<=94||e>=123&&e<=125?\"\\\\\"+B(e):e>=32&&e<=126?B(e):e<=255?\"\\\\x\"+E(S(e),2):\"\\\\u\"+E(S(e),4)},z=function(e){return e<=65535?q(e):\"\\\\u{\"+e.toString(16).toUpperCase()+\"}\"},V=function(e){var t,n=e.length,r=e.charCodeAt(0);return r>=p&&r<=d&&n>1?(t=e.charCodeAt(1),1024*(r-p)+t-h+65536):r},U=function(e){var t,n,r=\"\",i=0,o=e.length;if(N(e))return q(e[0]);for(;i<o;)r+=(t=e[i])==(n=e[i+1]-1)?q(t):t+1==n?q(t)+q(n):q(t)+\"-\"+q(n),i+=2;return\"[\"+r+\"]\"},W=function(e){if(!e.length)return[];for(var t,n,r,i,o,a,s=0,u=[],l=e.length;s<l;){t=e[s],n=e[s+1]-1,r=I(t),i=j(t),o=I(n);var c=(a=j(n))==m,f=!1;r==o||i==h&&c?(u.push([[r,o+1],[i,a+1]]),f=!0):u.push([[r,r+1],[i,57344]]),!f&&r+1<o&&(c?(u.push([[r+1,o+1],[h,a+1]]),f=!0):u.push([[r+1,o],[h,57344]])),f||u.push([[o,o+1],[h,a+1]]),s+=2}return function(e){for(var t,n,r,i,o,a,s=[],u=[],l=!1,c=-1,f=e.length;++c<f;)if(t=e[c],n=e[c+1]){for(r=t[0],i=t[1],o=n[0],a=n[1],u=i;o&&r[0]==o[0]&&r[1]==o[1];)u=N(a)?T(u,a[0]):P(u,a[0],a[1]-1),r=(t=e[++c])[0],i=t[1],o=(n=e[c+1])&&n[0],a=n&&n[1],l=!0;s.push([r,l?u:i]),l=!1}else s.push(t);return function(e){if(1==e.length)return e;for(var t=-1,n=-1;++t<e.length;){var r=e[t],i=r[1],o=i[0],a=i[1];for(n=t;++n<e.length;){var s=e[n],u=s[1],l=u[0],c=u[1];o==l&&a==c&&(N(s[0])?r[0]=T(r[0],s[0][0]):r[0]=P(r[0],s[0][0],s[0][1]-1),e.splice(n,1),--n)}}return e}(s)}(u)},Y=function e(t){return arguments.length>1&&(t=k.call(arguments)),this instanceof e?(this.data=[],t?this.add(t):this):(new e).add(t)};Y.version=\"1.3.2\";var X=Y.prototype;!function(e,t){var n;for(n in t)g.call(t,n)&&(e[n]=t[n])}(X,{add:function(e){var t=this;return null==e?t:e instanceof Y?(t.data=D(t.data,e.data),t):(arguments.length>1&&(e=k.call(arguments)),_(e)?(b(e,(function(e){t.add(e)})),t):(t.data=T(t.data,w(e)?e:V(e)),t))},remove:function(e){var t=this;return null==e?t:e instanceof Y?(t.data=M(t.data,e.data),t):(arguments.length>1&&(e=k.call(arguments)),_(e)?(b(e,(function(e){t.remove(e)})),t):(t.data=A(t.data,w(e)?e:V(e)),t))},addRange:function(e,t){var n=this;return n.data=P(n.data,w(e)?e:V(e),w(t)?t:V(t)),n},removeRange:function(e,t){var n=this,r=w(e)?e:V(e),i=w(t)?t:V(t);return n.data=C(n.data,r,i),n},intersection:function(e){var t=this,n=e instanceof Y?F(e.data):e;return t.data=function(e,t){for(var n,r=0,i=t.length,o=[];r<i;)n=t[r],O(e,n)&&o.push(n),++r;return function(e){for(var t,n=-1,r=e.length,i=r-1,o=[],a=!0,s=0;++n<r;)if(t=e[n],a)o.push(t),s=t,a=!1;else if(t==s+1){if(n!=i){s=t;continue}a=!0,o.push(t+1)}else o.push(s+1,t),s=t;return a||o.push(t+1),o}(o)}(t.data,n),t},contains:function(e){return O(this.data,w(e)?e:V(e))},clone:function(){var e=new Y;return e.data=this.data.slice(0),e},toString:function(e){var t=function(e,t,n){if(n)return function(e){var t,n,r=\"\",i=0,o=e.length;if(N(e))return z(e[0]);for(;i<o;)r+=(t=e[i])==(n=e[i+1]-1)?z(t):t+1==n?z(t)+z(n):z(t)+\"-\"+z(n),i+=2;return\"[\"+r+\"]\"}(e);var r=[],i=function(e){for(var t,n,r=[],i=[],o=[],a=[],s=0,u=e.length;s<u;)t=e[s],n=e[s+1]-1,t<p?(n<p&&o.push(t,n+1),n>=p&&n<=d&&(o.push(t,p),r.push(p,n+1)),n>=h&&n<=m&&(o.push(t,p),r.push(p,56320),i.push(h,n+1)),n>m&&(o.push(t,p),r.push(p,56320),i.push(h,57344),n<=65535?o.push(57344,n+1):(o.push(57344,65536),a.push(65536,n+1)))):t>=p&&t<=d?(n>=p&&n<=d&&r.push(t,n+1),n>=h&&n<=m&&(r.push(t,56320),i.push(h,n+1)),n>m&&(r.push(t,56320),i.push(h,57344),n<=65535?o.push(57344,n+1):(o.push(57344,65536),a.push(65536,n+1)))):t>=h&&t<=m?(n>=h&&n<=m&&i.push(t,n+1),n>m&&(i.push(t,57344),n<=65535?o.push(57344,n+1):(o.push(57344,65536),a.push(65536,n+1)))):t>m&&t<=65535?n<=65535?o.push(t,n+1):(o.push(t,65536),a.push(65536,n+1)):a.push(t,n+1),s+=2;return{loneHighSurrogates:r,loneLowSurrogates:i,bmp:o,astral:a}}(e),o=i.loneHighSurrogates,a=i.loneLowSurrogates,s=i.bmp,u=i.astral,l=!L(o),c=!L(a),f=W(u);return t&&(s=D(s,o),l=!1,s=D(s,a),c=!1),L(s)||r.push(U(s)),f.length&&r.push(function(e){var t=[];return b(e,(function(e){var n=e[0],r=e[1];t.push(U(n)+U(r))})),t.join(\"|\")}(f)),l&&r.push(U(o)+\"(?![\\\\uDC00-\\\\uDFFF])\"),c&&r.push(\"(?:[^\\\\uD800-\\\\uDBFF]|^)\"+U(a)),r.join(\"|\")}(this.data,!!e&&e.bmpOnly,!!e&&e.hasUnicodeFlag);return t?t.replace(y,\"\\\\0$1\"):\"[]\"},toRegExp:function(e){var t=this.toString(e&&-1!=e.indexOf(\"u\")?{hasUnicodeFlag:!0}:null);return RegExp(t,e||\"\")},valueOf:function(){return F(this.data)}}),X.toArray=X.valueOf,\"object\"==o(n(49))&&n(49)?void 0===(r=function(){return Y}.call(t,n,t,e))||(e.exports=r):s&&!s.nodeType?u?u.exports=Y:s.regenerate=Y:a.regenerate=Y}(void 0)}).call(t,n(39)(e),function(){return this}())},function(e,t,n){\"use strict\";var r=c(n(35)),i=c(n(64)),o=l(n(1)),a=l(n(607)),s=l(n(608)),u=l(n(116));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function c(e){return e&&e.__esModule?e:{default:e}}var f=Object.prototype.hasOwnProperty;function p(e){i.default.ok(this instanceof p),o.assertIdentifier(e),this.nextTempId=0,this.contextId=e,this.listing=[],this.marked=[!0],this.finalLoc=h(),this.tryEntries=[],this.leapManager=new a.LeapManager(this)}var d=p.prototype;function h(){return o.numericLiteral(-1)}function m(e){return new Error(\"all declarations should have been transformed into assignments before the Exploder began its work: \"+(0,r.default)(e))}t.Emitter=p,d.mark=function(e){o.assertLiteral(e);var t=this.listing.length;return-1===e.value?e.value=t:i.default.strictEqual(e.value,t),this.marked[t]=!0,e},d.emit=function(e){o.isExpression(e)&&(e=o.expressionStatement(e)),o.assertStatement(e),this.listing.push(e)},d.emitAssign=function(e,t){return this.emit(this.assign(e,t)),e},d.assign=function(e,t){return o.expressionStatement(o.assignmentExpression(\"=\",e,t))},d.contextProperty=function(e,t){return o.memberExpression(this.contextId,t?o.stringLiteral(e):o.identifier(e),!!t)},d.stop=function(e){e&&this.setReturnValue(e),this.jump(this.finalLoc)},d.setReturnValue=function(e){o.assertExpression(e.value),this.emitAssign(this.contextProperty(\"rval\"),this.explodeExpression(e))},d.clearPendingException=function(e,t){o.assertLiteral(e);var n=o.callExpression(this.contextProperty(\"catch\",!0),[e]);t?this.emitAssign(t,n):this.emit(n)},d.jump=function(e){this.emitAssign(this.contextProperty(\"next\"),e),this.emit(o.breakStatement())},d.jumpIf=function(e,t){o.assertExpression(e),o.assertLiteral(t),this.emit(o.ifStatement(e,o.blockStatement([this.assign(this.contextProperty(\"next\"),t),o.breakStatement()])))},d.jumpIfNot=function(e,t){o.assertExpression(e),o.assertLiteral(t);var n;n=o.isUnaryExpression(e)&&\"!\"===e.operator?e.argument:o.unaryExpression(\"!\",e),this.emit(o.ifStatement(n,o.blockStatement([this.assign(this.contextProperty(\"next\"),t),o.breakStatement()])))},d.makeTempVar=function(){return this.contextProperty(\"t\"+this.nextTempId++)},d.getContextFunction=function(e){return o.functionExpression(e||null,[this.contextId],o.blockStatement([this.getDispatchLoop()]),!1,!1)},d.getDispatchLoop=function(){var e=this,t=[],n=void 0,r=!1;return e.listing.forEach((function(i,a){e.marked.hasOwnProperty(a)&&(t.push(o.switchCase(o.numericLiteral(a),n=[])),r=!1),r||(n.push(i),o.isCompletionStatement(i)&&(r=!0))})),this.finalLoc.value=this.listing.length,t.push(o.switchCase(this.finalLoc,[]),o.switchCase(o.stringLiteral(\"end\"),[o.returnStatement(o.callExpression(this.contextProperty(\"stop\"),[]))])),o.whileStatement(o.numericLiteral(1),o.switchStatement(o.assignmentExpression(\"=\",this.contextProperty(\"prev\"),this.contextProperty(\"next\")),t))},d.getTryLocsList=function(){if(0===this.tryEntries.length)return null;var e=0;return o.arrayExpression(this.tryEntries.map((function(t){var n=t.firstLoc.value;i.default.ok(n>=e,\"try entries out of order\"),e=n;var r=t.catchEntry,a=t.finallyEntry,s=[t.firstLoc,r?r.firstLoc:null];return a&&(s[2]=a.firstLoc,s[3]=a.afterLoc),o.arrayExpression(s)})))},d.explode=function(e,t){var n=e.node,i=this;if(o.assertNode(n),o.isDeclaration(n))throw m(n);if(o.isStatement(n))return i.explodeStatement(e);if(o.isExpression(n))return i.explodeExpression(e,t);switch(n.type){case\"Program\":return e.get(\"body\").map(i.explodeStatement,i);case\"VariableDeclarator\":throw m(n);case\"Property\":case\"SwitchCase\":case\"CatchClause\":throw new Error(n.type+\" nodes should be handled by their parents\");default:throw new Error(\"unknown Node of type \"+(0,r.default)(n.type))}},d.explodeStatement=function(e,t){var n=e.node,l=this,c=void 0,f=void 0,p=void 0;if(o.assertStatement(n),t?o.assertIdentifier(t):t=null,o.isBlockStatement(n))e.get(\"body\").forEach((function(e){l.explodeStatement(e)}));else if(s.containsLeap(n))switch(n.type){case\"ExpressionStatement\":l.explodeExpression(e.get(\"expression\"),!0);break;case\"LabeledStatement\":f=h(),l.leapManager.withEntry(new a.LabeledEntry(f,n.label),(function(){l.explodeStatement(e.get(\"body\"),n.label)})),l.mark(f);break;case\"WhileStatement\":c=h(),f=h(),l.mark(c),l.jumpIfNot(l.explodeExpression(e.get(\"test\")),f),l.leapManager.withEntry(new a.LoopEntry(f,c,t),(function(){l.explodeStatement(e.get(\"body\"))})),l.jump(c),l.mark(f);break;case\"DoWhileStatement\":var d=h(),m=h();f=h(),l.mark(d),l.leapManager.withEntry(new a.LoopEntry(f,m,t),(function(){l.explode(e.get(\"body\"))})),l.mark(m),l.jumpIf(l.explodeExpression(e.get(\"test\")),d),l.mark(f);break;case\"ForStatement\":p=h();var v=h();f=h(),n.init&&l.explode(e.get(\"init\"),!0),l.mark(p),n.test&&l.jumpIfNot(l.explodeExpression(e.get(\"test\")),f),l.leapManager.withEntry(new a.LoopEntry(f,v,t),(function(){l.explodeStatement(e.get(\"body\"))})),l.mark(v),n.update&&l.explode(e.get(\"update\"),!0),l.jump(p),l.mark(f);break;case\"TypeCastExpression\":return l.explodeExpression(e.get(\"expression\"));case\"ForInStatement\":p=h(),f=h();var g=l.makeTempVar();l.emitAssign(g,o.callExpression(u.runtimeProperty(\"keys\"),[l.explodeExpression(e.get(\"right\"))])),l.mark(p);var b=l.makeTempVar();l.jumpIf(o.memberExpression(o.assignmentExpression(\"=\",b,o.callExpression(g,[])),o.identifier(\"done\"),!1),f),l.emitAssign(n.left,o.memberExpression(b,o.identifier(\"value\"),!1)),l.leapManager.withEntry(new a.LoopEntry(f,p,t),(function(){l.explodeStatement(e.get(\"body\"))})),l.jump(p),l.mark(f);break;case\"BreakStatement\":l.emitAbruptCompletion({type:\"break\",target:l.leapManager.getBreakLoc(n.label)});break;case\"ContinueStatement\":l.emitAbruptCompletion({type:\"continue\",target:l.leapManager.getContinueLoc(n.label)});break;case\"SwitchStatement\":var x=l.emitAssign(l.makeTempVar(),l.explodeExpression(e.get(\"discriminant\")));f=h();for(var _=h(),w=_,E=[],S=n.cases||[],k=S.length-1;k>=0;--k){var A=S[k];o.assertSwitchCase(A),A.test?w=o.conditionalExpression(o.binaryExpression(\"===\",x,A.test),E[k]=h(),w):E[k]=_}var C=e.get(\"discriminant\");u.replaceWithOrRemove(C,w),l.jump(l.explodeExpression(C)),l.leapManager.withEntry(new a.SwitchEntry(f),(function(){e.get(\"cases\").forEach((function(e){var t=e.key;l.mark(E[t]),e.get(\"consequent\").forEach((function(e){l.explodeStatement(e)}))}))})),l.mark(f),-1===_.value&&(l.mark(_),i.default.strictEqual(f.value,_.value));break;case\"IfStatement\":var T=n.alternate&&h();f=h(),l.jumpIfNot(l.explodeExpression(e.get(\"test\")),T||f),l.explodeStatement(e.get(\"consequent\")),T&&(l.jump(f),l.mark(T),l.explodeStatement(e.get(\"alternate\"))),l.mark(f);break;case\"ReturnStatement\":l.emitAbruptCompletion({type:\"return\",value:l.explodeExpression(e.get(\"argument\"))});break;case\"WithStatement\":throw new Error(\"WithStatement not supported in generator functions.\");case\"TryStatement\":f=h();var D=n.handler,M=D&&h(),P=M&&new a.CatchEntry(M,D.param),O=n.finalizer&&h(),L=O&&new a.FinallyEntry(O,f),N=new a.TryEntry(l.getUnmarkedCurrentLoc(),P,L);l.tryEntries.push(N),l.updateContextPrevLoc(N.firstLoc),l.leapManager.withEntry(N,(function(){if(l.explodeStatement(e.get(\"block\")),M){O?l.jump(O):l.jump(f),l.updateContextPrevLoc(l.mark(M));var t=e.get(\"handler.body\"),n=l.makeTempVar();l.clearPendingException(N.firstLoc,n),t.traverse(y,{safeParam:n,catchParamName:D.param.name}),l.leapManager.withEntry(P,(function(){l.explodeStatement(t)}))}O&&(l.updateContextPrevLoc(l.mark(O)),l.leapManager.withEntry(L,(function(){l.explodeStatement(e.get(\"finalizer\"))})),l.emit(o.returnStatement(o.callExpression(l.contextProperty(\"finish\"),[L.firstLoc]))))})),l.mark(f);break;case\"ThrowStatement\":l.emit(o.throwStatement(l.explodeExpression(e.get(\"argument\"))));break;default:throw new Error(\"unknown Statement of type \"+(0,r.default)(n.type))}else l.emit(n)};var y={Identifier:function(e,t){e.node.name===t.catchParamName&&u.isReference(e)&&u.replaceWithOrRemove(e,t.safeParam)},Scope:function(e,t){e.scope.hasOwnBinding(t.catchParamName)&&e.skip()}};d.emitAbruptCompletion=function(e){(function(e){var t=e.type;return\"normal\"===t?!f.call(e,\"target\"):\"break\"===t||\"continue\"===t?!f.call(e,\"value\")&&o.isLiteral(e.target):(\"return\"===t||\"throw\"===t)&&f.call(e,\"value\")&&!f.call(e,\"target\")})(e)||i.default.ok(!1,\"invalid completion record: \"+(0,r.default)(e)),i.default.notStrictEqual(e.type,\"normal\",\"normal completions are not abrupt\");var t=[o.stringLiteral(e.type)];\"break\"===e.type||\"continue\"===e.type?(o.assertLiteral(e.target),t[1]=e.target):\"return\"!==e.type&&\"throw\"!==e.type||e.value&&(o.assertExpression(e.value),t[1]=e.value),this.emit(o.returnStatement(o.callExpression(this.contextProperty(\"abrupt\"),t)))},d.getUnmarkedCurrentLoc=function(){return o.numericLiteral(this.listing.length)},d.updateContextPrevLoc=function(e){e?(o.assertLiteral(e),-1===e.value?e.value=this.listing.length:i.default.strictEqual(e.value,this.listing.length)):e=this.getUnmarkedCurrentLoc(),this.emitAssign(this.contextProperty(\"prev\"),e)},d.explodeExpression=function(e,t){var n=e.node;if(!n)return n;o.assertExpression(n);var a=this,u=void 0,l=void 0;function c(e){if(o.assertExpression(e),!t)return e;a.emit(e)}if(!s.containsLeap(n))return c(n);var f=s.containsLeap.onlyChildren(n);function p(e,t,n){i.default.ok(!n||!e,\"Ignoring the result of a child expression but forcing it to be assigned to a temporary variable?\");var r=a.explodeExpression(t,n);return n||(e||f&&!o.isLiteral(r))&&(r=a.emitAssign(e||a.makeTempVar(),r)),r}switch(n.type){case\"MemberExpression\":return c(o.memberExpression(a.explodeExpression(e.get(\"object\")),n.computed?p(null,e.get(\"property\")):n.property,n.computed));case\"CallExpression\":var d=e.get(\"callee\"),m=e.get(\"arguments\"),y=void 0,v=[],g=!1;if(m.forEach((function(e){g=g||s.containsLeap(e.node)})),o.isMemberExpression(d.node))if(g){var b=p(a.makeTempVar(),d.get(\"object\")),x=d.node.computed?p(null,d.get(\"property\")):d.node.property;v.unshift(b),y=o.memberExpression(o.memberExpression(b,x,d.node.computed),o.identifier(\"call\"),!1)}else y=a.explodeExpression(d);else y=p(null,d),o.isMemberExpression(y)&&(y=o.sequenceExpression([o.numericLiteral(0),y]));return m.forEach((function(e){v.push(p(null,e))})),c(o.callExpression(y,v));case\"NewExpression\":return c(o.newExpression(p(null,e.get(\"callee\")),e.get(\"arguments\").map((function(e){return p(null,e)}))));case\"ObjectExpression\":return c(o.objectExpression(e.get(\"properties\").map((function(e){return e.isObjectProperty()?o.objectProperty(e.node.key,p(null,e.get(\"value\")),e.node.computed):e.node}))));case\"ArrayExpression\":return c(o.arrayExpression(e.get(\"elements\").map((function(e){return p(null,e)}))));case\"SequenceExpression\":var _=n.expressions.length-1;return e.get(\"expressions\").forEach((function(e){e.key===_?u=a.explodeExpression(e,t):a.explodeExpression(e,!0)})),u;case\"LogicalExpression\":l=h(),t||(u=a.makeTempVar());var w=p(u,e.get(\"left\"));return\"&&\"===n.operator?a.jumpIfNot(w,l):(i.default.strictEqual(n.operator,\"||\"),a.jumpIf(w,l)),p(u,e.get(\"right\"),t),a.mark(l),u;case\"ConditionalExpression\":var E=h();l=h();var S=a.explodeExpression(e.get(\"test\"));return a.jumpIfNot(S,E),t||(u=a.makeTempVar()),p(u,e.get(\"consequent\"),t),a.jump(l),a.mark(E),p(u,e.get(\"alternate\"),t),a.mark(l),u;case\"UnaryExpression\":return c(o.unaryExpression(n.operator,a.explodeExpression(e.get(\"argument\")),!!n.prefix));case\"BinaryExpression\":return c(o.binaryExpression(n.operator,p(null,e.get(\"left\")),p(null,e.get(\"right\"))));case\"AssignmentExpression\":return c(o.assignmentExpression(n.operator,a.explodeExpression(e.get(\"left\")),a.explodeExpression(e.get(\"right\"))));case\"UpdateExpression\":return c(o.updateExpression(n.operator,a.explodeExpression(e.get(\"argument\")),n.prefix));case\"YieldExpression\":l=h();var k=n.argument&&a.explodeExpression(e.get(\"argument\"));if(k&&n.delegate){var A=a.makeTempVar();return a.emit(o.returnStatement(o.callExpression(a.contextProperty(\"delegateYield\"),[k,o.stringLiteral(A.property.name),l]))),a.mark(l),A}return a.emitAssign(a.contextProperty(\"next\"),l),a.emit(o.returnStatement(k||null)),a.mark(l),a.contextProperty(\"sent\");default:throw new Error(\"unknown Expression of type \"+(0,r.default)(n.type))}}},function(e,t){\"use strict\";e.exports=function(e){var t=/^\\\\\\\\\\?\\\\/.test(e),n=/[^\\x00-\\x80]+/.test(e);return t||n?e:e.replace(/\\\\/g,\"/\")}},function(e,t,n){\"use strict\";var r=n(63),i=Object.prototype.hasOwnProperty;function o(){this._array=[],this._set=Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,i=e.length;r<i;r++)n.add(e[r],t);return n},o.prototype.size=function(){return Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(e,t){var n=r.toSetString(e),o=i.call(this._set,n),a=this._array.length;o&&!t||this._array.push(e),o||(this._set[n]=a)},o.prototype.has=function(e){var t=r.toSetString(e);return i.call(this._set,t)},o.prototype.indexOf=function(e){var t=r.toSetString(e);if(i.call(this._set,t))return this._set[t];throw new Error('\"'+e+'\" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error(\"No element indexed by \"+e)},o.prototype.toArray=function(){return this._array.slice()},t.ArraySet=o},function(e,t,n){\"use strict\";var r=n(616);t.encode=function(e){var t,n=\"\",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},t.decode=function(e,t,n){var i,o,a,s,u=e.length,l=0,c=0;do{if(t>=u)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(-1===(o=r.decode(e.charCodeAt(t++))))throw new Error(\"Invalid base64 digit: \"+e.charAt(t-1));i=!!(32&o),l+=(o&=31)<<c,c+=5}while(i);n.value=(s=(a=l)>>1,1==(1&a)?-s:s),n.rest=t}},function(e,t,n){\"use strict\";var r=n(286),i=n(63),o=n(285).ArraySet,a=n(618).MappingList;function s(e){e||(e={}),this._file=i.getArg(e,\"file\",null),this._sourceRoot=i.getArg(e,\"sourceRoot\",null),this._skipValidation=i.getArg(e,\"skipValidation\",!1),this._sources=new o,this._names=new o,this._mappings=new a,this._sourcesContents=null}s.prototype._version=3,s.fromSourceMap=function(e){var t=e.sourceRoot,n=new s({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=i.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&n.setSourceContent(t,r)})),n},s.prototype.addMapping=function(e){var t=i.getArg(e,\"generated\"),n=i.getArg(e,\"original\",null),r=i.getArg(e,\"source\",null),o=i.getArg(e,\"name\",null);this._skipValidation||this._validateMapping(t,n,r,o),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=o&&(o=String(o),this._names.has(o)||this._names.add(o)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:o})},s.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=i.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\\'s \"file\" property. Both were omitted.');r=e.file}var a=this._sourceRoot;null!=a&&(r=i.relative(a,r));var s=new o,u=new o;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var o=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=o.source&&(t.source=o.source,null!=n&&(t.source=i.join(n,t.source)),null!=a&&(t.source=i.relative(a,t.source)),t.originalLine=o.line,t.originalColumn=o.column,null!=o.name&&(t.name=o.name))}var l=t.source;null==l||s.has(l)||s.add(l);var c=t.name;null==c||u.has(c)||u.add(c)}),this),this._sources=s,this._names=u,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=i.join(n,t)),null!=a&&(t=i.relative(a,t)),this.setSourceContent(t,r))}),this)},s.prototype._validateMapping=function(e,t,n,r){if((!(e&&\"line\"in e&&\"column\"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&\"line\"in e&&\"column\"in e&&t&&\"line\"in t&&\"column\"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:e,source:n,original:t,name:r}))},s.prototype._serializeMappings=function(){for(var e,t,n,o,a=0,s=1,u=0,l=0,c=0,f=0,p=\"\",d=this._mappings.toArray(),h=0,m=d.length;h<m;h++){if(e=\"\",(t=d[h]).generatedLine!==s)for(a=0;t.generatedLine!==s;)e+=\";\",s++;else if(h>0){if(!i.compareByGeneratedPositionsInflated(t,d[h-1]))continue;e+=\",\"}e+=r.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(o=this._sources.indexOf(t.source),e+=r.encode(o-f),f=o,e+=r.encode(t.originalLine-1-l),l=t.originalLine-1,e+=r.encode(t.originalColumn-u),u=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-c),c=n)),p+=e}return p},s.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=s},function(e,t,n){\"use strict\";t.SourceMapGenerator=n(287).SourceMapGenerator,t.SourceMapConsumer=n(620).SourceMapConsumer,t.SourceNode=n(621).SourceNode},function(e,t,n){(function(e){\"use strict\";Object.defineProperty(e,\"exports\",{enumerable:!0,get:function(){var e={modifiers:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},colors:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39]},bgColors:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49]}};return e.colors.grey=e.colors.gray,Object.keys(e).forEach((function(t){var n=e[t];Object.keys(n).forEach((function(t){var r=n[t];e[t]=n[t]={open:\"\u001b[\"+r[0]+\"m\",close:\"\u001b[\"+r[1]+\"m\"}})),Object.defineProperty(e,t,{value:n,enumerable:!1})})),e}})}).call(t,n(39)(e))},function(e,t,n){\"use strict\";e.exports=n(182)},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){return[\"babel-plugin-\"+e,e]},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=[\"babel-preset-\"+e,e],n=e.match(/^(@[^/]+)\\/(.+)$/);if(n){var r=n[1],i=n[2];t.push(r+\"/babel-preset-\"+i)}return t},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(2));t.default=function(e,t){if(e&&t)return(0,i.default)(e,t,(function(e,t){if(t&&Array.isArray(e)){var n=t.slice(0),i=e,o=Array.isArray(i),a=0;for(i=o?i:(0,r.default)(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if((a=i.next()).done)break;s=a.value}var u=s;n.indexOf(u)<0&&n.push(u)}return n}}))};var i=o(n(590));function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n){if(e){if(\"Program\"===e.type)return r.file(e,t||[],n||[]);if(\"File\"===e.type)return e}throw new Error(\"Not a valid ast?\")};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"global\",n=s.identifier(\"babelHelpers\"),r=function(t){return h(t,n,e)},a=void 0,u={global:f,umd:p,var:d}[t];if(!u)throw new Error(o.get(\"unsupportedOutputType\",t));return a=u(n,r),(0,i.default)(a).code};var r=l(n(194)),i=u(n(186)),o=l(n(20)),a=u(n(4)),s=l(n(1));function u(e){return e&&e.__esModule?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var c=(0,a.default)('\\n  (function (root, factory) {\\n    if (typeof define === \"function\" && define.amd) {\\n      define(AMD_ARGUMENTS, factory);\\n    } else if (typeof exports === \"object\") {\\n      factory(COMMON_ARGUMENTS);\\n    } else {\\n      factory(BROWSER_ARGUMENTS);\\n    }\\n  })(UMD_ROOT, function (FACTORY_PARAMETERS) {\\n    FACTORY_BODY\\n  });\\n');function f(e,t){var n=[],i=s.functionExpression(null,[s.identifier(\"global\")],s.blockStatement(n)),o=s.program([s.expressionStatement(s.callExpression(i,[r.get(\"selfGlobal\")]))]);return n.push(s.variableDeclaration(\"var\",[s.variableDeclarator(e,s.assignmentExpression(\"=\",s.memberExpression(s.identifier(\"global\"),e),s.objectExpression([])))])),t(n),o}function p(e,t){var n=[];return n.push(s.variableDeclaration(\"var\",[s.variableDeclarator(e,s.identifier(\"global\"))])),t(n),s.program([c({FACTORY_PARAMETERS:s.identifier(\"global\"),BROWSER_ARGUMENTS:s.assignmentExpression(\"=\",s.memberExpression(s.identifier(\"root\"),e),s.objectExpression([])),COMMON_ARGUMENTS:s.identifier(\"exports\"),AMD_ARGUMENTS:s.arrayExpression([s.stringLiteral(\"exports\")]),FACTORY_BODY:n,UMD_ROOT:s.identifier(\"this\")})])}function d(e,t){var n=[];return n.push(s.variableDeclaration(\"var\",[s.variableDeclarator(e,s.objectExpression([]))])),t(n),n.push(s.expressionStatement(e)),s.program(n)}function h(e,t,n){r.list.forEach((function(i){if(!(n&&n.indexOf(i)<0)){var o=s.identifier(i);e.push(s.expressionStatement(s.assignmentExpression(\"=\",s.memberExpression(t,o),r.get(i))))}}))}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(65)),i=o(n(594));function o(e){return e&&e.__esModule?e:{default:e}}t.default=new r.default({name:\"internal.blockHoist\",visitor:{Block:{exit:function(e){for(var t=e.node,n=!1,r=0;r<t.body.length;r++){var o=t.body[r];if(o&&null!=o._blockHoist){n=!0;break}}n&&(t.body=(0,i.default)(t.body,(function(e){var t=e&&e._blockHoist;return null==t&&(t=1),!0===t&&(t=2),-1*t})))}}}}),e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(10)),i=a(n(65)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,r.default)(\"super this bound\"),u={CallExpression:function(e){if(e.get(\"callee\").isSuper()){var t=e.node;t[s]||(t[s]=!0,e.replaceWith(o.assignmentExpression(\"=\",this.id,t)))}}};function l(e,t){var n=e.inShadow(t);if(function(e,t){return!!e.is(\"_forceShadow\")||t}(e,n)){var r=e.node._shadowedFunctionLiteral,i=void 0,a=!1,s=e.find((function(t){if(t.parentPath&&t.parentPath.isClassProperty()&&\"value\"===t.key)return!0;if(e===t)return!1;if((t.isProgram()||t.isFunction())&&(i=i||t),t.isProgram())return a=!0,!0;if(t.isFunction()&&!t.isArrowFunctionExpression()){if(r){if(t===r||t.node===r.node)return!0}else if(!t.is(\"shadow\"))return!0;return a=!0,!1}return!1}));if(r&&s.isProgram()&&!r.isProgram()&&(s=e.findParent((function(e){return e.isProgram()||e.isFunction()}))),s!==i&&a){var l=s.getData(t);if(l)return e.replaceWith(l);var c=e.scope.generateUidIdentifier(t);s.setData(t,c);var f=s.findParent((function(e){return e.isClass()})),p=!!(f&&f.node&&f.node.superClass);if(\"this\"===t&&s.isMethod({kind:\"constructor\"})&&p)s.scope.push({id:c}),s.traverse(u,{id:c});else{var d=\"this\"===t?o.thisExpression():o.identifier(t);r&&(d._shadowedFunctionLiteral=r),s.scope.push({id:c,init:d})}return e.replaceWith(c)}}}t.default=new i.default({name:\"internal.shadowFunctions\",visitor:{ThisExpression:function(e){l(e,\"this\")},ReferencedIdentifier:function(e){\"arguments\"===e.node.name&&l(e,\"arguments\")}}}),e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(3)),i=s(n(294)),o=s(n(65)),a=s(n(50));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(){(0,r.default)(this,e)}return e.prototype.lint=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.code=!1,t.mode=\"lint\",this.transform(e,t)},e.prototype.pretransform=function(e,t){var n=new a.default(t,this);return n.wrap(e,(function(){return n.addCode(e),n.parseCode(e),n}))},e.prototype.transform=function(e,t){var n=new a.default(t,this);return n.wrap(e,(function(){return n.addCode(e),n.parseCode(e),n.transform()}))},e.prototype.analyse=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];return t.code=!1,n&&(t.plugins=t.plugins||[],t.plugins.push(new o.default({visitor:n}))),this.transform(e,t).metadata},e.prototype.transformFromAst=function(e,t,n){e=(0,i.default)(e);var r=new a.default(n,this);return r.wrap(t,(function(){return r.addCode(t),r.addAst(e),r.transform()}))},e}();t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(3)),i=s(n(42)),o=s(n(41)),a=s(n(119));function s(e){return e&&e.__esModule?e:{default:e}}s(n(50));var u=function(e){function t(n,o){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,r.default)(this,t);var s=(0,i.default)(this,e.call(this));return s.plugin=o,s.key=o.key,s.file=n,s.opts=a,s}return(0,o.default)(t,e),t.prototype.addHelper=function(){var e;return(e=this.file).addHelper.apply(e,arguments)},t.prototype.addImport=function(){var e;return(e=this.file).addImport.apply(e,arguments)},t.prototype.getModuleName=function(){var e;return(e=this.file).getModuleName.apply(e,arguments)},t.prototype.buildCodeFrameError=function(){var e;return(e=this.file).buildCodeFrameError.apply(e,arguments)},t}(a.default);t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(3)),i=o(n(625));function o(e){return e&&e.__esModule?e:{default:e}}var a=/^[ \\t]+$/,s=function(){function e(t){(0,r.default)(this,e),this._map=null,this._buf=[],this._last=\"\",this._queue=[],this._position={line:1,column:0},this._sourcePosition={identifierName:null,line:null,column:null,filename:null},this._map=t}return e.prototype.get=function(){this._flush();var e=this._map,t={code:(0,i.default)(this._buf.join(\"\")),map:null,rawMappings:e&&e.getRawMappings()};return e&&Object.defineProperty(t,\"map\",{configurable:!0,enumerable:!0,get:function(){return this.map=e.get()},set:function(e){Object.defineProperty(this,\"map\",{value:e,writable:!0})}}),t},e.prototype.append=function(e){this._flush();var t=this._sourcePosition,n=t.line,r=t.column,i=t.filename,o=t.identifierName;this._append(e,n,r,o,i)},e.prototype.queue=function(e){if(\"\\n\"===e)for(;this._queue.length>0&&a.test(this._queue[0][0]);)this._queue.shift();var t=this._sourcePosition,n=t.line,r=t.column,i=t.filename,o=t.identifierName;this._queue.unshift([e,n,r,o,i])},e.prototype._flush=function(){for(var e=void 0;e=this._queue.pop();)this._append.apply(this,e)},e.prototype._append=function(e,t,n,r,i){this._map&&\"\\n\"!==e[0]&&this._map.mark(this._position.line,this._position.column,t,n,r,i),this._buf.push(e),this._last=e[e.length-1];for(var o=0;o<e.length;o++)\"\\n\"===e[o]?(this._position.line++,this._position.column=0):this._position.column++},e.prototype.removeTrailingNewline=function(){this._queue.length>0&&\"\\n\"===this._queue[0][0]&&this._queue.shift()},e.prototype.removeLastSemicolon=function(){this._queue.length>0&&\";\"===this._queue[0][0]&&this._queue.shift()},e.prototype.endsWith=function(e){if(1===e.length){var t=void 0;if(this._queue.length>0){var n=this._queue[0][0];t=n[n.length-1]}else t=this._last;return t===e}var r=this._last+this._queue.reduce((function(e,t){return t[0]+e}),\"\");return e.length<=r.length&&r.slice(-e.length)===e},e.prototype.hasContent=function(){return this._queue.length>0||!!this._last},e.prototype.source=function(e,t){if(!e||t){var n=t?t[e]:null;this._sourcePosition.identifierName=t&&t.identifierName||null,this._sourcePosition.line=n?n.line:null,this._sourcePosition.column=n?n.column:null,this._sourcePosition.filename=t&&t.filename||null}},e.prototype.withSource=function(e,t,n){if(!this._map)return n();var r=this._sourcePosition.line,i=this._sourcePosition.column,o=this._sourcePosition.filename,a=this._sourcePosition.identifierName;this.source(e,t),n(),this._sourcePosition.line=r,this._sourcePosition.column=i,this._sourcePosition.filename=o,this._sourcePosition.identifierName=a},e.prototype.getCurrentColumn=function(){var e=this._queue.reduce((function(e,t){return t[0]+e}),\"\"),t=e.lastIndexOf(\"\\n\");return-1===t?this._position.column+e.length:e.length-1-t},e.prototype.getCurrentLine=function(){for(var e=this._queue.reduce((function(e,t){return t[0]+e}),\"\"),t=0,n=0;n<e.length;n++)\"\\n\"===e[n]&&t++;return this._position.line+t},e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.File=function(e){this.print(e.program,e)},t.Program=function(e){this.printInnerComments(e,!1),this.printSequence(e.directives,e),e.directives&&e.directives.length&&this.newline(),this.printSequence(e.body,e)},t.BlockStatement=function(e){this.token(\"{\"),this.printInnerComments(e);var t=e.directives&&e.directives.length;e.body.length||t?(this.newline(),this.printSequence(e.directives,e,{indent:!0}),t&&this.newline(),this.printSequence(e.body,e,{indent:!0}),this.removeTrailingNewline(),this.source(\"end\",e.loc),this.endsWith(\"\\n\")||this.newline(),this.rightBrace()):(this.source(\"end\",e.loc),this.token(\"}\"))},t.Noop=function(){},t.Directive=function(e){this.print(e.value,e),this.semicolon()};var r=n(123);Object.defineProperty(t,\"DirectiveLiteral\",{enumerable:!0,get:function(){return r.StringLiteral}})},function(e,t){\"use strict\";function n(e){this.printJoin(e.decorators,e),this.word(\"class\"),e.id&&(this.space(),this.print(e.id,e)),this.print(e.typeParameters,e),e.superClass&&(this.space(),this.word(\"extends\"),this.space(),this.print(e.superClass,e),this.print(e.superTypeParameters,e)),e.implements&&(this.space(),this.word(\"implements\"),this.space(),this.printList(e.implements,e)),this.space(),this.print(e.body,e)}t.__esModule=!0,t.ClassDeclaration=n,t.ClassBody=function(e){this.token(\"{\"),this.printInnerComments(e),0===e.body.length?this.token(\"}\"):(this.newline(),this.indent(),this.printSequence(e.body,e),this.dedent(),this.endsWith(\"\\n\")||this.newline(),this.rightBrace())},t.ClassProperty=function(e){this.printJoin(e.decorators,e),e.static&&(this.word(\"static\"),this.space()),e.computed?(this.token(\"[\"),this.print(e.key,e),this.token(\"]\")):(this._variance(e),this.print(e.key,e)),this.print(e.typeAnnotation,e),e.value&&(this.space(),this.token(\"=\"),this.space(),this.print(e.value,e)),this.semicolon()},t.ClassMethod=function(e){this.printJoin(e.decorators,e),e.static&&(this.word(\"static\"),this.space()),\"constructorCall\"===e.kind&&(this.word(\"call\"),this.space()),this._method(e)},t.ClassExpression=n},function(e,t,n){\"use strict\";t.__esModule=!0,t.LogicalExpression=t.BinaryExpression=t.AwaitExpression=t.YieldExpression=void 0,t.UnaryExpression=function(e){\"void\"===e.operator||\"delete\"===e.operator||\"typeof\"===e.operator?(this.word(e.operator),this.space()):this.token(e.operator),this.print(e.argument,e)},t.DoExpression=function(e){this.word(\"do\"),this.space(),this.print(e.body,e)},t.ParenthesizedExpression=function(e){this.token(\"(\"),this.print(e.expression,e),this.token(\")\")},t.UpdateExpression=function(e){e.prefix?(this.token(e.operator),this.print(e.argument,e)):(this.print(e.argument,e),this.token(e.operator))},t.ConditionalExpression=function(e){this.print(e.test,e),this.space(),this.token(\"?\"),this.space(),this.print(e.consequent,e),this.space(),this.token(\":\"),this.space(),this.print(e.alternate,e)},t.NewExpression=function(e,t){this.word(\"new\"),this.space(),this.print(e.callee,e),(0!==e.arguments.length||!this.format.minified||r.isCallExpression(t,{callee:e})||r.isMemberExpression(t)||r.isNewExpression(t))&&(this.token(\"(\"),this.printList(e.arguments,e),this.token(\")\"))},t.SequenceExpression=function(e){this.printList(e.expressions,e)},t.ThisExpression=function(){this.word(\"this\")},t.Super=function(){this.word(\"super\")},t.Decorator=function(e){this.token(\"@\"),this.print(e.expression,e),this.newline()},t.CallExpression=function(e){this.print(e.callee,e),this.token(\"(\");var t=e._prettyCall,n=void 0;t&&(n=a,this.newline(),this.indent()),this.printList(e.arguments,e,{separator:n}),t&&(this.newline(),this.dedent()),this.token(\")\")},t.Import=function(){this.word(\"import\")},t.EmptyStatement=function(){this.semicolon(!0)},t.ExpressionStatement=function(e){this.print(e.expression,e),this.semicolon()},t.AssignmentPattern=function(e){this.print(e.left,e),e.left.optional&&this.token(\"?\"),this.print(e.left.typeAnnotation,e),this.space(),this.token(\"=\"),this.space(),this.print(e.right,e)},t.AssignmentExpression=u,t.BindExpression=function(e){this.print(e.object,e),this.token(\"::\"),this.print(e.callee,e)},t.MemberExpression=function(e){if(this.print(e.object,e),!e.computed&&r.isMemberExpression(e.property))throw new TypeError(\"Got a MemberExpression for MemberExpression property\");var t=e.computed;r.isLiteral(e.property)&&\"number\"==typeof e.property.value&&(t=!0),t?(this.token(\"[\"),this.print(e.property,e),this.token(\"]\")):(this.token(\".\"),this.print(e.property,e))},t.MetaProperty=function(e){this.print(e.meta,e),this.token(\".\"),this.print(e.property,e)};var r=o(n(1)),i=o(n(187));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function a(){this.token(\",\"),this.newline(),this.endsWith(\"\\n\")||this.space()}function s(e){return function(t){if(this.word(e),t.delegate&&this.token(\"*\"),t.argument){this.space();var n=this.startTerminatorless();this.print(t.argument,t),this.endTerminatorless(n)}}}function u(e,t){var n=this.inForStatementInitCounter&&\"in\"===e.operator&&!i.needsParens(e,t);n&&this.token(\"(\"),this.print(e.left,e),this.space(),\"in\"===e.operator||\"instanceof\"===e.operator?this.word(e.operator):this.token(e.operator),this.space(),this.print(e.right,e),n&&this.token(\")\")}t.YieldExpression=s(\"yield\"),t.AwaitExpression=s(\"await\"),t.BinaryExpression=u,t.LogicalExpression=u},function(e,t,n){\"use strict\";t.__esModule=!0,t.TypeParameterDeclaration=t.StringLiteralTypeAnnotation=t.NumericLiteralTypeAnnotation=t.GenericTypeAnnotation=t.ClassImplements=void 0,t.AnyTypeAnnotation=function(){this.word(\"any\")},t.ArrayTypeAnnotation=function(e){this.print(e.elementType,e),this.token(\"[\"),this.token(\"]\")},t.BooleanTypeAnnotation=function(){this.word(\"boolean\")},t.BooleanLiteralTypeAnnotation=function(e){this.word(e.value?\"true\":\"false\")},t.NullLiteralTypeAnnotation=function(){this.word(\"null\")},t.DeclareClass=function(e,t){i.isDeclareExportDeclaration(t)||(this.word(\"declare\"),this.space()),this.word(\"class\"),this.space(),this._interfaceish(e)},t.DeclareFunction=function(e,t){i.isDeclareExportDeclaration(t)||(this.word(\"declare\"),this.space()),this.word(\"function\"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation.typeAnnotation,e),this.semicolon()},t.DeclareInterface=function(e){this.word(\"declare\"),this.space(),this.InterfaceDeclaration(e)},t.DeclareModule=function(e){this.word(\"declare\"),this.space(),this.word(\"module\"),this.space(),this.print(e.id,e),this.space(),this.print(e.body,e)},t.DeclareModuleExports=function(e){this.word(\"declare\"),this.space(),this.word(\"module\"),this.token(\".\"),this.word(\"exports\"),this.print(e.typeAnnotation,e)},t.DeclareTypeAlias=function(e){this.word(\"declare\"),this.space(),this.TypeAlias(e)},t.DeclareOpaqueType=function(e,t){i.isDeclareExportDeclaration(t)||(this.word(\"declare\"),this.space()),this.OpaqueType(e)},t.DeclareVariable=function(e,t){i.isDeclareExportDeclaration(t)||(this.word(\"declare\"),this.space()),this.word(\"var\"),this.space(),this.print(e.id,e),this.print(e.id.typeAnnotation,e),this.semicolon()},t.DeclareExportDeclaration=function(e){this.word(\"declare\"),this.space(),this.word(\"export\"),this.space(),e.default&&(this.word(\"default\"),this.space()),o.apply(this,arguments)},t.ExistentialTypeParam=function(){this.token(\"*\")},t.FunctionTypeAnnotation=function(e,t){this.print(e.typeParameters,e),this.token(\"(\"),this.printList(e.params,e),e.rest&&(e.params.length&&(this.token(\",\"),this.space()),this.token(\"...\"),this.print(e.rest,e)),this.token(\")\"),\"ObjectTypeCallProperty\"===t.type||\"DeclareFunction\"===t.type?this.token(\":\"):(this.space(),this.token(\"=>\")),this.space(),this.print(e.returnType,e)},t.FunctionTypeParam=function(e){this.print(e.name,e),e.optional&&this.token(\"?\"),this.token(\":\"),this.space(),this.print(e.typeAnnotation,e)},t.InterfaceExtends=a,t._interfaceish=function(e){this.print(e.id,e),this.print(e.typeParameters,e),e.extends.length&&(this.space(),this.word(\"extends\"),this.space(),this.printList(e.extends,e)),e.mixins&&e.mixins.length&&(this.space(),this.word(\"mixins\"),this.space(),this.printList(e.mixins,e)),this.space(),this.print(e.body,e)},t._variance=function(e){\"plus\"===e.variance?this.token(\"+\"):\"minus\"===e.variance&&this.token(\"-\")},t.InterfaceDeclaration=function(e){this.word(\"interface\"),this.space(),this._interfaceish(e)},t.IntersectionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:s})},t.MixedTypeAnnotation=function(){this.word(\"mixed\")},t.EmptyTypeAnnotation=function(){this.word(\"empty\")},t.NullableTypeAnnotation=function(e){this.token(\"?\"),this.print(e.typeAnnotation,e)};var r=n(123);Object.defineProperty(t,\"NumericLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.NumericLiteral}}),Object.defineProperty(t,\"StringLiteralTypeAnnotation\",{enumerable:!0,get:function(){return r.StringLiteral}}),t.NumberTypeAnnotation=function(){this.word(\"number\")},t.StringTypeAnnotation=function(){this.word(\"string\")},t.ThisTypeAnnotation=function(){this.word(\"this\")},t.TupleTypeAnnotation=function(e){this.token(\"[\"),this.printList(e.types,e),this.token(\"]\")},t.TypeofTypeAnnotation=function(e){this.word(\"typeof\"),this.space(),this.print(e.argument,e)},t.TypeAlias=function(e){this.word(\"type\"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),this.space(),this.token(\"=\"),this.space(),this.print(e.right,e),this.semicolon()},t.OpaqueType=function(e){this.word(\"opaque\"),this.space(),this.word(\"type\"),this.space(),this.print(e.id,e),this.print(e.typeParameters,e),e.supertype&&(this.token(\":\"),this.space(),this.print(e.supertype,e)),e.impltype&&(this.space(),this.token(\"=\"),this.space(),this.print(e.impltype,e)),this.semicolon()},t.TypeAnnotation=function(e){this.token(\":\"),this.space(),e.optional&&this.token(\"?\"),this.print(e.typeAnnotation,e)},t.TypeParameter=function(e){this._variance(e),this.word(e.name),e.bound&&this.print(e.bound,e),e.default&&(this.space(),this.token(\"=\"),this.space(),this.print(e.default,e))},t.TypeParameterInstantiation=u,t.ObjectTypeAnnotation=function(e){var t=this;e.exact?this.token(\"{|\"):this.token(\"{\");var n=e.properties.concat(e.callProperties,e.indexers);n.length&&(this.space(),this.printJoin(n,e,{addNewlines:function(e){if(e&&!n[0])return 1},indent:!0,statement:!0,iterator:function(){1!==n.length&&(t.format.flowCommaSeparator?t.token(\",\"):t.semicolon(),t.space())}}),this.space()),e.exact?this.token(\"|}\"):this.token(\"}\")},t.ObjectTypeCallProperty=function(e){e.static&&(this.word(\"static\"),this.space()),this.print(e.value,e)},t.ObjectTypeIndexer=function(e){e.static&&(this.word(\"static\"),this.space()),this._variance(e),this.token(\"[\"),this.print(e.id,e),this.token(\":\"),this.space(),this.print(e.key,e),this.token(\"]\"),this.token(\":\"),this.space(),this.print(e.value,e)},t.ObjectTypeProperty=function(e){e.static&&(this.word(\"static\"),this.space()),this._variance(e),this.print(e.key,e),e.optional&&this.token(\"?\"),this.token(\":\"),this.space(),this.print(e.value,e)},t.ObjectTypeSpreadProperty=function(e){this.token(\"...\"),this.print(e.argument,e)},t.QualifiedTypeIdentifier=function(e){this.print(e.qualification,e),this.token(\".\"),this.print(e.id,e)},t.UnionTypeAnnotation=function(e){this.printJoin(e.types,e,{separator:l})},t.TypeCastExpression=function(e){this.token(\"(\"),this.print(e.expression,e),this.print(e.typeAnnotation,e),this.token(\")\")},t.VoidTypeAnnotation=function(){this.word(\"void\")};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function o(e){if(e.declaration){var t=e.declaration;this.print(t,e),i.isStatement(t)||this.semicolon()}else this.token(\"{\"),e.specifiers.length&&(this.space(),this.printList(e.specifiers,e),this.space()),this.token(\"}\"),e.source&&(this.space(),this.word(\"from\"),this.space(),this.print(e.source,e)),this.semicolon()}function a(e){this.print(e.id,e),this.print(e.typeParameters,e)}function s(){this.space(),this.token(\"&\"),this.space()}function u(e){this.token(\"<\"),this.printList(e.params,e,{}),this.token(\">\")}function l(){this.space(),this.token(\"|\"),this.space()}t.ClassImplements=a,t.GenericTypeAnnotation=a,t.TypeParameterDeclaration=u},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};function o(){this.space()}t.JSXAttribute=function(e){this.print(e.name,e),e.value&&(this.token(\"=\"),this.print(e.value,e))},t.JSXIdentifier=function(e){this.word(e.name)},t.JSXNamespacedName=function(e){this.print(e.namespace,e),this.token(\":\"),this.print(e.name,e)},t.JSXMemberExpression=function(e){this.print(e.object,e),this.token(\".\"),this.print(e.property,e)},t.JSXSpreadAttribute=function(e){this.token(\"{\"),this.token(\"...\"),this.print(e.argument,e),this.token(\"}\")},t.JSXExpressionContainer=function(e){this.token(\"{\"),this.print(e.expression,e),this.token(\"}\")},t.JSXSpreadChild=function(e){this.token(\"{\"),this.token(\"...\"),this.print(e.expression,e),this.token(\"}\")},t.JSXText=function(e){this.token(e.value)},t.JSXElement=function(e){var t=e.openingElement;if(this.print(t,e),!t.selfClosing){this.indent();var n=e.children,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var a;if(r){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;this.print(s,e)}this.dedent(),this.print(e.closingElement,e)}},t.JSXOpeningElement=function(e){this.token(\"<\"),this.print(e.name,e),e.attributes.length>0&&(this.space(),this.printJoin(e.attributes,e,{separator:o})),e.selfClosing?(this.space(),this.token(\"/>\")):this.token(\">\")},t.JSXClosingElement=function(e){this.token(\"</\"),this.print(e.name,e),this.token(\">\")},t.JSXEmptyExpression=function(){}},function(e,t,n){\"use strict\";t.__esModule=!0,t.FunctionDeclaration=void 0,t._params=function(e){var t=this;this.print(e.typeParameters,e),this.token(\"(\"),this.printList(e.params,e,{iterator:function(e){e.optional&&t.token(\"?\"),t.print(e.typeAnnotation,e)}}),this.token(\")\"),e.returnType&&this.print(e.returnType,e)},t._method=function(e){var t=e.kind,n=e.key;\"method\"!==t&&\"init\"!==t||e.generator&&this.token(\"*\"),\"get\"!==t&&\"set\"!==t||(this.word(t),this.space()),e.async&&(this.word(\"async\"),this.space()),e.computed?(this.token(\"[\"),this.print(n,e),this.token(\"]\")):this.print(n,e),this._params(e),this.space(),this.print(e.body,e)},t.FunctionExpression=i,t.ArrowFunctionExpression=function(e){e.async&&(this.word(\"async\"),this.space());var t=e.params[0];1===e.params.length&&r.isIdentifier(t)&&!function(e,t){return e.typeParameters||e.returnType||t.typeAnnotation||t.optional||t.trailingComments}(e,t)?this.print(t,e):this._params(e),this.space(),this.token(\"=>\"),this.space(),this.print(e.body,e)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function i(e){e.async&&(this.word(\"async\"),this.space()),this.word(\"function\"),e.generator&&this.token(\"*\"),e.id?(this.space(),this.print(e.id,e)):this.space(),this._params(e),this.space(),this.print(e.body,e)}t.FunctionDeclaration=i},function(e,t,n){\"use strict\";t.__esModule=!0,t.ImportSpecifier=function(e){\"type\"!==e.importKind&&\"typeof\"!==e.importKind||(this.word(e.importKind),this.space()),this.print(e.imported,e),e.local&&e.local.name!==e.imported.name&&(this.space(),this.word(\"as\"),this.space(),this.print(e.local,e))},t.ImportDefaultSpecifier=function(e){this.print(e.local,e)},t.ExportDefaultSpecifier=function(e){this.print(e.exported,e)},t.ExportSpecifier=function(e){this.print(e.local,e),e.exported&&e.local.name!==e.exported.name&&(this.space(),this.word(\"as\"),this.space(),this.print(e.exported,e))},t.ExportNamespaceSpecifier=function(e){this.token(\"*\"),this.space(),this.word(\"as\"),this.space(),this.print(e.exported,e)},t.ExportAllDeclaration=function(e){this.word(\"export\"),this.space(),this.token(\"*\"),this.space(),this.word(\"from\"),this.space(),this.print(e.source,e),this.semicolon()},t.ExportNamedDeclaration=function(){this.word(\"export\"),this.space(),i.apply(this,arguments)},t.ExportDefaultDeclaration=function(){this.word(\"export\"),this.space(),this.word(\"default\"),this.space(),i.apply(this,arguments)},t.ImportDeclaration=function(e){this.word(\"import\"),this.space(),(\"type\"===e.importKind||\"typeof\"===e.importKind)&&(this.word(e.importKind),this.space());var t=e.specifiers.slice(0);if(t&&t.length){for(;;){var n=t[0];if(!r.isImportDefaultSpecifier(n)&&!r.isImportNamespaceSpecifier(n))break;this.print(t.shift(),e),t.length&&(this.token(\",\"),this.space())}t.length&&(this.token(\"{\"),this.space(),this.printList(t,e),this.space(),this.token(\"}\")),this.space(),this.word(\"from\"),this.space()}this.print(e.source,e),this.semicolon()},t.ImportNamespaceSpecifier=function(e){this.token(\"*\"),this.space(),this.word(\"as\"),this.space(),this.print(e.local,e)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function i(e){if(e.declaration){var t=e.declaration;this.print(t,e),r.isStatement(t)||this.semicolon()}else{\"type\"===e.exportKind&&(this.word(\"type\"),this.space());for(var n=e.specifiers.slice(0),i=!1;;){var o=n[0];if(!r.isExportDefaultSpecifier(o)&&!r.isExportNamespaceSpecifier(o))break;i=!0,this.print(n.shift(),e),n.length&&(this.token(\",\"),this.space())}(n.length||!n.length&&!i)&&(this.token(\"{\"),n.length&&(this.space(),this.printList(n,e),this.space()),this.token(\"}\")),e.source&&(this.space(),this.word(\"from\"),this.space(),this.print(e.source,e)),this.semicolon()}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.ThrowStatement=t.BreakStatement=t.ReturnStatement=t.ContinueStatement=t.ForAwaitStatement=t.ForOfStatement=t.ForInStatement=void 0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.WithStatement=function(e){this.word(\"with\"),this.space(),this.token(\"(\"),this.print(e.object,e),this.token(\")\"),this.printBlock(e)},t.IfStatement=function(e){this.word(\"if\"),this.space(),this.token(\"(\"),this.print(e.test,e),this.token(\")\"),this.space();var t=e.alternate&&o.isIfStatement(a(e.consequent));t&&(this.token(\"{\"),this.newline(),this.indent()),this.printAndIndentOnComments(e.consequent,e),t&&(this.dedent(),this.newline(),this.token(\"}\")),e.alternate&&(this.endsWith(\"}\")&&this.space(),this.word(\"else\"),this.space(),this.printAndIndentOnComments(e.alternate,e))},t.ForStatement=function(e){this.word(\"for\"),this.space(),this.token(\"(\"),this.inForStatementInitCounter++,this.print(e.init,e),this.inForStatementInitCounter--,this.token(\";\"),e.test&&(this.space(),this.print(e.test,e)),this.token(\";\"),e.update&&(this.space(),this.print(e.update,e)),this.token(\")\"),this.printBlock(e)},t.WhileStatement=function(e){this.word(\"while\"),this.space(),this.token(\"(\"),this.print(e.test,e),this.token(\")\"),this.printBlock(e)},t.DoWhileStatement=function(e){this.word(\"do\"),this.space(),this.print(e.body,e),this.space(),this.word(\"while\"),this.space(),this.token(\"(\"),this.print(e.test,e),this.token(\")\"),this.semicolon()},t.LabeledStatement=function(e){this.print(e.label,e),this.token(\":\"),this.space(),this.print(e.body,e)},t.TryStatement=function(e){this.word(\"try\"),this.space(),this.print(e.block,e),this.space(),e.handlers?this.print(e.handlers[0],e):this.print(e.handler,e),e.finalizer&&(this.space(),this.word(\"finally\"),this.space(),this.print(e.finalizer,e))},t.CatchClause=function(e){this.word(\"catch\"),this.space(),this.token(\"(\"),this.print(e.param,e),this.token(\")\"),this.space(),this.print(e.body,e)},t.SwitchStatement=function(e){this.word(\"switch\"),this.space(),this.token(\"(\"),this.print(e.discriminant,e),this.token(\")\"),this.space(),this.token(\"{\"),this.printSequence(e.cases,e,{indent:!0,addNewlines:function(t,n){if(!t&&e.cases[e.cases.length-1]===n)return-1}}),this.token(\"}\")},t.SwitchCase=function(e){e.test?(this.word(\"case\"),this.space(),this.print(e.test,e),this.token(\":\")):(this.word(\"default\"),this.token(\":\")),e.consequent.length&&(this.newline(),this.printSequence(e.consequent,e,{indent:!0}))},t.DebuggerStatement=function(){this.word(\"debugger\"),this.semicolon()},t.VariableDeclaration=function(e,t){this.word(e.kind),this.space();var n=!1;if(!o.isFor(t)){var r=e.declarations,a=Array.isArray(r),s=0;for(r=a?r:(0,i.default)(r);;){var u;if(a){if(s>=r.length)break;u=r[s++]}else{if((s=r.next()).done)break;u=s.value}u.init&&(n=!0)}}var f=void 0;n&&(f=\"const\"===e.kind?c:l),this.printList(e.declarations,e,{separator:f}),(!o.isFor(t)||t.left!==e&&t.init!==e)&&this.semicolon()},t.VariableDeclarator=function(e){this.print(e.id,e),this.print(e.id.typeAnnotation,e),e.init&&(this.space(),this.token(\"=\"),this.space(),this.print(e.init,e))};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return o.isStatement(e.body)?a(e.body):e}var s=function(e){return function(t){this.word(\"for\"),this.space(),\"await\"===e&&(this.word(\"await\"),this.space()),this.token(\"(\"),this.print(t.left,t),this.space(),this.word(\"await\"===e?\"of\":e),this.space(),this.print(t.right,t),this.token(\")\"),this.printBlock(t)}};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"label\";return function(n){this.word(e);var r=n[t];if(r){this.space();var i=this.startTerminatorless();this.print(r,n),this.endTerminatorless(i)}this.semicolon()}}function l(){if(this.token(\",\"),this.newline(),this.endsWith(\"\\n\"))for(var e=0;e<4;e++)this.space(!0)}function c(){if(this.token(\",\"),this.newline(),this.endsWith(\"\\n\"))for(var e=0;e<6;e++)this.space(!0)}t.ForInStatement=s(\"in\"),t.ForOfStatement=s(\"of\"),t.ForAwaitStatement=s(\"await\"),t.ContinueStatement=u(\"continue\"),t.ReturnStatement=u(\"return\",\"argument\"),t.BreakStatement=u(\"break\"),t.ThrowStatement=u(\"throw\",\"argument\")},function(e,t){\"use strict\";t.__esModule=!0,t.TaggedTemplateExpression=function(e){this.print(e.tag,e),this.print(e.quasi,e)},t.TemplateElement=function(e,t){var n=t.quasis[0]===e,r=t.quasis[t.quasis.length-1]===e,i=(n?\"`\":\"}\")+e.value.raw+(r?\"`\":\"${\");this.token(i)},t.TemplateLiteral=function(e){for(var t=e.quasis,n=0;n<t.length;n++)this.print(t[n],e),n+1<t.length&&this.print(e.expressions[n],e)}},function(e,t,n){\"use strict\";t.__esModule=!0,t.AwaitExpression=t.FunctionTypeAnnotation=void 0,t.NullableTypeAnnotation=o,t.UpdateExpression=function(e,t){return r.isMemberExpression(t)&&t.object===e},t.ObjectExpression=function(e,t,n){return l(n,{considerArrow:!0})},t.DoExpression=function(e,t,n){return l(n)},t.Binary=function(e,t){if((r.isCallExpression(t)||r.isNewExpression(t))&&t.callee===e||r.isUnaryLike(t)||r.isMemberExpression(t)&&t.object===e||r.isAwaitExpression(t))return!0;if(r.isBinary(t)){var n=t.operator,o=i[n],a=e.operator,s=i[a];if(o===s&&t.right===e&&!r.isLogicalExpression(t)||o>s)return!0}return!1},t.BinaryExpression=function(e,t){return\"in\"===e.operator&&(r.isVariableDeclarator(t)||r.isFor(t))},t.SequenceExpression=function(e,t){return!(r.isForStatement(t)||r.isThrowStatement(t)||r.isReturnStatement(t)||r.isIfStatement(t)&&t.test===e||r.isWhileStatement(t)&&t.test===e||r.isForInStatement(t)&&t.right===e||r.isSwitchStatement(t)&&t.discriminant===e||r.isExpressionStatement(t)&&t.expression===e)},t.YieldExpression=a,t.ClassExpression=function(e,t,n){return l(n,{considerDefaultExports:!0})},t.UnaryLike=s,t.FunctionExpression=function(e,t,n){return l(n,{considerDefaultExports:!0})},t.ArrowFunctionExpression=function(e,t){return!!(r.isExportDeclaration(t)||r.isBinaryExpression(t)||r.isLogicalExpression(t)||r.isUnaryExpression(t)||r.isTaggedTemplateExpression(t))||s(e,t)},t.ConditionalExpression=u,t.AssignmentExpression=function(e){return!!r.isObjectPattern(e.left)||u.apply(void 0,arguments)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),i={\"||\":0,\"&&\":1,\"|\":2,\"^\":3,\"&\":4,\"==\":5,\"===\":5,\"!=\":5,\"!==\":5,\"<\":6,\">\":6,\"<=\":6,\">=\":6,in:6,instanceof:6,\">>\":7,\"<<\":7,\">>>\":7,\"+\":8,\"-\":8,\"*\":9,\"/\":9,\"%\":9,\"**\":10};function o(e,t){return r.isArrayTypeAnnotation(t)}function a(e,t){return r.isBinary(t)||r.isUnaryLike(t)||r.isCallExpression(t)||r.isMemberExpression(t)||r.isNewExpression(t)||r.isConditionalExpression(t)&&e===t.test}function s(e,t){return r.isMemberExpression(t,{object:e})||r.isCallExpression(t,{callee:e})||r.isNewExpression(t,{callee:e})}function u(e,t){return!!(r.isUnaryLike(t)||r.isBinary(t)||r.isConditionalExpression(t,{test:e})||r.isAwaitExpression(t))||s(e,t)}function l(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.considerArrow,i=void 0!==n&&n,o=t.considerDefaultExports,a=void 0!==o&&o,s=e.length-1,u=e[s],l=e[--s];s>0;){if(r.isExpressionStatement(l,{expression:u})||r.isTaggedTemplateExpression(l)||a&&r.isExportDefaultDeclaration(l,{declaration:u})||i&&r.isArrowFunctionExpression(l,{body:u}))return!0;if(!(r.isCallExpression(l,{callee:u})||r.isSequenceExpression(l)&&l.expressions[0]===u||r.isMemberExpression(l,{object:u})||r.isConditional(l,{test:u})||r.isBinary(l,{left:u})||r.isAssignmentExpression(l,{left:u})))return!1;u=l,l=e[--s]}return!1}t.FunctionTypeAnnotation=o,t.AwaitExpression=a},function(e,t,n){\"use strict\";var r,i=(r=n(588))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return o.isMemberExpression(e)?(a(e.object,t),e.computed&&a(e.property,t)):o.isBinary(e)||o.isAssignmentExpression(e)?(a(e.left,t),a(e.right,t)):o.isCallExpression(e)?(t.hasCall=!0,a(e.callee,t)):o.isFunction(e)?t.hasFunction=!0:o.isIdentifier(e)&&(t.hasHelper=t.hasHelper||s(e.callee)),t}function s(e){return o.isMemberExpression(e)?s(e.object)||s(e.property):o.isIdentifier(e)?\"require\"===e.name||\"_\"===e.name[0]:o.isCallExpression(e)?s(e.callee):!(!o.isBinary(e)&&!o.isAssignmentExpression(e))&&(o.isIdentifier(e.left)&&s(e.left)||s(e.right))}function u(e){return o.isLiteral(e)||o.isObjectExpression(e)||o.isArrayExpression(e)||o.isIdentifier(e)||o.isMemberExpression(e)}t.nodes={AssignmentExpression:function(e){var t=a(e.right);if(t.hasCall&&t.hasHelper||t.hasFunction)return{before:t.hasFunction,after:!0}},SwitchCase:function(e,t){return{before:e.consequent.length||t.cases[0]===e}},LogicalExpression:function(e){if(o.isFunction(e.left)||o.isFunction(e.right))return{after:!0}},Literal:function(e){if(\"use strict\"===e.value)return{after:!0}},CallExpression:function(e){if(o.isFunction(e.callee)||s(e))return{before:!0,after:!0}},VariableDeclaration:function(e){for(var t=0;t<e.declarations.length;t++){var n=e.declarations[t],r=s(n.id)&&!u(n.init);if(!r){var i=a(n.init);r=s(n.init)&&i.hasCall||i.hasFunction}if(r)return{before:!0,after:!0}}},IfStatement:function(e){if(o.isBlockStatement(e.consequent))return{before:!0,after:!0}}},t.nodes.ObjectProperty=t.nodes.ObjectTypeProperty=t.nodes.ObjectMethod=t.nodes.SpreadProperty=function(e,t){if(t.properties[0]===e)return{before:!0}},t.list={VariableDeclaration:function(e){return(0,i.default)(e.declarations,\"init\")},ArrayExpression:function(e){return e.elements},ObjectExpression:function(e){return e.properties}},[[\"Function\",!0],[\"Class\",!0],[\"Loop\",!0],[\"LabeledStatement\",!0],[\"SwitchStatement\",!0],[\"TryStatement\",!0]].forEach((function(e){var n=e[0],r=e[1];\"boolean\"==typeof r&&(r={after:r,before:r}),[n].concat(o.FLIPPED_ALIAS_KEYS[n]||[]).forEach((function(e){t.nodes[e]=function(){return r}}))}))},function(e,t,n){\"use strict\";t.__esModule=!0;var r=v(n(87)),i=v(n(2)),o=v(n(35)),a=v(n(365)),s=v(n(3)),u=v(n(579)),l=v(n(581)),c=v(n(586)),f=v(n(278)),p=v(n(300)),d=y(n(187)),h=v(n(314)),m=y(n(1));function y(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function v(e){return e&&e.__esModule?e:{default:e}}var g=/e/i,b=/\\.0+$/,x=/^0[box]/,_=function(){function e(t,n,r){(0,s.default)(this,e),this.inForStatementInitCounter=0,this._printStack=[],this._indent=0,this._insideAux=!1,this._printedCommentStarts={},this._parenPushNewlineState=null,this._printAuxAfterOnNextUserNode=!1,this._printedComments=new a.default,this._endsWithInteger=!1,this._endsWithWord=!1,this.format=t||{},this._buf=new p.default(n),this._whitespace=r.length>0?new h.default(r):null}return e.prototype.generate=function(e){return this.print(e),this._maybeAddAuxComment(),this._buf.get()},e.prototype.indent=function(){this.format.compact||this.format.concise||this._indent++},e.prototype.dedent=function(){this.format.compact||this.format.concise||this._indent--},e.prototype.semicolon=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._maybeAddAuxComment(),this._append(\";\",!e)},e.prototype.rightBrace=function(){this.format.minified&&this._buf.removeLastSemicolon(),this.token(\"}\")},e.prototype.space=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.format.compact||(this._buf.hasContent()&&!this.endsWith(\" \")&&!this.endsWith(\"\\n\")||e)&&this._space()},e.prototype.word=function(e){this._endsWithWord&&this._space(),this._maybeAddAuxComment(),this._append(e),this._endsWithWord=!0},e.prototype.number=function(e){this.word(e),this._endsWithInteger=(0,c.default)(+e)&&!x.test(e)&&!g.test(e)&&!b.test(e)&&\".\"!==e[e.length-1]},e.prototype.token=function(e){(\"--\"===e&&this.endsWith(\"!\")||\"+\"===e[0]&&this.endsWith(\"+\")||\"-\"===e[0]&&this.endsWith(\"-\")||\".\"===e[0]&&this._endsWithInteger)&&this._space(),this._maybeAddAuxComment(),this._append(e)},e.prototype.newline=function(e){if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else if(!(this.endsWith(\"\\n\\n\")||(\"number\"!=typeof e&&(e=1),e=Math.min(2,e),(this.endsWith(\"{\\n\")||this.endsWith(\":\\n\"))&&e--,e<=0)))for(var t=0;t<e;t++)this._newline()},e.prototype.endsWith=function(e){return this._buf.endsWith(e)},e.prototype.removeTrailingNewline=function(){this._buf.removeTrailingNewline()},e.prototype.source=function(e,t){this._catchUp(e,t),this._buf.source(e,t)},e.prototype.withSource=function(e,t,n){this._catchUp(e,t),this._buf.withSource(e,t,n)},e.prototype._space=function(){this._append(\" \",!0)},e.prototype._newline=function(){this._append(\"\\n\",!0)},e.prototype._append=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._maybeAddParen(e),this._maybeIndent(e),t?this._buf.queue(e):this._buf.append(e),this._endsWithWord=!1,this._endsWithInteger=!1},e.prototype._maybeIndent=function(e){this._indent&&this.endsWith(\"\\n\")&&\"\\n\"!==e[0]&&this._buf.queue(this._getIndent())},e.prototype._maybeAddParen=function(e){var t=this._parenPushNewlineState;if(t){this._parenPushNewlineState=null;var n=void 0;for(n=0;n<e.length&&\" \"===e[n];n++);if(n!==e.length){var r=e[n];\"\\n\"!==r&&\"/\"!==r||(this.token(\"(\"),this.indent(),t.printed=!0)}}},e.prototype._catchUp=function(e,t){if(this.format.retainLines){var n=t?t[e]:null;if(n&&null!==n.line)for(var r=n.line-this._buf.getCurrentLine(),i=0;i<r;i++)this._newline()}},e.prototype._getIndent=function(){return(0,f.default)(this.format.indent.style,this._indent)},e.prototype.startTerminatorless=function(){return this._parenPushNewlineState={printed:!1}},e.prototype.endTerminatorless=function(e){e.printed&&(this.dedent(),this.newline(),this.token(\")\"))},e.prototype.print=function(e,t){var n=this;if(e){var r=this.format.concise;if(e._compact&&(this.format.concise=!0),!this[e.type])throw new ReferenceError(\"unknown node of type \"+(0,o.default)(e.type)+\" with constructor \"+(0,o.default)(e&&e.constructor.name));this._printStack.push(e);var i=this._insideAux;this._insideAux=!e.loc,this._maybeAddAuxComment(this._insideAux&&!i);var a=d.needsParens(e,t,this._printStack);this.format.retainFunctionParens&&\"FunctionExpression\"===e.type&&e.extra&&e.extra.parenthesized&&(a=!0),a&&this.token(\"(\"),this._printLeadingComments(e,t);var s=m.isProgram(e)||m.isFile(e)?null:e.loc;this.withSource(\"start\",s,(function(){n[e.type](e,t)})),this._printTrailingComments(e,t),a&&this.token(\")\"),this._printStack.pop(),this.format.concise=r,this._insideAux=i}},e.prototype._maybeAddAuxComment=function(e){e&&this._printAuxBeforeComment(),this._insideAux||this._printAuxAfterComment()},e.prototype._printAuxBeforeComment=function(){if(!this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!0;var e=this.format.auxiliaryCommentBefore;e&&this._printComment({type:\"CommentBlock\",value:e})}},e.prototype._printAuxAfterComment=function(){if(this._printAuxAfterOnNextUserNode){this._printAuxAfterOnNextUserNode=!1;var e=this.format.auxiliaryCommentAfter;e&&this._printComment({type:\"CommentBlock\",value:e})}},e.prototype.getPossibleRaw=function(e){var t=e.extra;if(t&&null!=t.raw&&null!=t.rawValue&&e.value===t.rawValue)return t.raw},e.prototype.printJoin=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e&&e.length){n.indent&&this.indent();for(var r={addNewlines:n.addNewlines},i=0;i<e.length;i++){var o=e[i];o&&(n.statement&&this._printNewline(!0,o,t,r),this.print(o,t),n.iterator&&n.iterator(o,i),n.separator&&i<e.length-1&&n.separator.call(this),n.statement&&this._printNewline(!1,o,t,r))}n.indent&&this.dedent()}},e.prototype.printAndIndentOnComments=function(e,t){var n=!!e.leadingComments;n&&this.indent(),this.print(e,t),n&&this.dedent()},e.prototype.printBlock=function(e){var t=e.body;m.isEmptyStatement(t)||this.space(),this.print(t,e)},e.prototype._printTrailingComments=function(e,t){this._printComments(this._getComments(!1,e,t))},e.prototype._printLeadingComments=function(e,t){this._printComments(this._getComments(!0,e,t))},e.prototype.printInnerComments=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.innerComments&&(t&&this.indent(),this._printComments(e.innerComments),t&&this.dedent())},e.prototype.printSequence=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.statement=!0,this.printJoin(e,t,n)},e.prototype.printList=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return null==n.separator&&(n.separator=w),this.printJoin(e,t,n)},e.prototype._printNewline=function(e,t,n,r){var i=this;if(!this.format.retainLines&&!this.format.compact)if(this.format.concise)this.space();else{var o=0;if(null!=t.start&&!t._ignoreUserWhitespace&&this._whitespace)if(e){var a=t.leadingComments,s=a&&(0,u.default)(a,(function(e){return!!e.loc&&i.format.shouldPrintComment(e.value)}));o=this._whitespace.getNewlinesBefore(s||t)}else{var c=t.trailingComments,f=c&&(0,l.default)(c,(function(e){return!!e.loc&&i.format.shouldPrintComment(e.value)}));o=this._whitespace.getNewlinesAfter(f||t)}else{e||o++,r.addNewlines&&(o+=r.addNewlines(e,t)||0);var p=d.needsWhitespaceAfter;e&&(p=d.needsWhitespaceBefore),p(t,n)&&o++,this._buf.hasContent()||(o=0)}this.newline(o)}},e.prototype._getComments=function(e,t){return t&&(e?t.leadingComments:t.trailingComments)||[]},e.prototype._printComment=function(e){var t=this;if(this.format.shouldPrintComment(e.value)&&!e.ignore&&!this._printedComments.has(e)){if(this._printedComments.add(e),null!=e.start){if(this._printedCommentStarts[e.start])return;this._printedCommentStarts[e.start]=!0}this.newline(this._whitespace?this._whitespace.getNewlinesBefore(e):0),this.endsWith(\"[\")||this.endsWith(\"{\")||this.space();var n=\"CommentLine\"===e.type?\"//\"+e.value+\"\\n\":\"/*\"+e.value+\"*/\";if(\"CommentBlock\"===e.type&&this.format.indent.adjustMultilineComment){var r=e.loc&&e.loc.start.column;if(r){var i=new RegExp(\"\\\\n\\\\s{1,\"+r+\"}\",\"g\");n=n.replace(i,\"\\n\")}var o=Math.max(this._getIndent().length,this._buf.getCurrentColumn());n=n.replace(/\\n(?!$)/g,\"\\n\"+(0,f.default)(\" \",o))}this.withSource(\"start\",e.loc,(function(){t._append(n)})),this.newline((this._whitespace?this._whitespace.getNewlinesAfter(e):0)+(\"CommentLine\"===e.type?-1:0))}},e.prototype._printComments=function(e){if(e&&e.length){var t=e,n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var o;if(n){if(r>=t.length)break;o=t[r++]}else{if((r=t.next()).done)break;o=r.value}var a=o;this._printComment(a)}}},e}();function w(){this.token(\",\"),this.space()}t.default=_;for(var E=[n(309),n(303),n(308),n(302),n(306),n(307),n(123),n(304),n(301),n(305)],S=0;S<E.length;S++){var k=E[S];(0,r.default)(_.prototype,k)}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(14)),i=s(n(11)),o=s(n(3)),a=s(n(288));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(t,n){(0,o.default)(this,e),this._cachedMap=null,this._code=n,this._opts=t,this._rawMappings=[]}return e.prototype.get=function(){if(!this._cachedMap){var e=this._cachedMap=new a.default.SourceMapGenerator({file:this._opts.sourceMapTarget,sourceRoot:this._opts.sourceRoot}),t=this._code;\"string\"==typeof t?e.setSourceContent(this._opts.sourceFileName,t):\"object\"===(void 0===t?\"undefined\":(0,i.default)(t))&&(0,r.default)(t).forEach((function(n){e.setSourceContent(n,t[n])})),this._rawMappings.forEach(e.addMapping,e)}return this._cachedMap.toJSON()},e.prototype.getRawMappings=function(){return this._rawMappings.slice()},e.prototype.mark=function(e,t,n,r,i,o){this._lastGenLine!==e&&null===n||this._lastGenLine===e&&this._lastSourceLine===n&&this._lastSourceColumn===r||(this._cachedMap=null,this._lastGenLine=e,this._lastSourceLine=n,this._lastSourceColumn=r,this._rawMappings.push({name:i||void 0,generated:{line:e,column:t},source:null==n?void 0:o||this._opts.sourceFileName,original:null==n?void 0:{line:n,column:r}}))},e}();t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(3))&&r.__esModule?r:{default:r},o=function(){function e(t){(0,i.default)(this,e),this.tokens=t,this.used={}}return e.prototype.getNewlinesBefore=function(e){var t=void 0,n=void 0,r=this.tokens,i=this._findToken((function(t){return t.start-e.start}),0,r.length);if(i>=0){for(;i&&e.start===r[i-1].start;)--i;t=r[i-1],n=r[i]}return this._getNewlinesBetween(t,n)},e.prototype.getNewlinesAfter=function(e){var t=void 0,n=void 0,r=this.tokens,i=this._findToken((function(t){return t.end-e.end}),0,r.length);if(i>=0){for(;i&&e.end===r[i-1].end;)--i;t=r[i],\",\"===(n=r[i+1]).type.label&&(n=r[i+2])}return n&&\"eof\"===n.type.label?1:this._getNewlinesBetween(t,n)},e.prototype._getNewlinesBetween=function(e,t){if(!t||!t.loc)return 0;for(var n=e?e.loc.end.line:1,r=t.loc.start.line,i=0,o=n;o<r;o++)void 0===this.used[o]&&(this.used[o]=!0,i++);return i},e.prototype._findToken=function(e,t,n){if(t>=n)return-1;var r=t+n>>>1,i=e(this.tokens[r]);return i<0?this._findToken(e,r+1,n):i>0?this._findToken(e,t,r):0===i?r:-1},e}();t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e,n=Array.isArray(t),r=0;for(t=n?t:(0,i.default)(t);;){var a;if(n){if(r>=t.length)break;a=t[r++]}else{if((r=t.next()).done)break;a=r.value}var s=a,u=s.node,l=u.expression;if(o.isMemberExpression(l)){var c=s.scope.maybeGenerateMemoised(l.object),f=void 0,p=[];c?(f=c,p.push(o.assignmentExpression(\"=\",c,l.object))):f=l.object,p.push(o.callExpression(o.memberExpression(o.memberExpression(f,l.property,l.computed),o.identifier(\"bind\")),[f])),1===p.length?u.expression=p[0]:u.expression=o.sequenceExpression(p)}}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t={};function n(t){return t&&t.operator===e.operator+\"=\"}function r(e,t){return o.assignmentExpression(\"=\",e,t)}return t.ExpressionStatement=function(t,a){if(!t.isCompletionRecord()){var s=t.node.expression;if(n(s)){var u=[],l=(0,i.default)(s.left,u,a,t.scope,!0);u.push(o.expressionStatement(r(l.ref,e.build(l.uid,s.right)))),t.replaceWithMultiple(u)}}},t.AssignmentExpression=function(t,o){var a=t.node,s=t.scope;if(n(a)){var u=[],l=(0,i.default)(a.left,u,o,s);u.push(r(l.ref,e.build(l.uid,a.right))),t.replaceWithMultiple(u)}},t.BinaryExpression=function(t){var n=t.node;n.operator===e.operator&&t.replaceWith(e.build(n.left,n.right))},t};var r,i=(r=n(318))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.scope,n=e.node,r=o.functionExpression(null,[],n.body,n.generator,n.async),s=r,u=[];(0,i.default)(e,(function(e){return t.push({id:e})}));var l={foundThis:!1,foundArguments:!1};e.traverse(a,l),l.foundArguments&&(s=o.memberExpression(r,o.identifier(\"apply\")),u=[],l.foundThis&&u.push(o.thisExpression()),l.foundArguments&&(l.foundThis||u.push(o.nullLiteral()),u.push(o.identifier(\"arguments\"))));var c=o.callExpression(s,u);return n.generator&&(c=o.yieldExpression(c,!0)),o.returnStatement(c)};var r,i=(r=n(190))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),a={enter:function(e,t){e.isThisExpression()&&(t.foundThis=!0),e.isReferencedIdentifier({name:\"arguments\"})&&(t.foundArguments=!0)},Function:function(e){e.skip()}};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t,n,i,o){var a;a=r.isIdentifier(e)&&o?e:function(e,t,n,i){var o=void 0;if(r.isSuper(e))return e;if(r.isIdentifier(e)){if(i.hasBinding(e.name))return e;o=e}else{if(!r.isMemberExpression(e))throw new Error(\"We can't explode this node type \"+e.type);if(o=e.object,r.isSuper(o)||r.isIdentifier(o)&&i.hasBinding(o.name))return o}var a=i.generateUidIdentifierBasedOnNode(o);return t.push(r.variableDeclaration(\"var\",[r.variableDeclarator(a,o)])),a}(e,t,0,i);var s=void 0,u=void 0;if(r.isIdentifier(e))s=e,u=a;else{var l=function(e,t,n,i){var o=e.property,a=r.toComputedKey(e,o);if(r.isLiteral(a)&&r.isPureish(a))return a;var s=i.generateUidIdentifierBasedOnNode(o);return t.push(r.variableDeclaration(\"var\",[r.variableDeclarator(s,o)])),s}(e,t,0,i),c=e.computed||r.isLiteral(l);u=s=r.memberExpression(a,l,c)}return{uid:u,ref:s}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(2));t.default=function(e){e.assertClass();var t=[];function n(n){if(n.node&&!n.isPure()){var r=e.scope.generateDeclaredUidIdentifier();t.push(o.assignmentExpression(\"=\",r,n.node)),n.replaceWith(r)}}function a(e){if(Array.isArray(e)&&e.length){e=e.reverse(),(0,i.default)(e);var t=e,o=Array.isArray(t),a=0;for(t=o?t:(0,r.default)(t);;){var s;if(o){if(a>=t.length)break;s=t[a++]}else{if((a=t.next()).done)break;s=a.value}n(s)}}}n(e.get(\"superClass\")),a(e.get(\"decorators\"));var s=e.get(\"body.body\"),u=Array.isArray(s),l=0;for(s=u?s:(0,r.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c;f.is(\"computed\")&&n(f.get(\"key\")),f.has(\"decorators\")&&a(e.get(\"decorators\"))}t&&e.insertBefore(t.map((function(e){return o.expressionStatement(e)})))};var i=a(n(315)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n=e.node,i=e.scope,a=e.parent,l=i.generateUidIdentifier(\"step\"),c=i.generateUidIdentifier(\"value\"),f=n.left,p=void 0;r.isIdentifier(f)||r.isPattern(f)||r.isMemberExpression(f)?p=r.expressionStatement(r.assignmentExpression(\"=\",f,c)):r.isVariableDeclaration(f)&&(p=r.variableDeclaration(f.kind,[r.variableDeclarator(f.declarations[0].id,c)]));var d=s();(0,o.default)(d,u,null,{ITERATOR_HAD_ERROR_KEY:i.generateUidIdentifier(\"didIteratorError\"),ITERATOR_COMPLETION:i.generateUidIdentifier(\"iteratorNormalCompletion\"),ITERATOR_ERROR_KEY:i.generateUidIdentifier(\"iteratorError\"),ITERATOR_KEY:i.generateUidIdentifier(\"iterator\"),GET_ITERATOR:t.getAsyncIterator,OBJECT:n.right,STEP_VALUE:c,STEP_KEY:l,AWAIT:t.wrapAwait}),d=d.body.body;var h=r.isLabeledStatement(a),m=d[3].block.body,y=m[0];return h&&(m[0]=r.labeledStatement(a.label,y)),{replaceParent:h,node:d,declar:p,loop:y}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),i=a(n(4)),o=a(n(7));function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.default)(\"\\n  function* wrapper() {\\n    var ITERATOR_COMPLETION = true;\\n    var ITERATOR_HAD_ERROR_KEY = false;\\n    var ITERATOR_ERROR_KEY = undefined;\\n    try {\\n      for (\\n        var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY, STEP_VALUE;\\n        (\\n          STEP_KEY = yield AWAIT(ITERATOR_KEY.next()),\\n          ITERATOR_COMPLETION = STEP_KEY.done,\\n          STEP_VALUE = yield AWAIT(STEP_KEY.value),\\n          !ITERATOR_COMPLETION\\n        );\\n        ITERATOR_COMPLETION = true) {\\n      }\\n    } catch (err) {\\n      ITERATOR_HAD_ERROR_KEY = true;\\n      ITERATOR_ERROR_KEY = err;\\n    } finally {\\n      try {\\n        if (!ITERATOR_COMPLETION && ITERATOR_KEY.return) {\\n          yield AWAIT(ITERATOR_KEY.return());\\n        }\\n      } finally {\\n        if (ITERATOR_HAD_ERROR_KEY) {\\n          throw ITERATOR_ERROR_KEY;\\n        }\\n      }\\n    }\\n  }\\n\"),u={noScope:!0,Identifier:function(e,t){e.node.name in t&&e.replaceInline(t[e.node.name])},CallExpression:function(e,t){var n=e.node.callee;r.isIdentifier(n)&&\"AWAIT\"===n.name&&!t.AWAIT&&e.replaceWith(e.node.arguments[0])}};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(4))&&r.__esModule?r:{default:r},o={};t.default=o,o.typeof=(0,i.default)('\\n  (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\")\\n    ? function (obj) { return typeof obj; }\\n    : function (obj) {\\n        return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype\\n          ? \"symbol\"\\n          : typeof obj;\\n      };\\n'),o.jsx=(0,i.default)('\\n  (function () {\\n    var REACT_ELEMENT_TYPE = (typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\")) || 0xeac7;\\n\\n    return function createRawReactElement (type, props, key, children) {\\n      var defaultProps = type && type.defaultProps;\\n      var childrenLength = arguments.length - 3;\\n\\n      if (!props && childrenLength !== 0) {\\n        // If we\\'re going to assign props.children, we create a new object now\\n        // to avoid mutating defaultProps.\\n        props = {};\\n      }\\n      if (props && defaultProps) {\\n        for (var propName in defaultProps) {\\n          if (props[propName] === void 0) {\\n            props[propName] = defaultProps[propName];\\n          }\\n        }\\n      } else if (!props) {\\n        props = defaultProps || {};\\n      }\\n\\n      if (childrenLength === 1) {\\n        props.children = children;\\n      } else if (childrenLength > 1) {\\n        var childArray = Array(childrenLength);\\n        for (var i = 0; i < childrenLength; i++) {\\n          childArray[i] = arguments[i + 3];\\n        }\\n        props.children = childArray;\\n      }\\n\\n      return {\\n        $$typeof: REACT_ELEMENT_TYPE,\\n        type: type,\\n        key: key === undefined ? null : \\'\\' + key,\\n        ref: null,\\n        props: props,\\n        _owner: null,\\n      };\\n    };\\n\\n  })()\\n'),o.asyncIterator=(0,i.default)('\\n  (function (iterable) {\\n    if (typeof Symbol === \"function\") {\\n      if (Symbol.asyncIterator) {\\n        var method = iterable[Symbol.asyncIterator];\\n        if (method != null) return method.call(iterable);\\n      }\\n      if (Symbol.iterator) {\\n        return iterable[Symbol.iterator]();\\n      }\\n    }\\n    throw new TypeError(\"Object is not async iterable\");\\n  })\\n'),o.asyncGenerator=(0,i.default)('\\n  (function () {\\n    function AwaitValue(value) {\\n      this.value = value;\\n    }\\n\\n    function AsyncGenerator(gen) {\\n      var front, back;\\n\\n      function send(key, arg) {\\n        return new Promise(function (resolve, reject) {\\n          var request = {\\n            key: key,\\n            arg: arg,\\n            resolve: resolve,\\n            reject: reject,\\n            next: null\\n          };\\n\\n          if (back) {\\n            back = back.next = request;\\n          } else {\\n            front = back = request;\\n            resume(key, arg);\\n          }\\n        });\\n      }\\n\\n      function resume(key, arg) {\\n        try {\\n          var result = gen[key](arg)\\n          var value = result.value;\\n          if (value instanceof AwaitValue) {\\n            Promise.resolve(value.value).then(\\n              function (arg) { resume(\"next\", arg); },\\n              function (arg) { resume(\"throw\", arg); });\\n          } else {\\n            settle(result.done ? \"return\" : \"normal\", result.value);\\n          }\\n        } catch (err) {\\n          settle(\"throw\", err);\\n        }\\n      }\\n\\n      function settle(type, value) {\\n        switch (type) {\\n          case \"return\":\\n            front.resolve({ value: value, done: true });\\n            break;\\n          case \"throw\":\\n            front.reject(value);\\n            break;\\n          default:\\n            front.resolve({ value: value, done: false });\\n            break;\\n        }\\n\\n        front = front.next;\\n        if (front) {\\n          resume(front.key, front.arg);\\n        } else {\\n          back = null;\\n        }\\n      }\\n\\n      this._invoke = send;\\n\\n      // Hide \"return\" method if generator return is not supported\\n      if (typeof gen.return !== \"function\") {\\n        this.return = undefined;\\n      }\\n    }\\n\\n    if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\\n      AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\\n    }\\n\\n    AsyncGenerator.prototype.next = function (arg) { return this._invoke(\"next\", arg); };\\n    AsyncGenerator.prototype.throw = function (arg) { return this._invoke(\"throw\", arg); };\\n    AsyncGenerator.prototype.return = function (arg) { return this._invoke(\"return\", arg); };\\n\\n    return {\\n      wrap: function (fn) {\\n        return function () {\\n          return new AsyncGenerator(fn.apply(this, arguments));\\n        };\\n      },\\n      await: function (value) {\\n        return new AwaitValue(value);\\n      }\\n    };\\n\\n  })()\\n'),o.asyncGeneratorDelegate=(0,i.default)('\\n  (function (inner, awaitWrap) {\\n    var iter = {}, waiting = false;\\n\\n    function pump(key, value) {\\n      waiting = true;\\n      value = new Promise(function (resolve) { resolve(inner[key](value)); });\\n      return { done: false, value: awaitWrap(value) };\\n    };\\n\\n    if (typeof Symbol === \"function\" && Symbol.iterator) {\\n      iter[Symbol.iterator] = function () { return this; };\\n    }\\n\\n    iter.next = function (value) {\\n      if (waiting) {\\n        waiting = false;\\n        return value;\\n      }\\n      return pump(\"next\", value);\\n    };\\n\\n    if (typeof inner.throw === \"function\") {\\n      iter.throw = function (value) {\\n        if (waiting) {\\n          waiting = false;\\n          throw value;\\n        }\\n        return pump(\"throw\", value);\\n      };\\n    }\\n\\n    if (typeof inner.return === \"function\") {\\n      iter.return = function (value) {\\n        return pump(\"return\", value);\\n      };\\n    }\\n\\n    return iter;\\n  })\\n'),o.asyncToGenerator=(0,i.default)('\\n  (function (fn) {\\n    return function () {\\n      var gen = fn.apply(this, arguments);\\n      return new Promise(function (resolve, reject) {\\n        function step(key, arg) {\\n          try {\\n            var info = gen[key](arg);\\n            var value = info.value;\\n          } catch (error) {\\n            reject(error);\\n            return;\\n          }\\n\\n          if (info.done) {\\n            resolve(value);\\n          } else {\\n            return Promise.resolve(value).then(function (value) {\\n              step(\"next\", value);\\n            }, function (err) {\\n              step(\"throw\", err);\\n            });\\n          }\\n        }\\n\\n        return step(\"next\");\\n      });\\n    };\\n  })\\n'),o.classCallCheck=(0,i.default)('\\n  (function (instance, Constructor) {\\n    if (!(instance instanceof Constructor)) {\\n      throw new TypeError(\"Cannot call a class as a function\");\\n    }\\n  });\\n'),o.createClass=(0,i.default)('\\n  (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'),o.defineEnumerableProperties=(0,i.default)('\\n  (function (obj, descs) {\\n    for (var key in descs) {\\n      var desc = descs[key];\\n      desc.configurable = desc.enumerable = true;\\n      if (\"value\" in desc) desc.writable = true;\\n      Object.defineProperty(obj, key, desc);\\n    }\\n    return obj;\\n  })\\n'),o.defaults=(0,i.default)(\"\\n  (function (obj, defaults) {\\n    var keys = Object.getOwnPropertyNames(defaults);\\n    for (var i = 0; i < keys.length; i++) {\\n      var key = keys[i];\\n      var value = Object.getOwnPropertyDescriptor(defaults, key);\\n      if (value && value.configurable && obj[key] === undefined) {\\n        Object.defineProperty(obj, key, value);\\n      }\\n    }\\n    return obj;\\n  })\\n\"),o.defineProperty=(0,i.default)(\"\\n  (function (obj, key, value) {\\n    // Shortcircuit the slow defineProperty path when possible.\\n    // We are trying to avoid issues where setters defined on the\\n    // prototype cause side effects under the fast path of simple\\n    // assignment. By checking for existence of the property with\\n    // the in operator, we can optimize most of this overhead away.\\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    return obj;\\n  });\\n\"),o.extends=(0,i.default)(\"\\n  Object.assign || (function (target) {\\n    for (var i = 1; i < arguments.length; i++) {\\n      var source = arguments[i];\\n      for (var key in source) {\\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\\n          target[key] = source[key];\\n        }\\n      }\\n    }\\n    return target;\\n  })\\n\"),o.get=(0,i.default)('\\n  (function get(object, property, receiver) {\\n    if (object === null) object = Function.prototype;\\n\\n    var desc = Object.getOwnPropertyDescriptor(object, property);\\n\\n    if (desc === undefined) {\\n      var parent = Object.getPrototypeOf(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'),o.inherits=(0,i.default)('\\n  (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    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'),o.instanceof=(0,i.default)('\\n  (function (left, right) {\\n    if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\\n      return right[Symbol.hasInstance](left);\\n    } else {\\n      return left instanceof right;\\n    }\\n  });\\n'),o.interopRequireDefault=(0,i.default)(\"\\n  (function (obj) {\\n    return obj && obj.__esModule ? obj : { default: obj };\\n  })\\n\"),o.interopRequireWildcard=(0,i.default)(\"\\n  (function (obj) {\\n    if (obj && obj.__esModule) {\\n      return obj;\\n    } else {\\n      var newObj = {};\\n      if (obj != null) {\\n        for (var key in obj) {\\n          if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\\n        }\\n      }\\n      newObj.default = obj;\\n      return newObj;\\n    }\\n  })\\n\"),o.newArrowCheck=(0,i.default)('\\n  (function (innerThis, boundThis) {\\n    if (innerThis !== boundThis) {\\n      throw new TypeError(\"Cannot instantiate an arrow function\");\\n    }\\n  });\\n'),o.objectDestructuringEmpty=(0,i.default)('\\n  (function (obj) {\\n    if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\\n  });\\n'),o.objectWithoutProperties=(0,i.default)(\"\\n  (function (obj, keys) {\\n    var target = {};\\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    return target;\\n  })\\n\"),o.possibleConstructorReturn=(0,i.default)('\\n  (function (self, call) {\\n    if (!self) {\\n      throw new ReferenceError(\"this hasn\\'t been initialised - super() hasn\\'t been called\");\\n    }\\n    return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\\n  });\\n'),o.selfGlobal=(0,i.default)('\\n  typeof global === \"undefined\" ? self : global\\n'),o.set=(0,i.default)('\\n  (function set(object, property, value, receiver) {\\n    var desc = Object.getOwnPropertyDescriptor(object, property);\\n\\n    if (desc === undefined) {\\n      var parent = Object.getPrototypeOf(object);\\n\\n      if (parent !== null) {\\n        set(parent, property, value, receiver);\\n      }\\n    } else if (\"value\" in desc && desc.writable) {\\n      desc.value = value;\\n    } else {\\n      var setter = desc.set;\\n\\n      if (setter !== undefined) {\\n        setter.call(receiver, value);\\n      }\\n    }\\n\\n    return value;\\n  });\\n'),o.slicedToArray=(0,i.default)('\\n  (function () {\\n    // Broken out into a separate function to avoid deoptimizations due to the try/catch for the\\n    // array iterator case.\\n    function sliceIterator(arr, i) {\\n      // this is an expanded form of `for...of` that properly supports abrupt completions of\\n      // iterators etc. variable names have been minimised to reduce the size of this massive\\n      // helper. sometimes spec compliancy is annoying :(\\n      //\\n      // _n = _iteratorNormalCompletion\\n      // _d = _didIteratorError\\n      // _e = _iteratorError\\n      // _i = _iterator\\n      // _s = _step\\n\\n      var _arr = [];\\n      var _n = true;\\n      var _d = false;\\n      var _e = undefined;\\n      try {\\n        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\\n          _arr.push(_s.value);\\n          if (i && _arr.length === i) break;\\n        }\\n      } catch (err) {\\n        _d = true;\\n        _e = err;\\n      } finally {\\n        try {\\n          if (!_n && _i[\"return\"]) _i[\"return\"]();\\n        } finally {\\n          if (_d) throw _e;\\n        }\\n      }\\n      return _arr;\\n    }\\n\\n    return function (arr, i) {\\n      if (Array.isArray(arr)) {\\n        return arr;\\n      } else if (Symbol.iterator in Object(arr)) {\\n        return sliceIterator(arr, i);\\n      } else {\\n        throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\\n      }\\n    };\\n  })();\\n'),o.slicedToArrayLoose=(0,i.default)('\\n  (function (arr, i) {\\n    if (Array.isArray(arr)) {\\n      return arr;\\n    } else if (Symbol.iterator in Object(arr)) {\\n      var _arr = [];\\n      for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\\n        _arr.push(_step.value);\\n        if (i && _arr.length === i) break;\\n      }\\n      return _arr;\\n    } else {\\n      throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\\n    }\\n  });\\n'),o.taggedTemplateLiteral=(0,i.default)(\"\\n  (function (strings, raw) {\\n    return Object.freeze(Object.defineProperties(strings, {\\n        raw: { value: Object.freeze(raw) }\\n    }));\\n  });\\n\"),o.taggedTemplateLiteralLoose=(0,i.default)(\"\\n  (function (strings, raw) {\\n    strings.raw = raw;\\n    return strings;\\n  });\\n\"),o.temporalRef=(0,i.default)('\\n  (function (val, name, undef) {\\n    if (val === undef) {\\n      throw new ReferenceError(name + \" is not defined - temporal dead zone\");\\n    } else {\\n      return val;\\n    }\\n  })\\n'),o.temporalUndefined=(0,i.default)(\"\\n  ({})\\n\"),o.toArray=(0,i.default)(\"\\n  (function (arr) {\\n    return Array.isArray(arr) ? arr : Array.from(arr);\\n  });\\n\"),o.toConsumableArray=(0,i.default)(\"\\n  (function (arr) {\\n    if (Array.isArray(arr)) {\\n      for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\\n      return arr2;\\n    } else {\\n      return Array.from(arr);\\n    }\\n  });\\n\"),e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{pre:function(e){e.set(\"helpersNamespace\",t.identifier(\"babelHelpers\"))}}},e.exports=t.default},function(e,t,n){\"use strict\";var r=\"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},i=n(89);e.exports=function(e){var t=e.types,n={};return{visitor:{Identifier:function(e,o){if(\"MemberExpression\"!==e.parent.type&&\"ClassMethod\"!==e.parent.type&&!e.isPure()&&o.opts.hasOwnProperty(e.node.name)){var a=o.opts[e.node.name];null==a&&(a=t.identifier(String(a)));var s=void 0===a?\"undefined\":r(a);\"string\"===s||\"boolean\"===s?a={type:s,replacement:a}:t.isNode(a)?a={type:\"node\",replacement:a}:\"object\"===s&&\"node\"===a.type&&\"string\"==typeof a.replacement&&(a.replacement=n[a.replacement]?n[a.replacement]:i.parseExpression(a.replacement));var u=a.replacement;switch(a.type){case\"boolean\":e.replaceWith(t.booleanLiteral(u));break;case\"node\":t.isNode(u)&&e.replaceWith(u);break;default:var l=String(u);e.replaceWith(t.stringLiteral(l))}}}}}}},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"dynamicImport\")}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{manipulateOptions:function(e,t){t.plugins.push(\"functionSent\")}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{inherits:n(67)}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types,r={Function:function(e){e.skip()},YieldExpression:function(e,n){var r=e.node;if(r.delegate){var i=n.addHelper(\"asyncGeneratorDelegate\");r.argument=t.callExpression(i,[t.callExpression(n.addHelper(\"asyncIterator\"),[r.argument]),t.memberExpression(n.addHelper(\"asyncGenerator\"),t.identifier(\"await\"))])}}};return{inherits:n(195),visitor:{Function:function(e,n){e.node.async&&e.node.generator&&(e.traverse(r,n),(0,i.default)(e,n.file,{wrapAsync:t.memberExpression(n.addHelper(\"asyncGenerator\"),t.identifier(\"wrap\")),wrapAwait:t.memberExpression(n.addHelper(\"asyncGenerator\"),t.identifier(\"await\"))}))}}}};var r,i=(r=n(124))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return{inherits:n(67),visitor:{Function:function(e,t){e.node.async&&!e.node.generator&&(0,i.default)(e,t.file,{wrapAsync:t.addImport(t.opts.module,t.opts.method)})}}}};var r,i=(r=n(124))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=e.types;function r(e,t){if(!t.applyDecoratedDescriptor){t.applyDecoratedDescriptor=e.scope.generateUidIdentifier(\"applyDecoratedDescriptor\");var n=f({NAME:t.applyDecoratedDescriptor});e.scope.getProgramParent().path.unshiftContainer(\"body\",n)}return t.applyDecoratedDescriptor}function i(e){var n=(e.isClass()?[e].concat(e.get(\"body.body\")):e.get(\"properties\")).reduce((function(e,t){return e.concat(t.node.decorators||[])}),[]).filter((function(e){return!t.isIdentifier(e.expression)}));if(0!==n.length)return t.sequenceExpression(n.map((function(n){var r=n.expression,i=n.expression=e.scope.generateDeclaredUidIdentifier(\"dec\");return t.assignmentExpression(\"=\",i,r)})).concat([e.node]))}function p(e,n,i){e.scope.generateDeclaredUidIdentifier(\"desc\"),e.scope.generateDeclaredUidIdentifier(\"value\");var o=e.scope.generateDeclaredUidIdentifier(e.isClass()?\"class\":\"obj\"),c=i.reduce((function(i,c){var f=c.decorators||[];if(c.decorators=null,0===f.length)return i;if(c.computed)throw e.buildCodeFrameError(\"Computed method/property decorators are not yet supported.\");var p=t.isLiteral(c.key)?c.key:t.stringLiteral(c.key.name),d=e.isClass()&&!c.static?a({CLASS_REF:o}).expression:o;if(t.isClassProperty(c,{static:!1})){var h=e.scope.generateDeclaredUidIdentifier(\"descriptor\"),m=c.value?t.functionExpression(null,[],t.blockStatement([t.returnStatement(c.value)])):t.nullLiteral();c.value=t.callExpression(function(e,t){if(!t.initializerWarningHelper){t.initializerWarningHelper=e.scope.generateUidIdentifier(\"initializerWarningHelper\");var n=l({NAME:t.initializerWarningHelper});e.scope.getProgramParent().path.unshiftContainer(\"body\",n)}return t.initializerWarningHelper}(e,n),[h,t.thisExpression()]),i=i.concat([t.assignmentExpression(\"=\",h,t.callExpression(r(e,n),[d,p,t.arrayExpression(f.map((function(e){return e.expression}))),t.objectExpression([t.objectProperty(t.identifier(\"enumerable\"),t.booleanLiteral(!0)),t.objectProperty(t.identifier(\"initializer\"),m)])]))])}else i=i.concat(t.callExpression(r(e,n),[d,p,t.arrayExpression(f.map((function(e){return e.expression}))),t.isObjectProperty(c)||t.isClassProperty(c,{static:!0})?u({TEMP:e.scope.generateDeclaredUidIdentifier(\"init\"),TARGET:d,PROPERTY:p}).expression:s({TARGET:d,PROPERTY:p}).expression,d]));return i}),[]);return t.sequenceExpression([t.assignmentExpression(\"=\",o,e.node),t.sequenceExpression(c),o])}return{inherits:n(125),visitor:{ExportDefaultDeclaration:function(e){if(e.get(\"declaration\").isClassDeclaration()){var n=e.node,r=n.declaration.id||e.scope.generateUidIdentifier(\"default\");n.declaration.id=r,e.replaceWith(n.declaration),e.insertAfter(t.exportNamedDeclaration(null,[t.exportSpecifier(r,t.identifier(\"default\"))]))}},ClassDeclaration:function(e){var n=e.node,r=n.id||e.scope.generateUidIdentifier(\"class\");e.replaceWith(t.variableDeclaration(\"let\",[t.variableDeclarator(r,t.toExpression(n))]))},ClassExpression:function(e,t){var n=i(e)||function(e,t){var n=e.node.decorators||[];if(e.node.decorators=null,0!==n.length){var r=e.scope.generateDeclaredUidIdentifier(\"class\");return n.map((function(e){return e.expression})).reverse().reduce((function(e,t){return o({CLASS_REF:r,DECORATOR:t,INNER:e}).expression}),e.node)}}(e)||function(e,t){if(e.node.body.body.some((function(e){return(e.decorators||[]).length>0})))return p(e,t,e.node.body.body)}(e,t);n&&e.replaceWith(n)},ObjectExpression:function(e,t){var n=i(e)||function(e,t){if(e.node.properties.some((function(e){return(e.decorators||[]).length>0})))return p(e,t,e.node.properties)}(e,t);n&&e.replaceWith(n)},AssignmentExpression:function(e,n){n.initializerWarningHelper&&e.get(\"left\").isMemberExpression()&&e.get(\"left.property\").isIdentifier()&&e.get(\"right\").isCallExpression()&&e.get(\"right.callee\").isIdentifier({name:n.initializerWarningHelper.name})&&e.replaceWith(t.callExpression(function(e,t){if(!t.initializerDefineProp){t.initializerDefineProp=e.scope.generateUidIdentifier(\"initDefineProp\");var n=c({NAME:t.initializerDefineProp});e.scope.getProgramParent().path.unshiftContainer(\"body\",n)}return t.initializerDefineProp}(e,n),[e.get(\"left.object\").node,t.stringLiteral(e.get(\"left.property\").node.name),e.get(\"right.arguments\")[0].node,e.get(\"right.arguments\")[1].node]))}}}};var r,i=(r=n(4))&&r.__esModule?r:{default:r},o=(0,i.default)(\"\\n  DECORATOR(CLASS_REF = INNER) || CLASS_REF;\\n\"),a=(0,i.default)(\"\\n  CLASS_REF.prototype;\\n\"),s=(0,i.default)(\"\\n    Object.getOwnPropertyDescriptor(TARGET, PROPERTY);\\n\"),u=(0,i.default)(\"\\n    (TEMP = Object.getOwnPropertyDescriptor(TARGET, PROPERTY), (TEMP = TEMP ? TEMP.value : undefined), {\\n        enumerable: true,\\n        configurable: true,\\n        writable: true,\\n        initializer: function(){\\n            return TEMP;\\n        }\\n    })\\n\"),l=(0,i.default)(\"\\n    function NAME(descriptor, context){\\n        throw new Error('Decorating class property failed. Please ensure that transform-class-properties is enabled.');\\n    }\\n\"),c=(0,i.default)(\"\\n    function NAME(target, property, descriptor, context){\\n        if (!descriptor) return;\\n\\n        Object.defineProperty(target, property, {\\n            enumerable: descriptor.enumerable,\\n            configurable: descriptor.configurable,\\n            writable: descriptor.writable,\\n            value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\\n        });\\n    }\\n\"),f=(0,i.default)(\"\\n    function NAME(target, property, decorators, descriptor, context){\\n        var desc = {};\\n        Object['ke' + 'ys'](descriptor).forEach(function(key){\\n            desc[key] = descriptor[key];\\n        });\\n        desc.enumerable = !!desc.enumerable;\\n        desc.configurable = !!desc.configurable;\\n        if ('value' in desc || desc.initializer){\\n            desc.writable = true;\\n        }\\n\\n        desc = decorators.slice().reverse().reduce(function(desc, decorator){\\n            return decorator(target, property, desc) || desc;\\n        }, desc);\\n\\n        if (context && desc.initializer !== void 0){\\n            desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\\n            desc.initializer = undefined;\\n        }\\n\\n        if (desc.initializer === void 0){\\n            // This is a hack to avoid this being processed by 'transform-runtime'.\\n            // See issue #9.\\n            Object['define' + 'Property'](target, property, desc);\\n            desc = null;\\n        }\\n\\n        return desc;\\n    }\\n\")},function(e,t,n){\"use strict\";t.__esModule=!0,t.visitor=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function i(e,t){return r.callExpression(t.addHelper(\"temporalRef\"),[e,r.stringLiteral(e.name),t.addHelper(\"temporalUndefined\")])}function o(e,t,n){var r=n.letReferences[e.name];return!!r&&t.getBindingIdentifier(e.name)===r}t.visitor={ReferencedIdentifier:function(e,t){if(this.file.opts.tdz){var n=e.node,a=e.parent,s=e.scope;if(!e.parentPath.isFor({left:n})&&o(n,s,t)){var u=s.getBinding(n.name).path,l=function(e,t){var n=t._guessExecutionStatusRelativeTo(e);return\"before\"===n?\"inside\":\"after\"===n?\"outside\":\"maybe\"}(e,u);if(\"inside\"!==l)if(\"maybe\"===l){var c=i(n,t.file);if(u.parent._tdzThis=!0,e.skip(),e.parentPath.isUpdateExpression()){if(a._ignoreBlockScopingTDZ)return;e.parentPath.replaceWith(r.sequenceExpression([c,a]))}else e.replaceWith(c)}else\"outside\"===l&&e.replaceWith(r.throwStatement(r.inherits(r.newExpression(r.identifier(\"ReferenceError\"),[r.stringLiteral(n.name+\" is not defined - temporal dead zone\")]),n)))}}},AssignmentExpression:{exit:function(e,t){if(this.file.opts.tdz){var n=e.node;if(!n._ignoreBlockScopingTDZ){var a=[],s=e.getBindingIdentifiers();for(var u in s){var l=s[u];o(l,e.scope,t)&&a.push(i(l,t.file))}a.length&&(n._ignoreBlockScopingTDZ=!0,a.push(n),e.replaceWithMultiple(a.map(r.expressionStatement)))}}}}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(3)),i=l(n(42)),o=l(n(41)),a=l(n(40)),s=l(n(207)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function l(e){return e&&e.__esModule?e:{default:e}}var c=function(e){function t(){(0,r.default)(this,t);var n=(0,i.default)(this,e.apply(this,arguments));return n.isLoose=!0,n}return(0,o.default)(t,e),t.prototype._processMethod=function(e,t){if(!e.decorators){var n=this.classRef;e.static||(n=u.memberExpression(n,u.identifier(\"prototype\")));var r=u.memberExpression(n,e.key,e.computed||u.isLiteral(e.key)),i=u.functionExpression(null,e.params,e.body,e.generator,e.async);i.returnType=e.returnType;var o=u.toComputedKey(e,e.key);u.isStringLiteral(o)&&(i=(0,a.default)({node:i,id:o,scope:t}));var s=u.expressionStatement(u.assignmentExpression(\"=\",r,i));return u.inheritsComments(s,e),this.body.push(s),!0}},t}(s.default);t.default=c,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{BinaryExpression:function(e){var n=e.node;\"instanceof\"===n.operator&&e.replaceWith(t.callExpression(this.addHelper(\"instanceof\"),[n.left,n.right]))}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.visitor=void 0;var r=u(n(2)),i=u(n(189)),o=u(n(317)),a=u(n(4)),s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function u(e){return e&&e.__esModule?e:{default:e}}var l=(0,a.default)(\"\\n  let VARIABLE_NAME =\\n    ARGUMENTS.length > ARGUMENT_KEY && ARGUMENTS[ARGUMENT_KEY] !== undefined ?\\n      ARGUMENTS[ARGUMENT_KEY]\\n    :\\n      DEFAULT_VALUE;\\n\"),c=(0,a.default)(\"\\n  let $0 = $1[$2];\\n\");function f(e,t){if(!e.hasOwnBinding(t.name))return!0;var n=e.getOwnBinding(t.name).kind;return\"param\"===n||\"local\"===n}var p={ReferencedIdentifier:function(e,t){var n=e.scope,r=e.node;\"eval\"!==r.name&&f(n,r)||(t.iife=!0,e.stop())},Scope:function(e){e.skip()}};t.visitor={Function:function(e){var t=e.node,n=e.scope;if(function(e){var t=e.params,n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}var a=o;if(!s.isIdentifier(a))return!0}return!1}(t)){e.ensureBlock();var a={iife:!1,scope:n},u=[],d=s.identifier(\"arguments\");d._shadowedFunctionLiteral=e;for(var h=(0,i.default)(t),m=e.get(\"params\"),y=0;y<m.length;y++){var v=m[y];if(v.isAssignmentPattern()){var g=v.get(\"left\"),b=v.get(\"right\");if(y>=h||g.isPattern()){var x=n.generateUidIdentifier(\"x\");x._isDefaultPlaceholder=!0,t.params[y]=x}else t.params[y]=g.node;a.iife||(b.isIdentifier()&&!f(n,b.node)?a.iife=!0:b.traverse(p,a)),S(g.node,b.node,y)}else a.iife||v.isIdentifier()||v.traverse(p,a)}for(var _=h+1;_<t.params.length;_++){var w=t.params[_];if(!w._isDefaultPlaceholder){var E=c(w,d,s.numericLiteral(_));E._blockHoist=t.params.length-_,u.push(E)}}t.params=t.params.slice(0,h),a.iife?(u.push((0,o.default)(e,n)),e.set(\"body\",s.blockStatement(u))):e.get(\"body\").unshiftContainer(\"body\",u)}function S(e,n,r){var i=l({VARIABLE_NAME:e,DEFAULT_VALUE:n,ARGUMENT_KEY:s.numericLiteral(r),ARGUMENTS:d});i._blockHoist=t.params.length-r,u.push(i)}}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.visitor=void 0;var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));t.visitor={Function:function(e){for(var t=e.get(\"params\"),n=r.isRestElement(t[t.length-1])?1:0,i=t.length-n,o=0;o<i;o++){var a=t[o];if(a.isArrayPattern()||a.isObjectPattern()){var s=e.scope.generateUidIdentifier(\"ref\"),u=r.variableDeclaration(\"let\",[r.variableDeclarator(a.node,s)]);u._blockHoist=i-o,e.ensureBlock(),e.get(\"body\").unshiftContainer(\"body\",u),a.replaceWith(s)}}}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.visitor=void 0;var r=a(n(2)),i=a(n(4)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}var s=(0,i.default)(\"\\n  for (var LEN = ARGUMENTS.length,\\n           ARRAY = Array(ARRAY_LEN),\\n           KEY = START;\\n       KEY < LEN;\\n       KEY++) {\\n    ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\\n  }\\n\"),u=(0,i.default)(\"\\n  ARGUMENTS.length <= INDEX ? undefined : ARGUMENTS[INDEX]\\n\"),l=(0,i.default)(\"\\n  REF = INDEX, ARGUMENTS.length <= REF ? undefined : ARGUMENTS[REF]\\n\"),c=(0,i.default)(\"\\n  ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\\n\"),f={Scope:function(e,t){e.scope.bindingIdentifierEquals(t.name,t.outerBinding)||e.skip()},Flow:function(e){e.isTypeCastExpression()||e.skip()},\"Function|ClassProperty\":function(e,t){var n=t.noOptimise;t.noOptimise=!0,e.traverse(f,t),t.noOptimise=n,e.skip()},ReferencedIdentifier:function(e,t){var n=e.node;if(\"arguments\"===n.name&&(t.deopted=!0),n.name===t.name)if(t.noOptimise)t.deopted=!0;else{var r=e.parentPath;if(\"params\"===r.listKey&&r.key<t.offset)return;if(r.isMemberExpression({object:n})){var i=r.parentPath;if(!t.deopted&&!(i.isAssignmentExpression()&&r.node===i.node.left||i.isLVal()||i.isForXStatement()||i.isUpdateExpression()||i.isUnaryExpression({operator:\"delete\"})||(i.isCallExpression()||i.isNewExpression())&&r.node===i.node.callee))if(r.node.computed){if(r.get(\"property\").isBaseType(\"number\"))return void t.candidates.push({cause:\"indexGetter\",path:e})}else if(\"length\"===r.node.property.name)return void t.candidates.push({cause:\"lengthGetter\",path:e})}if(0===t.offset&&r.isSpreadElement()){var o=r.parentPath;if(o.isCallExpression()&&1===o.node.arguments.length)return void t.candidates.push({cause:\"argSpread\",path:e})}t.references.push(e)}},BindingIdentifier:function(e,t){e.node.name===t.name&&(t.deopted=!0)}};function p(e,t,n){var r;r=o.isNumericLiteral(e.parent.property)?o.numericLiteral(e.parent.property.value+n):0===n?e.parent.property:o.binaryExpression(\"+\",e.parent.property,o.numericLiteral(n));var i=e.scope;if(i.isPure(r))e.parentPath.replaceWith(u({ARGUMENTS:t,INDEX:r}));else{var a=i.generateUidIdentifierBasedOnNode(r);i.push({id:a,kind:\"var\"}),e.parentPath.replaceWith(l({ARGUMENTS:t,INDEX:r,REF:a}))}}function d(e,t,n){n?e.parentPath.replaceWith(c({ARGUMENTS:t,OFFSET:o.numericLiteral(n)})):e.replaceWith(t)}t.visitor={Function:function(e){var t=e.node,n=e.scope;if(function(e){return o.isRestElement(e.params[e.params.length-1])}(t)){var i=t.params.pop().argument,a=o.identifier(\"arguments\");a._shadowedFunctionLiteral=e;var u={references:[],offset:t.params.length,argumentsNode:a,outerBinding:n.getBindingIdentifier(i.name),candidates:[],name:i.name,deopted:!1};if(e.traverse(f,u),u.deopted||u.references.length){u.references=u.references.concat(u.candidates.map((function(e){return e.path}))),u.deopted=u.deopted||!!t.shadow;var l=o.numericLiteral(t.params.length),c=n.generateUidIdentifier(\"key\"),h=n.generateUidIdentifier(\"len\"),m=c,y=h;t.params.length&&(m=o.binaryExpression(\"-\",c,l),y=o.conditionalExpression(o.binaryExpression(\">\",h,l),o.binaryExpression(\"-\",h,l),o.numericLiteral(0)));var v=s({ARGUMENTS:a,ARRAY_KEY:m,ARRAY_LEN:y,START:l,ARRAY:i,KEY:c,LEN:h});if(u.deopted)v._blockHoist=t.params.length+1,t.body.body.unshift(v);else{v._blockHoist=1;var g=e.getEarliestCommonAncestorFrom(u.references).getStatementParent();g.findParent((function(e){if(!e.isLoop())return e.isFunction();g=e})),g.insertBefore(v)}}else{var b=u.candidates,x=Array.isArray(b),_=0;for(b=x?b:(0,r.default)(b);;){var w;if(x){if(_>=b.length)break;w=b[_++]}else{if((_=b.next()).done)break;w=_.value}var E=w,S=E.path;switch(E.cause){case\"indexGetter\":p(S,a,u.offset);break;case\"lengthGetter\":d(S,a,u.offset);break;default:S.replaceWith(a)}}}}}}},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{MemberExpression:{exit:function(e){var n=e.node,r=n.property;n.computed||!t.isIdentifier(r)||t.isValidIdentifier(r.name)||(n.property=t.stringLiteral(r.name),n.computed=!0)}}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{ObjectProperty:{exit:function(e){var n=e.node,r=n.key;n.computed||!t.isIdentifier(r)||t.isValidIdentifier(r.name)||(n.key=t.stringLiteral(r.name))}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;return{visitor:{ObjectExpression:function(e,n){var r=e.node,a=!1,s=r.properties,u=Array.isArray(s),l=0;for(s=u?s:(0,i.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c;if(\"get\"===f.kind||\"set\"===f.kind){a=!0;break}}if(a){var p={};r.properties=r.properties.filter((function(e){return!!(e.computed||\"get\"!==e.kind&&\"set\"!==e.kind)||(o.push(p,e,null,n),!1)})),e.replaceWith(t.callExpression(t.memberExpression(t.identifier(\"Object\"),t.identifier(\"defineProperties\")),[r,o.toDefineObject(p)]))}}}}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(188));e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.parse,n=e.traverse;return{visitor:{CallExpression:function(e){if(e.get(\"callee\").isIdentifier({name:\"eval\"})&&1===e.node.arguments.length){var r=e.get(\"arguments\")[0].evaluate();if(!r.confident)return;var i=r.value;if(\"string\"!=typeof i)return;var o=t(i);return n.removeProperties(o),o.program}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;function r(e,n){e.addComment(\"trailing\",i(e,n)),e.replaceWith(t.noop())}function i(e,t){var n=e.getSource().replace(/\\*-\\//g,\"*-ESCAPED/\").replace(/\\*\\//g,\"*-/\");return t&&t.optional&&(n=\"?\"+n),\":\"!==n[0]&&(n=\":: \"+n),n}return{inherits:n(126),visitor:{TypeCastExpression:function(e){var n=e.node;e.get(\"expression\").addComment(\"trailing\",i(e.get(\"typeAnnotation\"))),e.replaceWith(t.parenthesizedExpression(n.expression))},Identifier:function(e){var t=e.node;t.optional&&!t.typeAnnotation&&e.addComment(\"trailing\",\":: ?\")},AssignmentPattern:{exit:function(e){e.node.left.optional=!1}},Function:{exit:function(e){e.node.params.forEach((function(e){return e.optional=!1}))}},ClassProperty:function(e){var t=e.node,n=e.parent;t.value||r(e,n)},\"ExportNamedDeclaration|Flow\":function(e){var n=e.node,i=e.parent;t.isExportNamedDeclaration(n)&&!t.isFlow(n.declaration)||r(e,i)},ImportDeclaration:function(e){var n=e.node,i=e.parent;t.isImportDeclaration(n)&&\"type\"!==n.importKind&&\"typeof\"!==n.importKind||r(e,i)}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{FunctionExpression:{exit:function(e){var n=e.node;n.id&&(n._ignoreUserWhitespace=!0,e.replaceWith(t.callExpression(t.functionExpression(null,[],t.blockStatement([t.toStatement(n),t.returnStatement(n.id)])),[])))}}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{CallExpression:function(e,t){e.get(\"callee\").matchesPattern(\"Object.assign\")&&(e.node.callee=t.addHelper(\"extends\"))}}}},e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(){return{visitor:{CallExpression:function(e,t){e.get(\"callee\").matchesPattern(\"Object.setPrototypeOf\")&&(e.node.callee=t.addHelper(\"defaults\"))}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(2));t.default=function(e){var t=e.types;function n(e){return t.isLiteral(t.toComputedKey(e,e.key),{value:\"__proto__\"})}function o(e){var n=e.left;return t.isMemberExpression(n)&&t.isLiteral(t.toComputedKey(n,n.property),{value:\"__proto__\"})}function a(e,n,r){return t.expressionStatement(t.callExpression(r.addHelper(\"defaults\"),[n,e.right]))}return{visitor:{AssignmentExpression:function(e,n){if(o(e.node)){var r=[],i=e.node.left.object,s=e.scope.maybeGenerateMemoised(i);s&&r.push(t.expressionStatement(t.assignmentExpression(\"=\",s,i))),r.push(a(e.node,s||i,n)),s&&r.push(s),e.replaceWithMultiple(r)}},ExpressionStatement:function(e,n){var r=e.node.expression;t.isAssignmentExpression(r,{operator:\"=\"})&&o(r)&&e.replaceWith(a(r,r.left.object,n))},ObjectExpression:function(e,o){var a=void 0,s=e.node,u=s.properties,l=Array.isArray(u),c=0;for(u=l?u:(0,r.default)(u);;){var f;if(l){if(c>=u.length)break;f=u[c++]}else{if((c=u.next()).done)break;f=c.value}var p=f;n(p)&&(a=p.value,(0,i.default)(s.properties,p))}if(a){var d=[t.objectExpression([]),a];s.properties.length&&d.push(s),e.replaceWith(t.callExpression(o.addHelper(\"extends\"),d))}}}}};var i=o(n(277));function o(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(11))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types,n={enter:function(e,n){var r=function(){n.isImmutable=!1,e.stop()};if(e.isJSXClosingElement())e.skip();else{if(e.isJSXIdentifier({name:\"ref\"})&&e.parentPath.isJSXAttribute({name:e.node}))return r();if(!(e.isJSXIdentifier()||e.isIdentifier()||e.isJSXMemberExpression()||e.isImmutable())){if(e.isPure()){var o=e.evaluate();if(o.confident){var a=o.value;if(!(a&&\"object\"===(void 0===a?\"undefined\":(0,i.default)(a))||\"function\"==typeof a))return}else if(t.isIdentifier(o.deopt))return}r()}}}};return{visitor:{JSXElement:function(e){if(!e.node._hoisted){var t={isImmutable:!0};e.traverse(n,t),t.isImmutable?e.hoist():e.node._hoisted=!0}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){var t=e.types;function n(e,n){return t.isJSXAttribute(e)&&t.isJSXIdentifier(e.name,{name:n})}function r(e){var n=e.value;return n?(t.isJSXExpressionContainer(n)&&(n=n.expression),n):t.identifier(\"true\")}return{visitor:{JSXElement:function(e,o){var a=e.node,s=a.openingElement;if(!function(e){for(var r=0;r<e.length;r++){var i=e[r];if(t.isJSXSpreadAttribute(i))return!0;if(n(i,\"ref\"))return!0}return!1}(s.attributes)){var u=t.objectExpression([]),l=null,c=s.name;t.isJSXIdentifier(c)&&t.react.isCompatTag(c.name)&&(c=t.stringLiteral(c.name));var f=s.attributes,p=Array.isArray(f),d=0;for(f=p?f:(0,i.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if((d=f.next()).done)break;h=d.value}var m=h;if(n(m,\"key\"))l=r(m);else{var y=m.name.name,v=t.isValidIdentifier(y)?t.identifier(y):t.stringLiteral(y);_(u.properties,v,r(m))}}var g=[c,u];if(l||a.children.length){var b=t.react.buildChildren(a);g.push.apply(g,[l||t.unaryExpression(\"void\",t.numericLiteral(0),!0)].concat(b))}var x=t.callExpression(o.addHelper(\"jsx\"),g);e.replaceWith(x)}function _(e,n,r){e.push(t.objectProperty(n,r))}}}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{manipulateOptions:function(e,t){t.plugins.push(\"jsx\")},visitor:(0,i.default)({pre:function(e){e.callee=e.tagExpr},post:function(e){t.react.isCompatTag(e.tagName)&&(e.call=t.callExpression(t.memberExpression(t.memberExpression(t.identifier(\"React\"),t.identifier(\"DOM\")),e.tagExpr,t.isLiteral(e.tagExpr)),e.args))}})}};var r,i=(r=n(348))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t={JSXNamespacedName:function(e){throw e.buildCodeFrameError(\"Namespace tags are not supported. ReactJSX is not XML.\")}};return t.JSXElement={exit:function(t,r){var i=function(t,r){t.parent.children=o.react.buildChildren(t.parent);var i=n(t.node.name,t.node),a=[],s=void 0;o.isIdentifier(i)?s=i.name:o.isLiteral(i)&&(s=i.value);var u={tagExpr:i,tagName:s,args:a};e.pre&&e.pre(u,r);var l=t.node.attributes;return l=l.length?function(e,t){var n,r,i=[],a=[],s=t.opts.useBuiltIns||!1;if(\"boolean\"!=typeof s)throw new Error(\"transform-react-jsx currently only accepts a boolean option for useBuiltIns (defaults to false)\");function u(){i.length&&(a.push(o.objectExpression(i)),i=[])}for(;e.length;){var l=e.shift();o.isJSXSpreadAttribute(l)?(u(),a.push(l.argument)):i.push((r=void 0,r=function(e){return o.isJSXExpressionContainer(e)?e.expression:e}((n=l).value||o.booleanLiteral(!0)),o.isStringLiteral(r)&&!o.isJSXExpressionContainer(n.value)&&(r.value=r.value.replace(/\\n\\s+/g,\" \")),o.isValidIdentifier(n.name.name)?n.name.type=\"Identifier\":n.name=o.stringLiteral(n.name.name),o.inherits(o.objectProperty(n.name,r),n)))}if(u(),1===a.length)e=a[0];else{o.isObjectExpression(a[0])||a.unshift(o.objectExpression([]));var c=s?o.memberExpression(o.identifier(\"Object\"),o.identifier(\"assign\")):t.addHelper(\"extends\");e=o.callExpression(c,a)}return e}(l,r):o.nullLiteral(),a.push(l),e.post&&e.post(u,r),u.call||o.callExpression(u.callee,a)}(t.get(\"openingElement\"),r);i.arguments=i.arguments.concat(t.node.children),i.arguments.length>=3&&(i._prettyCall=!0),t.replaceWith(o.inherits(i,t.node))}},t;function n(e,t){if(o.isJSXIdentifier(e)){if(\"this\"===e.name&&o.isReferenced(e,t))return o.thisExpression();if(!i.default.keyword.isIdentifierNameES6(e.name))return o.stringLiteral(e.name);e.type=\"Identifier\"}else if(o.isJSXMemberExpression(e))return o.memberExpression(n(e.object,e),n(e.property,e));return e}};var r,i=(r=n(97))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{JSXOpeningElement:function(e){var r=e.node,i=t.jSXIdentifier(n),o=t.thisExpression();r.attributes.push(t.jSXAttribute(i,t.jSXExpressionContainer(o)))}}}};var n=\"__self\";e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.types;return{visitor:{JSXOpeningElement:function(e,i){var o=t.jSXIdentifier(n),a=e.container.openingElement.loc;if(a){for(var s=e.container.openingElement.attributes,u=0;u<s.length;u++){var l=s[u].name;if(l&&l.name===n)return}if(!i.fileNameIdentifier){var c=\"unknown\"!==i.file.log.filename?i.file.log.filename:null,f=e.scope.generateUidIdentifier(r);e.hub.file.scope.push({id:f,init:t.stringLiteral(c)}),i.fileNameIdentifier=f}var p=function(e,n){var r=null!=n?t.numericLiteral(n):t.nullLiteral(),i=t.objectProperty(t.identifier(\"fileName\"),e),o=t.objectProperty(t.identifier(\"lineNumber\"),r);return t.objectExpression([i,o])}(i.fileNameIdentifier,a.start.line);s.push(t.jSXAttribute(o,t.jSXExpressionContainer(p)))}}}}};var n=\"__source\",r=\"_jsxFileName\";e.exports=t.default},348,function(e,t){\"use strict\";e.exports={builtins:{Symbol:\"symbol\",Promise:\"promise\",Map:\"map\",WeakMap:\"weak-map\",Set:\"set\",WeakSet:\"weak-set\",Observable:\"observable\",setImmediate:\"set-immediate\",clearImmediate:\"clear-immediate\",asap:\"asap\"},methods:{Array:{concat:\"array/concat\",copyWithin:\"array/copy-within\",entries:\"array/entries\",every:\"array/every\",fill:\"array/fill\",filter:\"array/filter\",findIndex:\"array/find-index\",find:\"array/find\",forEach:\"array/for-each\",from:\"array/from\",includes:\"array/includes\",indexOf:\"array/index-of\",join:\"array/join\",keys:\"array/keys\",lastIndexOf:\"array/last-index-of\",map:\"array/map\",of:\"array/of\",pop:\"array/pop\",push:\"array/push\",reduceRight:\"array/reduce-right\",reduce:\"array/reduce\",reverse:\"array/reverse\",shift:\"array/shift\",slice:\"array/slice\",some:\"array/some\",sort:\"array/sort\",splice:\"array/splice\",unshift:\"array/unshift\",values:\"array/values\"},JSON:{stringify:\"json/stringify\"},Object:{assign:\"object/assign\",create:\"object/create\",defineProperties:\"object/define-properties\",defineProperty:\"object/define-property\",entries:\"object/entries\",freeze:\"object/freeze\",getOwnPropertyDescriptor:\"object/get-own-property-descriptor\",getOwnPropertyDescriptors:\"object/get-own-property-descriptors\",getOwnPropertyNames:\"object/get-own-property-names\",getOwnPropertySymbols:\"object/get-own-property-symbols\",getPrototypeOf:\"object/get-prototype-of\",isExtensible:\"object/is-extensible\",isFrozen:\"object/is-frozen\",isSealed:\"object/is-sealed\",is:\"object/is\",keys:\"object/keys\",preventExtensions:\"object/prevent-extensions\",seal:\"object/seal\",setPrototypeOf:\"object/set-prototype-of\",values:\"object/values\"},RegExp:{escape:\"regexp/escape\"},Math:{acosh:\"math/acosh\",asinh:\"math/asinh\",atanh:\"math/atanh\",cbrt:\"math/cbrt\",clz32:\"math/clz32\",cosh:\"math/cosh\",expm1:\"math/expm1\",fround:\"math/fround\",hypot:\"math/hypot\",imul:\"math/imul\",log10:\"math/log10\",log1p:\"math/log1p\",log2:\"math/log2\",sign:\"math/sign\",sinh:\"math/sinh\",tanh:\"math/tanh\",trunc:\"math/trunc\",iaddh:\"math/iaddh\",isubh:\"math/isubh\",imulh:\"math/imulh\",umulh:\"math/umulh\"},Symbol:{for:\"symbol/for\",hasInstance:\"symbol/has-instance\",isConcatSpreadable:\"symbol/is-concat-spreadable\",iterator:\"symbol/iterator\",keyFor:\"symbol/key-for\",match:\"symbol/match\",replace:\"symbol/replace\",search:\"symbol/search\",species:\"symbol/species\",split:\"symbol/split\",toPrimitive:\"symbol/to-primitive\",toStringTag:\"symbol/to-string-tag\",unscopables:\"symbol/unscopables\"},String:{at:\"string/at\",codePointAt:\"string/code-point-at\",endsWith:\"string/ends-with\",fromCodePoint:\"string/from-code-point\",includes:\"string/includes\",matchAll:\"string/match-all\",padLeft:\"string/pad-left\",padRight:\"string/pad-right\",padStart:\"string/pad-start\",padEnd:\"string/pad-end\",raw:\"string/raw\",repeat:\"string/repeat\",startsWith:\"string/starts-with\",trim:\"string/trim\",trimLeft:\"string/trim-left\",trimRight:\"string/trim-right\",trimStart:\"string/trim-start\",trimEnd:\"string/trim-end\"},Number:{EPSILON:\"number/epsilon\",isFinite:\"number/is-finite\",isInteger:\"number/is-integer\",isNaN:\"number/is-nan\",isSafeInteger:\"number/is-safe-integer\",MAX_SAFE_INTEGER:\"number/max-safe-integer\",MIN_SAFE_INTEGER:\"number/min-safe-integer\",parseFloat:\"number/parse-float\",parseInt:\"number/parse-int\"},Reflect:{apply:\"reflect/apply\",construct:\"reflect/construct\",defineProperty:\"reflect/define-property\",deleteProperty:\"reflect/delete-property\",enumerate:\"reflect/enumerate\",getOwnPropertyDescriptor:\"reflect/get-own-property-descriptor\",getPrototypeOf:\"reflect/get-prototype-of\",get:\"reflect/get\",has:\"reflect/has\",isExtensible:\"reflect/is-extensible\",ownKeys:\"reflect/own-keys\",preventExtensions:\"reflect/prevent-extensions\",setPrototypeOf:\"reflect/set-prototype-of\",set:\"reflect/set\",defineMetadata:\"reflect/define-metadata\",deleteMetadata:\"reflect/delete-metadata\",getMetadata:\"reflect/get-metadata\",getMetadataKeys:\"reflect/get-metadata-keys\",getOwnMetadata:\"reflect/get-own-metadata\",getOwnMetadataKeys:\"reflect/get-own-metadata-keys\",hasMetadata:\"reflect/has-metadata\",hasOwnMetadata:\"reflect/has-own-metadata\",metadata:\"reflect/metadata\"},System:{global:\"system/global\"},Error:{isError:\"error/is-error\"},Date:{},Function:{}}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.definitions=void 0,t.default=function(e){var t=e.types;function n(e){return e.moduleName||\"babel-runtime\"}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var o=[\"interopRequireWildcard\",\"interopRequireDefault\"];return{pre:function(e){var t=n(this.opts);!1!==this.opts.helpers&&e.set(\"helperGenerator\",(function(n){if(o.indexOf(n)<0)return e.addImport(t+\"/helpers/\"+n,\"default\",n)})),this.setDynamic(\"regeneratorIdentifier\",(function(){return e.addImport(t+\"/regenerator\",\"default\",\"regeneratorRuntime\")}))},visitor:{ReferencedIdentifier:function(e,o){var a=e.node,s=e.parent,u=e.scope;if(\"regeneratorRuntime\"!==a.name||!1===o.opts.regenerator){if(!1!==o.opts.polyfill&&!t.isMemberExpression(s)&&r(i.default.builtins,a.name)&&!u.getBindingIdentifier(a.name)){var l=n(o.opts);e.replaceWith(o.addImport(l+\"/core-js/\"+i.default.builtins[a.name],\"default\",a.name))}}else e.replaceWith(o.get(\"regeneratorIdentifier\"))},CallExpression:function(e,r){if(!1!==r.opts.polyfill&&!e.node.arguments.length){var i=e.node.callee;if(t.isMemberExpression(i)&&i.computed&&e.get(\"callee.property\").matchesPattern(\"Symbol.iterator\")){var o=n(r.opts);e.replaceWith(t.callExpression(r.addImport(o+\"/core-js/get-iterator\",\"default\",\"getIterator\"),[i.object]))}}},BinaryExpression:function(e,r){if(!1!==r.opts.polyfill&&\"in\"===e.node.operator&&e.get(\"left\").matchesPattern(\"Symbol.iterator\")){var i=n(r.opts);e.replaceWith(t.callExpression(r.addImport(i+\"/core-js/is-iterable\",\"default\",\"isIterable\"),[e.node.right]))}},MemberExpression:{enter:function(e,o){if(!1!==o.opts.polyfill&&e.isReferenced()){var a=e.node,s=a.object,u=a.property;if(t.isReferenced(s,a)&&!a.computed&&r(i.default.methods,s.name)){var l=i.default.methods[s.name];if(r(l,u.name)&&!e.scope.getBindingIdentifier(s.name)){if(\"Object\"===s.name&&\"defineProperty\"===u.name&&e.parentPath.isCallExpression()){var c=e.parentPath.node;if(3===c.arguments.length&&t.isLiteral(c.arguments[1]))return}var f=n(o.opts);e.replaceWith(o.addImport(f+\"/core-js/\"+l[u.name],\"default\",s.name+\"$\"+u.name))}}}},exit:function(e,o){if(!1!==o.opts.polyfill&&e.isReferenced()){var a=e.node,s=a.object;if(r(i.default.builtins,s.name)&&!e.scope.getBindingIdentifier(s.name)){var u=n(o.opts);e.replaceWith(t.memberExpression(o.addImport(u+\"/core-js/\"+i.default.builtins[s.name],\"default\",s.name),a.property,a.computed))}}}}}}};var r,i=(r=n(352))&&r.__esModule?r:{default:r};t.definitions=i.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=e.messages;return{visitor:{ReferencedIdentifier:function(e){var n=e.node,r=e.scope,o=r.getBinding(n.name);if(o&&\"type\"===o.kind&&!e.parentPath.isFlow())throw e.buildCodeFrameError(t.get(\"undeclaredVariableType\",n.name),ReferenceError);if(!r.hasBinding(n.name)){var a=r.getAllBindings(),s=void 0,u=-1;for(var l in a){var c=(0,i.default)(n.name,l);c<=0||c>3||c<=u||(s=l,u=c)}var f;throw f=s?t.get(\"undeclaredVariableSuggestion\",n.name,s):t.get(\"undeclaredVariable\",n.name),e.buildCodeFrameError(f,ReferenceError)}}}}};var r,i=(r=n(471))&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(211))&&r.__esModule?r:{default:r};t.default={plugins:[i.default]},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{presets:[!1!==t.es2015&&[r.default.buildPreset,t.es2015],!1!==t.es2016&&i.default,!1!==t.es2017&&o.default].filter(Boolean)}};var r=a(n(217)),i=a(n(218)),o=a(n(219));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(355)),i=s(n(215)),o=s(n(127)),a=s(n(214));function s(e){return e&&e.__esModule?e:{default:e}}t.default={presets:[r.default],plugins:[i.default,o.default,a.default],env:{development:{plugins:[]}}},e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=a(n(220)),i=a(n(206)),o=a(n(212));function a(e){return e&&e.__esModule?e:{default:e}}t.default={presets:[r.default],plugins:[i.default,o.default]},e.exports=t.default},function(e,t,n){\"use strict\";e.exports={default:n(407),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(410),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(412),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(413),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(415),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(416),__esModule:!0}},function(e,t,n){\"use strict\";e.exports={default:n(417),__esModule:!0}},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(2)),i=s(n(3)),o=s(n(36)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(){function e(t,n,r,o){(0,i.default)(this,e),this.queue=null,this.parentPath=o,this.scope=t,this.state=r,this.opts=n}return e.prototype.shouldVisit=function(e){var t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;var n=a.VISITOR_KEYS[e.type];if(!n||!n.length)return!1;var i=n,o=Array.isArray(i),s=0;for(i=o?i:(0,r.default)(i);;){var u;if(o){if(s>=i.length)break;u=i[s++]}else{if((s=i.next()).done)break;u=s.value}if(e[u])return!0}return!1},e.prototype.create=function(e,t,n,r){return o.default.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})},e.prototype.maybeQueue=function(e,t){if(this.trap)throw new Error(\"Infinite cycle detected\");this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))},e.prototype.visitMultiple=function(e,t,n){if(0===e.length)return!1;for(var r=[],i=0;i<e.length;i++){var o=e[i];o&&this.shouldVisit(o)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)},e.prototype.visitSingle=function(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])},e.prototype.visitQueue=function(e){this.queue=e,this.priorityQueue=[];var t=[],n=!1,i=e,o=Array.isArray(i),a=0;for(i=o?i:(0,r.default)(i);;){var s;if(o){if(a>=i.length)break;s=i[a++]}else{if((a=i.next()).done)break;s=a.value}var u=s;if(u.resync(),0!==u.contexts.length&&u.contexts[u.contexts.length-1]===this||u.pushContext(this),null!==u.key&&!(t.indexOf(u.node)>=0)){if(t.push(u.node),u.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}var l=e,c=Array.isArray(l),f=0;for(l=c?l:(0,r.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}p.popContext()}return this.queue=null,n},e.prototype.visit=function(e,t){var n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))},e}();t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(2));t.findParent=function(e){for(var t=this;t=t.parentPath;)if(e(t))return t;return null},t.find=function(e){var t=this;do{if(e(t))return t}while(t=t.parentPath);return null},t.getFunctionParent=function(){return this.findParent((function(e){return e.isFunction()||e.isProgram()}))},t.getStatementParent=function(){var e=this;do{if(Array.isArray(e.container))return e}while(e=e.parentPath)},t.getEarliestCommonAncestorFrom=function(e){return this.getDeepestCommonAncestorFrom(e,(function(e,t,n){var o=void 0,a=i.VISITOR_KEYS[e.type],s=n,u=Array.isArray(s),l=0;for(s=u?s:(0,r.default)(s);;){var c;if(u){if(l>=s.length)break;c=s[l++]}else{if((l=s.next()).done)break;c=l.value}var f=c[t+1];o?(f.listKey&&o.listKey===f.listKey&&f.key<o.key||a.indexOf(o.parentKey)>a.indexOf(f.parentKey))&&(o=f):o=f}return o}))},t.getDeepestCommonAncestorFrom=function(e,t){var n=this;if(!e.length)return this;if(1===e.length)return e[0];var i=1/0,o=void 0,a=void 0,s=e.map((function(e){var t=[];do{t.unshift(e)}while((e=e.parentPath)&&e!==n);return t.length<i&&(i=t.length),t})),u=s[0];e:for(var l=0;l<i;l++){var c=u[l],f=s,p=Array.isArray(f),d=0;for(f=p?f:(0,r.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if((d=f.next()).done)break;h=d.value}if(h[l]!==c)break e}o=l,a=c}if(a)return t?t(a,o,s):a;throw new Error(\"Couldn't find intersection\")},t.getAncestry=function(){var e=this,t=[];do{t.push(e)}while(e=e.parentPath);return t},t.isAncestor=function(e){return e.isDescendant(this)},t.isDescendant=function(e){return!!this.findParent((function(t){return t===e}))},t.inType=function(){for(var e=this;e;){var t=arguments,n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}var a=o;if(e.node.type===a)return!0}e=e.parentPath}return!1},t.inShadow=function(e){var t=this.isFunction()?this:this.findParent((function(e){return e.isFunction()}));if(t){if(t.isFunctionExpression()||t.isFunctionDeclaration()){var n=t.node.shadow;if(n&&(!e||!1!==n[e]))return t}else if(t.isArrowFunctionExpression())return t;return null}};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function o(e){return e&&e.__esModule?e:{default:e}}o(n(36))},function(e,t){\"use strict\";t.__esModule=!0,t.shareCommentsWithSiblings=function(){if(\"string\"!=typeof this.key){var e=this.node;if(e){var t=e.trailingComments,n=e.leadingComments;if(t||n){var r=this.getSibling(this.key-1),i=this.getSibling(this.key+1);r.node||(r=i),i.node||(i=r),r.addComments(\"trailing\",n),i.addComments(\"leading\",t)}}}},t.addComment=function(e,t,n){this.addComments(e,[{type:n?\"CommentLine\":\"CommentBlock\",value:t}])},t.addComments=function(e,t){if(t){var n=this.node;if(n){var r=e+\"Comments\";n[r]?n[r]=n[r].concat(t):n[r]=t}}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(2));t.call=function(e){var t=this.opts;return this.debug((function(){return e})),!(!this.node||!this._call(t[e]))||!!this.node&&this._call(t[this.node.type]&&t[this.node.type][e])},t._call=function(e){if(!e)return!1;var t=e,n=Array.isArray(t),i=0;for(t=n?t:(0,r.default)(t);;){var o;if(n){if(i>=t.length)break;o=t[i++]}else{if((i=t.next()).done)break;o=i.value}var a=o;if(a){var s=this.node;if(!s)return!0;if(a.call(this.state,this,this.state))throw new Error(\"Unexpected return value from visitor method \"+a);if(this.node!==s)return!0;if(this.shouldStop||this.shouldSkip||this.removed)return!0}}return!1},t.isBlacklisted=function(){var e=this.opts.blacklist;return e&&e.indexOf(this.node.type)>-1},t.visit=function(){return!!this.node&&!this.isBlacklisted()&&(!this.opts.shouldSkip||!this.opts.shouldSkip(this))&&(this.call(\"enter\")||this.shouldSkip?(this.debug((function(){return\"Skip...\"})),this.shouldStop):(this.debug((function(){return\"Recursing into...\"})),i.default.node(this.node,this.opts,this.scope,this.state,this,this.skipKeys),this.call(\"exit\"),this.shouldStop))},t.skip=function(){this.shouldSkip=!0},t.skipKey=function(e){this.skipKeys[e]=!0},t.stop=function(){this.shouldStop=!0,this.shouldSkip=!0},t.setScope=function(){if(!this.opts||!this.opts.noScope){var e=this.context&&this.context.scope;if(!e)for(var t=this.parentPath;t&&!e;){if(t.opts&&t.opts.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope&&this.scope.init()}},t.setContext=function(e){return this.shouldSkip=!1,this.shouldStop=!1,this.removed=!1,this.skipKeys={},e&&(this.context=e,this.state=e.state,this.opts=e.opts),this.setScope(),this},t.resync=function(){this.removed||(this._resyncParent(),this._resyncList(),this._resyncKey())},t._resyncParent=function(){this.parentPath&&(this.parent=this.parentPath.node)},t._resyncKey=function(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(var e=0;e<this.container.length;e++)if(this.container[e]===this.node)return this.setKey(e)}else for(var t in this.container)if(this.container[t]===this.node)return this.setKey(t);this.key=null}},t._resyncList=function(){if(this.parent&&this.inList){var e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}},t._resyncRemoved=function(){null!=this.key&&this.container&&this.container[this.key]===this.node||this._markRemoved()},t.popContext=function(){this.contexts.pop(),this.setContext(this.contexts[this.contexts.length-1])},t.pushContext=function(e){this.contexts.push(e),this.setContext(e)},t.setup=function(e,t,n,r){this.inList=!!n,this.listKey=n,this.parentKey=n||r,this.container=t,this.parentPath=e||this.parentPath,this.setKey(r)},t.setKey=function(e){this.key=e,this.node=this.container[this.key],this.type=this.node&&this.node.type},t.requeue=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this;if(!e.removed){var t=this.contexts,n=t,i=Array.isArray(n),o=0;for(n=i?n:(0,r.default)(n);;){var a;if(i){if(o>=n.length)break;a=n[o++]}else{if((o=n.next()).done)break;a=o.value}var s=a;s.maybeQueue(e)}}},t._getQueueContexts=function(){for(var e=this,t=this.contexts;!t.length;)t=(e=e.parentPath).contexts;return t};var i=o(n(7));function o(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){\"use strict\";t.__esModule=!0,t.toComputedKey=function(){var e=this.node,t=void 0;if(this.isMemberExpression())t=e.property;else{if(!this.isProperty()&&!this.isMethod())throw new ReferenceError(\"todo\");t=e.key}return e.computed||r.isIdentifier(t)&&(t=r.stringLiteral(t.name)),t},t.ensureBlock=function(){return r.ensureBlock(this.node)},t.arrowFunctionToShadowed=function(){if(this.isArrowFunctionExpression()){this.ensureBlock();var e=this.node;e.expression=!1,e.type=\"FunctionExpression\",e.shadow=e.shadow||!0}};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1))},function(e,t,n){(function(e){\"use strict\";t.__esModule=!0;var r=a(n(11)),i=a(n(2)),o=a(n(133));function a(e){return e&&e.__esModule?e:{default:e}}t.evaluateTruthy=function(){var e=this.evaluate();if(e.confident)return!!e.value},t.evaluate=function(){var t=!0,n=void 0,a=new o.default;function l(e){t&&(n=e,t=!1)}var c=function n(o){var c=o.node;if(a.has(c)){var f=a.get(c);return f.resolved?f.value:void l(o)}var p={resolved:!1};a.set(c,p);var d=function(o){if(t){var a=o.node;if(o.isSequenceExpression()){var c=o.get(\"expressions\");return n(c[c.length-1])}if(o.isStringLiteral()||o.isNumericLiteral()||o.isBooleanLiteral())return a.value;if(o.isNullLiteral())return null;if(o.isTemplateLiteral()){var f=\"\",p=0,d=o.get(\"expressions\"),h=a.quasis,m=Array.isArray(h),y=0;for(h=m?h:(0,i.default)(h);;){var v;if(m){if(y>=h.length)break;v=h[y++]}else{if((y=h.next()).done)break;v=y.value}var g=v;if(!t)break;f+=g.value.cooked;var b=d[p++];b&&(f+=String(n(b)))}if(!t)return;return f}if(o.isConditionalExpression()){var x=n(o.get(\"test\"));if(!t)return;return n(x?o.get(\"consequent\"):o.get(\"alternate\"))}if(o.isExpressionWrapper())return n(o.get(\"expression\"));if(o.isMemberExpression()&&!o.parentPath.isCallExpression({callee:a})){var _=o.get(\"property\"),w=o.get(\"object\");if(w.isLiteral()&&_.isIdentifier()){var E=w.node.value,S=void 0===E?\"undefined\":(0,r.default)(E);if(\"number\"===S||\"string\"===S)return E[_.node.name]}}if(o.isReferencedIdentifier()){var k=o.scope.getBinding(a.name);if(k&&k.constantViolations.length>0)return l(k.path);if(k&&o.node.start<k.path.node.end)return l(k.path);if(k&&k.hasValue)return k.value;if(\"undefined\"===a.name)return k?l(k.path):void 0;if(\"Infinity\"===a.name)return k?l(k.path):1/0;if(\"NaN\"===a.name)return k?l(k.path):NaN;var A=o.resolve();return A===o?l(o):n(A)}if(o.isUnaryExpression({prefix:!0})){if(\"void\"===a.operator)return;var C=o.get(\"argument\");if(\"typeof\"===a.operator&&(C.isFunction()||C.isClass()))return\"function\";var T=n(C);if(!t)return;switch(a.operator){case\"!\":return!T;case\"+\":return+T;case\"-\":return-T;case\"~\":return~T;case\"typeof\":return void 0===T?\"undefined\":(0,r.default)(T)}}if(o.isArrayExpression()){var D=[],M=o.get(\"elements\"),P=Array.isArray(M),O=0;for(M=P?M:(0,i.default)(M);;){var L;if(P){if(O>=M.length)break;L=M[O++]}else{if((O=M.next()).done)break;L=O.value}var N=L;if(!(N=N.evaluate()).confident)return l(N);D.push(N.value)}return D}if(o.isObjectExpression()){var F={},R=o.get(\"properties\"),I=Array.isArray(R),j=0;for(R=I?R:(0,i.default)(R);;){var B;if(I){if(j>=R.length)break;B=R[j++]}else{if((j=R.next()).done)break;B=j.value}var q=B;if(q.isObjectMethod()||q.isSpreadProperty())return l(q);var z=q.get(\"key\"),V=z;if(q.node.computed){if(!(V=V.evaluate()).confident)return l(z);V=V.value}else V=V.isIdentifier()?V.node.name:V.node.value;var U=q.get(\"value\"),W=U.evaluate();if(!W.confident)return l(U);W=W.value,F[V]=W}return F}if(o.isLogicalExpression()){var Y=t,X=n(o.get(\"left\")),H=t;t=Y;var G=n(o.get(\"right\")),$=t;switch(t=H&&$,a.operator){case\"||\":if(X&&H)return t=!0,X;if(!t)return;return X||G;case\"&&\":if((!X&&H||!G&&$)&&(t=!0),!t)return;return X&&G}}if(o.isBinaryExpression()){var K=n(o.get(\"left\"));if(!t)return;var Z=n(o.get(\"right\"));if(!t)return;switch(a.operator){case\"-\":return K-Z;case\"+\":return K+Z;case\"/\":return K/Z;case\"*\":return K*Z;case\"%\":return K%Z;case\"**\":return Math.pow(K,Z);case\"<\":return K<Z;case\">\":return K>Z;case\"<=\":return K<=Z;case\">=\":return K>=Z;case\"==\":return K==Z;case\"!=\":return K!=Z;case\"===\":return K===Z;case\"!==\":return K!==Z;case\"|\":return K|Z;case\"&\":return K&Z;case\"^\":return K^Z;case\"<<\":return K<<Z;case\">>\":return K>>Z;case\">>>\":return K>>>Z}}if(o.isCallExpression()){var J=o.get(\"callee\"),Q=void 0,ee=void 0;if(J.isIdentifier()&&!o.scope.getBinding(J.node.name,!0)&&s.indexOf(J.node.name)>=0&&(ee=e[a.callee.name]),J.isMemberExpression()){var te=J.get(\"object\"),ne=J.get(\"property\");if(te.isIdentifier()&&ne.isIdentifier()&&s.indexOf(te.node.name)>=0&&u.indexOf(ne.node.name)<0&&(ee=(Q=e[te.node.name])[ne.node.name]),te.isLiteral()&&ne.isIdentifier()){var re=(0,r.default)(te.node.value);\"string\"!==re&&\"number\"!==re||(ee=(Q=te.node.value)[ne.node.name])}}if(ee){var ie=o.get(\"arguments\").map(n);if(!t)return;return ee.apply(Q,ie)}}l(o)}}(o);return t&&(p.resolved=!0,p.value=d),d}(this);return t||(c=void 0),{confident:t,deopt:n,value:c}};var s=[\"String\",\"Number\",\"Math\"],u=[\"random\"]}).call(t,function(){return this}())},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(9)),i=s(n(2));t.getStatementParent=function(){var e=this;do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement())break;e=e.parentPath}while(e);if(e&&(e.isProgram()||e.isFile()))throw new Error(\"File/Program node, we can't possibly find a statement parent to this\");return e},t.getOpposite=function(){return\"left\"===this.key?this.getSibling(\"right\"):\"right\"===this.key?this.getSibling(\"left\"):void 0},t.getCompletionRecords=function(){var e=[],t=function(t){t&&(e=e.concat(t.getCompletionRecords()))};if(this.isIfStatement())t(this.get(\"consequent\")),t(this.get(\"alternate\"));else if(this.isDoExpression()||this.isFor()||this.isWhile())t(this.get(\"body\"));else if(this.isProgram()||this.isBlockStatement())t(this.get(\"body\").pop());else{if(this.isFunction())return this.get(\"body\").getCompletionRecords();this.isTryStatement()?(t(this.get(\"block\")),t(this.get(\"handler\")),t(this.get(\"finalizer\"))):e.push(this)}return e},t.getSibling=function(e){return o.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e})},t.getPrevSibling=function(){return this.getSibling(this.key-1)},t.getNextSibling=function(){return this.getSibling(this.key+1)},t.getAllNextSiblings=function(){for(var e=this.key,t=this.getSibling(++e),n=[];t.node;)n.push(t),t=this.getSibling(++e);return n},t.getAllPrevSiblings=function(){for(var e=this.key,t=this.getSibling(--e),n=[];t.node;)n.push(t),t=this.getSibling(--e);return n},t.get=function(e,t){!0===t&&(t=this.context);var n=e.split(\".\");return 1===n.length?this._getKey(e,t):this._getPattern(n,t)},t._getKey=function(e,t){var n=this,r=this.node,i=r[e];return Array.isArray(i)?i.map((function(a,s){return o.default.get({listKey:e,parentPath:n,parent:r,container:i,key:s}).setContext(t)})):o.default.get({parentPath:this,parent:r,container:r,key:e}).setContext(t)},t._getPattern=function(e,t){var n=this,r=e,o=Array.isArray(r),a=0;for(r=o?r:(0,i.default)(r);;){var s;if(o){if(a>=r.length)break;s=r[a++]}else{if((a=r.next()).done)break;s=a.value}var u=s;n=\".\"===u?n.parentPath:Array.isArray(n)?n[u]:n.get(u,t)}return n},t.getBindingIdentifiers=function(e){return a.getBindingIdentifiers(this.node,e)},t.getOuterBindingIdentifiers=function(e){return a.getOuterBindingIdentifiers(this.node,e)},t.getBindingIdentifierPaths=function(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this,i=[].concat(n),o=(0,r.default)(null);i.length;){var s=i.shift();if(s&&s.node){var u=a.getBindingIdentifiers.keys[s.node.type];if(s.isIdentifier())if(e){var l=o[s.node.name]=o[s.node.name]||[];l.push(s)}else o[s.node.name]=s;else if(s.isExportDeclaration()){var c=s.get(\"declaration\");c.isDeclaration()&&i.push(c)}else{if(t){if(s.isFunctionDeclaration()){i.push(s.get(\"id\"));continue}if(s.isFunctionExpression())continue}if(u)for(var f=0;f<u.length;f++){var p=u[f],d=s.get(p);(Array.isArray(d)||d.node)&&(i=i.concat(d))}}}}return o},t.getOuterBindingIdentifierPaths=function(e){return this.getBindingIdentifierPaths(e,!0)};var o=s(n(36)),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function s(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.getTypeAnnotation=function(){if(this.typeAnnotation)return this.typeAnnotation;var e=this._getTypeAnnotation()||a.anyTypeAnnotation();return a.isTypeAnnotation(e)&&(e=e.typeAnnotation),this.typeAnnotation=e},t._getTypeAnnotation=function(){var e=this.node;if(e){if(e.typeAnnotation)return e.typeAnnotation;var t=o[e.type];return t?t.call(this,e):(t=o[this.parentPath.type])&&t.validParent?this.parentPath.getTypeAnnotation():void 0}if(\"init\"===this.key&&this.parentPath.isVariableDeclarator()){var n=this.parentPath.parentPath,r=n.parentPath;return\"left\"===n.key&&r.isForInStatement()?a.stringTypeAnnotation():\"left\"===n.key&&r.isForOfStatement()?a.anyTypeAnnotation():a.voidTypeAnnotation()}},t.isBaseType=function(e,t){return u(e,this.getTypeAnnotation(),t)},t.couldBeBaseType=function(e){var t=this.getTypeAnnotation();if(a.isAnyTypeAnnotation(t))return!0;if(a.isUnionTypeAnnotation(t)){var n=t.types,r=Array.isArray(n),o=0;for(n=r?n:(0,i.default)(n);;){var s;if(r){if(o>=n.length)break;s=n[o++]}else{if((o=n.next()).done)break;s=o.value}var l=s;if(a.isAnyTypeAnnotation(l)||u(e,l,!0))return!0}return!1}return u(e,t,!0)},t.baseTypeStrictlyMatches=function(e){var t=this.getTypeAnnotation();if(e=e.getTypeAnnotation(),!a.isAnyTypeAnnotation(t)&&a.isFlowBaseAnnotation(t))return e.type===t.type},t.isGenericType=function(e){var t=this.getTypeAnnotation();return a.isGenericTypeAnnotation(t)&&a.isIdentifier(t.id,{name:e})};var o=s(n(376)),a=s(n(1));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function u(e,t,n){if(\"string\"===e)return a.isStringTypeAnnotation(t);if(\"number\"===e)return a.isNumberTypeAnnotation(t);if(\"boolean\"===e)return a.isBooleanTypeAnnotation(t);if(\"any\"===e)return a.isAnyTypeAnnotation(t);if(\"mixed\"===e)return a.isMixedTypeAnnotation(t);if(\"empty\"===e)return a.isEmptyTypeAnnotation(t);if(\"void\"===e)return a.isVoidTypeAnnotation(t);if(n)return!1;throw new Error(\"Unknown base type \"+e)}},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.default=function(e){if(this.isReferenced()){var t=this.scope.getBinding(e.name);return t?t.identifier.typeAnnotation?t.identifier.typeAnnotation:function(e,t){var n=e.scope.getBinding(t),r=[];e.typeAnnotation=o.unionTypeAnnotation(r);var s=[],l=a(n,e,s),c=u(e,t);if(c){var f=a(n,c.ifStatement);l=l.filter((function(e){return f.indexOf(e)<0})),r.push(c.typeAnnotation)}if(l.length){var p=l=l.concat(s),d=Array.isArray(p),h=0;for(p=d?p:(0,i.default)(p);;){var m;if(d){if(h>=p.length)break;m=p[h++]}else{if((h=p.next()).done)break;m=h.value}var y=m;r.push(y.getTypeAnnotation())}}if(r.length)return o.createUnionTypeAnnotation(r)}(this,e.name):\"undefined\"===e.name?o.voidTypeAnnotation():\"NaN\"===e.name||\"Infinity\"===e.name?o.numberTypeAnnotation():void e.name}};var o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e,t,n){var r=e.constantViolations.slice();return r.unshift(e.path),r.filter((function(e){var r=(e=e.resolve())._guessExecutionStatusRelativeTo(t);return n&&\"function\"===r&&n.push(e),\"before\"===r}))}function s(e,t){var n=t.node.operator,r=t.get(\"right\").resolve(),i=t.get(\"left\").resolve(),a=void 0;if(i.isIdentifier({name:e})?a=r:r.isIdentifier({name:e})&&(a=i),a)return\"===\"===n?a.getTypeAnnotation():o.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(n)>=0?o.numberTypeAnnotation():void 0;if(\"===\"===n){var s=void 0,u=void 0;if(i.isUnaryExpression({operator:\"typeof\"})?(s=i,u=r):r.isUnaryExpression({operator:\"typeof\"})&&(s=r,u=i),(u||s)&&(u=u.resolve()).isLiteral()&&\"string\"==typeof u.node.value&&s.get(\"argument\").isIdentifier({name:e}))return o.createTypeAnnotationBasedOnTypeof(u.node.value)}}function u(e,t){var n=function(e){for(var t=void 0;t=e.parentPath;){if(t.isIfStatement()||t.isConditionalExpression())return\"test\"===e.key?void 0:t;e=t}}(e);if(n){var r=[n.get(\"test\")],i=[];do{var a=r.shift().resolve();if(a.isLogicalExpression()&&(r.push(a.get(\"left\")),r.push(a.get(\"right\"))),a.isBinaryExpression()){var l=s(t,a);l&&i.push(l)}}while(r.length);return i.length?{typeAnnotation:o.createUnionTypeAnnotation(i),ifStatement:n}:u(n,t)}}e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0,t.ClassDeclaration=t.ClassExpression=t.FunctionDeclaration=t.ArrowFunctionExpression=t.FunctionExpression=t.Identifier=void 0;var r=n(375);Object.defineProperty(t,\"Identifier\",{enumerable:!0,get:function(){return(e=r,e&&e.__esModule?e:{default:e}).default;var e}}),t.VariableDeclarator=function(){return this.get(\"id\").isIdentifier()?this.get(\"init\").getTypeAnnotation():void 0},t.TypeCastExpression=o,t.NewExpression=function(e){if(this.get(\"callee\").isIdentifier())return i.genericTypeAnnotation(e.callee)},t.TemplateLiteral=function(){return i.stringTypeAnnotation()},t.UnaryExpression=function(e){var t=e.operator;return\"void\"===t?i.voidTypeAnnotation():i.NUMBER_UNARY_OPERATORS.indexOf(t)>=0?i.numberTypeAnnotation():i.STRING_UNARY_OPERATORS.indexOf(t)>=0?i.stringTypeAnnotation():i.BOOLEAN_UNARY_OPERATORS.indexOf(t)>=0?i.booleanTypeAnnotation():void 0},t.BinaryExpression=function(e){var t=e.operator;if(i.NUMBER_BINARY_OPERATORS.indexOf(t)>=0)return i.numberTypeAnnotation();if(i.BOOLEAN_BINARY_OPERATORS.indexOf(t)>=0)return i.booleanTypeAnnotation();if(\"+\"===t){var n=this.get(\"right\"),r=this.get(\"left\");return r.isBaseType(\"number\")&&n.isBaseType(\"number\")?i.numberTypeAnnotation():r.isBaseType(\"string\")||n.isBaseType(\"string\")?i.stringTypeAnnotation():i.unionTypeAnnotation([i.stringTypeAnnotation(),i.numberTypeAnnotation()])}},t.LogicalExpression=function(){return i.createUnionTypeAnnotation([this.get(\"left\").getTypeAnnotation(),this.get(\"right\").getTypeAnnotation()])},t.ConditionalExpression=function(){return i.createUnionTypeAnnotation([this.get(\"consequent\").getTypeAnnotation(),this.get(\"alternate\").getTypeAnnotation()])},t.SequenceExpression=function(){return this.get(\"expressions\").pop().getTypeAnnotation()},t.AssignmentExpression=function(){return this.get(\"right\").getTypeAnnotation()},t.UpdateExpression=function(e){var t=e.operator;if(\"++\"===t||\"--\"===t)return i.numberTypeAnnotation()},t.StringLiteral=function(){return i.stringTypeAnnotation()},t.NumericLiteral=function(){return i.numberTypeAnnotation()},t.BooleanLiteral=function(){return i.booleanTypeAnnotation()},t.NullLiteral=function(){return i.nullLiteralTypeAnnotation()},t.RegExpLiteral=function(){return i.genericTypeAnnotation(i.identifier(\"RegExp\"))},t.ObjectExpression=function(){return i.genericTypeAnnotation(i.identifier(\"Object\"))},t.ArrayExpression=a,t.RestElement=s,t.CallExpression=function(){return l(this.get(\"callee\"))},t.TaggedTemplateExpression=function(){return l(this.get(\"tag\"))};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function o(e){return e.typeAnnotation}function a(){return i.genericTypeAnnotation(i.identifier(\"Array\"))}function s(){return a()}function u(){return i.genericTypeAnnotation(i.identifier(\"Function\"))}function l(e){if((e=e.resolve()).isFunction()){if(e.is(\"async\"))return e.is(\"generator\")?i.genericTypeAnnotation(i.identifier(\"AsyncIterator\")):i.genericTypeAnnotation(i.identifier(\"Promise\"));if(e.node.returnType)return e.node.returnType}}o.validParent=!0,s.validParent=!0,t.FunctionExpression=u,t.ArrowFunctionExpression=u,t.FunctionDeclaration=u,t.ClassExpression=u,t.ClassDeclaration=u},function(e,t,n){\"use strict\";t.__esModule=!0,t.is=void 0;var r=a(n(2));t.matchesPattern=function(e,t){if(!this.isMemberExpression())return!1;var n=e.split(\".\"),r=[this.node],i=0;function a(e){var t=n[i];return\"*\"===t||e===t}for(;r.length;){var s=r.shift();if(t&&i===n.length)return!0;if(o.isIdentifier(s)){if(!a(s.name))return!1}else if(o.isLiteral(s)){if(!a(s.value))return!1}else{if(o.isMemberExpression(s)){if(s.computed&&!o.isLiteral(s.property))return!1;r.unshift(s.property),r.unshift(s.object);continue}if(!o.isThisExpression(s))return!1;if(!a(\"this\"))return!1}if(++i>n.length)return!1}return i===n.length},t.has=s,t.isStatic=function(){return this.scope.isStatic(this.node)},t.isnt=function(e){return!this.has(e)},t.equals=function(e,t){return this.node[e]===t},t.isNodeType=function(e){return o.isType(this.type,e)},t.canHaveVariableDeclarationOrExpression=function(){return(\"init\"===this.key||\"left\"===this.key)&&this.parentPath.isFor()},t.canSwapBetweenExpressionAndStatement=function(e){return!(\"body\"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?o.isBlockStatement(e):!!this.isBlockStatement()&&o.isExpression(e))},t.isCompletionRecord=function(e){var t=this,n=!0;do{var r=t.container;if(t.isFunction()&&!n)return!!e;if(n=!1,Array.isArray(r)&&t.key!==r.length-1)return!1}while((t=t.parentPath)&&!t.isProgram());return!0},t.isStatementOrBlock=function(){return!this.parentPath.isLabeledStatement()&&!o.isBlockStatement(this.container)&&(0,i.default)(o.STATEMENT_OR_BLOCK_KEYS,this.key)},t.referencesImport=function(e,t){if(!this.isReferencedIdentifier())return!1;var n=this.scope.getBinding(this.node.name);if(!n||\"module\"!==n.kind)return!1;var r=n.path,i=r.parentPath;return!(!i.isImportDeclaration()||i.node.source.value!==e||t&&(!r.isImportDefaultSpecifier()||\"default\"!==t)&&(!r.isImportNamespaceSpecifier()||\"*\"!==t)&&(!r.isImportSpecifier()||r.node.imported.name!==t))},t.getSource=function(){var e=this.node;return e.end?this.hub.file.code.slice(e.start,e.end):\"\"},t.willIMaybeExecuteBefore=function(e){return\"after\"!==this._guessExecutionStatusRelativeTo(e)},t._guessExecutionStatusRelativeTo=function(e){var t=e.scope.getFunctionParent(),n=this.scope.getFunctionParent();if(t.node!==n.node){var r=this._guessExecutionStatusRelativeToDifferentFunctions(t);if(r)return r;e=t.path}var i=e.getAncestry();if(i.indexOf(this)>=0)return\"after\";var a=this.getAncestry(),s=void 0,u=void 0,l=void 0;for(l=0;l<a.length;l++){var c=a[l];if((u=i.indexOf(c))>=0){s=c;break}}if(!s)return\"before\";var f=i[u-1],p=a[l-1];return f&&p?f.listKey&&f.container===p.container?f.key>p.key?\"before\":\"after\":o.VISITOR_KEYS[f.type].indexOf(f.key)>o.VISITOR_KEYS[p.type].indexOf(p.key)?\"before\":\"after\":\"before\"},t._guessExecutionStatusRelativeToDifferentFunctions=function(e){var t=e.path;if(t.isFunctionDeclaration()){var n=t.scope.getBinding(t.node.id.name);if(!n.references)return\"before\";var i=n.referencePaths,o=i,a=Array.isArray(o),s=0;for(o=a?o:(0,r.default)(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if((s=o.next()).done)break;u=s.value}var l=u;if(\"callee\"!==l.key||!l.parentPath.isCallExpression())return}var c=void 0,f=i,p=Array.isArray(f),d=0;for(f=p?f:(0,r.default)(f);;){var h;if(p){if(d>=f.length)break;h=f[d++]}else{if((d=f.next()).done)break;h=d.value}var m=h,y=!!m.find((function(e){return e.node===t.node}));if(!y){var v=this._guessExecutionStatusRelativeTo(m);if(c){if(c!==v)return}else c=v}}return c}},t.resolve=function(e,t){return this._resolve(e,t)||this},t._resolve=function(e,t){if(!(t&&t.indexOf(this)>=0))if((t=t||[]).push(this),this.isVariableDeclarator()){if(this.get(\"id\").isIdentifier())return this.get(\"init\").resolve(e,t)}else if(this.isReferencedIdentifier()){var n=this.scope.getBinding(this.node.name);if(!n)return;if(!n.constant)return;if(\"module\"===n.kind)return;if(n.path!==this){var i=n.path.resolve(e,t);if(this.find((function(e){return e.node===i.node})))return;return i}}else{if(this.isTypeCastExpression())return this.get(\"expression\").resolve(e,t);if(e&&this.isMemberExpression()){var a=this.toComputedKey();if(!o.isLiteral(a))return;var s=a.value,u=this.get(\"object\").resolve(e,t);if(u.isObjectExpression()){var l=u.get(\"properties\"),c=Array.isArray(l),f=0;for(l=c?l:(0,r.default)(l);;){var p;if(c){if(f>=l.length)break;p=l[f++]}else{if((f=l.next()).done)break;p=f.value}var d=p;if(d.isProperty()){var h=d.get(\"key\"),m=d.isnt(\"computed\")&&h.isIdentifier({name:s});if(m=m||h.isLiteral({value:s}))return d.get(\"value\").resolve(e,t)}}}else if(u.isArrayExpression()&&!isNaN(+s)){var y=u.get(\"elements\")[s];if(y)return y.resolve(e,t)}}}};var i=a(n(111)),o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function a(e){return e&&e.__esModule?e:{default:e}}function s(e){var t=this.node&&this.node[e];return t&&Array.isArray(t)?!!t.length:!!t}t.is=s},function(e,t,n){\"use strict\";t.__esModule=!0;var r=s(n(2)),i=s(n(3)),o=n(1),a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(o);function s(e){return e&&e.__esModule?e:{default:e}}var u={ReferencedIdentifier:function(e,t){if(!e.isJSXIdentifier()||!o.react.isCompatTag(e.node.name)||e.parentPath.isJSXMemberExpression()){if(\"this\"===e.node.name){var n=e.scope;do{if(n.path.isFunction()&&!n.path.isArrowFunctionExpression())break}while(n=n.parent);n&&t.breakOnScopePaths.push(n.path)}var r=e.scope.getBinding(e.node.name);r&&r===t.scope.getBinding(e.node.name)&&(t.bindings[e.node.name]=r)}}},l=function(){function e(t,n){(0,i.default)(this,e),this.breakOnScopePaths=[],this.bindings={},this.scopes=[],this.scope=n,this.path=t,this.attachAfter=!1}return e.prototype.isCompatibleScope=function(e){for(var t in this.bindings){var n=this.bindings[t];if(!e.bindingIdentifierEquals(t,n.identifier))return!1}return!0},e.prototype.getCompatibleScopes=function(){var e=this.path.scope;do{if(!this.isCompatibleScope(e))break;if(this.scopes.push(e),this.breakOnScopePaths.indexOf(e.path)>=0)break}while(e=e.parent)},e.prototype.getAttachmentPath=function(){var e=this._getAttachmentPath();if(e){var t=e.scope;if(t.path===e&&(t=e.scope.parent),t.path.isProgram()||t.path.isFunction())for(var n in this.bindings)if(t.hasOwnBinding(n)){var i=this.bindings[n];if(\"param\"!==i.kind&&this.getAttachmentParentForPath(i.path).key>e.key){this.attachAfter=!0,e=i.path;var o=i.constantViolations,a=Array.isArray(o),s=0;for(o=a?o:(0,r.default)(o);;){var u;if(a){if(s>=o.length)break;u=o[s++]}else{if((s=o.next()).done)break;u=s.value}var l=u;this.getAttachmentParentForPath(l).key>e.key&&(e=l)}}}return e.parentPath.isExportDeclaration()&&(e=e.parentPath),e}},e.prototype._getAttachmentPath=function(){var e=this.scopes.pop();if(e){if(e.path.isFunction()){if(this.hasOwnParamBindings(e)){if(this.scope===e)return;return e.path.get(\"body\").get(\"body\")[0]}return this.getNextScopeAttachmentParent()}return e.path.isProgram()?this.getNextScopeAttachmentParent():void 0}},e.prototype.getNextScopeAttachmentParent=function(){var e=this.scopes.pop();if(e)return this.getAttachmentParentForPath(e.path)},e.prototype.getAttachmentParentForPath=function(e){do{if(!e.parentPath||Array.isArray(e.container)&&e.isStatement()||e.isVariableDeclarator()&&null!==e.parentPath.node&&e.parentPath.node.declarations.length>1)return e}while(e=e.parentPath)},e.prototype.hasOwnParamBindings=function(e){for(var t in this.bindings)if(e.hasOwnBinding(t)){var n=this.bindings[t];if(\"param\"===n.kind&&n.constant)return!0}return!1},e.prototype.run=function(){var e=this.path.node;if(!e._hoisted){e._hoisted=!0,this.path.traverse(u,this),this.getCompatibleScopes();var t=this.getAttachmentPath();if(t&&t.getFunctionParent()!==this.path.getFunctionParent()){var n=t.scope.generateUidIdentifier(\"ref\"),r=a.variableDeclarator(n,this.path.node);t[this.attachAfter?\"insertAfter\":\"insertBefore\"]([t.isVariableDeclarator()?r:a.variableDeclaration(\"var\",[r])]);var i=this.path.parentPath;i.isJSXElement()&&this.path.container===i.node.children&&(n=a.JSXExpressionContainer(n)),this.path.replaceWith(n)}}},e}();t.default=l,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.hooks=[function(e,t){if(\"test\"===e.key&&(t.isWhile()||t.isSwitchCase())||\"declaration\"===e.key&&t.isExportDeclaration()||\"body\"===e.key&&t.isLabeledStatement()||\"declarations\"===e.listKey&&t.isVariableDeclaration()&&1===t.node.declarations.length||\"expression\"===e.key&&t.isExpressionStatement())return t.remove(),!0},function(e,t){if(t.isSequenceExpression()&&1===t.node.expressions.length)return t.replaceWith(t.node.expressions[0]),!0},function(e,t){if(t.isBinary())return\"left\"===e.key?t.replaceWith(t.node.right):t.replaceWith(t.node.left),!0},function(e,t){if(t.isIfStatement()&&(\"consequent\"===e.key||\"alternate\"===e.key)||\"body\"===e.key&&(t.isLoop()||t.isArrowFunctionExpression()))return e.replaceWith({type:\"BlockStatement\",body:[]}),!0}]},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(11)),i=l(n(2));t.insertBefore=function(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertBefore(e);if(this.isNodeType(\"Expression\")||this.parentPath.isForStatement()&&\"init\"===this.key)this.node&&e.push(this.node),this.replaceExpressionWithStatements(e);else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertBefore(e);if(!this.isStatementOrBlock())throw new Error(\"We don't know what to do with this node type. We were previously a Statement but we can't fit in here?\");this.node&&e.push(this.node),this._replaceWith(u.blockStatement(e))}return[this]},t._containerInsert=function(e,t){this.updateSiblingKeys(e,t.length);for(var n=[],r=0;r<t.length;r++){var o=e+r,a=t[r];if(this.container.splice(o,0,a),this.context){var u=this.context.create(this.parent,this.container,o,this.listKey);this.context.queue&&u.pushContext(this.context),n.push(u)}else n.push(s.default.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:o}))}var l=this._getQueueContexts(),c=n,f=Array.isArray(c),p=0;for(c=f?c:(0,i.default)(c);;){var d;if(f){if(p>=c.length)break;d=c[p++]}else{if((p=c.next()).done)break;d=p.value}var h=d;h.setScope(),h.debug((function(){return\"Inserted.\"}));var m=l,y=Array.isArray(m),v=0;for(m=y?m:(0,i.default)(m);;){var g;if(y){if(v>=m.length)break;g=m[v++]}else{if((v=m.next()).done)break;g=v.value}g.maybeQueue(h,!0)}}return n},t._containerInsertBefore=function(e){return this._containerInsert(this.key,e)},t._containerInsertAfter=function(e){return this._containerInsert(this.key+1,e)},t._maybePopFromStatements=function(e){var t=e[e.length-1];(u.isIdentifier(t)||u.isExpressionStatement(t)&&u.isIdentifier(t.expression))&&!this.isCompletionRecord()&&e.pop()},t.insertAfter=function(e){if(this._assertUnremoved(),e=this._verifyNodeList(e),this.parentPath.isExpressionStatement()||this.parentPath.isLabeledStatement())return this.parentPath.insertAfter(e);if(this.isNodeType(\"Expression\")||this.parentPath.isForStatement()&&\"init\"===this.key){if(this.node){var t=this.scope.generateDeclaredUidIdentifier();e.unshift(u.expressionStatement(u.assignmentExpression(\"=\",t,this.node))),e.push(u.expressionStatement(t))}this.replaceExpressionWithStatements(e)}else{if(this._maybePopFromStatements(e),Array.isArray(this.container))return this._containerInsertAfter(e);if(!this.isStatementOrBlock())throw new Error(\"We don't know what to do with this node type. We were previously a Statement but we can't fit in here?\");this.node&&e.unshift(this.node),this._replaceWith(u.blockStatement(e))}return[this]},t.updateSiblingKeys=function(e,t){if(this.parent)for(var n=o.path.get(this.parent),r=0;r<n.length;r++){var i=n[r];i.key>=e&&(i.key+=t)}},t._verifyNodeList=function(e){if(!e)return[];e.constructor!==Array&&(e=[e]);for(var t=0;t<e.length;t++){var n=e[t],i=void 0;if(n?\"object\"!==(void 0===n?\"undefined\":(0,r.default)(n))?i=\"contains a non-object node\":n.type?n instanceof s.default&&(i=\"has a NodePath when it expected a raw object\"):i=\"without a type\":i=\"has falsy node\",i){var o=Array.isArray(n)?\"array\":void 0===n?\"undefined\":(0,r.default)(n);throw new Error(\"Node list \"+i+\" with the index of \"+t+\" and type of \"+o)}}return e},t.unshiftContainer=function(e,t){return this._assertUnremoved(),t=this._verifyNodeList(t),s.default.get({parentPath:this,parent:this.node,container:this.node[e],listKey:e,key:0}).insertBefore(t)},t.pushContainer=function(e,t){this._assertUnremoved(),t=this._verifyNodeList(t);var n=this.node[e];return s.default.get({parentPath:this,parent:this.node,container:n,listKey:e,key:n.length}).replaceWithMultiple(t)},t.hoist=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.scope,t=new a.default(this,e);return t.run()};var o=n(88),a=l(n(378)),s=l(n(36)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function l(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r,i=(r=n(2))&&r.__esModule?r:{default:r};t.remove=function(){this._assertUnremoved(),this.resync(),this._callRemovalHooks()||(this.shareCommentsWithSiblings(),this._remove()),this._markRemoved()},t._callRemovalHooks=function(){var e=o.hooks,t=Array.isArray(e),n=0;for(e=t?e:(0,i.default)(e);;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if((n=e.next()).done)break;r=n.value}if(r(this,this.parentPath))return!0}},t._remove=function(){Array.isArray(this.container)?(this.container.splice(this.key,1),this.updateSiblingKeys(this.key,-1)):this._replaceWith(null)},t._markRemoved=function(){this.shouldSkip=!0,this.removed=!0,this.node=null},t._assertUnremoved=function(){if(this.removed)throw this.buildCodeFrameError(\"NodePath has been removed so is read-only.\")};var o=n(379)},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(2));t.replaceWithMultiple=function(e){this.resync(),e=this._verifyNodeList(e),u.inheritLeadingComments(e[0],this.node),u.inheritTrailingComments(e[e.length-1],this.node),this.node=this.container[this.key]=null,this.insertAfter(e),this.node?this.requeue():this.remove()},t.replaceWithSourceString=function(e){this.resync();try{e=\"(\"+e+\")\",e=(0,s.parse)(e)}catch(n){var t=n.loc;throw t&&(n.message+=\" - make sure this is an expression.\",n.message+=\"\\n\"+(0,i.default)(e,t.line,t.column+1)),n}return e=e.program.body[0].expression,o.default.removeProperties(e),this.replaceWith(e)},t.replaceWith=function(e){if(this.resync(),this.removed)throw new Error(\"You can't replace this node, we've already removed it\");if(e instanceof a.default&&(e=e.node),!e)throw new Error(\"You passed `path.replaceWith()` a falsy node, use `path.remove()` instead\");if(this.node!==e){if(this.isProgram()&&!u.isProgram(e))throw new Error(\"You can only replace a Program root node with another Program node\");if(Array.isArray(e))throw new Error(\"Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`\");if(\"string\"==typeof e)throw new Error(\"Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`\");if(this.isNodeType(\"Statement\")&&u.isExpression(e)&&(this.canHaveVariableDeclarationOrExpression()||this.canSwapBetweenExpressionAndStatement(e)||this.parentPath.isExportDefaultDeclaration()||(e=u.expressionStatement(e))),this.isNodeType(\"Expression\")&&u.isStatement(e)&&!this.canHaveVariableDeclarationOrExpression()&&!this.canSwapBetweenExpressionAndStatement(e))return this.replaceExpressionWithStatements([e]);var t=this.node;t&&(u.inheritsComments(e,t),u.removeComments(t)),this._replaceWith(e),this.type=e.type,this.setScope(),this.requeue()}},t._replaceWith=function(e){if(!this.container)throw new ReferenceError(\"Container is falsy\");this.inList?u.validate(this.parent,this.key,[e]):u.validate(this.parent,this.key,e),this.debug((function(){return\"Replace with \"+(e&&e.type)})),this.node=this.container[this.key]=e},t.replaceExpressionWithStatements=function(e){this.resync();var t=u.toSequenceExpression(e,this.scope);if(u.isSequenceExpression(t)){var n=t.expressions;n.length>=2&&this.parentPath.isExpressionStatement()&&this._maybePopFromStatements(n),1===n.length?this.replaceWith(n[0]):this.replaceWith(t)}else{if(!t){var i=u.functionExpression(null,[],u.blockStatement(e));i.shadow=!0,this.replaceWith(u.callExpression(i,[])),this.traverse(c);var o=this.get(\"callee\").getCompletionRecords(),a=Array.isArray(o),s=0;for(o=a?o:(0,r.default)(o);;){var l;if(a){if(s>=o.length)break;l=o[s++]}else{if((s=o.next()).done)break;l=s.value}var f=l;if(f.isExpressionStatement()){var p=f.findParent((function(e){return e.isLoop()}));if(p){var d=p.getData(\"expressionReplacementReturnUid\");if(d)d=u.identifier(d.name);else{var h=this.get(\"callee\");d=h.scope.generateDeclaredUidIdentifier(\"ret\"),h.get(\"body\").pushContainer(\"body\",u.returnStatement(d)),p.setData(\"expressionReplacementReturnUid\",d)}f.get(\"expression\").replaceWith(u.assignmentExpression(\"=\",d,f.node.expression))}else f.replaceWith(u.returnStatement(f.node.expression))}}return this.node}this.replaceWith(t)}},t.replaceInline=function(e){return this.resync(),Array.isArray(e)?Array.isArray(this.container)?(e=this._verifyNodeList(e),this._containerInsertAfter(e),this.remove()):this.replaceWithMultiple(e):this.replaceWith(e)};var i=l(n(181)),o=l(n(7)),a=l(n(36)),s=n(89),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function l(e){return e&&e.__esModule?e:{default:e}}var c={Function:function(e){e.skip()},VariableDeclaration:function(e){if(\"var\"===e.node.kind){var t=e.getBindingIdentifiers();for(var n in t)e.scope.push({id:t[n]});var i=[],o=e.node.declarations,a=Array.isArray(o),s=0;for(o=a?o:(0,r.default)(o);;){var l;if(a){if(s>=o.length)break;l=o[s++]}else{if((s=o.next()).done)break;l=s.value}var c=l;c.init&&i.push(u.expressionStatement(u.assignmentExpression(\"=\",c.id,c.init)))}e.replaceWithMultiple(i)}}}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=o(n(3)),i=(o(n(225)),function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)));function o(e){return e&&e.__esModule?e:{default:e}}var a={ReferencedIdentifier:function(e,t){var n=e.node;n.name===t.oldName&&(n.name=t.newName)},Scope:function(e,t){e.scope.bindingIdentifierEquals(t.oldName,t.binding.identifier)||e.skip()},\"AssignmentExpression|Declaration\":function(e,t){var n=e.getOuterBindingIdentifiers();for(var r in n)r===t.oldName&&(n[r].name=t.newName)}},s=function(){function e(t,n,i){(0,r.default)(this,e),this.newName=i,this.oldName=n,this.binding=t}return e.prototype.maybeConvertFromExportDeclaration=function(e){var t=e.parentPath.isExportDeclaration()&&e.parentPath;if(t){var n=t.isExportDefaultDeclaration();n&&(e.isFunctionDeclaration()||e.isClassDeclaration())&&!e.node.id&&(e.node.id=e.scope.generateUidIdentifier(\"default\"));var r=e.getOuterBindingIdentifiers(),o=[];for(var a in r){var s=a===this.oldName?this.newName:a,u=n?\"default\":a;o.push(i.exportSpecifier(i.identifier(s),i.identifier(u)))}if(o.length){var l=i.exportNamedDeclaration(null,o);e.isFunctionDeclaration()&&(l._blockHoist=3),t.insertAfter(l),t.replaceWith(e.node)}}},e.prototype.rename=function(e){var t=this.binding,n=this.oldName,r=this.newName,i=t.scope,o=t.path.find((function(e){return e.isDeclaration()||e.isFunctionExpression()}));o&&this.maybeConvertFromExportDeclaration(o),i.traverse(e||i.block,a,this),e||(i.removeOwnBinding(n),i.bindings[r]=t,this.binding.identifier.name=r),t.type},e}();t.default=s,e.exports=t.default},function(e,t,n){\"use strict\";t.__esModule=!0;var r=f(n(11)),i=f(n(14)),o=f(n(2));t.explode=p,t.verify=d,t.merge=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments[2],r={},i=0;i<e.length;i++){var o=e[i],a=t[i];for(var s in p(o),o){var u=o[s];(a||n)&&(u=m(u,a,n));var l=r[s]=r[s]||{};b(l,u)}}return r};var a=c(n(224)),s=c(n(20)),u=c(n(1)),l=f(n(109));function c(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function f(e){return e&&e.__esModule?e:{default:e}}function p(e){if(e._exploded)return e;for(var t in e._exploded=!0,e)if(!g(t)){var n=t.split(\"|\");if(1!==n.length){var r=e[t];delete e[t];var s=n,c=Array.isArray(s),f=0;for(s=c?s:(0,o.default)(s);;){var p;if(c){if(f>=s.length)break;p=s[f++]}else{if((f=s.next()).done)break;p=f.value}e[p]=r}}}d(e),delete e.__esModule,function(e){for(var t in e)if(!g(t)){var n=e[t];\"function\"==typeof n&&(e[t]={enter:n})}}(e),y(e);var h=(0,i.default)(e),m=Array.isArray(h),x=0;for(h=m?h:(0,o.default)(h);;){var _;if(m){if(x>=h.length)break;_=h[x++]}else{if((x=h.next()).done)break;_=x.value}var w=_;if(!g(w)){var E=a[w];if(E){var S=e[w];for(var k in S)S[k]=v(E,S[k]);if(delete e[w],E.types){var A=E.types,C=Array.isArray(A),T=0;for(A=C?A:(0,o.default)(A);;){var D;if(C){if(T>=A.length)break;D=A[T++]}else{if((T=A.next()).done)break;D=T.value}var M=D;e[M]?b(e[M],S):e[M]=S}}else b(e,S)}}}for(var P in e)if(!g(P)){var O=e[P],L=u.FLIPPED_ALIAS_KEYS[P],N=u.DEPRECATED_KEYS[P];if(N&&(console.trace(\"Visitor defined for \"+P+\" but it has been renamed to \"+N),L=[N]),L){delete e[P];var F=L,R=Array.isArray(F),I=0;for(F=R?F:(0,o.default)(F);;){var j;if(R){if(I>=F.length)break;j=F[I++]}else{if((I=F.next()).done)break;j=I.value}var B=j,q=e[B];q?b(q,O):e[B]=(0,l.default)(O)}}}for(var z in e)g(z)||y(e[z]);return e}function d(e){if(!e._verified){if(\"function\"==typeof e)throw new Error(s.get(\"traverseVerifyRootFunction\"));for(var t in e)if(\"enter\"!==t&&\"exit\"!==t||h(t,e[t]),!g(t)){if(u.TYPES.indexOf(t)<0)throw new Error(s.get(\"traverseVerifyNodeType\",t));var n=e[t];if(\"object\"===(void 0===n?\"undefined\":(0,r.default)(n)))for(var i in n){if(\"enter\"!==i&&\"exit\"!==i)throw new Error(s.get(\"traverseVerifyVisitorProperty\",t,i));h(t+\".\"+i,n[i])}}e._verified=!0}}function h(e,t){var n=[].concat(t),i=Array.isArray(n),a=0;for(n=i?n:(0,o.default)(n);;){var s;if(i){if(a>=n.length)break;s=n[a++]}else{if((a=n.next()).done)break;s=a.value}var u=s;if(\"function\"!=typeof u)throw new TypeError(\"Non-function found defined in \"+e+\" with type \"+(void 0===u?\"undefined\":(0,r.default)(u)))}}function m(e,t,n){var r={},i=function(i){var o=e[i];if(!Array.isArray(o))return\"continue\";o=o.map((function(e){var r=e;return t&&(r=function(n){return e.call(t,n,t)}),n&&(r=n(t.key,i,r)),r})),r[i]=o};for(var o in e)i(o);return r}function y(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function v(e,t){var n=function(n){if(e.checkPath(n))return t.apply(this,arguments)};return n.toString=function(){return t.toString()},n}function g(e){return\"_\"===e[0]||\"enter\"===e||\"exit\"===e||\"shouldSkip\"===e||\"blacklist\"===e||\"noScope\"===e||\"skipKeys\"===e}function b(e,t){for(var n in t)e[n]=[].concat(e[n]||[],t[n])}},function(e,t,n){\"use strict\";t.__esModule=!0;var r=l(n(359)),i=l(n(35)),o=l(n(2));t.toComputedKey=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key||e.property;return e.computed||u.isIdentifier(t)&&(t=u.stringLiteral(t.name)),t},t.toSequenceExpression=function(e,t){if(e&&e.length){var n=[],r=c(e,t,n);if(r){var i=n,a=Array.isArray(i),s=0;for(i=a?i:(0,o.default)(i);;){var u;if(a){if(s>=i.length)break;u=i[s++]}else{if((s=i.next()).done)break;u=s.value}var l=u;t.push(l)}return r}}},t.toKeyAlias=f,t.toIdentifier=p,t.toBindingIdentifierName=function(e){return\"eval\"!==(e=p(e))&&\"arguments\"!==e||(e=\"_\"+e),e},t.toStatement=function(e,t){if(u.isStatement(e))return e;var n=!1,r=void 0;if(u.isClass(e))n=!0,r=\"ClassDeclaration\";else if(u.isFunction(e))n=!0,r=\"FunctionDeclaration\";else if(u.isAssignmentExpression(e))return u.expressionStatement(e);if(n&&!e.id&&(r=!1),!r){if(t)return!1;throw new Error(\"cannot turn \"+e.type+\" to a statement\")}return e.type=r,e},t.toExpression=function(e){if(u.isExpressionStatement(e)&&(e=e.expression),u.isExpression(e))return e;if(u.isClass(e)?e.type=\"ClassExpression\":u.isFunction(e)&&(e.type=\"FunctionExpression\"),!u.isExpression(e))throw new Error(\"cannot turn \"+e.type+\" to an expression\");return e},t.toBlock=function(e,t){return u.isBlockStatement(e)?e:(u.isEmptyStatement(e)&&(e=[]),Array.isArray(e)||(u.isStatement(e)||(e=u.isFunction(t)?u.returnStatement(e):u.expressionStatement(e)),e=[e]),u.blockStatement(e))},t.valueToNode=function(e){if(void 0===e)return u.identifier(\"undefined\");if(!0===e||!1===e)return u.booleanLiteral(e);if(null===e)return u.nullLiteral();if(\"string\"==typeof e)return u.stringLiteral(e);if(\"number\"==typeof e)return u.numericLiteral(e);if((0,s.default)(e)){var t=e.source,n=e.toString().match(/\\/([a-z]+|)$/)[1];return u.regExpLiteral(t,n)}if(Array.isArray(e))return u.arrayExpression(e.map(u.valueToNode));if((0,a.default)(e)){var r=[];for(var i in e){var o;o=u.isValidIdentifier(i)?u.identifier(i):u.stringLiteral(i),r.push(u.objectProperty(o,u.valueToNode(e[i])))}return u.objectExpression(r)}throw new Error(\"don't know how to turn this value into a node\")};var a=l(n(275)),s=l(n(276)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n){var r=[],i=!0,a=e,s=Array.isArray(a),l=0;for(a=s?a:(0,o.default)(a);;){var f;if(s){if(l>=a.length)break;f=a[l++]}else{if((l=a.next()).done)break;f=l.value}var p=f;if(i=!1,u.isExpression(p))r.push(p);else if(u.isExpressionStatement(p))r.push(p.expression);else if(u.isVariableDeclaration(p)){if(\"var\"!==p.kind)return;var d=p.declarations,h=Array.isArray(d),m=0;for(d=h?d:(0,o.default)(d);;){var y;if(h){if(m>=d.length)break;y=d[m++]}else{if((m=d.next()).done)break;y=m.value}var v=y,g=u.getBindingIdentifiers(v);for(var b in g)n.push({kind:p.kind,id:g[b]});v.init&&r.push(u.assignmentExpression(\"=\",v.id,v.init))}i=!0}else if(u.isIfStatement(p)){var x=p.consequent?c([p.consequent],t,n):t.buildUndefinedNode(),_=p.alternate?c([p.alternate],t,n):t.buildUndefinedNode();if(!x||!_)return;r.push(u.conditionalExpression(p.test,x,_))}else if(u.isBlockStatement(p)){var w=c(p.body,t,n);if(!w)return;r.push(w)}else{if(!u.isEmptyStatement(p))return;i=!0}}return i&&r.push(t.buildUndefinedNode()),1===r.length?r[0]:u.sequenceExpression(r)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key,n=void 0;return\"method\"===e.kind?f.increment()+\"\":(n=u.isIdentifier(t)?t.name:u.isStringLiteral(t)?(0,i.default)(t.value):(0,i.default)(u.removePropertiesDeep(u.cloneDeep(t))),e.computed&&(n=\"[\"+n+\"]\"),e.static&&(n=\"static:\"+n),n)}function p(e){return e=(e=(e=(e+=\"\").replace(/[^a-zA-Z0-9$_]/g,\"-\")).replace(/^[-0-9]+/,\"\")).replace(/[-\\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():\"\"})),u.isValidIdentifier(e)||(e=\"_\"+e),e||\"_\"}f.uid=0,f.increment=function(){return f.uid>=r.default?f.uid=0:f.uid++}},function(e,t,n){\"use strict\";var r,i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),o=n(135),a=n(26),s=(r=a)&&r.__esModule?r:{default:r};(0,s.default)(\"ArrayExpression\",{fields:{elements:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeOrValueType)(\"null\",\"Expression\",\"SpreadElement\"))),default:[]}},visitor:[\"elements\"],aliases:[\"Expression\"]}),(0,s.default)(\"AssignmentExpression\",{fields:{operator:{validate:(0,a.assertValueType)(\"string\")},left:{validate:(0,a.assertNodeType)(\"LVal\")},right:{validate:(0,a.assertNodeType)(\"Expression\")}},builder:[\"operator\",\"left\",\"right\"],visitor:[\"left\",\"right\"],aliases:[\"Expression\"]}),(0,s.default)(\"BinaryExpression\",{builder:[\"operator\",\"left\",\"right\"],fields:{operator:{validate:a.assertOneOf.apply(void 0,o.BINARY_OPERATORS)},left:{validate:(0,a.assertNodeType)(\"Expression\")},right:{validate:(0,a.assertNodeType)(\"Expression\")}},visitor:[\"left\",\"right\"],aliases:[\"Binary\",\"Expression\"]}),(0,s.default)(\"Directive\",{visitor:[\"value\"],fields:{value:{validate:(0,a.assertNodeType)(\"DirectiveLiteral\")}}}),(0,s.default)(\"DirectiveLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,a.assertValueType)(\"string\")}}}),(0,s.default)(\"BlockStatement\",{builder:[\"body\",\"directives\"],visitor:[\"directives\",\"body\"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Directive\"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Statement\")))}},aliases:[\"Scopable\",\"BlockParent\",\"Block\",\"Statement\"]}),(0,s.default)(\"BreakStatement\",{visitor:[\"label\"],fields:{label:{validate:(0,a.assertNodeType)(\"Identifier\"),optional:!0}},aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"]}),(0,s.default)(\"CallExpression\",{visitor:[\"callee\",\"arguments\"],fields:{callee:{validate:(0,a.assertNodeType)(\"Expression\")},arguments:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Expression\",\"SpreadElement\")))}},aliases:[\"Expression\"]}),(0,s.default)(\"CatchClause\",{visitor:[\"param\",\"body\"],fields:{param:{validate:(0,a.assertNodeType)(\"Identifier\")},body:{validate:(0,a.assertNodeType)(\"BlockStatement\")}},aliases:[\"Scopable\"]}),(0,s.default)(\"ConditionalExpression\",{visitor:[\"test\",\"consequent\",\"alternate\"],fields:{test:{validate:(0,a.assertNodeType)(\"Expression\")},consequent:{validate:(0,a.assertNodeType)(\"Expression\")},alternate:{validate:(0,a.assertNodeType)(\"Expression\")}},aliases:[\"Expression\",\"Conditional\"]}),(0,s.default)(\"ContinueStatement\",{visitor:[\"label\"],fields:{label:{validate:(0,a.assertNodeType)(\"Identifier\"),optional:!0}},aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"]}),(0,s.default)(\"DebuggerStatement\",{aliases:[\"Statement\"]}),(0,s.default)(\"DoWhileStatement\",{visitor:[\"test\",\"body\"],fields:{test:{validate:(0,a.assertNodeType)(\"Expression\")},body:{validate:(0,a.assertNodeType)(\"Statement\")}},aliases:[\"Statement\",\"BlockParent\",\"Loop\",\"While\",\"Scopable\"]}),(0,s.default)(\"EmptyStatement\",{aliases:[\"Statement\"]}),(0,s.default)(\"ExpressionStatement\",{visitor:[\"expression\"],fields:{expression:{validate:(0,a.assertNodeType)(\"Expression\")}},aliases:[\"Statement\",\"ExpressionWrapper\"]}),(0,s.default)(\"File\",{builder:[\"program\",\"comments\",\"tokens\"],visitor:[\"program\"],fields:{program:{validate:(0,a.assertNodeType)(\"Program\")}}}),(0,s.default)(\"ForInStatement\",{visitor:[\"left\",\"right\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\",\"ForXStatement\"],fields:{left:{validate:(0,a.assertNodeType)(\"VariableDeclaration\",\"LVal\")},right:{validate:(0,a.assertNodeType)(\"Expression\")},body:{validate:(0,a.assertNodeType)(\"Statement\")}}}),(0,s.default)(\"ForStatement\",{visitor:[\"init\",\"test\",\"update\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\"],fields:{init:{validate:(0,a.assertNodeType)(\"VariableDeclaration\",\"Expression\"),optional:!0},test:{validate:(0,a.assertNodeType)(\"Expression\"),optional:!0},update:{validate:(0,a.assertNodeType)(\"Expression\"),optional:!0},body:{validate:(0,a.assertNodeType)(\"Statement\")}}}),(0,s.default)(\"FunctionDeclaration\",{builder:[\"id\",\"params\",\"body\",\"generator\",\"async\"],visitor:[\"id\",\"params\",\"body\",\"returnType\",\"typeParameters\"],fields:{id:{validate:(0,a.assertNodeType)(\"Identifier\")},params:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"LVal\")))},body:{validate:(0,a.assertNodeType)(\"BlockStatement\")},generator:{default:!1,validate:(0,a.assertValueType)(\"boolean\")},async:{default:!1,validate:(0,a.assertValueType)(\"boolean\")}},aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Statement\",\"Pureish\",\"Declaration\"]}),(0,s.default)(\"FunctionExpression\",{inherits:\"FunctionDeclaration\",aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Expression\",\"Pureish\"],fields:{id:{validate:(0,a.assertNodeType)(\"Identifier\"),optional:!0},params:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"LVal\")))},body:{validate:(0,a.assertNodeType)(\"BlockStatement\")},generator:{default:!1,validate:(0,a.assertValueType)(\"boolean\")},async:{default:!1,validate:(0,a.assertValueType)(\"boolean\")}}}),(0,s.default)(\"Identifier\",{builder:[\"name\"],visitor:[\"typeAnnotation\"],aliases:[\"Expression\",\"LVal\"],fields:{name:{validate:function(e,t,n){i.isValidIdentifier(n)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Decorator\")))}}}),(0,s.default)(\"IfStatement\",{visitor:[\"test\",\"consequent\",\"alternate\"],aliases:[\"Statement\",\"Conditional\"],fields:{test:{validate:(0,a.assertNodeType)(\"Expression\")},consequent:{validate:(0,a.assertNodeType)(\"Statement\")},alternate:{optional:!0,validate:(0,a.assertNodeType)(\"Statement\")}}}),(0,s.default)(\"LabeledStatement\",{visitor:[\"label\",\"body\"],aliases:[\"Statement\"],fields:{label:{validate:(0,a.assertNodeType)(\"Identifier\")},body:{validate:(0,a.assertNodeType)(\"Statement\")}}}),(0,s.default)(\"StringLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,a.assertValueType)(\"string\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),(0,s.default)(\"NumericLiteral\",{builder:[\"value\"],deprecatedAlias:\"NumberLiteral\",fields:{value:{validate:(0,a.assertValueType)(\"number\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),(0,s.default)(\"NullLiteral\",{aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),(0,s.default)(\"BooleanLiteral\",{builder:[\"value\"],fields:{value:{validate:(0,a.assertValueType)(\"boolean\")}},aliases:[\"Expression\",\"Pureish\",\"Literal\",\"Immutable\"]}),(0,s.default)(\"RegExpLiteral\",{builder:[\"pattern\",\"flags\"],deprecatedAlias:\"RegexLiteral\",aliases:[\"Expression\",\"Literal\"],fields:{pattern:{validate:(0,a.assertValueType)(\"string\")},flags:{validate:(0,a.assertValueType)(\"string\"),default:\"\"}}}),(0,s.default)(\"LogicalExpression\",{builder:[\"operator\",\"left\",\"right\"],visitor:[\"left\",\"right\"],aliases:[\"Binary\",\"Expression\"],fields:{operator:{validate:a.assertOneOf.apply(void 0,o.LOGICAL_OPERATORS)},left:{validate:(0,a.assertNodeType)(\"Expression\")},right:{validate:(0,a.assertNodeType)(\"Expression\")}}}),(0,s.default)(\"MemberExpression\",{builder:[\"object\",\"property\",\"computed\"],visitor:[\"object\",\"property\"],aliases:[\"Expression\",\"LVal\"],fields:{object:{validate:(0,a.assertNodeType)(\"Expression\")},property:{validate:function(e,t,n){var r=e.computed?\"Expression\":\"Identifier\";(0,a.assertNodeType)(r)(e,t,n)}},computed:{default:!1}}}),(0,s.default)(\"NewExpression\",{visitor:[\"callee\",\"arguments\"],aliases:[\"Expression\"],fields:{callee:{validate:(0,a.assertNodeType)(\"Expression\")},arguments:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Expression\",\"SpreadElement\")))}}}),(0,s.default)(\"Program\",{visitor:[\"directives\",\"body\"],builder:[\"body\",\"directives\"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Directive\"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Statement\")))}},aliases:[\"Scopable\",\"BlockParent\",\"Block\",\"FunctionParent\"]}),(0,s.default)(\"ObjectExpression\",{visitor:[\"properties\"],aliases:[\"Expression\"],fields:{properties:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"ObjectMethod\",\"ObjectProperty\",\"SpreadProperty\")))}}}),(0,s.default)(\"ObjectMethod\",{builder:[\"kind\",\"key\",\"params\",\"body\",\"computed\"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)(\"string\"),(0,a.assertOneOf)(\"method\",\"get\",\"set\")),default:\"method\"},computed:{validate:(0,a.assertValueType)(\"boolean\"),default:!1},key:{validate:function(e,t,n){var r=e.computed?[\"Expression\"]:[\"Identifier\",\"StringLiteral\",\"NumericLiteral\"];a.assertNodeType.apply(void 0,r)(e,t,n)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Decorator\")))},body:{validate:(0,a.assertNodeType)(\"BlockStatement\")},generator:{default:!1,validate:(0,a.assertValueType)(\"boolean\")},async:{default:!1,validate:(0,a.assertValueType)(\"boolean\")}},visitor:[\"key\",\"params\",\"body\",\"decorators\",\"returnType\",\"typeParameters\"],aliases:[\"UserWhitespacable\",\"Function\",\"Scopable\",\"BlockParent\",\"FunctionParent\",\"Method\",\"ObjectMember\"]}),(0,s.default)(\"ObjectProperty\",{builder:[\"key\",\"value\",\"computed\",\"shorthand\",\"decorators\"],fields:{computed:{validate:(0,a.assertValueType)(\"boolean\"),default:!1},key:{validate:function(e,t,n){var r=e.computed?[\"Expression\"]:[\"Identifier\",\"StringLiteral\",\"NumericLiteral\"];a.assertNodeType.apply(void 0,r)(e,t,n)}},value:{validate:(0,a.assertNodeType)(\"Expression\",\"Pattern\",\"RestElement\")},shorthand:{validate:(0,a.assertValueType)(\"boolean\"),default:!1},decorators:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Decorator\"))),optional:!0}},visitor:[\"key\",\"value\",\"decorators\"],aliases:[\"UserWhitespacable\",\"Property\",\"ObjectMember\"]}),(0,s.default)(\"RestElement\",{visitor:[\"argument\",\"typeAnnotation\"],aliases:[\"LVal\"],fields:{argument:{validate:(0,a.assertNodeType)(\"LVal\")},decorators:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Decorator\")))}}}),(0,s.default)(\"ReturnStatement\",{visitor:[\"argument\"],aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"],fields:{argument:{validate:(0,a.assertNodeType)(\"Expression\"),optional:!0}}}),(0,s.default)(\"SequenceExpression\",{visitor:[\"expressions\"],fields:{expressions:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Expression\")))}},aliases:[\"Expression\"]}),(0,s.default)(\"SwitchCase\",{visitor:[\"test\",\"consequent\"],fields:{test:{validate:(0,a.assertNodeType)(\"Expression\"),optional:!0},consequent:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"Statement\")))}}}),(0,s.default)(\"SwitchStatement\",{visitor:[\"discriminant\",\"cases\"],aliases:[\"Statement\",\"BlockParent\",\"Scopable\"],fields:{discriminant:{validate:(0,a.assertNodeType)(\"Expression\")},cases:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"SwitchCase\")))}}}),(0,s.default)(\"ThisExpression\",{aliases:[\"Expression\"]}),(0,s.default)(\"ThrowStatement\",{visitor:[\"argument\"],aliases:[\"Statement\",\"Terminatorless\",\"CompletionStatement\"],fields:{argument:{validate:(0,a.assertNodeType)(\"Expression\")}}}),(0,s.default)(\"TryStatement\",{visitor:[\"block\",\"handler\",\"finalizer\"],aliases:[\"Statement\"],fields:{body:{validate:(0,a.assertNodeType)(\"BlockStatement\")},handler:{optional:!0,handler:(0,a.assertNodeType)(\"BlockStatement\")},finalizer:{optional:!0,validate:(0,a.assertNodeType)(\"BlockStatement\")}}}),(0,s.default)(\"UnaryExpression\",{builder:[\"operator\",\"argument\",\"prefix\"],fields:{prefix:{default:!0},argument:{validate:(0,a.assertNodeType)(\"Expression\")},operator:{validate:a.assertOneOf.apply(void 0,o.UNARY_OPERATORS)}},visitor:[\"argument\"],aliases:[\"UnaryLike\",\"Expression\"]}),(0,s.default)(\"UpdateExpression\",{builder:[\"operator\",\"argument\",\"prefix\"],fields:{prefix:{default:!1},argument:{validate:(0,a.assertNodeType)(\"Expression\")},operator:{validate:a.assertOneOf.apply(void 0,o.UPDATE_OPERATORS)}},visitor:[\"argument\"],aliases:[\"Expression\"]}),(0,s.default)(\"VariableDeclaration\",{builder:[\"kind\",\"declarations\"],visitor:[\"declarations\"],aliases:[\"Statement\",\"Declaration\"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)(\"string\"),(0,a.assertOneOf)(\"var\",\"let\",\"const\"))},declarations:{validate:(0,a.chain)((0,a.assertValueType)(\"array\"),(0,a.assertEach)((0,a.assertNodeType)(\"VariableDeclarator\")))}}}),(0,s.default)(\"VariableDeclarator\",{visitor:[\"id\",\"init\"],fields:{id:{validate:(0,a.assertNodeType)(\"LVal\")},init:{optional:!0,validate:(0,a.assertNodeType)(\"Expression\")}}}),(0,s.default)(\"WhileStatement\",{visitor:[\"test\",\"body\"],aliases:[\"Statement\",\"BlockParent\",\"Loop\",\"While\",\"Scopable\"],fields:{test:{validate:(0,a.assertNodeType)(\"Expression\")},body:{validate:(0,a.assertNodeType)(\"BlockStatement\",\"Statement\")}}}),(0,s.default)(\"WithStatement\",{visitor:[\"object\",\"body\"],aliases:[\"Statement\"],fields:{object:{object:(0,a.assertNodeType)(\"Expression\")},body:{validate:(0,a.assertNodeType)(\"BlockStatement\",\"Statement\")}}})},function(e,t,n){\"use strict\";var r,i=n(26),o=(r=i)&&r.__esModule?r:{default:r};(0,o.default)(\"AssignmentPattern\",{visitor:[\"left\",\"right\"],aliases:[\"Pattern\",\"LVal\"],fields:{left:{validate:(0,i.assertNodeType)(\"Identifier\")},right:{validate:(0,i.assertNodeType)(\"Expression\")},decorators:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Decorator\")))}}}),(0,o.default)(\"ArrayPattern\",{visitor:[\"elements\",\"typeAnnotation\"],aliases:[\"Pattern\",\"LVal\"],fields:{elements:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Identifier\",\"Pattern\",\"RestElement\")))},decorators:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Decorator\")))}}}),(0,o.default)(\"ArrowFunctionExpression\",{builder:[\"params\",\"body\",\"async\"],visitor:[\"params\",\"body\",\"returnType\",\"typeParameters\"],aliases:[\"Scopable\",\"Function\",\"BlockParent\",\"FunctionParent\",\"Expression\",\"Pureish\"],fields:{params:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"LVal\")))},body:{validate:(0,i.assertNodeType)(\"BlockStatement\",\"Expression\")},async:{validate:(0,i.assertValueType)(\"boolean\"),default:!1}}}),(0,o.default)(\"ClassBody\",{visitor:[\"body\"],fields:{body:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"ClassMethod\",\"ClassProperty\")))}}}),(0,o.default)(\"ClassDeclaration\",{builder:[\"id\",\"superClass\",\"body\",\"decorators\"],visitor:[\"id\",\"body\",\"superClass\",\"mixins\",\"typeParameters\",\"superTypeParameters\",\"implements\",\"decorators\"],aliases:[\"Scopable\",\"Class\",\"Statement\",\"Declaration\",\"Pureish\"],fields:{id:{validate:(0,i.assertNodeType)(\"Identifier\")},body:{validate:(0,i.assertNodeType)(\"ClassBody\")},superClass:{optional:!0,validate:(0,i.assertNodeType)(\"Expression\")},decorators:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Decorator\")))}}}),(0,o.default)(\"ClassExpression\",{inherits:\"ClassDeclaration\",aliases:[\"Scopable\",\"Class\",\"Expression\",\"Pureish\"],fields:{id:{optional:!0,validate:(0,i.assertNodeType)(\"Identifier\")},body:{validate:(0,i.assertNodeType)(\"ClassBody\")},superClass:{optional:!0,validate:(0,i.assertNodeType)(\"Expression\")},decorators:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Decorator\")))}}}),(0,o.default)(\"ExportAllDeclaration\",{visitor:[\"source\"],aliases:[\"Statement\",\"Declaration\",\"ModuleDeclaration\",\"ExportDeclaration\"],fields:{source:{validate:(0,i.assertNodeType)(\"StringLiteral\")}}}),(0,o.default)(\"ExportDefaultDeclaration\",{visitor:[\"declaration\"],aliases:[\"Statement\",\"Declaration\",\"ModuleDeclaration\",\"ExportDeclaration\"],fields:{declaration:{validate:(0,i.assertNodeType)(\"FunctionDeclaration\",\"ClassDeclaration\",\"Expression\")}}}),(0,o.default)(\"ExportNamedDeclaration\",{visitor:[\"declaration\",\"specifiers\",\"source\"],aliases:[\"Statement\",\"Declaration\",\"ModuleDeclaration\",\"ExportDeclaration\"],fields:{declaration:{validate:(0,i.assertNodeType)(\"Declaration\"),optional:!0},specifiers:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"ExportSpecifier\")))},source:{validate:(0,i.assertNodeType)(\"StringLiteral\"),optional:!0}}}),(0,o.default)(\"ExportSpecifier\",{visitor:[\"local\",\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,i.assertNodeType)(\"Identifier\")},exported:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,o.default)(\"ForOfStatement\",{visitor:[\"left\",\"right\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\",\"ForXStatement\"],fields:{left:{validate:(0,i.assertNodeType)(\"VariableDeclaration\",\"LVal\")},right:{validate:(0,i.assertNodeType)(\"Expression\")},body:{validate:(0,i.assertNodeType)(\"Statement\")}}}),(0,o.default)(\"ImportDeclaration\",{visitor:[\"specifiers\",\"source\"],aliases:[\"Statement\",\"Declaration\",\"ModuleDeclaration\"],fields:{specifiers:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"ImportSpecifier\",\"ImportDefaultSpecifier\",\"ImportNamespaceSpecifier\")))},source:{validate:(0,i.assertNodeType)(\"StringLiteral\")}}}),(0,o.default)(\"ImportDefaultSpecifier\",{visitor:[\"local\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,o.default)(\"ImportNamespaceSpecifier\",{visitor:[\"local\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,o.default)(\"ImportSpecifier\",{visitor:[\"local\",\"imported\"],aliases:[\"ModuleSpecifier\"],fields:{local:{validate:(0,i.assertNodeType)(\"Identifier\")},imported:{validate:(0,i.assertNodeType)(\"Identifier\")},importKind:{validate:(0,i.assertOneOf)(null,\"type\",\"typeof\")}}}),(0,o.default)(\"MetaProperty\",{visitor:[\"meta\",\"property\"],aliases:[\"Expression\"],fields:{meta:{validate:(0,i.assertValueType)(\"string\")},property:{validate:(0,i.assertValueType)(\"string\")}}}),(0,o.default)(\"ClassMethod\",{aliases:[\"Function\",\"Scopable\",\"BlockParent\",\"FunctionParent\",\"Method\"],builder:[\"kind\",\"key\",\"params\",\"body\",\"computed\",\"static\"],visitor:[\"key\",\"params\",\"body\",\"decorators\",\"returnType\",\"typeParameters\"],fields:{kind:{validate:(0,i.chain)((0,i.assertValueType)(\"string\"),(0,i.assertOneOf)(\"get\",\"set\",\"method\",\"constructor\")),default:\"method\"},computed:{default:!1,validate:(0,i.assertValueType)(\"boolean\")},static:{default:!1,validate:(0,i.assertValueType)(\"boolean\")},key:{validate:function(e,t,n){var r=e.computed?[\"Expression\"]:[\"Identifier\",\"StringLiteral\",\"NumericLiteral\"];i.assertNodeType.apply(void 0,r)(e,t,n)}},params:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"LVal\")))},body:{validate:(0,i.assertNodeType)(\"BlockStatement\")},generator:{default:!1,validate:(0,i.assertValueType)(\"boolean\")},async:{default:!1,validate:(0,i.assertValueType)(\"boolean\")}}}),(0,o.default)(\"ObjectPattern\",{visitor:[\"properties\",\"typeAnnotation\"],aliases:[\"Pattern\",\"LVal\"],fields:{properties:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"RestProperty\",\"Property\")))},decorators:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Decorator\")))}}}),(0,o.default)(\"SpreadElement\",{visitor:[\"argument\"],aliases:[\"UnaryLike\"],fields:{argument:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"Super\",{aliases:[\"Expression\"]}),(0,o.default)(\"TaggedTemplateExpression\",{visitor:[\"tag\",\"quasi\"],aliases:[\"Expression\"],fields:{tag:{validate:(0,i.assertNodeType)(\"Expression\")},quasi:{validate:(0,i.assertNodeType)(\"TemplateLiteral\")}}}),(0,o.default)(\"TemplateElement\",{builder:[\"value\",\"tail\"],fields:{value:{},tail:{validate:(0,i.assertValueType)(\"boolean\"),default:!1}}}),(0,o.default)(\"TemplateLiteral\",{visitor:[\"quasis\",\"expressions\"],aliases:[\"Expression\",\"Literal\"],fields:{quasis:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"TemplateElement\")))},expressions:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"Expression\")))}}}),(0,o.default)(\"YieldExpression\",{builder:[\"argument\",\"delegate\"],visitor:[\"argument\"],aliases:[\"Expression\",\"Terminatorless\"],fields:{delegate:{validate:(0,i.assertValueType)(\"boolean\"),default:!1},argument:{optional:!0,validate:(0,i.assertNodeType)(\"Expression\")}}})},function(e,t,n){\"use strict\";var r,i=n(26),o=(r=i)&&r.__esModule?r:{default:r};(0,o.default)(\"AwaitExpression\",{builder:[\"argument\"],visitor:[\"argument\"],aliases:[\"Expression\",\"Terminatorless\"],fields:{argument:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"ForAwaitStatement\",{visitor:[\"left\",\"right\",\"body\"],aliases:[\"Scopable\",\"Statement\",\"For\",\"BlockParent\",\"Loop\",\"ForXStatement\"],fields:{left:{validate:(0,i.assertNodeType)(\"VariableDeclaration\",\"LVal\")},right:{validate:(0,i.assertNodeType)(\"Expression\")},body:{validate:(0,i.assertNodeType)(\"Statement\")}}}),(0,o.default)(\"BindExpression\",{visitor:[\"object\",\"callee\"],aliases:[\"Expression\"],fields:{}}),(0,o.default)(\"Import\",{aliases:[\"Expression\"]}),(0,o.default)(\"Decorator\",{visitor:[\"expression\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"DoExpression\",{visitor:[\"body\"],aliases:[\"Expression\"],fields:{body:{validate:(0,i.assertNodeType)(\"BlockStatement\")}}}),(0,o.default)(\"ExportDefaultSpecifier\",{visitor:[\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{exported:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,o.default)(\"ExportNamespaceSpecifier\",{visitor:[\"exported\"],aliases:[\"ModuleSpecifier\"],fields:{exported:{validate:(0,i.assertNodeType)(\"Identifier\")}}}),(0,o.default)(\"RestProperty\",{visitor:[\"argument\"],aliases:[\"UnaryLike\"],fields:{argument:{validate:(0,i.assertNodeType)(\"LVal\")}}}),(0,o.default)(\"SpreadProperty\",{visitor:[\"argument\"],aliases:[\"UnaryLike\"],fields:{argument:{validate:(0,i.assertNodeType)(\"Expression\")}}})},function(e,t,n){\"use strict\";var r,i=n(26),o=(r=i)&&r.__esModule?r:{default:r};(0,o.default)(\"AnyTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"ArrayTypeAnnotation\",{visitor:[\"elementType\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"BooleanTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"BooleanLiteralTypeAnnotation\",{aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"NullLiteralTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"ClassImplements\",{visitor:[\"id\",\"typeParameters\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"ClassProperty\",{visitor:[\"key\",\"value\",\"typeAnnotation\",\"decorators\"],builder:[\"key\",\"value\",\"typeAnnotation\",\"decorators\",\"computed\"],aliases:[\"Property\"],fields:{computed:{validate:(0,i.assertValueType)(\"boolean\"),default:!1}}}),(0,o.default)(\"DeclareClass\",{visitor:[\"id\",\"typeParameters\",\"extends\",\"body\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareFunction\",{visitor:[\"id\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareInterface\",{visitor:[\"id\",\"typeParameters\",\"extends\",\"body\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareModule\",{visitor:[\"id\",\"body\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareModuleExports\",{visitor:[\"typeAnnotation\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareTypeAlias\",{visitor:[\"id\",\"typeParameters\",\"right\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareOpaqueType\",{visitor:[\"id\",\"typeParameters\",\"supertype\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareVariable\",{visitor:[\"id\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"DeclareExportDeclaration\",{visitor:[\"declaration\",\"specifiers\",\"source\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"ExistentialTypeParam\",{aliases:[\"Flow\"]}),(0,o.default)(\"FunctionTypeAnnotation\",{visitor:[\"typeParameters\",\"params\",\"rest\",\"returnType\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"FunctionTypeParam\",{visitor:[\"name\",\"typeAnnotation\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"GenericTypeAnnotation\",{visitor:[\"id\",\"typeParameters\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"InterfaceExtends\",{visitor:[\"id\",\"typeParameters\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"InterfaceDeclaration\",{visitor:[\"id\",\"typeParameters\",\"extends\",\"body\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"IntersectionTypeAnnotation\",{visitor:[\"types\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"MixedTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"]}),(0,o.default)(\"EmptyTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"]}),(0,o.default)(\"NullableTypeAnnotation\",{visitor:[\"typeAnnotation\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"NumericLiteralTypeAnnotation\",{aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"NumberTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"StringLiteralTypeAnnotation\",{aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"StringTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"ThisTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}}),(0,o.default)(\"TupleTypeAnnotation\",{visitor:[\"types\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"TypeofTypeAnnotation\",{visitor:[\"argument\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"TypeAlias\",{visitor:[\"id\",\"typeParameters\",\"right\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"OpaqueType\",{visitor:[\"id\",\"typeParameters\",\"impltype\",\"supertype\"],aliases:[\"Flow\",\"FlowDeclaration\",\"Statement\",\"Declaration\"],fields:{}}),(0,o.default)(\"TypeAnnotation\",{visitor:[\"typeAnnotation\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"TypeCastExpression\",{visitor:[\"expression\",\"typeAnnotation\"],aliases:[\"Flow\",\"ExpressionWrapper\",\"Expression\"],fields:{}}),(0,o.default)(\"TypeParameter\",{visitor:[\"bound\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"TypeParameterDeclaration\",{visitor:[\"params\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"TypeParameterInstantiation\",{visitor:[\"params\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"ObjectTypeAnnotation\",{visitor:[\"properties\",\"indexers\",\"callProperties\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"ObjectTypeCallProperty\",{visitor:[\"value\"],aliases:[\"Flow\",\"UserWhitespacable\"],fields:{}}),(0,o.default)(\"ObjectTypeIndexer\",{visitor:[\"id\",\"key\",\"value\"],aliases:[\"Flow\",\"UserWhitespacable\"],fields:{}}),(0,o.default)(\"ObjectTypeProperty\",{visitor:[\"key\",\"value\"],aliases:[\"Flow\",\"UserWhitespacable\"],fields:{}}),(0,o.default)(\"ObjectTypeSpreadProperty\",{visitor:[\"argument\"],aliases:[\"Flow\",\"UserWhitespacable\"],fields:{}}),(0,o.default)(\"QualifiedTypeIdentifier\",{visitor:[\"id\",\"qualification\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"UnionTypeAnnotation\",{visitor:[\"types\"],aliases:[\"Flow\"],fields:{}}),(0,o.default)(\"VoidTypeAnnotation\",{aliases:[\"Flow\",\"FlowBaseAnnotation\"],fields:{}})},function(e,t,n){\"use strict\";n(26),n(386),n(387),n(389),n(391),n(392),n(388)},function(e,t,n){\"use strict\";var r,i=n(26),o=(r=i)&&r.__esModule?r:{default:r};(0,o.default)(\"JSXAttribute\",{visitor:[\"name\",\"value\"],aliases:[\"JSX\",\"Immutable\"],fields:{name:{validate:(0,i.assertNodeType)(\"JSXIdentifier\",\"JSXNamespacedName\")},value:{optional:!0,validate:(0,i.assertNodeType)(\"JSXElement\",\"StringLiteral\",\"JSXExpressionContainer\")}}}),(0,o.default)(\"JSXClosingElement\",{visitor:[\"name\"],aliases:[\"JSX\",\"Immutable\"],fields:{name:{validate:(0,i.assertNodeType)(\"JSXIdentifier\",\"JSXMemberExpression\")}}}),(0,o.default)(\"JSXElement\",{builder:[\"openingElement\",\"closingElement\",\"children\",\"selfClosing\"],visitor:[\"openingElement\",\"children\",\"closingElement\"],aliases:[\"JSX\",\"Immutable\",\"Expression\"],fields:{openingElement:{validate:(0,i.assertNodeType)(\"JSXOpeningElement\")},closingElement:{optional:!0,validate:(0,i.assertNodeType)(\"JSXClosingElement\")},children:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"JSXText\",\"JSXExpressionContainer\",\"JSXSpreadChild\",\"JSXElement\")))}}}),(0,o.default)(\"JSXEmptyExpression\",{aliases:[\"JSX\",\"Expression\"]}),(0,o.default)(\"JSXExpressionContainer\",{visitor:[\"expression\"],aliases:[\"JSX\",\"Immutable\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"JSXSpreadChild\",{visitor:[\"expression\"],aliases:[\"JSX\",\"Immutable\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"JSXIdentifier\",{builder:[\"name\"],aliases:[\"JSX\",\"Expression\"],fields:{name:{validate:(0,i.assertValueType)(\"string\")}}}),(0,o.default)(\"JSXMemberExpression\",{visitor:[\"object\",\"property\"],aliases:[\"JSX\",\"Expression\"],fields:{object:{validate:(0,i.assertNodeType)(\"JSXMemberExpression\",\"JSXIdentifier\")},property:{validate:(0,i.assertNodeType)(\"JSXIdentifier\")}}}),(0,o.default)(\"JSXNamespacedName\",{visitor:[\"namespace\",\"name\"],aliases:[\"JSX\"],fields:{namespace:{validate:(0,i.assertNodeType)(\"JSXIdentifier\")},name:{validate:(0,i.assertNodeType)(\"JSXIdentifier\")}}}),(0,o.default)(\"JSXOpeningElement\",{builder:[\"name\",\"attributes\",\"selfClosing\"],visitor:[\"name\",\"attributes\"],aliases:[\"JSX\",\"Immutable\"],fields:{name:{validate:(0,i.assertNodeType)(\"JSXIdentifier\",\"JSXMemberExpression\")},selfClosing:{default:!1,validate:(0,i.assertValueType)(\"boolean\")},attributes:{validate:(0,i.chain)((0,i.assertValueType)(\"array\"),(0,i.assertEach)((0,i.assertNodeType)(\"JSXAttribute\",\"JSXSpreadAttribute\")))}}}),(0,o.default)(\"JSXSpreadAttribute\",{visitor:[\"argument\"],aliases:[\"JSX\"],fields:{argument:{validate:(0,i.assertNodeType)(\"Expression\")}}}),(0,o.default)(\"JSXText\",{aliases:[\"JSX\",\"Immutable\"],builder:[\"value\"],fields:{value:{validate:(0,i.assertValueType)(\"string\")}}})},function(e,t,n){\"use strict\";var r,i=n(26),o=(r=i)&&r.__esModule?r:{default:r};(0,o.default)(\"Noop\",{visitor:[]}),(0,o.default)(\"ParenthesizedExpression\",{visitor:[\"expression\"],aliases:[\"Expression\",\"ExpressionWrapper\"],fields:{expression:{validate:(0,i.assertNodeType)(\"Expression\")}}})},function(e,t,n){\"use strict\";t.__esModule=!0,t.createUnionTypeAnnotation=function(e){var t=i(e);return 1===t.length?t[0]:r.unionTypeAnnotation(t)},t.removeTypeDuplicates=i,t.createTypeAnnotationBasedOnTypeof=function(e){if(\"string\"===e)return r.stringTypeAnnotation();if(\"number\"===e)return r.numberTypeAnnotation();if(\"undefined\"===e)return r.voidTypeAnnotation();if(\"boolean\"===e)return r.booleanTypeAnnotation();if(\"function\"===e)return r.genericTypeAnnotation(r.identifier(\"Function\"));if(\"object\"===e)return r.genericTypeAnnotation(r.identifier(\"Object\"));if(\"symbol\"===e)return r.genericTypeAnnotation(r.identifier(\"Symbol\"));throw new Error(\"Invalid typeof value\")};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function i(e){for(var t={},n={},o=[],a=[],s=0;s<e.length;s++){var u=e[s];if(u&&!(a.indexOf(u)>=0)){if(r.isAnyTypeAnnotation(u))return[u];if(r.isFlowBaseAnnotation(u))n[u.type]=u;else if(r.isUnionTypeAnnotation(u))o.indexOf(u.types)<0&&(e=e.concat(u.types),o.push(u.types));else if(r.isGenericTypeAnnotation(u)){var l=u.id.name;if(t[l]){var c=t[l];c.typeParameters?u.typeParameters&&(c.typeParameters.params=i(c.typeParameters.params.concat(u.typeParameters.params))):c=u.typeParameters}else t[l]=u}else a.push(u)}}for(var f in n)a.push(n[f]);for(var p in t)a.push(t[p]);return a}},function(e,t,n){\"use strict\";t.__esModule=!0,t.isReactComponent=void 0,t.isCompatTag=function(e){return!!e&&/^[a-z]|\\-/.test(e)},t.buildChildren=function(e){for(var t=[],n=0;n<e.children.length;n++){var o=e.children[n];r.isJSXText(o)?i(o,t):(r.isJSXExpressionContainer(o)&&(o=o.expression),r.isJSXEmptyExpression(o)||t.push(o))}return t};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1));function i(e,t){for(var n=e.value.split(/\\r\\n|\\n|\\r/),i=0,o=0;o<n.length;o++)n[o].match(/[^ \\t]/)&&(i=o);for(var a=\"\",s=0;s<n.length;s++){var u=n[s],l=0===s,c=s===n.length-1,f=s===i,p=u.replace(/\\t/g,\" \");l||(p=p.replace(/^[ ]+/,\"\")),c||(p=p.replace(/[ ]+$/,\"\")),p&&(f||(p+=\" \"),a+=p)}a&&t.push(r.stringLiteral(a))}t.isReactComponent=r.buildMatchMemberExpression(\"React.Component\")},function(e,t,n){\"use strict\";t.__esModule=!0;var r=c(n(14)),i=c(n(11)),o=c(n(2));t.isBinding=function(e,t){var n=a.getBindingIdentifiers.keys[t.type];if(n)for(var r=0;r<n.length;r++){var i=t[n[r]];if(Array.isArray(i)){if(i.indexOf(e)>=0)return!0}else if(i===e)return!0}return!1},t.isReferenced=function(e,t){switch(t.type){case\"BindExpression\":return t.object===e||t.callee===e;case\"MemberExpression\":case\"JSXMemberExpression\":return!(t.property!==e||!t.computed)||t.object===e;case\"MetaProperty\":return!1;case\"ObjectProperty\":if(t.key===e)return t.computed;case\"VariableDeclarator\":return t.id!==e;case\"ArrowFunctionExpression\":case\"FunctionDeclaration\":case\"FunctionExpression\":var n=t.params,r=Array.isArray(n),i=0;for(n=r?n:(0,o.default)(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}if(a===e)return!1}return t.id!==e;case\"ExportSpecifier\":return!t.source&&t.local===e;case\"ExportNamespaceSpecifier\":case\"ExportDefaultSpecifier\":return!1;case\"JSXAttribute\":return t.name!==e;case\"ClassProperty\":return t.key===e?t.computed:t.value===e;case\"ImportDefaultSpecifier\":case\"ImportNamespaceSpecifier\":case\"ImportSpecifier\":return!1;case\"ClassDeclaration\":case\"ClassExpression\":return t.id!==e;case\"ClassMethod\":case\"ObjectMethod\":return t.key===e&&t.computed;case\"LabeledStatement\":return!1;case\"CatchClause\":return t.param!==e;case\"RestElement\":return!1;case\"AssignmentExpression\":case\"AssignmentPattern\":return t.right===e;case\"ObjectPattern\":case\"ArrayPattern\":return!1}return!0},t.isValidIdentifier=function(e){return\"string\"==typeof e&&!s.default.keyword.isReservedWordES6(e,!0)&&\"await\"!==e&&s.default.keyword.isIdentifierNameES6(e)},t.isLet=function(e){return u.isVariableDeclaration(e)&&(\"var\"!==e.kind||e[l.BLOCK_SCOPED_SYMBOL])},t.isBlockScoped=function(e){return u.isFunctionDeclaration(e)||u.isClassDeclaration(e)||u.isLet(e)},t.isVar=function(e){return u.isVariableDeclaration(e,{kind:\"var\"})&&!e[l.BLOCK_SCOPED_SYMBOL]},t.isSpecifierDefault=function(e){return u.isImportDefaultSpecifier(e)||u.isIdentifier(e.imported||e.exported,{name:\"default\"})},t.isScope=function(e,t){return(!u.isBlockStatement(e)||!u.isFunction(t,{body:e}))&&u.isScopable(e)},t.isImmutable=function(e){return!!u.isType(e.type,\"Immutable\")||!!u.isIdentifier(e)&&\"undefined\"===e.name},t.isNodesEquivalent=function e(t,n){if(\"object\"!==(void 0===t?\"undefined\":(0,i.default)(t))||\"object\"!==(void 0===t?\"undefined\":(0,i.default)(t))||null==t||null==n)return t===n;if(t.type!==n.type)return!1;var a=(0,r.default)(u.NODE_FIELDS[t.type]||t.type),s=Array.isArray(a),l=0;for(a=s?a:(0,o.default)(a);;){var c;if(s){if(l>=a.length)break;c=a[l++]}else{if((l=a.next()).done)break;c=l.value}var f=c;if((0,i.default)(t[f])!==(0,i.default)(n[f]))return!1;if(Array.isArray(t[f])){if(!Array.isArray(n[f]))return!1;if(t[f].length!==n[f].length)return!1;for(var p=0;p<t[f].length;p++)if(!e(t[f][p],n[f][p]))return!1}else if(!e(t[f],n[f]))return!1}return!0};var a=n(226),s=c(n(97)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),l=n(135);function c(e){return e&&e.__esModule?e:{default:e}}},function(e,t){\"use strict\";function n(e,t,n){e instanceof RegExp&&(e=r(e,n)),t instanceof RegExp&&(t=r(t,n));var o=i(e,t,n);return o&&{start:o[0],end:o[1],pre:n.slice(0,o[0]),body:n.slice(o[0]+e.length,o[1]),post:n.slice(o[1]+t.length)}}function r(e,t){var n=t.match(e);return n?n[0]:null}function i(e,t,n){var r,i,o,a,s,u=n.indexOf(e),l=n.indexOf(t,u+1),c=u;if(u>=0&&l>0){for(r=[],o=n.length;c>=0&&!s;)c==u?(r.push(c),u=n.indexOf(e,c+1)):1==r.length?s=[r.pop(),l]:((i=r.pop())<o&&(o=i,a=l),l=n.indexOf(t,c+1)),c=u<l&&u>=0?u:l;r.length&&(s=[o,a])}return s}e.exports=n,n.range=i},function(e,t){\"use strict\";t.byteLength=function(e){return 3*e.length/4-u(e)},t.toByteArray=function(e){var t,n,o,a,s,l=e.length;a=u(e),s=new i(3*l/4-a),n=a>0?l-4:l;var c=0;for(t=0;t<n;t+=4)o=r[e.charCodeAt(t)]<<18|r[e.charCodeAt(t+1)]<<12|r[e.charCodeAt(t+2)]<<6|r[e.charCodeAt(t+3)],s[c++]=o>>16&255,s[c++]=o>>8&255,s[c++]=255&o;return 2===a?(o=r[e.charCodeAt(t)]<<2|r[e.charCodeAt(t+1)]>>4,s[c++]=255&o):1===a&&(o=r[e.charCodeAt(t)]<<10|r[e.charCodeAt(t+1)]<<4|r[e.charCodeAt(t+2)]>>2,s[c++]=o>>8&255,s[c++]=255&o),s},t.fromByteArray=function(e){for(var t,r=e.length,i=r%3,o=\"\",a=[],s=16383,u=0,c=r-i;u<c;u+=s)a.push(l(e,u,u+s>c?c:u+s));return 1===i?(t=e[r-1],o+=n[t>>2],o+=n[t<<4&63],o+=\"==\"):2===i&&(t=(e[r-2]<<8)+e[r-1],o+=n[t>>10],o+=n[t>>4&63],o+=n[t<<2&63],o+=\"=\"),a.push(o),a.join(\"\")};for(var n=[],r=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",a=0,s=o.length;a<s;++a)n[a]=o[a],r[o.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");return\"=\"===e[t-2]?2:\"=\"===e[t-1]?1:0}function l(e,t,r){for(var i,o,a=[],s=t;s<r;s+=3)i=(e[s]<<16)+(e[s+1]<<8)+e[s+2],a.push(n[(o=i)>>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join(\"\")}r[\"-\".charCodeAt(0)]=62,r[\"_\".charCodeAt(0)]=63},function(e,t,n){\"use strict\";var r=n(402),i=n(396);e.exports=function(e){return e?(\"{}\"===e.substr(0,2)&&(e=\"\\\\{\\\\}\"+e.substr(2)),v(function(e){return e.split(\"\\\\\\\\\").join(o).split(\"\\\\{\").join(a).split(\"\\\\}\").join(s).split(\"\\\\,\").join(u).split(\"\\\\.\").join(l)}(e),!0).map(f)):[]};var o=\"\\0SLASH\"+Math.random()+\"\\0\",a=\"\\0OPEN\"+Math.random()+\"\\0\",s=\"\\0CLOSE\"+Math.random()+\"\\0\",u=\"\\0COMMA\"+Math.random()+\"\\0\",l=\"\\0PERIOD\"+Math.random()+\"\\0\";function c(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function f(e){return e.split(o).join(\"\\\\\").split(a).join(\"{\").split(s).join(\"}\").split(u).join(\",\").split(l).join(\".\")}function p(e){if(!e)return[\"\"];var t=[],n=i(\"{\",\"}\",e);if(!n)return e.split(\",\");var r=n.pre,o=n.body,a=n.post,s=r.split(\",\");s[s.length-1]+=\"{\"+o+\"}\";var u=p(a);return a.length&&(s[s.length-1]+=u.shift(),s.push.apply(s,u)),t.push.apply(t,s),t}function d(e){return\"{\"+e+\"}\"}function h(e){return/^-?0\\d/.test(e)}function m(e,t){return e<=t}function y(e,t){return e>=t}function v(e,t){var n=[],o=i(\"{\",\"}\",e);if(!o||/\\$$/.test(o.pre))return[e];var a,u=/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(o.body),l=/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(o.body),f=u||l,g=o.body.indexOf(\",\")>=0;if(!f&&!g)return o.post.match(/,.*\\}/)?v(e=o.pre+\"{\"+o.body+s+o.post):[e];if(f)a=o.body.split(/\\.\\./);else if(1===(a=p(o.body)).length&&1===(a=v(a[0],!1).map(d)).length)return(_=o.post.length?v(o.post,!1):[\"\"]).map((function(e){return o.pre+a[0]+e}));var b,x=o.pre,_=o.post.length?v(o.post,!1):[\"\"];if(f){var w=c(a[0]),E=c(a[1]),S=Math.max(a[0].length,a[1].length),k=3==a.length?Math.abs(c(a[2])):1,A=m;E<w&&(k*=-1,A=y);var C=a.some(h);b=[];for(var T=w;A(T,E);T+=k){var D;if(l)\"\\\\\"===(D=String.fromCharCode(T))&&(D=\"\");else if(D=String(T),C){var M=S-D.length;if(M>0){var P=new Array(M+1).join(\"0\");D=T<0?\"-\"+P+D.slice(1):P+D}}b.push(D)}}else b=r(a,(function(e){return v(e,!1)}));for(var O=0;O<b.length;O++)for(var L=0;L<_.length;L++){var N=x+b[O]+_[L];(!t||f||N)&&n.push(N)}return n}},function(e,t,n){(function(e){\"use strict\";var r=n(397),i=n(465),o=n(400);function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError(\"Invalid typed array length\");return u.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=u.prototype:(null===e&&(e=new u(t)),e.length=t),e}function u(e,t,n){if(!(u.TYPED_ARRAY_SUPPORT||this instanceof u))return new u(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return f(this,e)}return l(this,e,t,n)}function l(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),u.TYPED_ARRAY_SUPPORT?(e=t).__proto__=u.prototype:e=p(e,t),e}(e,t,n,r):\"string\"==typeof t?function(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!u.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|h(t,n),i=(e=s(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(u.isBuffer(t)){var n=0|d(t.length);return 0===(e=s(e,n)).length||t.copy(e,0,0,n),e}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||(r=t.length)!=r?s(e,0):p(e,t);if(\"Buffer\"===t.type&&o(t.data))return p(e,t.data)}var r;throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function c(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function f(e,t){if(c(t),e=s(e,t<0?0:0|d(t)),!u.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function p(e,t){var n=t.length<0?0:0|d(t.length);e=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=a())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a().toString(16)+\" bytes\");return 0|e}function h(e,t){if(u.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return q(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return z(e).length;default:if(r)return q(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return M(this,t,n);case\"utf8\":case\"utf-8\":return A(this,t,n);case\"ascii\":return T(this,t,n);case\"latin1\":case\"binary\":return D(this,t,n);case\"base64\":return k(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return P(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function v(e,t,n,r,i){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if(\"string\"==typeof t&&(t=u.from(t,r)),u.isBuffer(t))return 0===t.length?-1:g(e,t,n,r,i);if(\"number\"==typeof t)return t&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):g(e,[t],n,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function g(e,t,n,r,i){var o,a=1,s=e.length,u=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(o=n;o<s;o++)if(l(e,o)===l(t,-1===c?0:o-c)){if(-1===c&&(c=o),o-c+1===u)return c*a}else-1!==c&&(o-=o-c),c=-1}else for(n+u>s&&(n=s-u),o=n;o>=0;o--){for(var f=!0,p=0;p<u;p++)if(l(e,o+p)!==l(t,p)){f=!1;break}if(f)return o}return-1}function b(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var o=t.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");r>o/2&&(r=o/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function x(e,t,n,r){return V(q(t,e.length-n),e,n,r)}function _(e,t,n,r){return V(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function w(e,t,n,r){return _(e,t,n,r)}function E(e,t,n,r){return V(z(t),e,n,r)}function S(e,t,n,r){return V(function(e,t){for(var n,r,i,o=[],a=0;a<e.length&&!((t-=2)<0);++a)r=(n=e.charCodeAt(a))>>8,i=n%256,o.push(i),o.push(r);return o}(t,e.length-n),e,n,r)}function k(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var o,a,s,u,l=e[i],c=null,f=l>239?4:l>223?3:l>191?2:1;if(i+f<=n)switch(f){case 1:l<128&&(c=l);break;case 2:128==(192&(o=e[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=e[i+1],a=e[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u)}null===c?(c=65533,f=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=f}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=C));return n}(r)}t.Buffer=u,t.SlowBuffer=function(e){return+e!=e&&(e=0),u.alloc(+e)},t.INSPECT_MAX_BYTES=50,u.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=a(),u.poolSize=8192,u._augment=function(e){return e.__proto__=u.prototype,e},u.from=function(e,t,n){return l(null,e,t,n)},u.TYPED_ARRAY_SUPPORT&&(u.prototype.__proto__=Uint8Array.prototype,u.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&u[Symbol.species]===u&&Object.defineProperty(u,Symbol.species,{value:null,configurable:!0})),u.alloc=function(e,t,n){return function(e,t,n,r){return c(t),t<=0?s(e,t):void 0!==n?\"string\"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(e,t)}(null,e,t,n)},u.allocUnsafe=function(e){return f(null,e)},u.allocUnsafeSlow=function(e){return f(null,e)},u.isBuffer=function(e){return!(null==e||!e._isBuffer)},u.compare=function(e,t){if(!u.isBuffer(e)||!u.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i<o;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},u.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},u.concat=function(e,t){if(!o(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return u.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=u.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!u.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},u.byteLength=h,u.prototype._isBuffer=!0,u.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},u.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},u.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},u.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?A(this,0,e):m.apply(this,arguments)},u.prototype.equals=function(e){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===u.compare(this,e)},u.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},u.prototype.compare=function(e,t,n,r,i){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(t>>>=0),s=Math.min(o,a),l=this.slice(r,i),c=e.slice(t,n),f=0;f<s;++f)if(l[f]!==c[f]){o=l[f],a=c[f];break}return o<a?-1:a<o?1:0},u.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},u.prototype.indexOf=function(e,t,n){return v(this,e,t,n,!0)},u.prototype.lastIndexOf=function(e,t,n){return v(this,e,t,n,!1)},u.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var o=!1;;)switch(r){case\"hex\":return b(this,e,t,n);case\"utf8\":case\"utf-8\":return x(this,e,t,n);case\"ascii\":return _(this,e,t,n);case\"latin1\":case\"binary\":return w(this,e,t,n);case\"base64\":return E(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return S(this,e,t,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),o=!0}},u.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function D(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function M(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var o=\"\",a=t;a<n;++a)o+=(r=e[a])<16?\"0\"+r.toString(16):r.toString(16);return o}function P(e,t,n){for(var r=e.slice(t,n),i=\"\",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+256*r[o+1]);return i}function O(e,t,n){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function L(e,t,n,r,i,o){if(!u.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function N(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i<o;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function F(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i<o;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function R(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function I(e,t,n,r,o){return o||R(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function j(e,t,n,r,o){return o||R(e,0,n,8),i.write(e,t,n,r,52,8),n+8}u.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),u.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=u.prototype;else{var i=t-e;n=new u(i,void 0);for(var o=0;o<i;++o)n[o]=this[o+e]}return n},u.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},u.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},u.prototype.readUInt8=function(e,t){return t||O(e,1,this.length),this[e]},u.prototype.readUInt16LE=function(e,t){return t||O(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function(e,t){return t||O(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function(e,t){return t||O(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function(e,t){return t||O(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},u.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||O(e,t,this.length);for(var r=t,i=1,o=this[e+--r];r>0&&(i*=256);)o+=this[e+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*t)),o},u.prototype.readInt8=function(e,t){return t||O(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function(e,t){t||O(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(e,t){t||O(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(e,t){return t||O(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function(e,t){return t||O(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function(e,t){return t||O(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function(e,t){return t||O(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function(e,t){return t||O(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function(e,t){return t||O(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||L(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[t]=255&e;++o<n&&(i*=256);)this[t+o]=e/i&255;return t+n},u.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||L(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[t+i]=255&e;--i>=0&&(o*=256);)this[t+i]=e/o&255;return t+n},u.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},u.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):F(this,e,t,!0),t+4},u.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},u.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;for(this[t]=255&e;++o<n&&(a*=256);)e<0&&0===s&&0!==this[t+o-1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);L(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[t+o]=255&e;--o>=0&&(a*=256);)e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},u.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},u.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):N(this,e,t,!0),t+2},u.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):N(this,e,t,!1),t+2},u.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):F(this,e,t,!0),t+4},u.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):F(this,e,t,!1),t+4},u.prototype.writeFloatLE=function(e,t,n){return I(this,e,t,!0,n)},u.prototype.writeFloatBE=function(e,t,n){return I(this,e,t,!1,n)},u.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},u.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},u.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,o=r-n;if(this===e&&n<t&&t<r)for(i=o-1;i>=0;--i)e[i+t]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i<o;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+o),t);return o},u.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!u.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;var o;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(o=t;o<n;++o)this[o]=e;else{var a=u.isBuffer(e)?e:q(new u(e,r).toString()),s=a.length;for(o=0;o<n-t;++o)this[o+t]=a[o%s]}return this};var B=/[^+\\/0-9A-Za-z-_]/g;function q(e,t){var n;t=t||1/0;for(var r=e.length,i=null,o=[],a=0;a<r;++a){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function z(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(B,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function V(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(t,function(){return this}())},function(e,t){\"use strict\";var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t,n){(function(t){\"use strict\";var r=n(460),i=n(289),o=n(622),a=n(464),s=n(623),u=Object.defineProperties,l=\"win32\"===t.platform&&!/^xterm/i.test(t.env.TERM);function c(e){this.enabled=e&&void 0!==e.enabled?e.enabled:s}l&&(i.blue.open=\"\u001b[94m\");var f,p=(f={},Object.keys(i).forEach((function(e){i[e].closeRe=new RegExp(r(i[e].close),\"g\"),f[e]={get:function(){return h.call(this,this._styles.concat(e))}}})),f),d=u((function(){}),p);function h(e){var t=function e(){return m.apply(e,arguments)};return t._styles=e,t.enabled=this.enabled,t.__proto__=d,t}function m(){var e=arguments,t=e.length,n=0!==t&&String(arguments[0]);if(t>1)for(var r=1;r<t;r++)n+=\" \"+e[r];if(!this.enabled||!n)return n;var o=this._styles,a=o.length,s=i.dim.open;for(!l||-1===o.indexOf(\"gray\")&&-1===o.indexOf(\"grey\")||(i.dim.open=\"\");a--;){var u=i[o[a]];n=u.open+n.replace(u.closeRe,u.open)+u.close}return i.dim.open=s,n}u(c.prototype,function(){var e={};return Object.keys(p).forEach((function(t){e[t]={get:function(){return h.call(this,[t])}}})),e}()),e.exports=new c,e.exports.styles=i,e.exports.hasColor=a,e.exports.stripColor=o,e.exports.supportsColor=s}).call(t,n(8))},function(e,t){\"use strict\";e.exports=function(e,t){for(var r=[],i=0;i<e.length;i++){var o=t(e[i],i);n(o)?r.push.apply(r,o):r.push(o)}return r};var n=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,n){(function(e){\"use strict\";var r=n(115),i=n(19);function o(n,o){(o=o||{}).isFileComment&&(n=function(e,n){var o=t.mapFileCommentRegex.exec(e),a=o[1]||o[2],s=i.resolve(n,a);try{return r.readFileSync(s,\"utf8\")}catch(e){throw new Error(\"An error occurred while trying to read the map file at \"+s+\"\\n\"+e)}}(n,o.commentFileDir)),o.hasComment&&(n=function(e){return e.split(\",\").pop()}(n)),o.isEncoded&&(n=new e(n,\"base64\").toString()),(o.isJSON||o.isEncoded)&&(n=JSON.parse(n)),this.sourcemap=n}Object.defineProperty(t,\"commentRegex\",{get:function(){return/^\\s*\\/(?:\\/|\\*)[@#]\\s+sourceMappingURL=data:(?:application|text)\\/json;(?:charset[:=]\\S+?;)?base64,(?:.*)$/gm}}),Object.defineProperty(t,\"mapFileCommentRegex\",{get:function(){return/(?:\\/\\/[@#][ \\t]+sourceMappingURL=([^\\s'\"]+?)[ \\t]*$)|(?:\\/\\*[@#][ \\t]+sourceMappingURL=([^\\*]+?)[ \\t]*(?:\\*\\/){1}[ \\t]*$)/gm}}),o.prototype.toJSON=function(e){return JSON.stringify(this.sourcemap,null,e)},o.prototype.toBase64=function(){var t=this.toJSON();return new e(t).toString(\"base64\")},o.prototype.toComment=function(e){var t=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\"+this.toBase64();return e&&e.multiline?\"/*# \"+t+\" */\":\"//# \"+t},o.prototype.toObject=function(){return JSON.parse(this.toJSON())},o.prototype.addProperty=function(e,t){if(this.sourcemap.hasOwnProperty(e))throw new Error(\"property %s already exists on the sourcemap, use set property instead\");return this.setProperty(e,t)},o.prototype.setProperty=function(e,t){return this.sourcemap[e]=t,this},o.prototype.getProperty=function(e){return this.sourcemap[e]},t.fromObject=function(e){return new o(e)},t.fromJSON=function(e){return new o(e,{isJSON:!0})},t.fromBase64=function(e){return new o(e,{isEncoded:!0})},t.fromComment=function(e){return new o(e=e.replace(/^\\/\\*/g,\"//\").replace(/\\*\\/$/g,\"\"),{isEncoded:!0,hasComment:!0})},t.fromMapFileComment=function(e,t){return new o(e,{commentFileDir:t,isFileComment:!0,isJSON:!0})},t.fromSource=function(e){var n=e.match(t.commentRegex);return n?t.fromComment(n.pop()):null},t.fromMapFileSource=function(e,n){var r=e.match(t.mapFileCommentRegex);return r?t.fromMapFileComment(r.pop(),n):null},t.removeComments=function(e){return e.replace(t.commentRegex,\"\")},t.removeMapFileComments=function(e){return e.replace(t.mapFileCommentRegex,\"\")},t.generateMapFileComment=function(e,t){var n=\"sourceMappingURL=\"+e;return t&&t.multiline?\"/*# \"+n+\" */\":\"//# \"+n}}).call(t,n(399).Buffer)},function(e,t,n){\"use strict\";n(59),n(157),e.exports=n(439)},function(e,t,n){\"use strict\";var r=n(5),i=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,n){\"use strict\";n(96),n(157),n(59),n(441),n(451),n(450),n(449),e.exports=n(5).Map},function(e,t,n){\"use strict\";n(442),e.exports=9007199254740991},function(e,t,n){\"use strict\";n(443),e.exports=n(5).Object.assign},function(e,t,n){\"use strict\";n(444);var r=n(5).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){\"use strict\";n(158),e.exports=n(5).Object.getOwnPropertySymbols},function(e,t,n){\"use strict\";n(445),e.exports=n(5).Object.keys},function(e,t,n){\"use strict\";n(446),e.exports=n(5).Object.setPrototypeOf},function(e,t,n){\"use strict\";n(158),e.exports=n(5).Symbol.for},function(e,t,n){\"use strict\";n(158),n(96),n(452),n(453),e.exports=n(5).Symbol},function(e,t,n){\"use strict\";n(157),n(59),e.exports=n(156).f(\"iterator\")},function(e,t,n){\"use strict\";n(96),n(59),n(447),n(455),n(454),e.exports=n(5).WeakMap},function(e,t,n){\"use strict\";n(96),n(59),n(448),n(457),n(456),e.exports=n(5).WeakSet},function(e,t){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var r=n(55);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){\"use strict\";var r=n(37),i=n(153),o=n(438);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){\"use strict\";var r=n(16),i=n(232),o=n(13)(\"species\");e.exports=function(e){var t;return i(e)&&(\"function\"!=typeof(t=e.constructor)||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){\"use strict\";var r=n(421);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){\"use strict\";var r=n(23).f,i=n(90),o=n(146),a=n(43),s=n(136),u=n(55),l=n(143),c=n(233),f=n(436),p=n(22),d=n(57).fastKey,h=n(58),m=p?\"_s\":\"size\",y=function(e,t){var n,r=d(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var c=e((function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&u(r,n,e[l],e)}));return o(c.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=h(this,t),r=y(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(h(this,t),e)}}),p&&r(c.prototype,\"size\",{get:function(){return h(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=y(e,t);return o?o.v=n:(e._l=o={i:i=d(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,\"F\"!==i&&(e._i[i]=o)),e},getEntry:y,setStrong:function(e,t,n){l(e,t,(function(e,n){this._t=h(e,t),this._k=n,this._l=void 0}),(function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?c(0,\"keys\"==t?n.k:\"values\"==t?n.v:[n.k,n.v]):(e._t=void 0,c(1))}),n?\"entries\":\"values\",!n,!0),f(t)}}},function(e,t,n){\"use strict\";var r=n(228),i=n(419);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return i(this)}}},function(e,t,n){\"use strict\";var r=n(44),i=n(145),o=n(91);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},function(e,t,n){\"use strict\";var r=n(15).document;e.exports=r&&r.documentElement},function(e,t,n){\"use strict\";var r=n(56),i=n(13)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},function(e,t,n){\"use strict\";var r=n(21);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},function(e,t,n){\"use strict\";var r=n(90),i=n(92),o=n(93),a={};n(29)(a,n(13)(\"iterator\"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},function(e,t,n){\"use strict\";var r=n(44),i=n(37);e.exports=function(e,t){for(var n,o=i(e),a=r(o),s=a.length,u=0;s>u;)if(o[n=a[u++]]===t)return n}},function(e,t,n){\"use strict\";var r=n(23),i=n(21),o=n(44);e.exports=n(22)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},function(e,t,n){\"use strict\";var r=\"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},i=n(37),o=n(236).f,a={}.toString,s=\"object\"==(\"undefined\"==typeof window?\"undefined\":r(window))&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return s&&\"[object Window]\"==a.call(e)?function(e){try{return o(e)}catch(e){return s.slice()}}(e):o(i(e))}},function(e,t,n){\"use strict\";var r=n(28),i=n(94),o=n(150)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e,t,n){\"use strict\";var r=n(12),i=n(5),o=n(27);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o((function(){n(1)})),\"Object\",a)}},function(e,t,n){\"use strict\";var r=n(16),i=n(21),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{(r=n(43)(Function.call,n(235).f(Object.prototype,\"__proto__\").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},function(e,t,n){\"use strict\";var r=n(15),i=n(5),o=n(23),a=n(22),s=n(13)(\"species\");e.exports=function(e){var t=\"function\"==typeof i[e]?i[e]:r[e];a&&t&&!t[s]&&o.f(t,s,{configurable:!0,get:function(){return this}})}},function(e,t,n){\"use strict\";var r=n(152),i=n(140);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},function(e,t,n){\"use strict\";var r=n(152),i=Math.max,o=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):o(e,t)}},function(e,t,n){\"use strict\";var r=n(21),i=n(238);e.exports=n(5).getIterator=function(e){var t=i(e);if(\"function\"!=typeof t)throw TypeError(e+\" is not iterable!\");return r(t.call(e))}},function(e,t,n){\"use strict\";var r=n(418),i=n(233),o=n(56),a=n(37);e.exports=n(143)(Array,\"Array\",(function(e,t){this._t=a(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,\"keys\"==t?n:\"values\"==t?e[n]:[n,e[n]])}),\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(e,t,n){\"use strict\";var r=n(423),i=n(58),o=\"Map\";e.exports=n(139)(o,(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(e){var t=r.getEntry(i(this,o),e);return t&&t.v},set:function(e,t){return r.def(i(this,o),0===e?0:e,t)}},r,!0)},function(e,t,n){\"use strict\";var r=n(12);r(r.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){\"use strict\";var r=n(12);r(r.S+r.F,\"Object\",{assign:n(234)})},function(e,t,n){\"use strict\";var r=n(12);r(r.S,\"Object\",{create:n(90)})},function(e,t,n){\"use strict\";var r=n(94),i=n(44);n(434)(\"keys\",(function(){return function(e){return i(r(e))}}))},function(e,t,n){\"use strict\";var r=n(12);r(r.S,\"Object\",{setPrototypeOf:n(435).set})},function(e,t,n){\"use strict\";var r,i=n(137)(0),o=n(147),a=n(57),s=n(234),u=n(229),l=n(16),c=n(27),f=n(58),p=\"WeakMap\",d=a.getWeak,h=Object.isExtensible,m=u.ufstore,y={},v=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(l(e)){var t=d(e);return!0===t?m(f(this,p)).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,p),e,t)}},b=e.exports=n(139)(p,v,g,u,!0,!0);c((function(){return 7!=(new b).set((Object.freeze||Object)(y),7).get(y)}))&&(s((r=u.getConstructor(v,p)).prototype,g),a.NEED=!0,i([\"delete\",\"has\",\"get\",\"set\"],(function(e){var t=b.prototype,n=t[e];o(t,e,(function(t,i){if(l(t)&&!h(t)){this._f||(this._f=new r);var o=this._f[e](t,i);return\"set\"==e?this:o}return n.call(this,t,i)}))})))},function(e,t,n){\"use strict\";var r=n(229),i=n(58),o=\"WeakSet\";n(139)(o,(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(e){return r.def(i(this,o),e,!0)}},r,!1,!0)},function(e,t,n){\"use strict\";n(148)(\"Map\")},function(e,t,n){\"use strict\";n(149)(\"Map\")},function(e,t,n){\"use strict\";var r=n(12);r(r.P+r.R,\"Map\",{toJSON:n(424)(\"Map\")})},function(e,t,n){\"use strict\";n(155)(\"asyncIterator\")},function(e,t,n){\"use strict\";n(155)(\"observable\")},function(e,t,n){\"use strict\";n(148)(\"WeakMap\")},function(e,t,n){\"use strict\";n(149)(\"WeakMap\")},function(e,t,n){\"use strict\";n(148)(\"WeakSet\")},function(e,t,n){\"use strict\";n(149)(\"WeakSet\")},function(e,t,n){\"use strict\";var r;function i(e){function n(){if(n.enabled){var e=n,i=+new Date,o=i-(r||i);e.diff=o,e.prev=r,e.curr=i,r=i;for(var a=new Array(arguments.length),s=0;s<a.length;s++)a[s]=arguments[s];a[0]=t.coerce(a[0]),\"string\"!=typeof a[0]&&a.unshift(\"%O\");var u=0;a[0]=a[0].replace(/%([a-zA-Z%])/g,(function(n,r){if(\"%%\"===n)return n;u++;var i=t.formatters[r];if(\"function\"==typeof i){var o=a[u];n=i.call(e,o),a.splice(u,1),u--}return n})),t.formatArgs.call(e,a);var l=n.log||t.log||console.log.bind(console);l.apply(e,a)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=function(e){var n,r=0;for(n in e)r=(r<<5)-r+e.charCodeAt(n),r|=0;return t.colors[Math.abs(r)%t.colors.length]}(e),\"function\"==typeof t.init&&t.init(n),n}(t=e.exports=i.debug=i.default=i).coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable(\"\")},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=(\"string\"==typeof e?e:\"\").split(/[\\s,]+/),r=n.length,i=0;i<r;i++)n[i]&&(\"-\"===(e=n[i].replace(/\\*/g,\".*?\"))[0]?t.skips.push(new RegExp(\"^\"+e.substr(1)+\"$\")):t.names.push(new RegExp(\"^\"+e+\"$\")))},t.enabled=function(e){var n,r;for(n=0,r=t.skips.length;n<r;n++)if(t.skips[n].test(e))return!1;for(n=0,r=t.names.length;n<r;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(602),t.names=[],t.skips=[],t.formatters={}},function(e,t,n){\"use strict\";var r=n(615),i=/^(?:( )+|\\t+)/;e.exports=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");var t,n,o=0,a=0,s=0,u={};e.split(/\\n/g).forEach((function(e){if(e){var r,l=e.match(i);l?(r=l[0].length,l[1]?a++:o++):r=0;var c=r-s;s=r,c?(t=u[(n=c>0)?c:-c])?t[0]++:t=u[c]=[1,0]:t&&(t[1]+=Number(n))}}));var l,c,f=function(e){var t=0,n=0,r=0;for(var i in e){var o=e[i],a=o[0],s=o[1];(a>n||a===n&&s>r)&&(n=a,r=s,t=Number(i))}return t}(u);return f?a>=o?(l=\"space\",c=r(\" \",f)):(l=\"tab\",c=r(\"\\t\",f)):(l=null,c=\"\"),{amount:f,type:l,indent:c}}},function(e,t){\"use strict\";var n=/[|\\\\{}()[\\]^$+*?.]/g;e.exports=function(e){if(\"string\"!=typeof e)throw new TypeError(\"Expected a string\");return e.replace(n,\"\\\\$&\")}},function(e,t){\"use strict\";!function(){function t(e){if(null==e)return!1;switch(e.type){case\"BlockStatement\":case\"BreakStatement\":case\"ContinueStatement\":case\"DebuggerStatement\":case\"DoWhileStatement\":case\"EmptyStatement\":case\"ExpressionStatement\":case\"ForInStatement\":case\"ForStatement\":case\"IfStatement\":case\"LabeledStatement\":case\"ReturnStatement\":case\"SwitchStatement\":case\"ThrowStatement\":case\"TryStatement\":case\"VariableDeclaration\":case\"WhileStatement\":case\"WithStatement\":return!0}return!1}function n(e){switch(e.type){case\"IfStatement\":return null!=e.alternate?e.alternate:e.consequent;case\"LabeledStatement\":case\"ForStatement\":case\"ForInStatement\":case\"WhileStatement\":case\"WithStatement\":return e.body}return null}e.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case\"ArrayExpression\":case\"AssignmentExpression\":case\"BinaryExpression\":case\"CallExpression\":case\"ConditionalExpression\":case\"FunctionExpression\":case\"Identifier\":case\"Literal\":case\"LogicalExpression\":case\"MemberExpression\":case\"NewExpression\":case\"ObjectExpression\":case\"SequenceExpression\":case\"ThisExpression\":case\"UnaryExpression\":case\"UpdateExpression\":return!0}return!1},isStatement:t,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case\"DoWhileStatement\":case\"ForInStatement\":case\"ForStatement\":case\"WhileStatement\":return!0}return!1},isSourceElement:function(e){return t(e)||null!=e&&\"FunctionDeclaration\"===e.type},isProblematicIfStatement:function(e){var t;if(\"IfStatement\"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if(\"IfStatement\"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()},function(e,t,n){\"use strict\";!function(){var t=n(240);function r(e,t){return!(!t&&\"yield\"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case\"implements\":case\"interface\":case\"package\":case\"private\":case\"protected\":case\"public\":case\"static\":case\"let\":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return\"if\"===e||\"in\"===e||\"do\"===e;case 3:return\"var\"===e||\"for\"===e||\"new\"===e||\"try\"===e;case 4:return\"this\"===e||\"else\"===e||\"case\"===e||\"void\"===e||\"with\"===e||\"enum\"===e;case 5:return\"while\"===e||\"break\"===e||\"catch\"===e||\"throw\"===e||\"const\"===e||\"yield\"===e||\"class\"===e||\"super\"===e;case 6:return\"return\"===e||\"typeof\"===e||\"delete\"===e||\"switch\"===e||\"export\"===e||\"import\"===e;case 7:return\"default\"===e||\"finally\"===e||\"extends\"===e;case 8:return\"function\"===e||\"continue\"===e||\"debugger\"===e;case 10:return\"instanceof\"===e;default:return!1}}function o(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||r(e,t)}function a(e,t){return\"null\"===e||\"true\"===e||\"false\"===e||i(e,t)}function s(e){var n,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(n=1,r=e.length;n<r;++n)if(i=e.charCodeAt(n),!t.isIdentifierPartES5(i))return!1;return!0}function u(e){var n,r,i,o,a;if(0===e.length)return!1;for(a=t.isIdentifierStartES6,n=0,r=e.length;n<r;++n){if(55296<=(i=e.charCodeAt(n))&&i<=56319){if(++n>=r)return!1;if(!(56320<=(o=e.charCodeAt(n))&&o<=57343))return!1;i=1024*(i-55296)+(o-56320)+65536}if(!a(i))return!1;a=t.isIdentifierPartES6}return!0}e.exports={isKeywordES5:r,isKeywordES6:i,isReservedWordES5:o,isReservedWordES6:a,isRestrictedWord:function(e){return\"eval\"===e||\"arguments\"===e},isIdentifierNameES5:s,isIdentifierNameES6:u,isIdentifierES5:function(e,t){return s(e)&&!o(e,t)},isIdentifierES6:function(e,t){return u(e)&&!a(e,t)}}}()},function(e,t,n){\"use strict\";e.exports=n(630)},function(e,t,n){\"use strict\";var r=n(180),i=new RegExp(r().source);e.exports=i.test.bind(i)},function(e,t){\"use strict\";t.read=function(e,t,n,r,i){var o,a,s=8*i-r-1,u=(1<<s)-1,l=u>>1,c=-7,f=n?i-1:0,p=n?-1:1,d=e[t+f];for(f+=p,o=d&(1<<-c)-1,d>>=-c,c+=s;c>0;o=256*o+e[t+f],f+=p,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+e[t+f],f+=p,c-=8);if(0===o)o=1-l;else{if(o===u)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=l}return(d?-1:1)*a*Math.pow(2,o-r)},t.write=function(e,t,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<<l)-1,f=c>>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),(t+=a+f>=1?p/u:p*Math.pow(2,1-f))*u>=2&&(a++,u/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*u-1)*Math.pow(2,i),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=h,s/=256,i-=8);for(a=a<<i|s,l+=i;l>0;e[n+d]=255&a,d+=h,a/=256,l-=8);e[n+d-h]|=128*m}},function(e,t,n){\"use strict\";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,i,o,a,s],c=0;(u=new Error(t.replace(/%s/g,(function(){return l[c++]})))).name=\"Invariant Violation\"}throw u.framesToPop=1,u}}},function(e,t,n){\"use strict\";var r=n(603);e.exports=Number.isFinite||function(e){return!(\"number\"!=typeof e||r(e)||e===1/0||e===-1/0)}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=/((['\"])(?:(?!\\2|\\\\).|\\\\(?:\\r\\n|[\\s\\S]))*(\\2)?|`(?:[^`\\\\$]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{[^}]*\\}?)*\\}?)*(`)?)|(\\/\\/.*)|(\\/\\*(?:[^*]|\\*(?!\\/))*(\\*\\/)?)|(\\/(?!\\*)(?:\\[(?:(?![\\]\\\\]).|\\\\.)*\\]|(?![\\/\\]\\\\]).|\\\\.)+\\/(?:(?!\\s*(?:\\b|[\\u0080-\\uFFFF$\\\\'\"~({]|[+\\-!](?!=)|\\.?\\d))|[gmiyu]{1,5}\\b(?![\\u0080-\\uFFFF$\\\\]|\\s*(?:[+\\-*%&|^<>!=?({]|\\/(?![\\/*])))))|(0[xX][\\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\\d*\\.\\d+|\\d+\\.?)(?:[eE][+-]?\\d+)?)|((?!\\d)(?:(?!\\s)[$\\w\\u0080-\\uFFFF]|\\\\u[\\da-fA-F]{4}|\\\\u\\{[\\da-fA-F]+\\})+)|(--|\\+\\+|&&|\\|\\||=>|\\.{3}|(?:[+\\-\\/%&|^]|\\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\\](){}])|(\\s+)|(^$|[\\s\\S])/g,t.matchToToken=function(e){var t={type:\"invalid\",value:e[0]};return e[1]?(t.type=\"string\",t.closed=!(!e[3]&&!e[4])):e[5]?t.type=\"comment\":e[6]?(t.type=\"comment\",t.closed=!!e[7]):e[8]?t.type=\"regex\":e[9]?t.type=\"number\":e[10]?t.type=\"name\":e[11]?t.type=\"punctuator\":e[12]&&(t.type=\"whitespace\"),t}},function(e,t,n){var r;(function(e,i){\"use strict\";var o=\"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};!function(a){var s=\"object\"==o(t)&&t,u=\"object\"==o(e)&&e&&e.exports==s&&e,l=\"object\"==(void 0===i?\"undefined\":o(i))&&i;l.global!==l&&l.window!==l||(a=l);var c={},f=c.hasOwnProperty,p=function(e,t){var n;for(n in e)f.call(e,n)&&t(n,e[n])},d=c.toString,h={'\"':'\\\\\"',\"'\":\"\\\\'\",\"\\\\\":\"\\\\\\\\\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\"},m=/[\"'\\\\\\b\\f\\n\\r\\t]/,y=/[0-9]/,v=/[ !#-&\\(-\\[\\]-~]/,g=function e(t,n){var r,i,o={escapeEverything:!1,escapeEtago:!1,quotes:\"single\",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:\"decimal\",indent:\"\\t\",__indent__:\"\",__inline1__:!1,__inline2__:!1},a=n&&n.json;a&&(o.quotes=\"double\",o.wrap=!0),r=o,n=(i=n)?(p(i,(function(e,t){r[e]=t})),r):r,\"single\"!=n.quotes&&\"double\"!=n.quotes&&(n.quotes=\"single\");var s,u,l=\"double\"==n.quotes?'\"':\"'\",c=n.compact,f=n.indent,g=n.lowercaseHex,b=\"\",x=n.__inline1__,_=n.__inline2__,w=c?\"\":\"\\n\",E=!0,S=\"binary\"==n.numbers,k=\"octal\"==n.numbers,A=\"decimal\"==n.numbers,C=\"hexadecimal\"==n.numbers;if(a&&t&&(\"function\"==typeof(u=t.toJSON)||\"[object Function]\"==d.call(u))&&(t=t.toJSON()),!function(e){return\"string\"==typeof e||\"[object String]\"==d.call(e)}(t)){if(function(e){return\"[object Map]\"==d.call(e)}(t))return 0==t.size?\"new Map()\":(c||(n.__inline1__=!0),\"new Map(\"+e(Array.from(t),n)+\")\");if(function(e){return\"[object Set]\"==d.call(e)}(t))return 0==t.size?\"new Set()\":\"new Set(\"+e(Array.from(t),n)+\")\";if(function(e){return\"[object Array]\"==d.call(e)}(t))return s=[],n.wrap=!0,x?(n.__inline1__=!1,n.__inline2__=!0):(b=n.__indent__,f+=b,n.__indent__=f),function(e,t){for(var n=e.length,r=-1;++r<n;)t(e[r])}(t,(function(t){E=!1,_&&(n.__inline2__=!1),s.push((c||_?\"\":f)+e(t,n))})),E?\"[]\":_?\"[\"+s.join(\", \")+\"]\":\"[\"+w+s.join(\",\"+w)+w+(c?\"\":b)+\"]\";if(!function(e){return\"number\"==typeof e||\"[object Number]\"==d.call(e)}(t))return function(e){return\"[object Object]\"==d.call(e)}(t)?(s=[],n.wrap=!0,b=n.__indent__,f+=b,n.__indent__=f,p(t,(function(t,r){E=!1,s.push((c?\"\":f)+e(t,n)+\":\"+(c?\"\":\" \")+e(r,n))})),E?\"{}\":\"{\"+w+s.join(\",\"+w)+w+(c?\"\":b)+\"}\"):a?JSON.stringify(t)||\"null\":String(t);if(a)return JSON.stringify(t);if(A)return String(t);if(C){var T=t.toString(16);return g||(T=T.toUpperCase()),\"0x\"+T}if(S)return\"0b\"+t.toString(2);if(k)return\"0o\"+t.toString(8)}var D,M,P=t,O=-1,L=P.length;for(s=\"\";++O<L;){var N=P.charAt(O);if(n.es6&&(D=P.charCodeAt(O))>=55296&&D<=56319&&L>O+1&&(M=P.charCodeAt(O+1))>=56320&&M<=57343){var F=(1024*(D-55296)+M-56320+65536).toString(16);g||(F=F.toUpperCase()),s+=\"\\\\u{\"+F+\"}\",O++}else{if(!n.escapeEverything){if(v.test(N)){s+=N;continue}if('\"'==N){s+=l==N?'\\\\\"':N;continue}if(\"'\"==N){s+=l==N?\"\\\\'\":N;continue}}if(\"\\0\"!=N||a||y.test(P.charAt(O+1)))if(m.test(N))s+=h[N];else{F=N.charCodeAt(0).toString(16),g||(F=F.toUpperCase());var R=F.length>2||a,I=\"\\\\\"+(R?\"u\":\"x\")+(\"0000\"+F).slice(R?-4:-2);s+=I}else s+=\"\\\\0\"}}return n.wrap&&(s=l+s+l),n.escapeEtago?s.replace(/<\\/(script|style)/gi,\"<\\\\/$1\"):s};g.version=\"1.3.0\",\"object\"==o(n(49))&&n(49)?void 0===(r=function(){return g}.call(t,n,t,e))||(e.exports=r):s&&!s.nodeType?u?u.exports=g:s.jsesc=g:a.jsesc=g}(void 0)}).call(t,n(39)(e),function(){return this}())},function(e,t,n){\"use strict\";var r,i,o,a,s,u,l,c,f,p,d,h,m,y,v,g,b,x,_,w,E=\"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},S=\"object\"===E(t)?t:{};S.parse=(l={\"'\":\"'\",'\"':'\"',\"\\\\\":\"\\\\\",\"/\":\"/\",\"\\n\":\"\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"},c=[\" \",\"\\t\",\"\\r\",\"\\n\",\"\\v\",\"\\f\",\" \",\"\\ufeff\"],f=function(e){return\"\"===e?\"EOF\":\"'\"+e+\"'\"},p=function(e){var t=new SyntaxError;throw t.message=e+\" at line \"+i+\" column \"+o+\" of the JSON5 data. Still to read: \"+JSON.stringify(s.substring(r-1,r+19)),t.at=r,t.lineNumber=i,t.columnNumber=o,t},d=function(e){return e&&e!==a&&p(\"Expected \"+f(e)+\" instead of \"+f(a)),a=s.charAt(r),r++,o++,(\"\\n\"===a||\"\\r\"===a&&\"\\n\"!==h())&&(i++,o=0),a},h=function(){return s.charAt(r)},m=function(){var e=a;for(\"_\"!==a&&\"$\"!==a&&(a<\"a\"||a>\"z\")&&(a<\"A\"||a>\"Z\")&&p(\"Bad identifier as unquoted key\");d()&&(\"_\"===a||\"$\"===a||a>=\"a\"&&a<=\"z\"||a>=\"A\"&&a<=\"Z\"||a>=\"0\"&&a<=\"9\");)e+=a;return e},y=function(){var e,t=\"\",n=\"\",r=10;if(\"-\"!==a&&\"+\"!==a||(t=a,d(a)),\"I\"===a)return(\"number\"!=typeof(e=x())||isNaN(e))&&p(\"Unexpected word for number\"),\"-\"===t?-e:e;if(\"N\"===a)return e=x(),isNaN(e)||p(\"expected word to be NaN\"),e;switch(\"0\"===a&&(n+=a,d(),\"x\"===a||\"X\"===a?(n+=a,d(),r=16):a>=\"0\"&&a<=\"9\"&&p(\"Octal literal\")),r){case 10:for(;a>=\"0\"&&a<=\"9\";)n+=a,d();if(\".\"===a)for(n+=\".\";d()&&a>=\"0\"&&a<=\"9\";)n+=a;if(\"e\"===a||\"E\"===a)for(n+=a,d(),\"-\"!==a&&\"+\"!==a||(n+=a,d());a>=\"0\"&&a<=\"9\";)n+=a,d();break;case 16:for(;a>=\"0\"&&a<=\"9\"||a>=\"A\"&&a<=\"F\"||a>=\"a\"&&a<=\"f\";)n+=a,d()}if(e=\"-\"===t?-n:+n,isFinite(e))return e;p(\"Bad number\")},v=function(){var e,t,n,r,i=\"\";if('\"'===a||\"'\"===a)for(n=a;d();){if(a===n)return d(),i;if(\"\\\\\"===a)if(d(),\"u\"===a){for(r=0,t=0;t<4&&(e=parseInt(d(),16),isFinite(e));t+=1)r=16*r+e;i+=String.fromCharCode(r)}else if(\"\\r\"===a)\"\\n\"===h()&&d();else{if(\"string\"!=typeof l[a])break;i+=l[a]}else{if(\"\\n\"===a)break;i+=a}}p(\"Bad string\")},g=function(){\"/\"!==a&&p(\"Not a comment\"),d(\"/\"),\"/\"===a?function(){\"/\"!==a&&p(\"Not an inline comment\");do{if(d(),\"\\n\"===a||\"\\r\"===a)return void d()}while(a)}():\"*\"===a?function(){\"*\"!==a&&p(\"Not a block comment\");do{for(d();\"*\"===a;)if(d(\"*\"),\"/\"===a)return void d(\"/\")}while(a);p(\"Unterminated block comment\")}():p(\"Unrecognized comment\")},b=function(){for(;a;)if(\"/\"===a)g();else{if(!(c.indexOf(a)>=0))return;d()}},x=function(){switch(a){case\"t\":return d(\"t\"),d(\"r\"),d(\"u\"),d(\"e\"),!0;case\"f\":return d(\"f\"),d(\"a\"),d(\"l\"),d(\"s\"),d(\"e\"),!1;case\"n\":return d(\"n\"),d(\"u\"),d(\"l\"),d(\"l\"),null;case\"I\":return d(\"I\"),d(\"n\"),d(\"f\"),d(\"i\"),d(\"n\"),d(\"i\"),d(\"t\"),d(\"y\"),1/0;case\"N\":return d(\"N\"),d(\"a\"),d(\"N\"),NaN}p(\"Unexpected \"+f(a))},_=function(){var e=[];if(\"[\"===a)for(d(\"[\"),b();a;){if(\"]\"===a)return d(\"]\"),e;if(\",\"===a?p(\"Missing array element\"):e.push(u()),b(),\",\"!==a)return d(\"]\"),e;d(\",\"),b()}p(\"Bad array\")},w=function(){var e,t={};if(\"{\"===a)for(d(\"{\"),b();a;){if(\"}\"===a)return d(\"}\"),t;if(e='\"'===a||\"'\"===a?v():m(),b(),d(\":\"),t[e]=u(),b(),\",\"!==a)return d(\"}\"),t;d(\",\"),b()}p(\"Bad object\")},u=function(){switch(b(),a){case\"{\":return w();case\"[\":return _();case'\"':case\"'\":return v();case\"-\":case\"+\":case\".\":return y();default:return a>=\"0\"&&a<=\"9\"?y():x()}},function(e,t){var n;return s=String(e),r=0,i=1,o=1,a=\" \",n=u(),b(),a&&p(\"Syntax error\"),\"function\"==typeof t?function e(n,r){var i,o,a=n[r];if(a&&\"object\"===(void 0===a?\"undefined\":E(a)))for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(void 0!==(o=e(a,i))?a[i]=o:delete a[i]);return t.call(n,r,a)}({\"\":n},\"\"):n}),S.stringify=function(e,t,n){if(t&&\"function\"!=typeof t&&!a(t))throw new Error(\"Replacer must be a function or an array\");var r=function(e,n,r){var i=e[n];return i&&i.toJSON&&\"function\"==typeof i.toJSON&&(i=i.toJSON()),\"function\"==typeof t?t.call(e,n,i):t?r||a(e)||t.indexOf(n)>=0?i:void 0:i};function i(e){return e>=\"a\"&&e<=\"z\"||e>=\"A\"&&e<=\"Z\"||e>=\"0\"&&e<=\"9\"||\"_\"===e||\"$\"===e}function o(e){if(\"string\"!=typeof e)return!1;if(!((t=e[0])>=\"a\"&&t<=\"z\"||t>=\"A\"&&t<=\"Z\"||\"_\"===t||\"$\"===t))return!1;for(var t,n=1,r=e.length;n<r;){if(!i(e[n]))return!1;n++}return!0}function a(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)}S.isWord=o;var s,u=[];function l(e){for(var t=0;t<u.length;t++)if(u[t]===e)throw new TypeError(\"Converting circular structure to JSON\")}function c(e,t,n){if(!e)return\"\";e.length>10&&(e=e.substring(0,10));for(var r=n?\"\":\"\\n\",i=0;i<t;i++)r+=e;return r}n&&(\"string\"==typeof n?s=n:\"number\"==typeof n&&n>=0&&(s=c(\" \",n,!0)));var f=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,p={\"\\b\":\"\\\\b\",\"\\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"};function d(e){return f.lastIndex=0,f.test(e)?'\"'+e.replace(f,(function(e){var t=p[e];return\"string\"==typeof t?t:\"\\\\u\"+(\"0000\"+e.charCodeAt(0).toString(16)).slice(-4)}))+'\"':'\"'+e+'\"'}var h={\"\":e};return void 0===e?r(h,\"\",!0):function e(t,n,i){var f,p,h=r(t,n,i);switch(h&&!function(e){return\"[object Date]\"===Object.prototype.toString.call(e)}(h)&&(h=h.valueOf()),void 0===h?\"undefined\":E(h)){case\"boolean\":return h.toString();case\"number\":return isNaN(h)||!isFinite(h)?\"null\":h.toString();case\"string\":return d(h.toString());case\"object\":if(null===h)return\"null\";if(a(h)){l(h),f=\"[\",u.push(h);for(var m=0;m<h.length;m++)p=e(h,m,!1),f+=c(s,u.length),f+=null==p?\"null\":p,m<h.length-1?f+=\",\":s&&(f+=\"\\n\");u.pop(),h.length&&(f+=c(s,u.length,!0)),f+=\"]\"}else{l(h),f=\"{\";var y=!1;for(var v in u.push(h),h)if(h.hasOwnProperty(v)){var g=e(h,v,!1);i=!1,null!=g&&(f+=c(s,u.length),y=!0,f+=(n=o(v)?v:d(v))+\":\"+(s?\" \":\"\")+g+\",\")}u.pop(),f=y?f.substring(0,f.length-1)+c(s,u.length)+\"}\":\"{}\"}return f;default:return}}(h,\"\",!0)}},function(e,t){\"use strict\";var n=[],r=[];e.exports=function(e,t){if(e===t)return 0;var i,o,a,s,u=e.length,l=t.length;if(0===u)return l;if(0===l)return u;for(var c=0,f=0;c<u;)r[c]=e.charCodeAt(c),n[c]=++c;for(;f<l;)for(i=t.charCodeAt(f),a=f++,o=f,c=0;c<u;c++)s=i===r[c]?a:a+1,a=n[c],o=n[c]=a>o?s>o?o+1:s:s>a?a+1:s;return o}},function(e,t,n){\"use strict\";var r=n(38)(n(17),\"DataView\");e.exports=r},function(e,t,n){\"use strict\";var r=n(536),i=n(537),o=n(538),a=n(539),s=n(540);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},function(e,t,n){\"use strict\";var r=n(38)(n(17),\"Promise\");e.exports=r},function(e,t,n){\"use strict\";var r=n(38)(n(17),\"WeakMap\");e.exports=r},function(e,t){\"use strict\";e.exports=function(e,t){return e.set(t[0],t[1]),e}},function(e,t){\"use strict\";e.exports=function(e,t){return e.add(t),e}},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},function(e,t,n){\"use strict\";var r=n(166);e.exports=function(e,t){return!(null==e||!e.length)&&r(e,t,0)>-1}},function(e,t){\"use strict\";e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},function(e,t,n){\"use strict\";var r=n(31),i=n(32);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t,n){\"use strict\";var r=n(31),i=n(47);e.exports=function(e,t){return e&&r(t,i(t),e)}},function(e,t){\"use strict\";e.exports=function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}},function(e,t,n){\"use strict\";var r=n(18),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},function(e,t,n){\"use strict\";var r=n(489),i=n(526)(r);e.exports=i},function(e,t,n){\"use strict\";var r=n(161),i=n(543);e.exports=function e(t,n,o,a,s){var u=-1,l=t.length;for(o||(o=i),s||(s=[]);++u<l;){var c=t[u];n>0&&o(c)?n>1?e(c,n-1,o,a,s):r(s,c):a||(s[s.length]=c)}return s}},function(e,t,n){\"use strict\";var r=n(248),i=n(32);e.exports=function(e,t){return e&&r(e,t,i)}},function(e,t){\"use strict\";var n=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&n.call(e,t)}},function(e,t){\"use strict\";e.exports=function(e,t){return null!=e&&t in Object(e)}},function(e,t){\"use strict\";e.exports=function(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}},function(e,t,n){\"use strict\";var r=n(30),i=n(25);e.exports=function(e){return i(e)&&\"[object Arguments]\"==r(e)}},function(e,t,n){\"use strict\";var r=n(99),i=n(260),o=n(530),a=n(531),s=n(264),u=n(6),l=n(113),c=n(177),f=\"[object Arguments]\",p=\"[object Array]\",d=\"[object Object]\",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,y,v){var g=u(e),b=u(t),x=g?p:s(e),_=b?p:s(t),w=(x=x==f?d:x)==d,E=(_=_==f?d:_)==d,S=x==_;if(S&&l(e)){if(!l(t))return!1;g=!0,w=!1}if(S&&!w)return v||(v=new r),g||c(e)?i(e,t,n,m,y,v):o(e,t,x,n,m,y,v);if(!(1&n)){var k=w&&h.call(e,\"__wrapped__\"),A=E&&h.call(t,\"__wrapped__\");if(k||A){var C=k?e.value():e,T=A?t.value():t;return v||(v=new r),y(C,T,n,m,v)}}return!!S&&(v||(v=new r),a(e,t,n,m,y,v))}},function(e,t,n){\"use strict\";var r=n(99),i=n(251);e.exports=function(e,t,n,o){var a=n.length,s=a,u=!o;if(null==e)return!s;for(e=Object(e);a--;){var l=n[a];if(u&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<s;){var c=(l=n[a])[0],f=e[c],p=l[1];if(u&&l[2]){if(void 0===f&&!(c in e))return!1}else{var d=new r;if(o)var h=o(f,p,c,e,t,d);if(!(void 0===h?i(p,f,3,o,d):h))return!1}}return!0}},function(e,t){\"use strict\";e.exports=function(e){return e!=e}},function(e,t,n){\"use strict\";var r=n(175),i=n(545),o=n(18),a=n(272),s=/^\\[object .+?Constructor\\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,f=l.hasOwnProperty,p=RegExp(\"^\"+c.call(f).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?p:s).test(a(e))}},function(e,t,n){\"use strict\";var r=n(30),i=n(25);e.exports=function(e){return i(e)&&\"[object RegExp]\"==r(e)}},function(e,t,n){\"use strict\";var r=n(30),i=n(176),o=n(25),a={};a[\"[object Float32Array]\"]=a[\"[object Float64Array]\"]=a[\"[object Int8Array]\"]=a[\"[object Int16Array]\"]=a[\"[object Int32Array]\"]=a[\"[object Uint8Array]\"]=a[\"[object Uint8ClampedArray]\"]=a[\"[object Uint16Array]\"]=a[\"[object Uint32Array]\"]=!0,a[\"[object Arguments]\"]=a[\"[object Array]\"]=a[\"[object ArrayBuffer]\"]=a[\"[object Boolean]\"]=a[\"[object DataView]\"]=a[\"[object Date]\"]=a[\"[object Error]\"]=a[\"[object Function]\"]=a[\"[object Map]\"]=a[\"[object Number]\"]=a[\"[object Object]\"]=a[\"[object RegExp]\"]=a[\"[object Set]\"]=a[\"[object String]\"]=a[\"[object WeakMap]\"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},function(e,t,n){\"use strict\";var r=n(105),i=n(557),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}},function(e,t,n){\"use strict\";var r=n(18),i=n(105),o=n(558),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)(\"constructor\"!=s||!t&&a.call(e,s))&&n.push(s);return n}},function(e,t,n){\"use strict\";var r=n(495),i=n(533),o=n(269);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){\"use strict\";var r=n(251),i=n(583),o=n(584),a=n(173),s=n(267),u=n(269),l=n(108);e.exports=function(e,t){return a(e)&&s(t)?u(l(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,3)}}},function(e,t,n){\"use strict\";var r=n(99),i=n(247),o=n(248),a=n(505),s=n(18),u=n(47);e.exports=function e(t,n,l,c,f){t!==n&&o(n,(function(o,u){if(s(o))f||(f=new r),a(t,n,u,l,e,c,f);else{var p=c?c(t[u],o,u+\"\",t,n,f):void 0;void 0===p&&(p=o),i(t,u,p)}}),u)}},function(e,t,n){\"use strict\";var r=n(247),i=n(256),o=n(257),a=n(168),s=n(266),u=n(112),l=n(6),c=n(585),f=n(113),p=n(175),d=n(18),h=n(275),m=n(177),y=n(599);e.exports=function(e,t,n,v,g,b,x){var _=e[n],w=t[n],E=x.get(w);if(E)r(e,n,E);else{var S=b?b(_,w,n+\"\",e,t,x):void 0,k=void 0===S;if(k){var A=l(w),C=!A&&f(w),T=!A&&!C&&m(w);S=w,A||C||T?l(_)?S=_:c(_)?S=a(_):C?(k=!1,S=i(w,!0)):T?(k=!1,S=o(w,!0)):S=[]:h(w)||u(w)?(S=_,u(_)?S=y(_):(!d(_)||v&&p(_))&&(S=s(w))):k=!1}k&&(x.set(w,S),g(S,w,v,b,x),x.delete(w)),r(e,n,S)}}},function(e,t,n){\"use strict\";var r=n(60),i=n(61),o=n(252),a=n(512),s=n(102),u=n(522),l=n(110);e.exports=function(e,t,n){var c=-1;t=r(t.length?t:[l],s(i));var f=o(e,(function(e,n,i){return{criteria:r(t,(function(t){return t(e)})),index:++c,value:e}}));return a(f,(function(e,t){return u(e,t,n)}))}},function(e,t){\"use strict\";e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},function(e,t,n){\"use strict\";var r=n(249);e.exports=function(e){return function(t){return r(t,e)}}},function(e,t,n){\"use strict\";var r=n(60),i=n(166),o=n(492),a=n(102),s=n(168),u=Array.prototype.splice;e.exports=function(e,t,n,l){var c=l?o:i,f=-1,p=t.length,d=e;for(e===t&&(t=s(t)),n&&(d=r(e,a(n)));++f<p;)for(var h=0,m=t[f],y=n?n(m):m;(h=c(d,y,h,l))>-1;)d!==e&&u.call(d,h,1),u.call(e,h,1);return e}},function(e,t){\"use strict\";var n=Math.floor;e.exports=function(e,t){var r=\"\";if(!e||t<1||t>9007199254740991)return r;do{t%2&&(r+=e),(t=n(t/2))&&(e+=e)}while(t);return r}},function(e,t,n){\"use strict\";var r=n(576),i=n(259),o=n(110),a=i?function(e,t){return i(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},function(e,t){\"use strict\";e.exports=function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}},function(e,t){\"use strict\";e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},function(e,t,n){\"use strict\";var r=n(242),i=n(480),o=n(481),a=n(254),s=n(528),u=n(107);e.exports=function(e,t,n){var l=-1,c=i,f=e.length,p=!0,d=[],h=d;if(n)p=!1,c=o;else if(f>=200){var m=t?null:s(e);if(m)return u(m);p=!1,c=a,h=new r}else h=t?[]:d;e:for(;++l<f;){var y=e[l],v=t?t(y):y;if(y=n||0!==y?y:0,p&&v==v){for(var g=h.length;g--;)if(h[g]===v)continue e;t&&h.push(v),d.push(y)}else c(h,v,n)||(h!==d&&h.push(v),d.push(y))}return d}},function(e,t,n){\"use strict\";var r=n(60);e.exports=function(e,t){return r(t,(function(t){return e[t]}))}},function(e,t,n){\"use strict\";var r=n(167);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},function(e,t,n){\"use strict\";var r=n(476),i=n(246),o=n(268);e.exports=function(e,t,n){var a=t?n(o(e),1):o(e);return i(a,r,new e.constructor)}},function(e,t){\"use strict\";var n=/\\w*$/;e.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},function(e,t,n){\"use strict\";var r=n(477),i=n(246),o=n(107);e.exports=function(e,t,n){var a=t?n(o(e),1):o(e);return i(a,r,new e.constructor)}},function(e,t,n){\"use strict\";var r=n(45),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},function(e,t,n){\"use strict\";var r=n(62);e.exports=function(e,t){if(e!==t){var n=void 0!==e,i=null===e,o=e==e,a=r(e),s=void 0!==t,u=null===t,l=t==t,c=r(t);if(!u&&!c&&!a&&e>t||a&&s&&l&&!u&&!c||i&&s&&l||!n&&l||!o)return 1;if(!i&&!a&&!c&&e<t||c&&n&&o&&!i&&!a||u&&n&&o||!s&&o||!l)return-1}return 0}},function(e,t,n){\"use strict\";var r=n(521);e.exports=function(e,t,n){for(var i=-1,o=e.criteria,a=t.criteria,s=o.length,u=n.length;++i<s;){var l=r(o[i],a[i]);if(l)return i>=u?l:l*(\"desc\"==n[i]?-1:1)}return e.index-t.index}},function(e,t,n){\"use strict\";var r=n(31),i=n(170);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){\"use strict\";var r=n(31),i=n(263);e.exports=function(e,t){return r(e,i(e),t)}},function(e,t,n){\"use strict\";var r=n(17)[\"__core-js_shared__\"];e.exports=r},function(e,t,n){\"use strict\";var r=n(24);e.exports=function(e,t){return function(n,i){if(null==n)return n;if(!r(n))return e(n,i);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==i(s[a],a,s););return n}}},function(e,t){\"use strict\";e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}},function(e,t,n){\"use strict\";var r=n(241),i=n(591),o=n(107),a=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:i;e.exports=a},function(e,t,n){\"use strict\";var r=n(46),i=Object.prototype,o=i.hasOwnProperty;e.exports=function(e,t,n,a){return void 0===e||r(e,i[n])&&!o.call(a,n)?t:e}},function(e,t,n){\"use strict\";var r=n(45),i=n(243),o=n(46),a=n(260),s=n(268),u=n(107),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;e.exports=function(e,t,n,r,l,f,p){switch(n){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||!f(new i(e),new i(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return o(+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=s;case\"[object Set]\":var h=1&r;if(d||(d=u),e.size!=t.size&&!h)return!1;var m=p.get(e);if(m)return m==t;r|=2,p.set(e,t);var y=a(d(e),d(t),r,l,f,p);return p.delete(e),y;case\"[object Symbol]\":if(c)return c.call(e)==c.call(t)}return!1}},function(e,t,n){\"use strict\";var r=n(262),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,a,s){var u=1&n,l=r(e),c=l.length;if(c!=r(t).length&&!u)return!1;for(var f=c;f--;){var p=l[f];if(!(u?p in t:i.call(t,p)))return!1}var d=s.get(e);if(d&&s.get(t))return d==t;var h=!0;s.set(e,t),s.set(t,e);for(var m=u;++f<c;){var y=e[p=l[f]],v=t[p];if(o)var g=u?o(v,y,p,t,e,s):o(y,v,p,e,t,s);if(!(void 0===g?y===v||a(y,v,n,o,s):g)){h=!1;break}m||(m=\"constructor\"==p)}if(h&&!m){var b=e.constructor,x=t.constructor;b==x||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof b&&b instanceof b&&\"function\"==typeof x&&x instanceof x||(h=!1)}return s.delete(e),s.delete(t),h}},function(e,t,n){\"use strict\";var r=n(250),i=n(263),o=n(47);e.exports=function(e){return r(e,o,i)}},function(e,t,n){\"use strict\";var r=n(267),i=n(32);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},function(e,t,n){\"use strict\";var r=n(45),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},function(e,t){\"use strict\";e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){\"use strict\";var r=n(106);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},function(e,t){\"use strict\";e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},function(e,t,n){\"use strict\";var r=n(106),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},function(e,t,n){\"use strict\";var r=n(106),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},function(e,t,n){\"use strict\";var r=n(106);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?\"__lodash_hash_undefined__\":t,this}},function(e,t){\"use strict\";var n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=e.length,r=e.constructor(t);return t&&\"string\"==typeof e[0]&&n.call(e,\"index\")&&(r.index=e.index,r.input=e.input),r}},function(e,t,n){\"use strict\";var r=n(167),i=n(516),o=n(517),a=n(518),s=n(519),u=n(520),l=n(257);e.exports=function(e,t,n,c){var f=e.constructor;switch(t){case\"[object ArrayBuffer]\":return r(e);case\"[object Boolean]\":case\"[object Date]\":return new f(+e);case\"[object DataView]\":return i(e,c);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 l(e,c);case\"[object Map]\":return o(e,c,n);case\"[object Number]\":case\"[object String]\":return new f(e);case\"[object RegExp]\":return a(e);case\"[object Set]\":return s(e,c,n);case\"[object Symbol]\":return u(e)}}},function(e,t,n){\"use strict\";var r=n(45),i=n(112),o=n(6),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(a&&e&&e[a])}},function(e,t){\"use strict\";var n=\"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.exports=function(e){var t=void 0===e?\"undefined\":n(e);return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},function(e,t,n){\"use strict\";var r,i=n(525),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+r:\"\";e.exports=function(e){return!!o&&o in e}},function(e,t){\"use strict\";e.exports=function(){this.__data__=[],this.size=0}},function(e,t,n){\"use strict\";var r=n(100),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},function(e,t,n){\"use strict\";var r=n(100);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},function(e,t,n){\"use strict\";var r=n(100);e.exports=function(e){return r(this.__data__,e)>-1}},function(e,t,n){\"use strict\";var r=n(100);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},function(e,t,n){\"use strict\";var r=n(473),i=n(98),o=n(159);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},function(e,t,n){\"use strict\";var r=n(104);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t,n){\"use strict\";var r=n(104);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){\"use strict\";var r=n(104);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){\"use strict\";var r=n(104);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},function(e,t,n){\"use strict\";var r=n(589);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},function(e,t,n){\"use strict\";var r=n(271)(Object.keys,Object);e.exports=r},function(e,t){\"use strict\";e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},function(e,t){\"use strict\";var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){\"use strict\";var r=n(244),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),u=Array(s);++a<s;)u[a]=o[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=o[a];return l[t]=n(u),r(e,this,l)}}},function(e,t){\"use strict\";e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},function(e,t){\"use strict\";e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){\"use strict\";var r=n(511),i=n(564)(r);e.exports=i},function(e,t){\"use strict\";var n=Date.now;e.exports=function(e){var t=0,r=0;return function(){var i=n(),o=16-(i-r);if(r=i,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){\"use strict\";var r=n(98);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){\"use strict\";e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){\"use strict\";e.exports=function(e){return this.__data__.get(e)}},function(e,t){\"use strict\";e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){\"use strict\";var r=n(98),i=n(159),o=n(160);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},function(e,t){\"use strict\";e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},function(e,t,n){\"use strict\";var r=n(556),i=/^\\./,o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,a=/\\\\(\\\\)?/g,s=r((function(e){var t=[];return i.test(e)&&t.push(\"\"),e.replace(o,(function(e,n,r,i){t.push(r?i.replace(a,\"$1\"):n||e)})),t}));e.exports=s},function(e,t,n){\"use strict\";var r=n(31),i=n(103),o=n(47),a=i((function(e,t){r(t,o(t),e)}));e.exports=a},function(e,t,n){\"use strict\";var r=n(31),i=n(103),o=n(47),a=i((function(e,t,n,i){r(t,o(t),e,i)}));e.exports=a},function(e,t,n){\"use strict\";var r=n(164);e.exports=function(e){return r(e,5)}},function(e,t,n){\"use strict\";var r=n(164);e.exports=function(e,t){return r(e,5,t=\"function\"==typeof t?t:void 0)}},function(e,t){\"use strict\";e.exports=function(e){return function(){return e}}},function(e,t,n){\"use strict\";var r=n(114),i=/[\\\\^$.*+?()[\\]{}|]/g,o=RegExp(i.source);e.exports=function(e){return(e=r(e))&&o.test(e)?e.replace(i,\"\\\\$&\"):e}},function(e,t,n){\"use strict\";e.exports=n(572)},function(e,t,n){\"use strict\";var r=n(258)(n(580));e.exports=r},function(e,t,n){\"use strict\";var r=n(165),i=n(61),o=n(48),a=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return-1;var u=null==n?0:o(n);return u<0&&(u=a(s+u,0)),r(e,i(t,3),u)}},function(e,t,n){\"use strict\";var r=n(258)(n(582));e.exports=r},function(e,t,n){\"use strict\";var r=n(165),i=n(61),o=n(48),a=Math.max,s=Math.min;e.exports=function(e,t,n){var u=null==e?0:e.length;if(!u)return-1;var l=u-1;return void 0!==n&&(l=o(n),l=n<0?a(u+l,0):s(l,u-1)),r(e,i(t,3),l,!0)}},function(e,t,n){\"use strict\";var r=n(249);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},function(e,t,n){\"use strict\";var r=n(491),i=n(265);e.exports=function(e,t){return null!=e&&i(e,t,r)}},function(e,t,n){\"use strict\";var r=n(24),i=n(25);e.exports=function(e){return i(e)&&r(e)}},function(e,t,n){\"use strict\";var r=n(48);e.exports=function(e){return\"number\"==typeof e&&e==r(e)}},function(e,t,n){\"use strict\";var r=n(30),i=n(6),o=n(25);e.exports=function(e){return\"string\"==typeof e||!i(e)&&o(e)&&\"[object String]\"==r(e)}},function(e,t,n){\"use strict\";var r=n(60),i=n(61),o=n(252),a=n(6);e.exports=function(e,t){return(a(e)?r:o)(e,i(t,3))}},function(e,t,n){\"use strict\";var r=n(160);function i(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){\"use strict\";var r=n(504),i=n(103)((function(e,t,n,i){r(e,t,n,i)}));e.exports=i},function(e,t){\"use strict\";e.exports=function(){}},function(e,t,n){\"use strict\";var r=n(507),i=n(508),o=n(173),a=n(108);e.exports=function(e){return o(e)?r(a(e)):i(e)}},function(e,t,n){\"use strict\";var r=n(509);e.exports=function(e,t){return e&&e.length&&t&&t.length?r(e,t):e}},function(e,t,n){\"use strict\";var r=n(488),i=n(506),o=n(101),a=n(172),s=o((function(e,t){if(null==e)return[];var n=t.length;return n>1&&a(e,t[0],t[1])?t=[]:n>2&&a(t[0],t[1],t[2])&&(t=[t[0]]),i(e,r(t,1),[])}));e.exports=s},function(e,t,n){\"use strict\";var r=n(485),i=n(253),o=n(48),a=n(114);e.exports=function(e,t,n){return e=a(e),n=null==n?0:r(o(n),0,e.length),t=i(t),e.slice(n,n+t.length)==t}},function(e,t){\"use strict\";e.exports=function(){return!1}},function(e,t,n){\"use strict\";var r=n(598);e.exports=function(e){return e?Infinity===(e=r(e))||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},function(e,t,n){\"use strict\";var r=n(18),i=n(62),o=/^\\s+|\\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(i(e))return NaN;if(r(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(o,\"\");var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}},function(e,t,n){\"use strict\";var r=n(31),i=n(47);e.exports=function(e){return r(e,i(e))}},function(e,t,n){\"use strict\";var r=n(514);e.exports=function(e){return e&&e.length?r(e):[]}},function(e,t,n){\"use strict\";e.exports=p,p.Minimatch=d;var r={sep:\"/\"};try{r=n(19)}catch(e){}var i=p.GLOBSTAR=d.GLOBSTAR={},o=n(398),a={\"!\":{open:\"(?:(?!(?:\",close:\"))[^/]*?)\"},\"?\":{open:\"(?:\",close:\")?\"},\"+\":{open:\"(?:\",close:\")+\"},\"*\":{open:\"(?:\",close:\")*\"},\"@\":{open:\"(?:\",close:\")\"}},s=\"[^/]\",u=\"[^/]*?\",l=\"().*{}+?[]^$\\\\!\".split(\"\").reduce((function(e,t){return e[t]=!0,e}),{}),c=/\\/+/;function f(e,t){e=e||{},t=t||{};var n={};return Object.keys(t).forEach((function(e){n[e]=t[e]})),Object.keys(e).forEach((function(t){n[t]=e[t]})),n}function p(e,t,n){if(\"string\"!=typeof t)throw new TypeError(\"glob pattern string required\");return n||(n={}),!(!n.nocomment&&\"#\"===t.charAt(0))&&(\"\"===t.trim()?\"\"===e:new d(t,n).match(e))}function d(e,t){if(!(this instanceof d))return new d(e,t);if(\"string\"!=typeof e)throw new TypeError(\"glob pattern string required\");t||(t={}),e=e.trim(),\"/\"!==r.sep&&(e=e.split(r.sep).join(\"/\")),this.options=t,this.set=[],this.pattern=e,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}function h(e,t){if(t||(t=this instanceof d?this.options:{}),void 0===(e=void 0===e?this.pattern:e))throw new TypeError(\"undefined pattern\");return t.nobrace||!e.match(/\\{.*\\}/)?[e]:o(e)}p.filter=function(e,t){return t=t||{},function(n,r,i){return p(n,e,t)}},p.defaults=function(e){if(!e||!Object.keys(e).length)return p;var t=p,n=function(n,r,i){return t.minimatch(n,r,f(e,i))};return n.Minimatch=function(n,r){return new t.Minimatch(n,f(e,r))},n},d.defaults=function(e){return e&&Object.keys(e).length?p.defaults(e).Minimatch:d},d.prototype.debug=function(){},d.prototype.make=function(){if(!this._made){var e=this.pattern,t=this.options;if(t.nocomment||\"#\"!==e.charAt(0))if(e){this.parseNegate();var n=this.globSet=this.braceExpand();t.debug&&(this.debug=console.error),this.debug(this.pattern,n),n=this.globParts=n.map((function(e){return e.split(c)})),this.debug(this.pattern,n),n=n.map((function(e,t,n){return e.map(this.parse,this)}),this),this.debug(this.pattern,n),n=n.filter((function(e){return-1===e.indexOf(!1)})),this.debug(this.pattern,n),this.set=n}else this.empty=!0;else this.comment=!0}},d.prototype.parseNegate=function(){var e=this.pattern,t=!1,n=0;if(!this.options.nonegate){for(var r=0,i=e.length;r<i&&\"!\"===e.charAt(r);r++)t=!t,n++;n&&(this.pattern=e.substr(n)),this.negate=t}},p.braceExpand=function(e,t){return h(e,t)},d.prototype.braceExpand=h,d.prototype.parse=function(e,t){if(e.length>65536)throw new TypeError(\"pattern is too long\");var n=this.options;if(!n.noglobstar&&\"**\"===e)return i;if(\"\"===e)return\"\";var r,o=\"\",c=!!n.nocase,f=!1,p=[],d=[],h=!1,y=-1,v=-1,g=\".\"===e.charAt(0)?\"\":n.dot?\"(?!(?:^|\\\\/)\\\\.{1,2}(?:$|\\\\/))\":\"(?!\\\\.)\",b=this;function x(){if(r){switch(r){case\"*\":o+=u,c=!0;break;case\"?\":o+=s,c=!0;break;default:o+=\"\\\\\"+r}b.debug(\"clearStateChar %j %j\",r,o),r=!1}}for(var _,w=0,E=e.length;w<E&&(_=e.charAt(w));w++)if(this.debug(\"%s\\t%s %s %j\",e,w,o,_),f&&l[_])o+=\"\\\\\"+_,f=!1;else switch(_){case\"/\":return!1;case\"\\\\\":x(),f=!0;continue;case\"?\":case\"*\":case\"+\":case\"@\":case\"!\":if(this.debug(\"%s\\t%s %s %j <-- stateChar\",e,w,o,_),h){this.debug(\"  in class\"),\"!\"===_&&w===v+1&&(_=\"^\"),o+=_;continue}b.debug(\"call clearStateChar %j\",r),x(),r=_,n.noext&&x();continue;case\"(\":if(h){o+=\"(\";continue}if(!r){o+=\"\\\\(\";continue}p.push({type:r,start:w-1,reStart:o.length,open:a[r].open,close:a[r].close}),o+=\"!\"===r?\"(?:(?!(?:\":\"(?:\",this.debug(\"plType %j %j\",r,o),r=!1;continue;case\")\":if(h||!p.length){o+=\"\\\\)\";continue}x(),c=!0;var S=p.pop();o+=S.close,\"!\"===S.type&&d.push(S),S.reEnd=o.length;continue;case\"|\":if(h||!p.length||f){o+=\"\\\\|\",f=!1;continue}x(),o+=\"|\";continue;case\"[\":if(x(),h){o+=\"\\\\\"+_;continue}h=!0,v=w,y=o.length,o+=_;continue;case\"]\":if(w===v+1||!h){o+=\"\\\\\"+_,f=!1;continue}if(h){var k=e.substring(v+1,w);try{RegExp(\"[\"+k+\"]\")}catch(e){var A=this.parse(k,m);o=o.substr(0,y)+\"\\\\[\"+A[0]+\"\\\\]\",c=c||A[1],h=!1;continue}}c=!0,h=!1,o+=_;continue;default:x(),f?f=!1:!l[_]||\"^\"===_&&h||(o+=\"\\\\\"),o+=_}for(h&&(k=e.substr(v+1),A=this.parse(k,m),o=o.substr(0,y)+\"\\\\[\"+A[0],c=c||A[1]),S=p.pop();S;S=p.pop()){var C=o.slice(S.reStart+S.open.length);this.debug(\"setting tail\",o,S),C=C.replace(/((?:\\\\{2}){0,64})(\\\\?)\\|/g,(function(e,t,n){return n||(n=\"\\\\\"),t+t+n+\"|\"})),this.debug(\"tail=%j\\n   %s\",C,C,S,o);var T=\"*\"===S.type?u:\"?\"===S.type?s:\"\\\\\"+S.type;c=!0,o=o.slice(0,S.reStart)+T+\"\\\\(\"+C}x(),f&&(o+=\"\\\\\\\\\");var D=!1;switch(o.charAt(0)){case\".\":case\"[\":case\"(\":D=!0}for(var M=d.length-1;M>-1;M--){var P=d[M],O=o.slice(0,P.reStart),L=o.slice(P.reStart,P.reEnd-8),N=o.slice(P.reEnd-8,P.reEnd),F=o.slice(P.reEnd);N+=F;var R=O.split(\"(\").length-1,I=F;for(w=0;w<R;w++)I=I.replace(/\\)[+*?]?/,\"\");var j=\"\";\"\"===(F=I)&&t!==m&&(j=\"$\"),o=O+L+F+j+N}if(\"\"!==o&&c&&(o=\"(?=.)\"+o),D&&(o=g+o),t===m)return[o,c];if(!c)return e.replace(/\\\\(.)/g,\"$1\");var B=n.nocase?\"i\":\"\";try{var q=new RegExp(\"^\"+o+\"$\",B)}catch(e){return new RegExp(\"$.\")}return q._glob=e,q._src=o,q};var m={};p.makeRe=function(e,t){return new d(e,t||{}).makeRe()},d.prototype.makeRe=function(){if(this.regexp||!1===this.regexp)return this.regexp;var e=this.set;if(!e.length)return this.regexp=!1,this.regexp;var t=this.options,n=t.noglobstar?u:t.dot?\"(?:(?!(?:\\\\/|^)(?:\\\\.{1,2})($|\\\\/)).)*?\":\"(?:(?!(?:\\\\/|^)\\\\.).)*?\",r=t.nocase?\"i\":\"\",o=e.map((function(e){return e.map((function(e){return e===i?n:\"string\"==typeof e?e.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\"\\\\$&\"):e._src})).join(\"\\\\/\")})).join(\"|\");o=\"^(?:\"+o+\")$\",this.negate&&(o=\"^(?!\"+o+\").*$\");try{this.regexp=new RegExp(o,r)}catch(e){this.regexp=!1}return this.regexp},p.match=function(e,t,n){var r=new d(t,n=n||{});return e=e.filter((function(e){return r.match(e)})),r.options.nonull&&!e.length&&e.push(t),e},d.prototype.match=function(e,t){if(this.debug(\"match\",e,this.pattern),this.comment)return!1;if(this.empty)return\"\"===e;if(\"/\"===e&&t)return!0;var n=this.options;\"/\"!==r.sep&&(e=e.split(r.sep).join(\"/\")),e=e.split(c),this.debug(this.pattern,\"split\",e);var i,o,a=this.set;for(this.debug(this.pattern,\"set\",a),o=e.length-1;o>=0&&!(i=e[o]);o--);for(o=0;o<a.length;o++){var s=a[o],u=e;if(n.matchBase&&1===s.length&&(u=[i]),this.matchOne(u,s,t))return!!n.flipNegate||!this.negate}return!n.flipNegate&&this.negate},d.prototype.matchOne=function(e,t,n){var r=this.options;this.debug(\"matchOne\",{this:this,file:e,pattern:t}),this.debug(\"matchOne\",e.length,t.length);for(var o=0,a=0,s=e.length,u=t.length;o<s&&a<u;o++,a++){this.debug(\"matchOne loop\");var l,c=t[a],f=e[o];if(this.debug(t,c,f),!1===c)return!1;if(c===i){this.debug(\"GLOBSTAR\",[t,c,f]);var p=o,d=a+1;if(d===u){for(this.debug(\"** at the end\");o<s;o++)if(\".\"===e[o]||\"..\"===e[o]||!r.dot&&\".\"===e[o].charAt(0))return!1;return!0}for(;p<s;){var h=e[p];if(this.debug(\"\\nglobstar while\",e,p,t,d,h),this.matchOne(e.slice(p),t.slice(d),n))return this.debug(\"globstar found match!\",p,s,h),!0;if(\".\"===h||\"..\"===h||!r.dot&&\".\"===h.charAt(0)){this.debug(\"dot detected!\",e,p,t,d);break}this.debug(\"globstar swallow a segment, and continue\"),p++}return!(!n||(this.debug(\"\\n>>> no match, partial?\",e,p,t,d),p!==s))}if(\"string\"==typeof c?(l=r.nocase?f.toLowerCase()===c.toLowerCase():f===c,this.debug(\"string match\",c,f,l)):(l=f.match(c),this.debug(\"pattern match\",c,f,l)),!l)return!1}if(o===s&&a===u)return!0;if(o===s)return n;if(a===u)return o===s-1&&\"\"===e[o];throw new Error(\"wtf?\")}},function(e,t){\"use strict\";var n=\"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},r=1e3,i=60*r,o=60*i,a=24*o;function s(e,t,n){if(!(e<t))return e<1.5*t?Math.floor(e/t)+\" \"+n:Math.ceil(e/t)+\" \"+n+\"s\"}e.exports=function(e,t){t=t||{};var u,l=void 0===e?\"undefined\":n(e);if(\"string\"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]);switch((t[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return 315576e5*n;case\"days\":case\"day\":case\"d\":return n*a;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return n*o;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return n*i;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return n*r;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return n;default:return}}}}(e);if(\"number\"===l&&!1===isNaN(e))return t.long?s(u=e,a,\"day\")||s(u,o,\"hour\")||s(u,i,\"minute\")||s(u,r,\"second\")||u+\" ms\":function(e){return e>=a?Math.round(e/a)+\"d\":e>=o?Math.round(e/o)+\"h\":e>=i?Math.round(e/i)+\"m\":e>=r?Math.round(e/r)+\"s\":e+\"ms\"}(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))}},function(e,t){\"use strict\";e.exports=Number.isNaN||function(e){return e!=e}},function(e,t,n){(function(t){\"use strict\";function n(e){return\"/\"===e.charAt(0)}function r(e){var t=/^([a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/]+[^\\\\\\/]+)?([\\\\\\/])?([\\s\\S]*?)$/.exec(e),n=t[1]||\"\",r=Boolean(n&&\":\"!==n.charAt(1));return Boolean(t[2]||r)}e.exports=\"win32\"===t.platform?r:n,e.exports.posix=n,e.exports.win32=r}).call(t,n(8))},function(e,t,n){\"use strict\";var r,i=(r=n(14))&&r.__esModule?r:{default:r},o=s(n(1)),a=s(n(116));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var u=Object.prototype.hasOwnProperty;t.hoist=function(e){o.assertFunction(e.node);var t={};function n(e,n){o.assertVariableDeclaration(e);var r=[];return e.declarations.forEach((function(e){t[e.id.name]=o.identifier(e.id.name),e.init?r.push(o.assignmentExpression(\"=\",e.id,e.init)):n&&r.push(e.id)})),0===r.length?null:1===r.length?r[0]:o.sequenceExpression(r)}e.get(\"body\").traverse({VariableDeclaration:{exit:function(e){var t=n(e.node,!1);null===t?e.remove():a.replaceWithOrRemove(e,o.expressionStatement(t)),e.skip()}},ForStatement:function(e){var t=e.node.init;o.isVariableDeclaration(t)&&a.replaceWithOrRemove(e.get(\"init\"),n(t,!1))},ForXStatement:function(e){var t=e.get(\"left\");t.isVariableDeclaration()&&a.replaceWithOrRemove(t,n(t.node,!0))},FunctionDeclaration:function(e){var n=e.node;t[n.id.name]=n.id;var r=o.expressionStatement(o.assignmentExpression(\"=\",n.id,o.functionExpression(n.id,n.params,n.body,n.generator,n.expression)));e.parentPath.isBlockStatement()?(e.parentPath.unshiftContainer(\"body\",r),e.remove()):a.replaceWithOrRemove(e,r),e.skip()},FunctionExpression:function(e){e.skip()}});var r={};e.get(\"params\").forEach((function(e){var t=e.node;o.isIdentifier(t)&&(r[t.name]=t)}));var s=[];return(0,i.default)(t).forEach((function(e){u.call(r,e)||s.push(o.variableDeclarator(t[e],null))})),0===s.length?null:o.variableDeclaration(\"var\",s)}},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(){return n(610)}},function(e,t,n){\"use strict\";var r,i=(r=n(64))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),a=n(117);function s(){i.default.ok(this instanceof s)}function u(e){s.call(this),o.assertLiteral(e),this.returnLoc=e}function l(e,t,n){s.call(this),o.assertLiteral(e),o.assertLiteral(t),n?o.assertIdentifier(n):n=null,this.breakLoc=e,this.continueLoc=t,this.label=n}function c(e){s.call(this),o.assertLiteral(e),this.breakLoc=e}function f(e,t,n){s.call(this),o.assertLiteral(e),t?i.default.ok(t instanceof p):t=null,n?i.default.ok(n instanceof d):n=null,i.default.ok(t||n),this.firstLoc=e,this.catchEntry=t,this.finallyEntry=n}function p(e,t){s.call(this),o.assertLiteral(e),o.assertIdentifier(t),this.firstLoc=e,this.paramId=t}function d(e,t){s.call(this),o.assertLiteral(e),o.assertLiteral(t),this.firstLoc=e,this.afterLoc=t}function h(e,t){s.call(this),o.assertLiteral(e),o.assertIdentifier(t),this.breakLoc=e,this.label=t}function m(e){i.default.ok(this instanceof m);var t=n(283).Emitter;i.default.ok(e instanceof t),this.emitter=e,this.entryStack=[new u(e.finalLoc)]}(0,a.inherits)(u,s),t.FunctionEntry=u,(0,a.inherits)(l,s),t.LoopEntry=l,(0,a.inherits)(c,s),t.SwitchEntry=c,(0,a.inherits)(f,s),t.TryEntry=f,(0,a.inherits)(p,s),t.CatchEntry=p,(0,a.inherits)(d,s),t.FinallyEntry=d,(0,a.inherits)(h,s),t.LabeledEntry=h;var y=m.prototype;t.LeapManager=m,y.withEntry=function(e,t){i.default.ok(e instanceof s),this.entryStack.push(e);try{t.call(this.emitter)}finally{var n=this.entryStack.pop();i.default.strictEqual(n,e)}},y._findLeapLocation=function(e,t){for(var n=this.entryStack.length-1;n>=0;--n){var r=this.entryStack[n],i=r[e];if(i)if(t){if(r.label&&r.label.name===t.name)return i}else if(!(r instanceof h))return i}return null},y.getBreakLoc=function(e){return this._findLeapLocation(\"breakLoc\",e)},y.getContinueLoc=function(e){return this._findLeapLocation(\"continueLoc\",e)}},function(e,t,n){\"use strict\";var r,i=(r=n(64))&&r.__esModule?r:{default:r},o=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(1)),a=n(281).makeAccessor(),s=Object.prototype.hasOwnProperty;function u(e,t){function n(e){o.assertNode(e);var t=!1;function n(e){return t||(Array.isArray(e)?e.some(n):o.isNode(e)&&(i.default.strictEqual(t,!1),t=r(e))),t}var a=o.VISITOR_KEYS[e.type];if(a)for(var s=0;s<a.length;s++)n(e[a[s]]);return t}function r(r){o.assertNode(r);var i=a(r);return s.call(i,e)?i[e]:s.call(l,r.type)?i[e]=!1:s.call(t,r.type)?i[e]=!0:i[e]=n(r)}return r.onlyChildren=n,r}var l={FunctionExpression:!0,ArrowFunctionExpression:!0},c={CallExpression:!0,ForInStatement:!0,UnaryExpression:!0,BinaryExpression:!0,AssignmentExpression:!0,UpdateExpression:!0,NewExpression:!0},f={YieldExpression:!0,BreakStatement:!0,ContinueStatement:!0,ReturnStatement:!0,ThrowStatement:!0};for(var p in f)s.call(f,p)&&(c[p]=f[p]);t.hasSideEffects=u(\"hasSideEffects\",c),t.containsLeap=u(\"containsLeap\",f)},function(e,t,n){\"use strict\";t.__esModule=!0,t.default=function(e){if(!e.node||!r.isFunction(e.node))throw new Error(\"replaceShorthandObjectMethod can only be called on Function AST node paths.\");if(!r.isObjectMethod(e.node))return e;if(!e.node.generator)return e;var t=e.node.params.map((function(e){return r.cloneDeep(e)})),n=r.functionExpression(null,t,r.cloneDeep(e.node.body),e.node.generator,e.node.async);return i.replaceWithOrRemove(e,r.objectProperty(r.cloneDeep(e.node.key),n,e.node.computed,!1)),e.get(\"value\")};var r=o(n(1)),i=o(n(116));function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}},function(e,t,n){\"use strict\";var r=c(n(64)),i=l(n(1)),o=n(605),a=n(283),s=c(n(609)),u=l(n(116));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function c(e){return e&&e.__esModule?e:{default:e}}t.name=\"regenerator-transform\",t.visitor={Function:{exit:function(e,t){var n=e.node;if(n.generator){if(n.async){if(!1===t.opts.asyncGenerators)return}else if(!1===t.opts.generators)return}else{if(!n.async)return;if(!1===t.opts.async)return}n=(e=(0,s.default)(e)).node;var l=e.scope.generateUidIdentifier(\"context\"),c=e.scope.generateUidIdentifier(\"args\");e.ensureBlock();var m=e.get(\"body\");n.async&&m.traverse(h),m.traverse(d,{context:l});var y=[],v=[];m.get(\"body\").forEach((function(e){var t=e.node;i.isExpressionStatement(t)&&i.isStringLiteral(t.expression)||t&&null!=t._blockHoist?y.push(t):v.push(t)})),y.length>0&&(m.node.body=v);var g=function(e){var t=e.node;return i.assertFunction(t),t.id||(t.id=e.scope.parent.generateUidIdentifier(\"callee\")),t.generator&&i.isFunctionDeclaration(t)?function(e){var t=e.node;i.assertIdentifier(t.id);var n=e.findParent((function(e){return e.isProgram()||e.isBlockStatement()}));if(!n)return t.id;var o=n.node;r.default.ok(Array.isArray(o.body));var a=f(o);a.decl||(a.decl=i.variableDeclaration(\"var\",[]),n.unshiftContainer(\"body\",a.decl),a.declPath=n.get(\"body.0\")),r.default.strictEqual(a.declPath.node,a.decl);var s=n.scope.generateUidIdentifier(\"marked\"),l=i.callExpression(u.runtimeProperty(\"mark\"),[t.id]),c=a.decl.declarations.push(i.variableDeclarator(s,l))-1,p=a.declPath.get(\"declarations.\"+c+\".init\");return r.default.strictEqual(p.node,l),p.addComment(\"leading\",\"#__PURE__\"),s}(e):t.id}(e);i.assertIdentifier(n.id);var b=i.identifier(n.id.name+\"$\"),x=(0,o.hoist)(e),_=function(e,t){var n={didRenameArguments:!1,argsId:t};return e.traverse(p,n),n.didRenameArguments}(e,c);if(_){x=x||i.variableDeclaration(\"var\",[]);var w=i.identifier(\"arguments\");w._shadowedFunctionLiteral=e,x.declarations.push(i.variableDeclarator(c,w))}var E=new a.Emitter(l);E.explode(e.get(\"body\")),x&&x.declarations.length>0&&y.push(x);var S=[E.getContextFunction(b),n.generator?g:i.nullLiteral(),i.thisExpression()],k=E.getTryLocsList();k&&S.push(k);var A=i.callExpression(u.runtimeProperty(n.async?\"async\":\"wrap\"),S);y.push(i.returnStatement(A)),n.body=i.blockStatement(y);var C=m.node.directives;C&&(n.body.directives=C);var T=n.generator;T&&(n.generator=!1),n.async&&(n.async=!1),T&&i.isExpression(n)&&(u.replaceWithOrRemove(e,i.callExpression(u.runtimeProperty(\"mark\"),[n])),e.addComment(\"leading\",\"#__PURE__\")),e.requeue()}}};var f=n(281).makeAccessor(),p={\"FunctionExpression|FunctionDeclaration\":function(e){e.skip()},Identifier:function(e,t){\"arguments\"===e.node.name&&u.isReference(e)&&(u.replaceWithOrRemove(e,t.argsId),t.didRenameArguments=!0)}},d={MetaProperty:function(e){var t=e.node;\"function\"===t.meta.name&&\"sent\"===t.property.name&&u.replaceWithOrRemove(e,i.memberExpression(this.context,i.identifier(\"_sent\")))}},h={Function:function(e){e.skip()},AwaitExpression:function(e){var t=e.node.argument;u.replaceWithOrRemove(e,i.yieldExpression(i.callExpression(u.runtimeProperty(\"awrap\"),[t]),!1))}}},function(e,t,n){\"use strict\";var r=n(282);t.REGULAR={d:r().addRange(48,57),D:r().addRange(0,47).addRange(58,65535),s:r(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:r().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,65535),w:r(95).addRange(48,57).addRange(65,90).addRange(97,122),W:r(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,65535)},t.UNICODE={d:r().addRange(48,57),D:r().addRange(0,47).addRange(58,1114111),s:r(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:r().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111),w:r(95).addRange(48,57).addRange(65,90).addRange(97,122),W:r(96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,1114111)},t.UNICODE_IGNORE_CASE={d:r().addRange(48,57),D:r().addRange(0,47).addRange(58,1114111),s:r(32,160,5760,8239,8287,12288,65279).addRange(9,13).addRange(8192,8202).addRange(8232,8233),S:r().addRange(0,8).addRange(14,31).addRange(33,159).addRange(161,5759).addRange(5761,8191).addRange(8203,8231).addRange(8234,8238).addRange(8240,8286).addRange(8288,12287).addRange(12289,65278).addRange(65280,1114111),w:r(95,383,8490).addRange(48,57).addRange(65,90).addRange(97,122),W:r(75,83,96).addRange(0,47).addRange(58,64).addRange(91,94).addRange(123,1114111)}},function(e,t,n){\"use strict\";var r=n(613).generate,i=n(614).parse,o=n(282),a=n(631),s=n(611);function u(e){return g?v?s.UNICODE_IGNORE_CASE[e]:s.UNICODE[e]:s.REGULAR[e]}var l={}.hasOwnProperty,c=o().addRange(0,1114111),f=o().addRange(0,65535),p=c.clone().remove(10,13,8232,8233),d=p.clone().intersection(f);function h(e,t){for(var n in t)e[n]=t[n]}function m(e,t){if(t){var n=i(t,\"\");switch(n.type){case\"characterClass\":case\"group\":case\"value\":break;default:n=function(e,t){return{type:\"group\",behavior:\"ignore\",body:[e],raw:\"(?:\"+t+\")\"}}(n,t)}h(e,n)}}function y(e){return t=a,n=e,!!l.call(t,n)&&a[e];var t,n}o.prototype.iuAddRange=function(e,t){do{var n=y(e);n&&this.add(n)}while(++e<=t);return this};var v=!1,g=!1;function b(e){switch(e.type){case\"dot\":m(e,(g?p:d).toString());break;case\"characterClass\":e=function(e){var t=o();return e.body.forEach((function(e){switch(e.type){case\"value\":if(t.add(e.codePoint),v&&g){var n=y(e.codePoint);n&&t.add(n)}break;case\"characterClassRange\":var r=e.min.codePoint,i=e.max.codePoint;t.addRange(r,i),v&&g&&t.iuAddRange(r,i);break;case\"characterClassEscape\":t.add(u(e.value));break;default:throw Error(\"Unknown term type: \"+e.type)}})),e.negative&&(t=(g?c:f).clone().remove(t)),m(e,t.toString()),e}(e);break;case\"characterClassEscape\":m(e,u(e.value).toString());break;case\"alternative\":case\"disjunction\":case\"group\":case\"quantifier\":e.body=e.body.map(b);break;case\"value\":var t=e.codePoint,n=o(t);if(v&&g){var r=y(t);r&&n.add(r)}m(e,n.toString());break;case\"anchor\":case\"empty\":case\"group\":case\"reference\":break;default:throw Error(\"Unknown term type: \"+e.type)}return e}e.exports=function(e,t){var n=i(e,t);return v=!!t&&t.indexOf(\"i\")>-1,g=!!t&&t.indexOf(\"u\")>-1,h(n,b(n)),r(n)}},function(e,t,n){var r;(function(e,i){\"use strict\";var o=\"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};(function(){var a={function:!0,object:!0},s=a[\"undefined\"==typeof window?\"undefined\":o(window)]&&window||this,u=a[o(t)]&&t,l=a[o(e)]&&e&&!e.nodeType&&e,c=u&&l&&\"object\"==(void 0===i?\"undefined\":o(i))&&i;!c||c.global!==c&&c.window!==c&&c.self!==c||(s=c);var f=String.fromCharCode,p=Math.floor;function d(){var e,t,n=16384,r=[],i=-1,o=arguments.length;if(!o)return\"\";for(var a=\"\";++i<o;){var s=Number(arguments[i]);if(!isFinite(s)||s<0||s>1114111||p(s)!=s)throw RangeError(\"Invalid code point: \"+s);s<=65535?r.push(s):(e=55296+((s-=65536)>>10),t=s%1024+56320,r.push(e,t)),(i+1==o||r.length>n)&&(a+=f.apply(null,r),r.length=0)}return a}function h(e,t){if(-1==t.indexOf(\"|\")){if(e==t)return;throw Error(\"Invalid node type: \"+e)}if(!(t=h.hasOwnProperty(t)?h[t]:h[t]=RegExp(\"^(?:\"+t+\")$\")).test(e))throw Error(\"Invalid node type: \"+e)}function m(e){var t=e.type;if(m.hasOwnProperty(t)&&\"function\"==typeof m[t])return m[t](e);throw Error(\"Invalid node type: \"+t)}function y(e){return h(e.type,\"anchor|characterClassEscape|characterClassRange|dot|value\"),m(e)}function v(e){return h(e.type,\"anchor|characterClass|characterClassEscape|empty|group|quantifier|reference|value\"),m(e)}m.alternative=function(e){h(e.type,\"alternative\");var t=e.body,n=t?t.length:0;if(1==n)return v(t[0]);for(var r=-1,i=\"\";++r<n;)i+=v(t[r]);return i},m.anchor=function(e){switch(h(e.type,\"anchor\"),e.kind){case\"start\":return\"^\";case\"end\":return\"$\";case\"boundary\":return\"\\\\b\";case\"not-boundary\":return\"\\\\B\";default:throw Error(\"Invalid assertion\")}},m.characterClass=function(e){h(e.type,\"characterClass\");var t=e.body,n=t?t.length:0,r=-1,i=\"[\";for(e.negative&&(i+=\"^\");++r<n;)i+=y(t[r]);return i+\"]\"},m.characterClassEscape=function(e){return h(e.type,\"characterClassEscape\"),\"\\\\\"+e.value},m.characterClassRange=function(e){h(e.type,\"characterClassRange\");var t=e.min,n=e.max;if(\"characterClassRange\"==t.type||\"characterClassRange\"==n.type)throw Error(\"Invalid character class range\");return y(t)+\"-\"+y(n)},m.disjunction=function(e){h(e.type,\"disjunction\");var t=e.body,n=t?t.length:0;if(0==n)throw Error(\"No body\");if(1==n)return m(t[0]);for(var r=-1,i=\"\";++r<n;)0!=r&&(i+=\"|\"),i+=m(t[r]);return i},m.dot=function(e){return h(e.type,\"dot\"),\".\"},m.group=function(e){h(e.type,\"group\");var t=\"(\";switch(e.behavior){case\"normal\":break;case\"ignore\":t+=\"?:\";break;case\"lookahead\":t+=\"?=\";break;case\"negativeLookahead\":t+=\"?!\";break;default:throw Error(\"Invalid behaviour: \"+e.behaviour)}var n=e.body,r=n?n.length:0;if(1==r)t+=m(n[0]);else for(var i=-1;++i<r;)t+=m(n[i]);return t+\")\"},m.quantifier=function(e){h(e.type,\"quantifier\");var t=\"\",n=e.min,r=e.max;switch(r){case void 0:case null:switch(n){case 0:t=\"*\";break;case 1:t=\"+\";break;default:t=\"{\"+n+\",}\"}break;default:t=n==r?\"{\"+n+\"}\":0==n&&1==r?\"?\":\"{\"+n+\",\"+r+\"}\"}return e.greedy||(t+=\"?\"),function(e){return h(e.type,\"anchor|characterClass|characterClassEscape|dot|group|reference|value\"),m(e)}(e.body[0])+t},m.reference=function(e){return h(e.type,\"reference\"),\"\\\\\"+e.matchIndex},m.value=function(e){h(e.type,\"value\");var t=e.kind,n=e.codePoint;switch(t){case\"controlLetter\":return\"\\\\c\"+d(n+64);case\"hexadecimalEscape\":return\"\\\\x\"+(\"00\"+n.toString(16).toUpperCase()).slice(-2);case\"identifier\":return\"\\\\\"+d(n);case\"null\":return\"\\\\\"+n;case\"octal\":return\"\\\\\"+n.toString(8);case\"singleEscape\":switch(n){case 8:return\"\\\\b\";case 9:return\"\\\\t\";case 10:return\"\\\\n\";case 11:return\"\\\\v\";case 12:return\"\\\\f\";case 13:return\"\\\\r\";default:throw Error(\"Invalid codepoint: \"+n)}case\"symbol\":return d(n);case\"unicodeEscape\":return\"\\\\u\"+(\"0000\"+n.toString(16).toUpperCase()).slice(-4);case\"unicodeCodePointEscape\":return\"\\\\u{\"+n.toString(16).toUpperCase()+\"}\";default:throw Error(\"Unsupported node kind: \"+t)}},\"object\"==o(n(49))&&n(49)?void 0===(r=function(){return{generate:m}}.call(t,n,t,e))||(e.exports=r):u&&l?u.generate=m:s.regjsgen={generate:m}}).call(void 0)}).call(t,n(39)(e),function(){return this}())},function(e,t){\"use strict\";var n;n={parse:function(e,t){function n(t){return t.raw=e.substring(t.range[0],t.range[1]),t}function r(e,t){return e.range[0]=t,n(e)}function i(e,t){return n({type:\"anchor\",kind:e,range:[N-t,N]})}function o(e,t,r,i){return n({type:\"value\",kind:e,codePoint:t,range:[r,i]})}function a(e,t,n,r){return r=r||0,o(e,t,N-(n.length+r),N)}function s(e){var t,n=e[0],r=n.charCodeAt(0);return L&&1===n.length&&r>=55296&&r<=56319&&(t=m().charCodeAt(0))>=56320&&t<=57343?o(\"symbol\",1024*(r-55296)+t-56320+65536,++N-2,N):o(\"symbol\",r,N-1,N)}function u(e,t,r,i){return null==i&&(r=N-1,i=N),n({type:\"quantifier\",min:e,max:t,greedy:!0,body:null,range:[r,i]})}function l(e,t,r,i){return n({type:\"characterClass\",body:e,negative:t,range:[r,i]})}function c(e,t,r,i){return e.codePoint>t.codePoint&&D(\"invalid range in character class\",e.raw+\"-\"+t.raw,r,i),n({type:\"characterClassRange\",min:e,max:t,range:[r,i]})}function f(e){return\"alternative\"===e.type?e.body:[e]}function p(t){t=t||1;var n=e.substring(N,N+t);return N+=t||1,n}function d(e){h(e)||D(\"character\",e)}function h(t){if(e.indexOf(t,N)===N)return p(t.length)}function m(){return e[N]}function y(t){return e.indexOf(t,N)===N}function v(t){return e[N+1]===t}function g(t){var n=e.substring(N).match(t);return n&&(n.range=[],n.range[0]=N,p(n[0].length),n.range[1]=N),n}function b(){var e=[],t=N;for(e.push(x());h(\"|\");)e.push(x());return 1===e.length?e[0]:function(e,t,r){return n({type:\"disjunction\",body:e,range:[t,r]})}(e,t,N)}function x(){for(var e,t=[],r=N;e=_();)t.push(e);return 1===t.length?t[0]:function(e,t,r){return n({type:\"alternative\",body:e,range:[t,r]})}(t,r,N)}function _(){if(N>=e.length||y(\"|\")||y(\")\"))return null;var t=h(\"^\")?i(\"start\",1):h(\"$\")?i(\"end\",1):h(\"\\\\b\")?i(\"boundary\",2):h(\"\\\\B\")?i(\"not-boundary\",2):w(\"(?=\",\"lookahead\",\"(?!\",\"negativeLookahead\");if(t)return t;var o,a=(o=g(/^[^^$\\\\.*+?(){[|]/))?s(o):h(\".\")?n({type:\"dot\",range:[N-1,N]}):h(\"\\\\\")?((o=k())||D(\"atomEscape\"),o):(o=function(){var e,t=N;return(e=g(/^\\[\\^/))?(e=A(),d(\"]\"),l(e,!0,t,N)):h(\"[\")?(e=A(),d(\"]\"),l(e,!1,t,N)):null}())?o:w(\"(?:\",\"ignore\",\"(\",\"normal\");a||D(\"Expected atom\");var c=function(){var e,t,n,r,i=N;return h(\"*\")?t=u(0):h(\"+\")?t=u(1):h(\"?\")?t=u(0,1):(e=g(/^\\{([0-9]+)\\}/))?t=u(n=parseInt(e[1],10),n,e.range[0],e.range[1]):(e=g(/^\\{([0-9]+),\\}/))?t=u(n=parseInt(e[1],10),void 0,e.range[0],e.range[1]):(e=g(/^\\{([0-9]+),([0-9]+)\\}/))&&((n=parseInt(e[1],10))>(r=parseInt(e[2],10))&&D(\"numbers out of order in {} quantifier\",\"\",i,N),t=u(n,r,e.range[0],e.range[1])),t&&h(\"?\")&&(t.greedy=!1,t.range[1]+=1),t}()||!1;return c?(c.body=f(a),r(c,a.range[0]),c):a}function w(e,t,r,i){var o=null,a=N;if(h(e))o=t;else{if(!h(r))return!1;o=i}var s=b();s||D(\"Expected disjunction\"),d(\")\");var u=function(e,t,r,i){return n({type:\"group\",behavior:e,body:t,range:[r,i]})}(o,f(s),a,N);return\"normal\"==o&&O&&P++,u}function E(e){var t,r;if(L&&\"unicodeEscape\"==e.kind&&(t=e.codePoint)>=55296&&t<=56319&&y(\"\\\\\")&&v(\"u\")){var i=N;N++;var o=S();\"unicodeEscape\"==o.kind&&(r=o.codePoint)>=56320&&r<=57343?(e.range[1]=o.range[1],e.codePoint=1024*(t-55296)+r-56320+65536,e.type=\"value\",e.kind=\"unicodeCodePointEscape\",n(e)):N=i}return e}function S(){return k(!0)}function k(e){var t,i=N;if(t=function(){var e,t,i;if(e=g(/^(?!0)\\d+/)){t=e[0];var o=parseInt(e[0],10);return o<=P?(i=e[0],n({type:\"reference\",matchIndex:parseInt(i,10),range:[N-1-i.length,N]})):(M.push(o),p(-e[0].length),(e=g(/^[0-7]{1,3}/))?a(\"octal\",parseInt(e[0],8),e[0],1):r(e=s(g(/^[89]/)),e.range[0]-1))}return(e=g(/^[0-7]{1,3}/))?(t=e[0],/^0{1,3}$/.test(t)?a(\"null\",0,\"0\",t.length+1):a(\"octal\",parseInt(t,8),t,1)):!!(e=g(/^[dDsSwW]/))&&n({type:\"characterClassEscape\",value:e[0],range:[N-2,N]})}(),t)return t;if(e){if(h(\"b\"))return a(\"singleEscape\",8,\"\\\\b\");h(\"B\")&&D(\"\\\\B not possible inside of CharacterClass\",\"\",i)}return function(){var e,t,n,r;if(e=g(/^[fnrtv]/)){var i=0;switch(e[0]){case\"t\":i=9;break;case\"n\":i=10;break;case\"v\":i=11;break;case\"f\":i=12;break;case\"r\":i=13}return a(\"singleEscape\",i,\"\\\\\"+e[0])}return(e=g(/^c([a-zA-Z])/))?a(\"controlLetter\",e[1].charCodeAt(0)%32,e[1],2):(e=g(/^x([0-9a-fA-F]{2})/))?a(\"hexadecimalEscape\",parseInt(e[1],16),e[1],2):(e=g(/^u([0-9a-fA-F]{4})/))?E(a(\"unicodeEscape\",parseInt(e[1],16),e[1],2)):L&&(e=g(/^u\\{([0-9a-fA-F]+)\\}/))?a(\"unicodeCodePointEscape\",parseInt(e[1],16),e[1],4):(\"‌\",\"‍\",n=m(),r=new RegExp(\"[ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ̀-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҃-҇Ҋ-ԯԱ-Ֆՙա-և֑-ׇֽֿׁׂׅׄא-תװ-ײؐ-ؚؠ-٩ٮ-ۓە-ۜ۟-۪ۨ-ۼۿܐ-݊ݍ-ޱ߀-ߵߺࠀ-࠭ࡀ-࡛ࢠ-ࢲࣤ-ॣ०-९ॱ-ঃঅ-ঌএঐও-নপ-রলশ-হ়-ৄেৈো-ৎৗড়ঢ়য়-ৣ০-ৱਁ-ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹ਼ਾ-ੂੇੈੋ-੍ੑਖ਼-ੜਫ਼੦-ੵઁ-ઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હ઼-ૅે-ૉો-્ૐૠ-ૣ૦-૯ଁ-ଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହ଼-ୄେୈୋ-୍ୖୗଡ଼ଢ଼ୟ-ୣ୦-୯ୱஂஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹா-ூெ-ைொ-்ௐௗ௦-௯ఀ-ఃఅ-ఌఎ-ఐఒ-నప-హఽ-ౄె-ైొ-్ౕౖౘౙౠ-ౣ౦-౯ಁ-ಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ಼-ೄೆ-ೈೊ-್ೕೖೞೠ-ೣ೦-೯ೱೲഁ-ഃഅ-ഌഎ-ഐഒ-ഺഽ-ൄെ-ൈൊ-ൎൗൠ-ൣ൦-൯ൺ-ൿංඃඅ-ඖක-නඳ-රලව-ෆ්ා-ුූෘ-ෟ෦-෯ෲෳก-ฺเ-๎๐-๙ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ູົ-ຽເ-ໄໆ່-ໍ໐-໙ໜ-ໟༀ༘༙༠-༩༹༵༷༾-ཇཉ-ཬཱ-྄྆-ྗྙ-ྼ࿆က-၉ၐ-ႝႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፝-፟ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-᜔ᜠ-᜴ᝀ-ᝓᝠ-ᝬᝮ-ᝰᝲᝳក-៓ៗៜ៝០-៩᠋-᠍᠐-᠙ᠠ-ᡷᢀ-ᢪᢰ-ᣵᤀ-ᤞᤠ-ᤫᤰ-᤻᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧙ᨀ-ᨛᨠ-ᩞ᩠-᩿᩼-᪉᪐-᪙ᪧ᪰-᪽ᬀ-ᭋ᭐-᭙᭫-᭳ᮀ-᯳ᰀ-᰷᱀-᱉ᱍ-ᱽ᳐-᳔᳒-ᳶ᳸᳹ᴀ-᷵᷼-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‌‍‿⁀⁔ⁱⁿₐ-ₜ⃐-⃥⃜⃡-⃰ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵿-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⷠ-ⷿⸯ々-〇〡-〯〱-〵〸-〼ぁ-ゖ゙゚ゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘫꙀ-꙯ꙴ-꙽ꙿ-ꚝꚟ-꛱ꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞭꞰꞱꟷ-ꠧꡀ-ꡳꢀ-꣄꣐-꣙꣠-ꣷꣻ꤀-꤭ꤰ-꥓ꥠ-ꥼꦀ-꧀ꧏ-꧙ꧠ-ꧾꨀ-ꨶꩀ-ꩍ꩐-꩙ꩠ-ꩶꩺ-ꫂꫛ-ꫝꫠ-ꫯꫲ-꫶ꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭟꭤꭥꯀ-ꯪ꯬꯭꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ﬀ-ﬆﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ︀-️︠-︭︳︴﹍-﹏ﹰ-ﹴﹶ-ﻼ０-９Ａ-Ｚ＿ａ-ｚｦ-ﾾￂ-ￇￊ-ￏￒ-ￗￚ-ￜ]\"),36===n||95===n||n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57||92===n||n>=128&&r.test(String.fromCharCode(n))?h(\"‌\")?a(\"identifier\",8204,\"‌\"):h(\"‍\")?a(\"identifier\",8205,\"‍\"):null:a(\"identifier\",(t=p()).charCodeAt(0),t,1))}()}function A(){var e,t;return y(\"]\")?[]:((t=T())||D(\"classAtom\"),(e=y(\"]\")?[t]:C(t))||D(\"nonEmptyClassRanges\"),e)}function C(e){var t,n,r;if(y(\"-\")&&!v(\"]\")){d(\"-\"),(r=T())||D(\"classAtom\"),n=N;var i=A();return i||D(\"classRanges\"),t=e.range[0],\"empty\"===i.type?[c(e,r,t,n)]:[c(e,r,t,n)].concat(i)}return(r=function(){var e=T();return e||D(\"classAtom\"),y(\"]\")?e:C(e)}())||D(\"nonEmptyClassRangesNoDash\"),[e].concat(r)}function T(){return h(\"-\")?s(\"-\"):(e=g(/^[^\\\\\\]-]/))?s(e[0]):h(\"\\\\\")?((e=S())||D(\"classEscape\"),E(e)):void 0;var e}function D(t,n,r,i){r=null==r?N:r,i=null==i?r:i;var o=Math.max(0,r-10),a=Math.min(i+10,e.length),s=\"    \"+e.substring(o,a),u=\"    \"+new Array(r-o+1).join(\" \")+\"^\";throw SyntaxError(t+\" at position \"+r+(n?\": \"+n:\"\")+\"\\n\"+s+\"\\n\"+u)}var M=[],P=0,O=!0,L=-1!==(t||\"\").indexOf(\"u\"),N=0;\"\"===(e=String(e))&&(e=\"(?:)\");var F=b();F.range[1]!==e.length&&D(\"Could not parse entire input - got stuck\",\"\",F.range[1]);for(var R=0;R<M.length;R++)if(M[R]<=P)return N=0,O=!1,b();return F}},void 0!==e&&e.exports?e.exports=n:window.regjsparser=n},function(e,t,n){\"use strict\";var r=n(467);e.exports=function(e,t){if(\"string\"!=typeof e)throw new TypeError(\"Expected `input` to be a string\");if(t<0||!r(t))throw new TypeError(\"Expected `count` to be a positive finite number\");var n=\"\";do{1&t&&(n+=e),e+=e}while(t>>=1);return n}},function(e,t){\"use strict\";var n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");t.encode=function(e){if(0<=e&&e<n.length)return n[e];throw new TypeError(\"Must be between 0 and 63: \"+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},function(e,t){\"use strict\";function n(e,r,i,o,a,s){var u=Math.floor((r-e)/2)+e,l=a(i,o[u],!0);return 0===l?u:l>0?r-u>1?n(u,r,i,o,a,s):s==t.LEAST_UPPER_BOUND?r<o.length?r:-1:u:u-e>1?n(e,u,i,o,a,s):s==t.LEAST_UPPER_BOUND?u:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,r,i,o){if(0===r.length)return-1;var a=n(-1,r.length,e,r,i,o||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===i(r[a],r[a-1],!0);)--a;return a}},function(e,t,n){\"use strict\";var r=n(63);function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){var t,n,i,o,a,s;n=e,i=(t=this._last).generatedLine,o=n.generatedLine,a=t.generatedColumn,s=n.generatedColumn,o>i||o==i&&s>=a||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t){\"use strict\";function n(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function r(e,t,i,o){if(i<o){var a=i-1;n(e,(c=i,f=o,Math.round(c+Math.random()*(f-c))),o);for(var s=e[o],u=i;u<o;u++)t(e[u],s)<=0&&n(e,a+=1,u);n(e,a+1,u);var l=a+1;r(e,t,i,l-1),r(e,t,l+1,o)}var c,f}t.quickSort=function(e,t){r(e,t,0,e.length-1)}},function(e,t,n){\"use strict\";var r=n(63),i=n(617),o=n(285).ArraySet,a=n(286),s=n(619).quickSort;function u(e){var t=e;return\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\"))),null!=t.sections?new f(t):new l(t)}function l(e){var t=e;\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var n=r.getArg(t,\"version\"),i=r.getArg(t,\"sources\"),a=r.getArg(t,\"names\",[]),s=r.getArg(t,\"sourceRoot\",null),u=r.getArg(t,\"sourcesContent\",null),l=r.getArg(t,\"mappings\"),c=r.getArg(t,\"file\",null);if(n!=this._version)throw new Error(\"Unsupported version: \"+n);i=i.map(String).map(r.normalize).map((function(e){return s&&r.isAbsolute(s)&&r.isAbsolute(e)?r.relative(s,e):e})),this._names=o.fromArray(a.map(String),!0),this._sources=o.fromArray(i,!0),this.sourceRoot=s,this.sourcesContent=u,this._mappings=l,this.file=c}function c(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function f(e){var t=e;\"string\"==typeof e&&(t=JSON.parse(e.replace(/^\\)\\]\\}'/,\"\")));var n=r.getArg(t,\"version\"),i=r.getArg(t,\"sections\");if(n!=this._version)throw new Error(\"Unsupported version: \"+n);this._sources=new o,this._names=new o;var a={line:-1,column:0};this._sections=i.map((function(e){if(e.url)throw new Error(\"Support for url field in sections not implemented.\");var t=r.getArg(e,\"offset\"),n=r.getArg(t,\"line\"),i=r.getArg(t,\"column\");if(n<a.line||n===a.line&&i<a.column)throw new Error(\"Section offsets must be ordered and non-overlapping.\");return a=t,{generatedOffset:{generatedLine:n+1,generatedColumn:i+1},consumer:new u(r.getArg(e,\"map\"))}}))}u.fromSourceMap=function(e){return l.fromSourceMap(e)},u.prototype._version=3,u.prototype.__generatedMappings=null,Object.defineProperty(u.prototype,\"_generatedMappings\",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),u.prototype.__originalMappings=null,Object.defineProperty(u.prototype,\"_originalMappings\",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),u.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return\";\"===n||\",\"===n},u.prototype._parseMappings=function(e,t){throw new Error(\"Subclasses must implement _parseMappings\")},u.GENERATED_ORDER=1,u.ORIGINAL_ORDER=2,u.GREATEST_LOWER_BOUND=1,u.LEAST_UPPER_BOUND=2,u.prototype.eachMapping=function(e,t,n){var i,o=t||null;switch(n||u.GENERATED_ORDER){case u.GENERATED_ORDER:i=this._generatedMappings;break;case u.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error(\"Unknown order of iteration.\")}var a=this.sourceRoot;i.map((function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=a&&(t=r.join(a,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}}),this).forEach(e,o)},u.prototype.allGeneratedPositionsFor=function(e){var t=r.getArg(e,\"line\"),n={source:r.getArg(e,\"source\"),originalLine:t,originalColumn:r.getArg(e,\"column\",0)};if(null!=this.sourceRoot&&(n.source=r.relative(this.sourceRoot,n.source)),!this._sources.has(n.source))return[];n.source=this._sources.indexOf(n.source);var o=[],a=this._findMapping(n,this._originalMappings,\"originalLine\",\"originalColumn\",r.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(a>=0){var s=this._originalMappings[a];if(void 0===e.column)for(var u=s.originalLine;s&&s.originalLine===u;)o.push({line:r.getArg(s,\"generatedLine\",null),column:r.getArg(s,\"generatedColumn\",null),lastColumn:r.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==l;)o.push({line:r.getArg(s,\"generatedLine\",null),column:r.getArg(s,\"generatedColumn\",null),lastColumn:r.getArg(s,\"lastGeneratedColumn\",null)}),s=this._originalMappings[++a]}return o},t.SourceMapConsumer=u,l.prototype=Object.create(u.prototype),l.prototype.consumer=u,l.fromSourceMap=function(e){var t=Object.create(l.prototype),n=t._names=o.fromArray(e._names.toArray(),!0),i=t._sources=o.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),u=t.__generatedMappings=[],f=t.__originalMappings=[],p=0,d=a.length;p<d;p++){var h=a[p],m=new c;m.generatedLine=h.generatedLine,m.generatedColumn=h.generatedColumn,h.source&&(m.source=i.indexOf(h.source),m.originalLine=h.originalLine,m.originalColumn=h.originalColumn,h.name&&(m.name=n.indexOf(h.name)),f.push(m)),u.push(m)}return s(t.__originalMappings,r.compareByOriginalPositions),t},l.prototype._version=3,Object.defineProperty(l.prototype,\"sources\",{get:function(){return this._sources.toArray().map((function(e){return null!=this.sourceRoot?r.join(this.sourceRoot,e):e}),this)}}),l.prototype._parseMappings=function(e,t){for(var n,i,o,u,l,f=1,p=0,d=0,h=0,m=0,y=0,v=e.length,g=0,b={},x={},_=[],w=[];g<v;)if(\";\"===e.charAt(g))f++,g++,p=0;else if(\",\"===e.charAt(g))g++;else{for((n=new c).generatedLine=f,u=g;u<v&&!this._charIsMappingSeparator(e,u);u++);if(o=b[i=e.slice(g,u)])g+=i.length;else{for(o=[];g<u;)a.decode(e,g,x),l=x.value,g=x.rest,o.push(l);if(2===o.length)throw new Error(\"Found a source, but no line and column\");if(3===o.length)throw new Error(\"Found a source and line, but no column\");b[i]=o}n.generatedColumn=p+o[0],p=n.generatedColumn,o.length>1&&(n.source=m+o[1],m+=o[1],n.originalLine=d+o[2],d=n.originalLine,n.originalLine+=1,n.originalColumn=h+o[3],h=n.originalColumn,o.length>4&&(n.name=y+o[4],y+=o[4])),w.push(n),\"number\"==typeof n.originalLine&&_.push(n)}s(w,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=w,s(_,r.compareByOriginalPositions),this.__originalMappings=_},l.prototype._findMapping=function(e,t,n,r,o,a){if(e[n]<=0)throw new TypeError(\"Line must be greater than or equal to 1, got \"+e[n]);if(e[r]<0)throw new TypeError(\"Column must be greater than or equal to 0, got \"+e[r]);return i.search(e,t,o,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},l.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,\"line\"),generatedColumn:r.getArg(e,\"column\")},n=this._findMapping(t,this._generatedMappings,\"generatedLine\",\"generatedColumn\",r.compareByGeneratedPositionsDeflated,r.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(n>=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var o=r.getArg(i,\"source\",null);null!==o&&(o=this._sources.at(o),null!=this.sourceRoot&&(o=r.join(this.sourceRoot,o)));var a=r.getArg(i,\"name\",null);return null!==a&&(a=this._names.at(a)),{source:o,line:r.getArg(i,\"originalLine\",null),column:r.getArg(i,\"originalColumn\",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},l.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=r.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=r.urlParse(this.sourceRoot))){var i=e.replace(/^file:\\/\\//,\"\");if(\"file\"==n.scheme&&this._sources.has(i))return this.sourcesContent[this._sources.indexOf(i)];if((!n.path||\"/\"==n.path)&&this._sources.has(\"/\"+e))return this.sourcesContent[this._sources.indexOf(\"/\"+e)]}if(t)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var t=r.getArg(e,\"source\");if(null!=this.sourceRoot&&(t=r.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:r.getArg(e,\"line\"),originalColumn:r.getArg(e,\"column\")},i=this._findMapping(n,this._originalMappings,\"originalLine\",\"originalColumn\",r.compareByOriginalPositions,r.getArg(e,\"bias\",u.GREATEST_LOWER_BOUND));if(i>=0){var o=this._originalMappings[i];if(o.source===n.source)return{line:r.getArg(o,\"generatedLine\",null),column:r.getArg(o,\"generatedColumn\",null),lastColumn:r.getArg(o,\"lastGeneratedColumn\",null)}}return{line:null,column:null,lastColumn:null}},t.BasicSourceMapConsumer=l,f.prototype=Object.create(u.prototype),f.prototype.constructor=u,f.prototype._version=3,Object.defineProperty(f.prototype,\"sources\",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),f.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,\"line\"),generatedColumn:r.getArg(e,\"column\")},n=i.search(t,this._sections,(function(e,t){return e.generatedLine-t.generatedOffset.generatedLine||e.generatedColumn-t.generatedOffset.generatedColumn})),o=this._sections[n];return o?o.consumer.originalPositionFor({line:t.generatedLine-(o.generatedOffset.generatedLine-1),column:t.generatedColumn-(o.generatedOffset.generatedLine===t.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},f.prototype.hasContentsOfAllSources=function(){return this._sections.every((function(e){return e.consumer.hasContentsOfAllSources()}))},f.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n].consumer.sourceContentFor(e,!0);if(r)return r}if(t)return null;throw new Error('\"'+e+'\" is not in the SourceMap.')},f.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var n=this._sections[t];if(-1!==n.consumer.sources.indexOf(r.getArg(e,\"source\"))){var i=n.consumer.generatedPositionFor(e);if(i)return{line:i.line+(n.generatedOffset.generatedLine-1),column:i.column+(n.generatedOffset.generatedLine===i.line?n.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},f.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var i=this._sections[n],o=i.consumer._generatedMappings,a=0;a<o.length;a++){var u=o[a],l=i.consumer._sources.at(u.source);null!==i.consumer.sourceRoot&&(l=r.join(i.consumer.sourceRoot,l)),this._sources.add(l),l=this._sources.indexOf(l);var c=i.consumer._names.at(u.name);this._names.add(c),c=this._names.indexOf(c);var f={source:l,generatedLine:u.generatedLine+(i.generatedOffset.generatedLine-1),generatedColumn:u.generatedColumn+(i.generatedOffset.generatedLine===u.generatedLine?i.generatedOffset.generatedColumn-1:0),originalLine:u.originalLine,originalColumn:u.originalColumn,name:c};this.__generatedMappings.push(f),\"number\"==typeof f.originalLine&&this.__originalMappings.push(f)}s(this.__generatedMappings,r.compareByGeneratedPositionsDeflated),s(this.__originalMappings,r.compareByOriginalPositions)},t.IndexedSourceMapConsumer=f},function(e,t,n){\"use strict\";var r=n(287).SourceMapGenerator,i=n(63),o=/(\\r?\\n)/,a=\"$$$isSourceNode$$$\";function s(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[a]=!0,null!=r&&this.add(r)}s.fromStringWithSourceMap=function(e,t,n){var r=new s,a=e.split(o),u=function(){return a.shift()+(a.shift()||\"\")},l=1,c=0,f=null;return t.eachMapping((function(e){if(null!==f){if(!(l<e.generatedLine)){var t=(n=a[0]).substr(0,e.generatedColumn-c);return a[0]=n.substr(e.generatedColumn-c),c=e.generatedColumn,p(f,t),void(f=e)}p(f,u()),l++,c=0}for(;l<e.generatedLine;)r.add(u()),l++;if(c<e.generatedColumn){var n=a[0];r.add(n.substr(0,e.generatedColumn)),a[0]=n.substr(e.generatedColumn),c=e.generatedColumn}f=e}),this),a.length>0&&(f&&p(f,u()),r.add(a.join(\"\"))),t.sources.forEach((function(e){var o=t.sourceContentFor(e);null!=o&&(null!=n&&(e=i.join(n,e)),r.setSourceContent(e,o))})),r;function p(e,t){if(null===e||void 0===e.source)r.add(t);else{var o=n?i.join(n,e.source):e.source;r.add(new s(e.originalLine,e.originalColumn,o,t,e.name))}}},s.prototype.add=function(e){if(Array.isArray(e))e.forEach((function(e){this.add(e)}),this);else{if(!e[a]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);e&&this.children.push(e)}return this},s.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[a]&&\"string\"!=typeof e)throw new TypeError(\"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \"+e);this.children.unshift(e)}return this},s.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)(t=this.children[n])[a]?t.walk(e):\"\"!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},s.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},s.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[a]?n.replaceRight(e,t):\"string\"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push(\"\".replace(e,t)),this},s.prototype.setSourceContent=function(e,t){this.sourceContents[i.toSetString(e)]=t},s.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][a]&&this.children[t].walkSourceContents(e);var r=Object.keys(this.sourceContents);for(t=0,n=r.length;t<n;t++)e(i.fromSetString(r[t]),this.sourceContents[r[t]])},s.prototype.toString=function(){var e=\"\";return this.walk((function(t){e+=t})),e},s.prototype.toStringWithSourceMap=function(e){var t={code:\"\",line:1,column:0},n=new r(e),i=!1,o=null,a=null,s=null,u=null;return this.walk((function(e,r){t.code+=e,null!==r.source&&null!==r.line&&null!==r.column?(o===r.source&&a===r.line&&s===r.column&&u===r.name||n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name}),o=r.source,a=r.line,s=r.column,u=r.name,i=!0):i&&(n.addMapping({generated:{line:t.line,column:t.column}}),o=null,i=!1);for(var l=0,c=e.length;l<c;l++)10===e.charCodeAt(l)?(t.line++,t.column=0,l+1===c?(o=null,i=!1):i&&n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name})):t.column++})),this.walkSourceContents((function(e,t){n.setSourceContent(e,t)})),{code:t.code,map:n}},t.SourceNode=s},function(e,t,n){\"use strict\";var r=n(180)();e.exports=function(e){return\"string\"==typeof e?e.replace(r,\"\"):e}},function(e,t,n){(function(t){\"use strict\";var n=t.argv,r=n.indexOf(\"--\"),i=function(e){e=\"--\"+e;var t=n.indexOf(e);return-1!==t&&(-1===r||t<r)};e.exports=!(!(\"FORCE_COLOR\"in t.env)&&(i(\"no-color\")||i(\"no-colors\")||i(\"color=false\")||!(i(\"color\")||i(\"colors\")||i(\"color=true\")||i(\"color=always\"))&&(t.stdout&&!t.stdout.isTTY||\"win32\"!==t.platform&&!(\"COLORTERM\"in t.env)&&(\"dumb\"===t.env.TERM||!/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(t.env.TERM)))))}).call(t,n(8))},function(e,t){\"use strict\";var n=\"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.exports=function(e){function t(){}t.prototype=e;var r=new t;function i(){return n(r.foo)}return i(),i(),e}},function(e,t){\"use strict\";e.exports=function(e){for(var t=e.length;/[\\s\\uFEFF\\u00A0]/.test(e[t-1]);)t--;return e.slice(0,t)}},function(e,t){\"use strict\";\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){\"use strict\";var n=\"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.exports=function(e){return e&&\"object\"===(void 0===e?\"undefined\":n(e))&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.version=\"6.26.0\"},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.runScripts=function(e,t){i=document.getElementsByTagName(\"head\")[0],t||(t=document.getElementsByTagName(\"script\"));for(var o=[],u=0;u<t.length;u++){var l=t.item(u),c=l.type.split(\";\")[0];-1!==r.indexOf(c)&&o.push(l)}0!==o.length&&(console.warn(\"You are using the in-browser Babel transformer. Be sure to precompile your scripts for production - https://babeljs.io/docs/setup/\"),function(e,t){var r=[],i=t.length;function o(){var t,n;for(n=0;n<i;n++)if((t=r[n]).loaded&&!t.executed)t.executed=!0,a(e,t);else if(!t.loaded&&!t.error&&!t.async)break}t.forEach((function(e,t){var i,a,u,l,c={async:e.hasAttribute(\"async\"),error:!1,executed:!1,plugins:s(e,\"data-plugins\"),presets:s(e,\"data-presets\")};e.src?(r[t]=n({},c,{content:null,loaded:!1,url:e.src}),i=e.src,a=function(e){r[t].loaded=!0,r[t].content=e,o()},u=function(){r[t].error=!0,o()},(l=new XMLHttpRequest).open(\"GET\",i,!0),\"overrideMimeType\"in l&&l.overrideMimeType(\"text/plain\"),l.onreadystatechange=function(){if(4===l.readyState){if(0!==l.status&&200!==l.status)throw u(),new Error(\"Could not load \"+i);a(l.responseText)}},l.send(null)):r[t]=n({},c,{content:e.innerHTML,loaded:!0,url:null})})),o()}(e,o))};var r=[\"text/jsx\",\"text/babel\"],i=void 0,o=0;function a(e,t){var r=document.createElement(\"script\");r.text=function(e,t){var r=void 0;return null!=t.url?r=t.url:(r=\"Inline Babel script\",++o>1&&(r+=\" (\"+o+\")\")),e(t.content,n({filename:r},function(e){return{presets:e.presets||[\"react\",\"es2015\"],plugins:e.plugins||[\"transform-class-properties\",\"transform-object-rest-spread\",\"transform-flow-strip-types\"],sourceMaps:\"inline\"}}(t))).code}(e,t),i.appendChild(r)}function s(e,t){var n=e.getAttribute(t);return\"\"===n?[]:n?n.split(\",\").map((function(e){return e.trim()})):null}},function(e,t){e.exports={builtin:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,System:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},es5:{Array:!1,Boolean:!1,constructor:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,propertyIsEnumerable:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,toLocaleString:!1,toString:!1,TypeError:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1},es6:{Array:!1,ArrayBuffer:!1,Boolean:!1,constructor:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,Float32Array:!1,Float64Array:!1,Function:!1,hasOwnProperty:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,isFinite:!1,isNaN:!1,isPrototypeOf:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,propertyIsEnumerable:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,String:!1,Symbol:!1,SyntaxError:!1,System:!1,toLocaleString:!1,toString:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,valueOf:!1,WeakMap:!1,WeakSet:!1},browser:{addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffectReadOnly:!1,AnimationEffectTiming:!1,AnimationEffectTimingReadOnly:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,applicationCache:!1,ApplicationCache:!1,ApplicationCacheErrorEvent:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioDestinationNode:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioProcessingEvent:!1,AutocompleteErrorEvent:!1,BarProp:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,blur:!1,btoa:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,ClientRect:!1,ClientRectList:!1,ClipboardEvent:!1,close:!1,closed:!1,CloseEvent:!1,Comment:!1,CompositionEvent:!1,confirm:!1,console:!1,ConvolverNode:!1,createImageBitmap:!1,Credential:!1,CredentialsContainer:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSFontFaceRule:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSMediaRule:!1,CSSPageRule:!1,CSSRule:!1,CSSRuleList:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSSupportsRule:!1,CSSTransition:!1,CSSUnknownRule:!1,CSSViewportRule:!1,customElements:!1,CustomEvent:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,Debug:!1,defaultStatus:!1,defaultstatus:!1,DelayNode:!1,DeviceMotionEvent:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMParser:!1,DOMSettableTokenList:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,Element:!1,ElementTimeControl:!1,ErrorEvent:!1,event:!1,Event:!1,EventSource:!1,EventTarget:!1,external:!1,FederatedCredential:!1,fetch:!1,File:!1,FileError:!1,FileList:!1,FileReader:!1,find:!1,focus:!1,FocusEvent:!1,FontFace:!1,FormData:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadButton:!1,GamepadEvent:!1,getComputedStyle:!1,getSelection:!1,HashChangeEvent:!1,Headers:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAppletElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLContentElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLKeygenElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLShadowElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBEnvironment:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,Image:!1,ImageBitmap:!1,ImageData:!1,indexedDB:!1,innerHeight:!1,innerWidth:!1,InputEvent:!1,InputMethodContext:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,Intl:!1,KeyboardEvent:!1,KeyframeEffect:!1,KeyframeEffectReadOnly:!1,length:!1,localStorage:!1,location:!1,Location:!1,locationbar:!1,matchMedia:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyEvent:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaSource:!1,MediaRecorder:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,navigator:!1,Navigator:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,opera:!1,Option:!1,OscillatorNode:!1,outerHeight:!1,outerWidth:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,parent:!1,PasswordCredential:!1,Path2D:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,personalbar:!1,Plugin:!1,PluginArray:!1,PopStateEvent:!1,postMessage:!1,print:!1,ProcessingInstruction:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,PushManager:!1,PushSubscription:!1,RadioNodeList:!1,Range:!1,ReadableByteStream:!1,ReadableStream:!1,removeEventListener:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,resizeTo:!1,Response:!1,RTCIceCandidate:!1,RTCSessionDescription:!1,RTCPeerConnection:!1,screen:!1,Screen:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,SharedKeyframeList:!1,SharedWorker:!1,showModalDialog:!1,SiteBoundCredential:!1,speechSynthesis:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,status:!1,statusbar:!1,stop:!1,Storage:!1,StorageEvent:!1,styleMedia:!1,StyleSheet:!1,StyleSheetList:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCSSRule:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDiscardElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGEvent:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGLocatable:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformable:!1,SVGTransformList:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGURIReference:!1,SVGUseElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGVKernElement:!1,SVGZoomAndPan:!1,SVGZoomEvent:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TextEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TimeEvent:!1,TimeRanges:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransitionEvent:!1,TreeWalker:!1,UIEvent:!1,URL:!1,URLSearchParams:!1,ValidityState:!1,VTTCue:!1,WaveShaperNode:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,WheelEvent:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestProgressEvent:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1,XSLTProcessor:!1},worker:{applicationCache:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Cache:!1,caches:!1,clearInterval:!1,clearTimeout:!1,close:!0,console:!1,fetch:!1,FileReaderSync:!1,FormData:!1,Headers:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,ImageData:!1,importScripts:!0,indexedDB:!1,location:!1,MessageChannel:!1,MessagePort:!1,name:!1,navigator:!1,Notification:!1,onclose:!0,onconnect:!0,onerror:!0,onlanguagechange:!0,onmessage:!0,onoffline:!0,ononline:!0,onrejectionhandled:!0,onunhandledrejection:!0,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceResourceTiming:!1,PerformanceTiming:!1,postMessage:!0,Promise:!1,Request:!1,Response:!1,self:!0,ServiceWorkerRegistration:!1,setInterval:!1,setTimeout:!1,TextDecoder:!1,TextEncoder:!1,URL:!1,URLSearchParams:!1,WebSocket:!1,Worker:!1,XMLHttpRequest:!1},node:{__dirname:!1,__filename:!1,arguments:!1,Buffer:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!0,GLOBAL:!1,global:!1,Intl:!1,module:!1,process:!1,require:!1,root:!1,setImmediate:!1,setInterval:!1,setTimeout:!1},commonjs:{exports:!0,module:!1,require:!1,global:!1},amd:{define:!1,require:!1},mocha:{after:!1,afterEach:!1,before:!1,beforeEach:!1,context:!1,describe:!1,it:!1,mocha:!1,run:!1,setup:!1,specify:!1,suite:!1,suiteSetup:!1,suiteTeardown:!1,teardown:!1,test:!1,xcontext:!1,xdescribe:!1,xit:!1,xspecify:!1},jasmine:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,describe:!1,expect:!1,fail:!1,fdescribe:!1,fit:!1,it:!1,jasmine:!1,pending:!1,runs:!1,spyOn:!1,spyOnProperty:!1,waits:!1,waitsFor:!1,xdescribe:!1,xit:!1},jest:{afterAll:!1,afterEach:!1,beforeAll:!1,beforeEach:!1,check:!1,describe:!1,expect:!1,gen:!1,it:!1,fdescribe:!1,fit:!1,jest:!1,pit:!1,require:!1,test:!1,xdescribe:!1,xit:!1,xtest:!1},qunit:{asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notOk:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,throws:!1},phantomjs:{console:!0,exports:!0,phantom:!0,require:!0,WebPage:!0},couch:{emit:!1,exports:!1,getRow:!1,log:!1,module:!1,provides:!1,require:!1,respond:!1,send:!1,start:!1,sum:!1},rhino:{defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},nashorn:{__DIR__:!1,__FILE__:!1,__LINE__:!1,com:!1,edu:!1,exit:!1,Java:!1,java:!1,javafx:!1,JavaImporter:!1,javax:!1,JSAdapter:!1,load:!1,loadWithNewGlobal:!1,org:!1,Packages:!1,print:!1,quit:!1},wsh:{ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WScript:!0,WSH:!0,XDomainRequest:!0},jquery:{$:!1,jQuery:!1},yui:{Y:!1,YUI:!1,YUI_config:!1},shelljs:{cat:!1,cd:!1,chmod:!1,config:!1,cp:!1,dirs:!1,echo:!1,env:!1,error:!1,exec:!1,exit:!1,find:!1,grep:!1,ls:!1,ln:!1,mkdir:!1,mv:!1,popd:!1,pushd:!1,pwd:!1,rm:!1,sed:!1,set:!1,target:!1,tempdir:!1,test:!1,touch:!1,which:!1},prototypejs:{$:!1,$$:!1,$A:!1,$break:!1,$continue:!1,$F:!1,$H:!1,$R:!1,$w:!1,Abstract:!1,Ajax:!1,Autocompleter:!1,Builder:!1,Class:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Element:!1,Enumerable:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Scriptaculous:!1,Selector:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Template:!1,Toggle:!1,Try:!1},meteor:{$:!1,_:!1,Accounts:!1,AccountsClient:!1,AccountsServer:!1,AccountsCommon:!1,App:!1,Assets:!1,Blaze:!1,check:!1,Cordova:!1,DDP:!1,DDPServer:!1,DDPRateLimiter:!1,Deps:!1,EJSON:!1,Email:!1,HTTP:!1,Log:!1,Match:!1,Meteor:!1,Mongo:!1,MongoInternals:!1,Npm:!1,Package:!1,Plugin:!1,process:!1,Random:!1,ReactiveDict:!1,ReactiveVar:!1,Router:!1,ServiceConfiguration:!1,Session:!1,share:!1,Spacebars:!1,Template:!1,Tinytest:!1,Tracker:!1,UI:!1,Utils:!1,WebApp:!1,WebAppInternals:!1},mongo:{_isWindows:!1,_rand:!1,BulkWriteResult:!1,cat:!1,cd:!1,connect:!1,db:!1,getHostName:!1,getMemInfo:!1,hostname:!1,ISODate:!1,listFiles:!1,load:!1,ls:!1,md5sumFile:!1,mkdir:!1,Mongo:!1,NumberInt:!1,NumberLong:!1,ObjectId:!1,PlanCache:!1,print:!1,printjson:!1,pwd:!1,quit:!1,removeFile:!1,rs:!1,sh:!1,UUID:!1,version:!1,WriteResult:!1},applescript:{$:!1,Application:!1,Automation:!1,console:!1,delay:!1,Library:!1,ObjC:!1,ObjectSpecifier:!1,Path:!1,Progress:!1,Ref:!1},serviceworker:{caches:!1,Cache:!1,CacheStorage:!1,Client:!1,clients:!1,Clients:!1,ExtendableEvent:!1,ExtendableMessageEvent:!1,FetchEvent:!1,importScripts:!1,registration:!1,self:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerGlobalScope:!1,ServiceWorkerMessageEvent:!1,ServiceWorkerRegistration:!1,skipWaiting:!1,WindowClient:!1},atomtest:{advanceClock:!1,fakeClearInterval:!1,fakeClearTimeout:!1,fakeSetInterval:!1,fakeSetTimeout:!1,resetTimeouts:!1,waitsForPromise:!1},embertest:{andThen:!1,click:!1,currentPath:!1,currentRouteName:!1,currentURL:!1,fillIn:!1,find:!1,findWithAssert:!1,keyEvent:!1,pauseTest:!1,resumeTest:!1,triggerEvent:!1,visit:!1},protractor:{$:!1,$$:!1,browser:!1,By:!1,by:!1,DartObject:!1,element:!1,protractor:!1},\"shared-node-browser\":{clearInterval:!1,clearTimeout:!1,console:!1,setInterval:!1,setTimeout:!1},webextensions:{browser:!1,chrome:!1,opr:!1},greasemonkey:{GM_addStyle:!1,GM_deleteValue:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_setClipboard:!1,GM_setValue:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1}}},function(e,t){e.exports={75:8490,83:383,107:8490,115:383,181:924,197:8491,383:83,452:453,453:452,455:456,456:455,458:459,459:458,497:498,498:497,837:8126,914:976,917:1013,920:1012,921:8126,922:1008,924:181,928:982,929:1009,931:962,934:981,937:8486,962:931,976:914,977:1012,981:934,982:928,1008:922,1009:929,1012:[920,977],1013:917,7776:7835,7835:7776,8126:[837,921],8486:937,8490:75,8491:197,66560:66600,66561:66601,66562:66602,66563:66603,66564:66604,66565:66605,66566:66606,66567:66607,66568:66608,66569:66609,66570:66610,66571:66611,66572:66612,66573:66613,66574:66614,66575:66615,66576:66616,66577:66617,66578:66618,66579:66619,66580:66620,66581:66621,66582:66622,66583:66623,66584:66624,66585:66625,66586:66626,66587:66627,66588:66628,66589:66629,66590:66630,66591:66631,66592:66632,66593:66633,66594:66634,66595:66635,66596:66636,66597:66637,66598:66638,66599:66639,66600:66560,66601:66561,66602:66562,66603:66563,66604:66564,66605:66565,66606:66566,66607:66567,66608:66568,66609:66569,66610:66570,66611:66571,66612:66572,66613:66573,66614:66574,66615:66575,66616:66576,66617:66577,66618:66578,66619:66579,66620:66580,66621:66581,66622:66582,66623:66583,66624:66584,66625:66585,66626:66586,66627:66587,66628:66588,66629:66589,66630:66590,66631:66591,66632:66592,66633:66593,66634:66594,66635:66595,66636:66596,66637:66597,66638:66598,66639:66599,68736:68800,68737:68801,68738:68802,68739:68803,68740:68804,68741:68805,68742:68806,68743:68807,68744:68808,68745:68809,68746:68810,68747:68811,68748:68812,68749:68813,68750:68814,68751:68815,68752:68816,68753:68817,68754:68818,68755:68819,68756:68820,68757:68821,68758:68822,68759:68823,68760:68824,68761:68825,68762:68826,68763:68827,68764:68828,68765:68829,68766:68830,68767:68831,68768:68832,68769:68833,68770:68834,68771:68835,68772:68836,68773:68837,68774:68838,68775:68839,68776:68840,68777:68841,68778:68842,68779:68843,68780:68844,68781:68845,68782:68846,68783:68847,68784:68848,68785:68849,68786:68850,68800:68736,68801:68737,68802:68738,68803:68739,68804:68740,68805:68741,68806:68742,68807:68743,68808:68744,68809:68745,68810:68746,68811:68747,68812:68748,68813:68749,68814:68750,68815:68751,68816:68752,68817:68753,68818:68754,68819:68755,68820:68756,68821:68757,68822:68758,68823:68759,68824:68760,68825:68761,68826:68762,68827:68763,68828:68764,68829:68765,68830:68766,68831:68767,68832:68768,68833:68769,68834:68770,68835:68771,68836:68772,68837:68773,68838:68774,68839:68775,68840:68776,68841:68777,68842:68778,68843:68779,68844:68780,68845:68781,68846:68782,68847:68783,68848:68784,68849:68785,68850:68786,71840:71872,71841:71873,71842:71874,71843:71875,71844:71876,71845:71877,71846:71878,71847:71879,71848:71880,71849:71881,71850:71882,71851:71883,71852:71884,71853:71885,71854:71886,71855:71887,71856:71888,71857:71889,71858:71890,71859:71891,71860:71892,71861:71893,71862:71894,71863:71895,71864:71896,71865:71897,71866:71898,71867:71899,71868:71900,71869:71901,71870:71902,71871:71903,71872:71840,71873:71841,71874:71842,71875:71843,71876:71844,71877:71845,71878:71846,71879:71847,71880:71848,71881:71849,71882:71850,71883:71851,71884:71852,71885:71853,71886:71854,71887:71855,71888:71856,71889:71857,71890:71858,71891:71859,71892:71860,71893:71861,71894:71862,71895:71863,71896:71864,71897:71865,71898:71866,71899:71867,71900:71868,71901:71869,71902:71870,71903:71871}}]))},e.exports=t()},4631:function(e){e.exports=function(){\"use strict\";var e=navigator.userAgent,t=navigator.platform,n=/gecko\\/\\d/i.test(e),r=/MSIE \\d/.test(e),i=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(e),o=/Edge\\/(\\d+)/.exec(e),a=r||i||o,s=a&&(r?document.documentMode||6:+(o||i)[1]),u=!o&&/WebKit\\//.test(e),l=u&&/Qt\\/\\d+\\.\\d+/.test(e),c=!o&&/Chrome\\//.test(e),f=/Opera\\//.test(e),p=/Apple Computer/.test(navigator.vendor),d=/Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(e),h=/PhantomJS/.test(e),m=p&&(/Mobile\\/\\w+/.test(e)||navigator.maxTouchPoints>2),y=/Android/.test(e),v=m||y||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),g=m||/Mac/.test(t),b=/\\bCrOS\\b/.test(e),x=/win/i.test(t),_=f&&e.match(/Version\\/(\\d*\\.\\d*)/);_&&(_=Number(_[1])),_&&_>=15&&(f=!1,u=!0);var w=g&&(l||f&&(null==_||_<12.11)),E=n||a&&s>=9;function S(e){return new RegExp(\"(^|\\\\s)\"+e+\"(?:$|\\\\s)\\\\s*\")}var k,A=function(e,t){var n=e.className,r=S(t).exec(n);if(r){var i=n.slice(r.index+r[0].length);e.className=n.slice(0,r.index)+(i?r[1]+i:\"\")}};function C(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return C(e).appendChild(t)}function D(e,t,n,r){var i=document.createElement(e);if(n&&(i.className=n),r&&(i.style.cssText=r),\"string\"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function M(e,t,n,r){var i=D(e,t,n,r);return i.setAttribute(\"role\",\"presentation\"),i}function P(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function O(){var e;try{e=document.activeElement}catch(t){e=document.body||null}for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;return e}function L(e,t){var n=e.className;S(t).test(n)||(e.className+=(n?\" \":\"\")+t)}function N(e,t){for(var n=e.split(\" \"),r=0;r<n.length;r++)n[r]&&!S(n[r]).test(t)&&(t+=\" \"+n[r]);return t}k=document.createRange?function(e,t,n,r){var i=document.createRange();return i.setEnd(r||e,n),i.setStart(e,t),i}:function(e,t,n){var r=document.body.createTextRange();try{r.moveToElementText(e.parentNode)}catch(e){return r}return r.collapse(!0),r.moveEnd(\"character\",n),r.moveStart(\"character\",t),r};var F=function(e){e.select()};function R(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function I(e,t,n){for(var r in t||(t={}),e)!e.hasOwnProperty(r)||!1===n&&t.hasOwnProperty(r)||(t[r]=e[r]);return t}function j(e,t,n,r,i){null==t&&-1==(t=e.search(/[^\\s\\u00a0]/))&&(t=e.length);for(var o=r||0,a=i||0;;){var s=e.indexOf(\"\\t\",o);if(s<0||s>=t)return a+(t-o);a+=s-o,a+=n-a%n,o=s+1}}m?F=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:a&&(F=function(e){try{e.select()}catch(e){}});var B=function(){this.id=null,this.f=null,this.time=0,this.handler=R(this.onTimeout,this)};function q(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}B.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},B.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};var z={toString:function(){return\"CodeMirror.Pass\"}},V={scroll:!1},U={origin:\"*mouse\"},W={origin:\"+move\"};function Y(e,t,n){for(var r=0,i=0;;){var o=e.indexOf(\"\\t\",r);-1==o&&(o=e.length);var a=o-r;if(o==e.length||i+a>=t)return r+Math.min(a,t-i);if(i+=o-r,r=o+1,(i+=n-i%n)>=t)return r}}var X=[\"\"];function H(e){for(;X.length<=e;)X.push(G(X)+\" \");return X[e]}function G(e){return e[e.length-1]}function $(e,t){for(var n=[],r=0;r<e.length;r++)n[r]=t(e[r],r);return n}function K(){}function Z(e,t){var n;return Object.create?n=Object.create(e):(K.prototype=e,n=new K),t&&I(t,n),n}var J=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/;function Q(e){return/\\w/.test(e)||e>\"\"&&(e.toUpperCase()!=e.toLowerCase()||J.test(e))}function ee(e,t){return t?!!(t.source.indexOf(\"\\\\w\")>-1&&Q(e))||t.test(e):Q(e)}function te(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ne=/[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/;function re(e){return e.charCodeAt(0)>=768&&ne.test(e)}function ie(e,t,n){for(;(n<0?t>0:t<e.length)&&re(e.charAt(t));)t+=n;return t}function oe(e,t,n){for(var r=t>n?-1:1;;){if(t==n)return t;var i=(t+n)/2,o=r<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+r}}var ae=null;function se(e,t,n){var r;ae=null;for(var i=0;i<e.length;++i){var o=e[i];if(o.from<t&&o.to>t)return i;o.to==t&&(o.from!=o.to&&\"before\"==n?r=i:ae=i),o.from==t&&(o.from!=o.to&&\"before\"!=n?r=i:ae=i)}return null!=r?r:ae}var ue=function(){var e=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,t=/[stwN]/,n=/[LRr]/,r=/[Lb1n]/,i=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,s){var u,l=\"ltr\"==s?\"L\":\"R\";if(0==a.length||\"ltr\"==s&&!e.test(a))return!1;for(var c=a.length,f=[],p=0;p<c;++p)f.push((u=a.charCodeAt(p))<=247?\"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\".charAt(u):1424<=u&&u<=1524?\"R\":1536<=u&&u<=1785?\"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\".charAt(u-1536):1774<=u&&u<=2220?\"r\":8192<=u&&u<=8203?\"w\":8204==u?\"b\":\"L\");for(var d=0,h=l;d<c;++d){var m=f[d];\"m\"==m?f[d]=h:h=m}for(var y=0,v=l;y<c;++y){var g=f[y];\"1\"==g&&\"r\"==v?f[y]=\"n\":n.test(g)&&(v=g,\"r\"==g&&(f[y]=\"R\"))}for(var b=1,x=f[0];b<c-1;++b){var _=f[b];\"+\"==_&&\"1\"==x&&\"1\"==f[b+1]?f[b]=\"1\":\",\"!=_||x!=f[b+1]||\"1\"!=x&&\"n\"!=x||(f[b]=x),x=_}for(var w=0;w<c;++w){var E=f[w];if(\",\"==E)f[w]=\"N\";else if(\"%\"==E){var S=void 0;for(S=w+1;S<c&&\"%\"==f[S];++S);for(var k=w&&\"!\"==f[w-1]||S<c&&\"1\"==f[S]?\"1\":\"N\",A=w;A<S;++A)f[A]=k;w=S-1}}for(var C=0,T=l;C<c;++C){var D=f[C];\"L\"==T&&\"1\"==D?f[C]=\"L\":n.test(D)&&(T=D)}for(var M=0;M<c;++M)if(t.test(f[M])){var P=void 0;for(P=M+1;P<c&&t.test(f[P]);++P);for(var O=\"L\"==(M?f[M-1]:l),L=O==(\"L\"==(P<c?f[P]:l))?O?\"L\":\"R\":l,N=M;N<P;++N)f[N]=L;M=P-1}for(var F,R=[],I=0;I<c;)if(r.test(f[I])){var j=I;for(++I;I<c&&r.test(f[I]);++I);R.push(new o(0,j,I))}else{var B=I,q=R.length,z=\"rtl\"==s?1:0;for(++I;I<c&&\"L\"!=f[I];++I);for(var V=B;V<I;)if(i.test(f[V])){B<V&&(R.splice(q,0,new o(1,B,V)),q+=z);var U=V;for(++V;V<I&&i.test(f[V]);++V);R.splice(q,0,new o(2,U,V)),q+=z,B=V}else++V;B<I&&R.splice(q,0,new o(1,B,I))}return\"ltr\"==s&&(1==R[0].level&&(F=a.match(/^\\s+/))&&(R[0].from=F[0].length,R.unshift(new o(0,0,F[0].length))),1==G(R).level&&(F=a.match(/\\s+$/))&&(G(R).to-=F[0].length,R.push(new o(0,c-F[0].length,c)))),\"rtl\"==s?R.reverse():R}}();function le(e,t){var n=e.order;return null==n&&(n=e.order=ue(e.text,t)),n}var ce=[],fe=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent(\"on\"+t,n);else{var r=e._handlers||(e._handlers={});r[t]=(r[t]||ce).concat(n)}};function pe(e,t){return e._handlers&&e._handlers[t]||ce}function de(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent(\"on\"+t,n);else{var r=e._handlers,i=r&&r[t];if(i){var o=q(i,n);o>-1&&(r[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function he(e,t){var n=pe(e,t);if(n.length)for(var r=Array.prototype.slice.call(arguments,2),i=0;i<n.length;++i)n[i].apply(null,r)}function me(e,t,n){return\"string\"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),he(e,n||t.type,e,t),_e(t)||t.codemirrorIgnore}function ye(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),r=0;r<t.length;++r)-1==q(n,t[r])&&n.push(t[r])}function ve(e,t){return pe(e,t).length>0}function ge(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){de(this,e,t)}}function be(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function xe(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function _e(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function we(e){be(e),xe(e)}function Ee(e){return e.target||e.srcElement}function Se(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),g&&e.ctrlKey&&1==t&&(t=3),t}var ke,Ae,Ce=function(){if(a&&s<9)return!1;var e=D(\"div\");return\"draggable\"in e||\"dragDrop\"in e}();function Te(e){if(null==ke){var t=D(\"span\",\"​\");T(e,D(\"span\",[t,document.createTextNode(\"x\")])),0!=e.firstChild.offsetHeight&&(ke=t.offsetWidth<=1&&t.offsetHeight>2&&!(a&&s<8))}var n=ke?D(\"span\",\"​\"):D(\"span\",\" \",null,\"display: inline-block; width: 1px; margin-right: -1px\");return n.setAttribute(\"cm-text\",\"\"),n}function De(e){if(null!=Ae)return Ae;var t=T(e,document.createTextNode(\"AخA\")),n=k(t,0,1).getBoundingClientRect(),r=k(t,1,2).getBoundingClientRect();return C(e),!(!n||n.left==n.right)&&(Ae=r.right-n.right<3)}var Me,Pe=3!=\"\\n\\nb\".split(/\\n/).length?function(e){for(var t=0,n=[],r=e.length;t<=r;){var i=e.indexOf(\"\\n\",t);-1==i&&(i=e.length);var o=e.slice(t,\"\\r\"==e.charAt(i-1)?i-1:i),a=o.indexOf(\"\\r\");-1!=a?(n.push(o.slice(0,a)),t+=a+1):(n.push(o),t=i+1)}return n}:function(e){return e.split(/\\r\\n?|\\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints(\"StartToEnd\",t)},Le=\"oncopy\"in(Me=D(\"div\"))||(Me.setAttribute(\"oncopy\",\"return;\"),\"function\"==typeof Me.oncopy),Ne=null;var Fe={},Re={};function Ie(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Fe[e]=t}function je(e){if(\"string\"==typeof e&&Re.hasOwnProperty(e))e=Re[e];else if(e&&\"string\"==typeof e.name&&Re.hasOwnProperty(e.name)){var t=Re[e.name];\"string\"==typeof t&&(t={name:t}),(e=Z(t,e)).name=t.name}else{if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(e))return je(\"application/xml\");if(\"string\"==typeof e&&/^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(e))return je(\"application/json\")}return\"string\"==typeof e?{name:e}:e||{name:\"null\"}}function Be(e,t){t=je(t);var n=Fe[t.name];if(!n)return Be(e,\"text/plain\");var r=n(e,t);if(qe.hasOwnProperty(t.name)){var i=qe[t.name];for(var o in i)i.hasOwnProperty(o)&&(r.hasOwnProperty(o)&&(r[\"_\"+o]=r[o]),r[o]=i[o])}if(r.name=t.name,t.helperType&&(r.helperType=t.helperType),t.modeProps)for(var a in t.modeProps)r[a]=t.modeProps[a];return r}var qe={};function ze(e,t){I(t,qe.hasOwnProperty(e)?qe[e]:qe[e]={})}function Ve(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([])),n[r]=i}return n}function Ue(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function We(e,t,n){return!e.startState||e.startState(t,n)}var Ye=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Xe(e,t){if((t-=e.first)<0||t>=e.size)throw new Error(\"There is no line \"+(t+e.first)+\" in the document.\");for(var n=e;!n.lines;)for(var r=0;;++r){var i=n.children[r],o=i.chunkSize();if(t<o){n=i;break}t-=o}return n.lines[t]}function He(e,t,n){var r=[],i=t.line;return e.iter(t.line,n.line+1,(function(e){var o=e.text;i==n.line&&(o=o.slice(0,n.ch)),i==t.line&&(o=o.slice(t.ch)),r.push(o),++i})),r}function Ge(e,t,n){var r=[];return e.iter(t,n,(function(e){r.push(e.text)})),r}function $e(e,t){var n=t-e.height;if(n)for(var r=e;r;r=r.parent)r.height+=n}function Ke(e){if(null==e.parent)return null;for(var t=e.parent,n=q(t.lines,e),r=t.parent;r;t=r,r=r.parent)for(var i=0;r.children[i]!=t;++i)n+=r.children[i].chunkSize();return n+t.first}function Ze(e,t){var n=e.first;e:do{for(var r=0;r<e.children.length;++r){var i=e.children[r],o=i.height;if(t<o){e=i;continue e}t-=o,n+=i.chunkSize()}return n}while(!e.lines);for(var a=0;a<e.lines.length;++a){var s=e.lines[a].height;if(t<s)break;t-=s}return n+a}function Je(e,t){return t>=e.first&&t<e.first+e.size}function Qe(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function et(e,t,n){if(void 0===n&&(n=null),!(this instanceof et))return new et(e,t,n);this.line=e,this.ch=t,this.sticky=n}function tt(e,t){return e.line-t.line||e.ch-t.ch}function nt(e,t){return e.sticky==t.sticky&&0==tt(e,t)}function rt(e){return et(e.line,e.ch)}function it(e,t){return tt(e,t)<0?t:e}function ot(e,t){return tt(e,t)<0?e:t}function at(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function st(e,t){if(t.line<e.first)return et(e.first,0);var n=e.first+e.size-1;return t.line>n?et(n,Xe(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?et(e.line,t):n<0?et(e.line,0):e}(t,Xe(e,t.line).text.length)}function ut(e,t){for(var n=[],r=0;r<t.length;r++)n[r]=st(e,t[r]);return n}Ye.prototype.eol=function(){return this.pos>=this.string.length},Ye.prototype.sol=function(){return this.pos==this.lineStart},Ye.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ye.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Ye.prototype.eat=function(e){var t=this.string.charAt(this.pos);if(\"string\"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},Ye.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Ye.prototype.eatSpace=function(){for(var e=this.pos;/[\\s\\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Ye.prototype.skipToEnd=function(){this.pos=this.string.length},Ye.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Ye.prototype.backUp=function(e){this.pos-=e},Ye.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=j(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?j(this.string,this.lineStart,this.tabSize):0)},Ye.prototype.indentation=function(){return j(this.string,null,this.tabSize)-(this.lineStart?j(this.string,this.lineStart,this.tabSize):0)},Ye.prototype.match=function(e,t,n){if(\"string\"!=typeof e){var r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&!1!==t&&(this.pos+=r[0].length),r)}var i=function(e){return n?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},Ye.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ye.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Ye.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Ye.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var lt=function(e,t){this.state=e,this.lookAhead=t},ct=function(e,t,n,r){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=r||0,this.baseTokens=null,this.baseTokenPos=1};function ft(e,t,n,r){var i=[e.state.modeGen],o={};xt(e,t.text,e.doc.mode,n,(function(e,t){return i.push(e,t)}),o,r);for(var a=n.state,s=function(r){n.baseTokens=i;var s=e.state.overlays[r],u=1,l=0;n.state=!0,xt(e,t.text,s.mode,n,(function(e,t){for(var n=u;l<e;){var r=i[u];r>e&&i.splice(u,1,e,i[u+1],r),u+=2,l=Math.min(e,r)}if(t)if(s.opaque)i.splice(n,u-n,e,\"overlay \"+t),u=n+2;else for(;n<u;n+=2){var o=i[n+1];i[n+1]=(o?o+\" \":\"\")+\"overlay \"+t}}),o),n.state=a,n.baseTokens=null,n.baseTokenPos=1},u=0;u<e.state.overlays.length;++u)s(u);return{styles:i,classes:o.bgClass||o.textClass?o:null}}function pt(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var r=dt(e,Ke(t)),i=t.text.length>e.options.maxHighlightLength&&Ve(e.doc.mode,r.state),o=ft(e,t,r);i&&(r.state=i),t.stateAfter=r.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function dt(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return new ct(r,!0,t);var o=function(e,t,n){for(var r,i,o=e.doc,a=n?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>a;--s){if(s<=o.first)return o.first;var u=Xe(o,s-1),l=u.stateAfter;if(l&&(!n||s+(l instanceof lt?l.lookAhead:0)<=o.modeFrontier))return s;var c=j(u.text,null,e.options.tabSize);(null==i||r>c)&&(i=s-1,r=c)}return i}(e,t,n),a=o>r.first&&Xe(r,o-1).stateAfter,s=a?ct.fromSaved(r,a,o):new ct(r,We(r.mode),o);return r.iter(o,t,(function(n){ht(e,n.text,s);var r=s.line;n.stateAfter=r==t-1||r%5==0||r>=i.viewFrom&&r<i.viewTo?s.save():null,s.nextLine()})),n&&(r.modeFrontier=s.line),s}function ht(e,t,n,r){var i=e.doc.mode,o=new Ye(t,e.options.tabSize,n);for(o.start=o.pos=r||0,\"\"==t&&mt(i,n.state);!o.eol();)yt(i,o,n.state),o.start=o.pos}function mt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=Ue(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function yt(e,t,n,r){for(var i=0;i<10;i++){r&&(r[0]=Ue(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error(\"Mode \"+e.name+\" failed to advance stream.\")}ct.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},ct.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,\"\"),size:this.baseTokens[this.baseTokenPos]-e}},ct.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},ct.fromSaved=function(e,t,n){return t instanceof lt?new ct(e,Ve(e.mode,t.state),n,t.lookAhead):new ct(e,Ve(e.mode,t),n)},ct.prototype.save=function(e){var t=!1!==e?Ve(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new lt(t,this.maxLookAhead):t};var vt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function gt(e,t,n,r){var i,o,a=e.doc,s=a.mode,u=Xe(a,(t=st(a,t)).line),l=dt(e,t.line,n),c=new Ye(u.text,e.options.tabSize,l);for(r&&(o=[]);(r||c.pos<t.ch)&&!c.eol();)c.start=c.pos,i=yt(s,c,l.state),r&&o.push(new vt(c,i,Ve(a.mode,l.state)));return r?o:new vt(c,i,l.state)}function bt(e,t){if(e)for(;;){var n=e.match(/(?:^|\\s+)line-(background-)?(\\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?\"bgClass\":\"textClass\";null==t[r]?t[r]=n[2]:new RegExp(\"(?:^|\\\\s)\"+n[2]+\"(?:$|\\\\s)\").test(t[r])||(t[r]+=\" \"+n[2])}return e}function xt(e,t,n,r,i,o,a){var s=n.flattenSpans;null==s&&(s=e.options.flattenSpans);var u,l=0,c=null,f=new Ye(t,e.options.tabSize,r),p=e.options.addModeClass&&[null];for(\"\"==t&&bt(mt(n,r.state),o);!f.eol();){if(f.pos>e.options.maxHighlightLength?(s=!1,a&&ht(e,t,r,f.pos),f.pos=t.length,u=null):u=bt(yt(n,f,r.state,p),o),p){var d=p[0].name;d&&(u=\"m-\"+(u?d+\" \"+u:d))}if(!s||c!=u){for(;l<f.start;)i(l=Math.min(f.start,l+5e3),c);c=u}f.start=f.pos}for(;l<f.pos;){var h=Math.min(f.pos,l+5e3);i(h,c),l=h}}var _t=!1,wt=!1;function Et(e,t,n){this.marker=e,this.from=t,this.to=n}function St(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function kt(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function At(e,t){if(t.full)return null;var n=Je(e,t.from.line)&&Xe(e,t.from.line).markedSpans,r=Je(e,t.to.line)&&Xe(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,o=t.to.ch,a=0==tt(t.from,t.to),s=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],a=o.marker;if(null==o.from||(a.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&\"bookmark\"==a.type&&(!n||!o.marker.insertLeft)){var s=null==o.to||(a.inclusiveRight?o.to>=t:o.to>t);(r||(r=[])).push(new Et(a,o.from,s?null:o.to))}}return r}(n,i,a),u=function(e,t,n){var r;if(e)for(var i=0;i<e.length;++i){var o=e[i],a=o.marker;if(null==o.to||(a.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&\"bookmark\"==a.type&&(!n||o.marker.insertLeft)){var s=null==o.from||(a.inclusiveLeft?o.from<=t:o.from<t);(r||(r=[])).push(new Et(a,s?null:o.from-t,null==o.to?null:o.to-t))}}return r}(r,o,a),l=1==t.text.length,c=G(t.text).length+(l?i:0);if(s)for(var f=0;f<s.length;++f){var p=s[f];if(null==p.to){var d=St(u,p.marker);d?l&&(p.to=null==d.to?null:d.to+c):p.to=i}}if(u)for(var h=0;h<u.length;++h){var m=u[h];null!=m.to&&(m.to+=c),null==m.from?St(s,m.marker)||(m.from=c,l&&(s||(s=[])).push(m)):(m.from+=c,l&&(s||(s=[])).push(m))}s&&(s=Ct(s)),u&&u!=s&&(u=Ct(u));var y=[s];if(!l){var v,g=t.text.length-2;if(g>0&&s)for(var b=0;b<s.length;++b)null==s[b].to&&(v||(v=[])).push(new Et(s[b].marker,null,null));for(var x=0;x<g;++x)y.push(v);y.push(u)}return y}function Ct(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Tt(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Dt(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Mt(e){return e.inclusiveLeft?-1:0}function Pt(e){return e.inclusiveRight?1:0}function Ot(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var r=e.find(),i=t.find(),o=tt(r.from,i.from)||Mt(e)-Mt(t);return o?-o:tt(r.to,i.to)||Pt(e)-Pt(t)||t.id-e.id}function Lt(e,t){var n,r=wt&&e.markedSpans;if(r)for(var i=void 0,o=0;o<r.length;++o)(i=r[o]).marker.collapsed&&null==(t?i.from:i.to)&&(!n||Ot(n,i.marker)<0)&&(n=i.marker);return n}function Nt(e){return Lt(e,!0)}function Ft(e){return Lt(e,!1)}function Rt(e,t){var n,r=wt&&e.markedSpans;if(r)for(var i=0;i<r.length;++i){var o=r[i];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function It(e,t,n,r,i){var o=Xe(e,t),a=wt&&o.markedSpans;if(a)for(var s=0;s<a.length;++s){var u=a[s];if(u.marker.collapsed){var l=u.marker.find(0),c=tt(l.from,n)||Mt(u.marker)-Mt(i),f=tt(l.to,r)||Pt(u.marker)-Pt(i);if(!(c>=0&&f<=0||c<=0&&f>=0)&&(c<=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(l.to,n)>=0:tt(l.to,n)>0)||c>=0&&(u.marker.inclusiveRight&&i.inclusiveLeft?tt(l.from,r)<=0:tt(l.from,r)<0)))return!0}}}function jt(e){for(var t;t=Nt(e);)e=t.find(-1,!0).line;return e}function Bt(e,t){var n=Xe(e,t),r=jt(n);return n==r?t:Ke(r)}function qt(e,t){if(t>e.lastLine())return t;var n,r=Xe(e,t);if(!zt(e,r))return t;for(;n=Ft(r);)r=n.find(1,!0).line;return Ke(r)+1}function zt(e,t){var n=wt&&t.markedSpans;if(n)for(var r=void 0,i=0;i<n.length;++i)if((r=n[i]).marker.collapsed){if(null==r.from)return!0;if(!r.marker.widgetNode&&0==r.from&&r.marker.inclusiveLeft&&Vt(e,t,r))return!0}}function Vt(e,t,n){if(null==n.to){var r=n.marker.find(1,!0);return Vt(e,r.line,St(r.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var i=void 0,o=0;o<t.markedSpans.length;++o)if((i=t.markedSpans[o]).marker.collapsed&&!i.marker.widgetNode&&i.from==n.to&&(null==i.to||i.to!=n.from)&&(i.marker.inclusiveLeft||n.marker.inclusiveRight)&&Vt(e,t,i))return!0}function Ut(e){for(var t=0,n=(e=jt(e)).parent,r=0;r<n.lines.length;++r){var i=n.lines[r];if(i==e)break;t+=i.height}for(var o=n.parent;o;o=(n=o).parent)for(var a=0;a<o.children.length;++a){var s=o.children[a];if(s==n)break;t+=s.height}return t}function Wt(e){if(0==e.height)return 0;for(var t,n=e.text.length,r=e;t=Nt(r);){var i=t.find(0,!0);r=i.from.line,n+=i.from.ch-i.to.ch}for(r=e;t=Ft(r);){var o=t.find(0,!0);n-=r.text.length-o.from.ch,n+=(r=o.to.line).text.length-o.to.ch}return n}function Yt(e){var t=e.display,n=e.doc;t.maxLine=Xe(n,n.first),t.maxLineLength=Wt(t.maxLine),t.maxLineChanged=!0,n.iter((function(e){var n=Wt(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Xt=function(e,t,n){this.text=e,Dt(this,t),this.height=n?n(this):1};function Ht(e){e.parent=null,Tt(e)}Xt.prototype.lineNo=function(){return Ke(this)},ge(Xt);var Gt={},$t={};function Kt(e,t){if(!e||/^\\s*$/.test(e))return null;var n=t.addModeClass?$t:Gt;return n[e]||(n[e]=e.replace(/\\S+/g,\"cm-$&\"))}function Zt(e,t){var n=M(\"span\",null,null,u?\"padding-right: .1px\":null),r={pre:M(\"pre\",[n],\"CodeMirror-line\"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption(\"lineWrapping\")};t.measure={};for(var i=0;i<=(t.rest?t.rest.length:0);i++){var o=i?t.rest[i-1]:t.line,a=void 0;r.pos=0,r.addToken=Qt,De(e.display.measure)&&(a=le(o,e.doc.direction))&&(r.addToken=en(r.addToken,a)),r.map=[],nn(o,r,pt(e,o,t!=e.display.externalMeasured&&Ke(o))),o.styleClasses&&(o.styleClasses.bgClass&&(r.bgClass=N(o.styleClasses.bgClass,r.bgClass||\"\")),o.styleClasses.textClass&&(r.textClass=N(o.styleClasses.textClass,r.textClass||\"\"))),0==r.map.length&&r.map.push(0,0,r.content.appendChild(Te(e.display.measure))),0==i?(t.measure.map=r.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(r.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(u){var s=r.content.lastChild;(/\\bcm-tab\\b/.test(s.className)||s.querySelector&&s.querySelector(\".cm-tab\"))&&(r.content.className=\"cm-tab-wrap-hack\")}return he(e,\"renderLine\",e,t.line,r.pre),r.pre.className&&(r.textClass=N(r.pre.className,r.textClass||\"\")),r}function Jt(e){var t=D(\"span\",\"•\",\"cm-invalidchar\");return t.title=\"\\\\u\"+e.charCodeAt(0).toString(16),t.setAttribute(\"aria-label\",t.title),t}function Qt(e,t,n,r,i,o,u){if(t){var l,c=e.splitSpaces?function(e,t){if(e.length>1&&!/  /.test(e))return e;for(var n=t,r=\"\",i=0;i<e.length;i++){var o=e.charAt(i);\" \"!=o||!n||i!=e.length-1&&32!=e.charCodeAt(i+1)||(o=\" \"),r+=o,n=\" \"==o}return r}(t,e.trailingSpace):t,f=e.cm.state.specialChars,p=!1;if(f.test(t)){l=document.createDocumentFragment();for(var d=0;;){f.lastIndex=d;var h=f.exec(t),m=h?h.index-d:t.length-d;if(m){var y=document.createTextNode(c.slice(d,d+m));a&&s<9?l.appendChild(D(\"span\",[y])):l.appendChild(y),e.map.push(e.pos,e.pos+m,y),e.col+=m,e.pos+=m}if(!h)break;d+=m+1;var v=void 0;if(\"\\t\"==h[0]){var g=e.cm.options.tabSize,b=g-e.col%g;(v=l.appendChild(D(\"span\",H(b),\"cm-tab\"))).setAttribute(\"role\",\"presentation\"),v.setAttribute(\"cm-text\",\"\\t\"),e.col+=b}else\"\\r\"==h[0]||\"\\n\"==h[0]?((v=l.appendChild(D(\"span\",\"\\r\"==h[0]?\"␍\":\"␤\",\"cm-invalidchar\"))).setAttribute(\"cm-text\",h[0]),e.col+=1):((v=e.cm.options.specialCharPlaceholder(h[0])).setAttribute(\"cm-text\",h[0]),a&&s<9?l.appendChild(D(\"span\",[v])):l.appendChild(v),e.col+=1);e.map.push(e.pos,e.pos+1,v),e.pos++}}else e.col+=t.length,l=document.createTextNode(c),e.map.push(e.pos,e.pos+t.length,l),a&&s<9&&(p=!0),e.pos+=t.length;if(e.trailingSpace=32==c.charCodeAt(t.length-1),n||r||i||p||o||u){var x=n||\"\";r&&(x+=r),i&&(x+=i);var _=D(\"span\",[l],x,o);if(u)for(var w in u)u.hasOwnProperty(w)&&\"style\"!=w&&\"class\"!=w&&_.setAttribute(w,u[w]);return e.content.appendChild(_)}e.content.appendChild(l)}}function en(e,t){return function(n,r,i,o,a,s,u){i=i?i+\" cm-force-border\":\"cm-force-border\";for(var l=n.pos,c=l+r.length;;){for(var f=void 0,p=0;p<t.length&&!((f=t[p]).to>l&&f.from<=l);p++);if(f.to>=c)return e(n,r,i,o,a,s,u);e(n,r.slice(0,f.to-l),i,o,null,s,u),o=null,r=r.slice(f.to-l),l=f.to}}}function tn(e,t,n,r){var i=!r&&n.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!r&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement(\"span\"))),i.setAttribute(\"cm-marker\",n.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function nn(e,t,n){var r=e.markedSpans,i=e.text,o=0;if(r)for(var a,s,u,l,c,f,p,d=i.length,h=0,m=1,y=\"\",v=0;;){if(v==h){u=l=c=s=\"\",p=null,f=null,v=1/0;for(var g=[],b=void 0,x=0;x<r.length;++x){var _=r[x],w=_.marker;if(\"bookmark\"==w.type&&_.from==h&&w.widgetNode)g.push(w);else if(_.from<=h&&(null==_.to||_.to>h||w.collapsed&&_.to==h&&_.from==h)){if(null!=_.to&&_.to!=h&&v>_.to&&(v=_.to,l=\"\"),w.className&&(u+=\" \"+w.className),w.css&&(s=(s?s+\";\":\"\")+w.css),w.startStyle&&_.from==h&&(c+=\" \"+w.startStyle),w.endStyle&&_.to==v&&(b||(b=[])).push(w.endStyle,_.to),w.title&&((p||(p={})).title=w.title),w.attributes)for(var E in w.attributes)(p||(p={}))[E]=w.attributes[E];w.collapsed&&(!f||Ot(f.marker,w)<0)&&(f=_)}else _.from>h&&v>_.from&&(v=_.from)}if(b)for(var S=0;S<b.length;S+=2)b[S+1]==v&&(l+=\" \"+b[S]);if(!f||f.from==h)for(var k=0;k<g.length;++k)tn(t,0,g[k]);if(f&&(f.from||0)==h){if(tn(t,(null==f.to?d+1:f.to)-h,f.marker,null==f.from),null==f.to)return;f.to==h&&(f=!1)}}if(h>=d)break;for(var A=Math.min(d,v);;){if(y){var C=h+y.length;if(!f){var T=C>A?y.slice(0,A-h):y;t.addToken(t,T,a?a+u:u,c,h+T.length==v?l:\"\",s,p)}if(C>=A){y=y.slice(A-h),h=A;break}h=C,c=\"\"}y=i.slice(o,o=n[m++]),a=Kt(n[m++],t.cm.options)}}else for(var D=1;D<n.length;D+=2)t.addToken(t,i.slice(o,o=n[D]),Kt(n[D+1],t.cm.options))}function rn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Ft(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}(t),this.size=this.rest?Ke(G(this.rest))-n+1:1,this.node=this.text=null,this.hidden=zt(e,t)}function on(e,t,n){for(var r,i=[],o=t;o<n;o=r){var a=new rn(e.doc,Xe(e.doc,o),o);r=o+a.size,i.push(a)}return i}var an=null;var sn=null;function un(e,t){var n=pe(e,t);if(n.length){var r,i=Array.prototype.slice.call(arguments,2);an?r=an.delayedCallbacks:sn?r=sn:(r=sn=[],setTimeout(ln,0));for(var o=function(e){r.push((function(){return n[e].apply(null,i)}))},a=0;a<n.length;++a)o(a)}}function ln(){var e=sn;sn=null;for(var t=0;t<e.length;++t)e[t]()}function cn(e,t,n,r){for(var i=0;i<t.changes.length;i++){var o=t.changes[i];\"text\"==o?dn(e,t):\"gutter\"==o?mn(e,t,n,r):\"class\"==o?hn(e,t):\"widget\"==o&&yn(e,t,r)}t.changes=null}function fn(e){return e.node==e.text&&(e.node=D(\"div\",null,null,\"position: relative\"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),a&&s<8&&(e.node.style.zIndex=2)),e.node}function pn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):Zt(e,t)}function dn(e,t){var n=t.text.className,r=pn(e,t);t.text==t.node&&(t.node=r.pre),t.text.parentNode.replaceChild(r.pre,t.text),t.text=r.pre,r.bgClass!=t.bgClass||r.textClass!=t.textClass?(t.bgClass=r.bgClass,t.textClass=r.textClass,hn(e,t)):n&&(t.text.className=n)}function hn(e,t){(function(e,t){var n=t.bgClass?t.bgClass+\" \"+(t.line.bgClass||\"\"):t.line.bgClass;if(n&&(n+=\" CodeMirror-linebackground\"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var r=fn(t);t.background=r.insertBefore(D(\"div\",null,n),r.firstChild),e.display.input.setUneditable(t.background)}})(e,t),t.line.wrapClass?fn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className=\"\");var n=t.textClass?t.textClass+\" \"+(t.line.textClass||\"\"):t.line.textClass;t.text.className=n||\"\"}function mn(e,t,n,r){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var i=fn(t);t.gutterBackground=D(\"div\",null,\"CodeMirror-gutter-background \"+t.line.gutterClass,\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px; width: \"+r.gutterTotalWidth+\"px\"),e.display.input.setUneditable(t.gutterBackground),i.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var a=fn(t),s=t.gutter=D(\"div\",null,\"CodeMirror-gutter-wrapper\",\"left: \"+(e.options.fixedGutter?r.fixedPos:-r.gutterTotalWidth)+\"px\");if(s.setAttribute(\"aria-hidden\",\"true\"),e.display.input.setUneditable(s),a.insertBefore(s,t.text),t.line.gutterClass&&(s.className+=\" \"+t.line.gutterClass),!e.options.lineNumbers||o&&o[\"CodeMirror-linenumbers\"]||(t.lineNumber=s.appendChild(D(\"div\",Qe(e.options,n),\"CodeMirror-linenumber CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[\"CodeMirror-linenumbers\"]+\"px; width: \"+e.display.lineNumInnerWidth+\"px\"))),o)for(var u=0;u<e.display.gutterSpecs.length;++u){var l=e.display.gutterSpecs[u].className,c=o.hasOwnProperty(l)&&o[l];c&&s.appendChild(D(\"div\",[c],\"CodeMirror-gutter-elt\",\"left: \"+r.gutterLeft[l]+\"px; width: \"+r.gutterWidth[l]+\"px\"))}}}function yn(e,t,n){t.alignable&&(t.alignable=null);for(var r=S(\"CodeMirror-linewidget\"),i=t.node.firstChild,o=void 0;i;i=o)o=i.nextSibling,r.test(i.className)&&t.node.removeChild(i);gn(e,t,n)}function vn(e,t,n,r){var i=pn(e,t);return t.text=t.node=i.pre,i.bgClass&&(t.bgClass=i.bgClass),i.textClass&&(t.textClass=i.textClass),hn(e,t),mn(e,t,n,r),gn(e,t,r),t.node}function gn(e,t,n){if(bn(e,t.line,t,n,!0),t.rest)for(var r=0;r<t.rest.length;r++)bn(e,t.rest[r],t,n,!1)}function bn(e,t,n,r,i){if(t.widgets)for(var o=fn(n),a=0,s=t.widgets;a<s.length;++a){var u=s[a],l=D(\"div\",[u.node],\"CodeMirror-linewidget\"+(u.className?\" \"+u.className:\"\"));u.handleMouseEvents||l.setAttribute(\"cm-ignore-events\",\"true\"),xn(u,l,n,r),e.display.input.setUneditable(l),i&&u.above?o.insertBefore(l,n.gutter||n.text):o.appendChild(l),un(u,\"redraw\")}}function xn(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+\"px\",e.coverGutter||(i-=r.gutterTotalWidth,t.style.paddingLeft=r.gutterTotalWidth+\"px\"),t.style.width=i+\"px\"}e.coverGutter&&(t.style.zIndex=5,t.style.position=\"relative\",e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+\"px\"))}function _n(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!P(document.body,e.node)){var n=\"position: relative;\";e.coverGutter&&(n+=\"margin-left: -\"+t.display.gutters.offsetWidth+\"px;\"),e.noHScroll&&(n+=\"width: \"+t.display.wrapper.clientWidth+\"px;\"),T(t.display.measure,D(\"div\",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function wn(e,t){for(var n=Ee(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&\"true\"==n.getAttribute(\"cm-ignore-events\")||n.parentNode==e.sizer&&n!=e.mover)return!0}function En(e){return e.lineSpace.offsetTop}function Sn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function kn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=T(e.measure,D(\"pre\",\"x\",\"CodeMirror-line-like\")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,r={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(r.left)||isNaN(r.right)||(e.cachedPaddingH=r),r}function An(e){return 50-e.display.nativeBarWidth}function Cn(e){return e.display.scroller.clientWidth-An(e)-e.display.barWidth}function Tn(e){return e.display.scroller.clientHeight-An(e)-e.display.barHeight}function Dn(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};for(var r=0;r<e.rest.length;r++)if(e.rest[r]==t)return{map:e.measure.maps[r],cache:e.measure.caches[r]};for(var i=0;i<e.rest.length;i++)if(Ke(e.rest[i])>n)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}function Mn(e,t,n,r){return Ln(e,On(e,t),n,r)}function Pn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[cr(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function On(e,t){var n=Ke(t),r=Pn(e,n);r&&!r.text?r=null:r&&r.changes&&(cn(e,r,n,or(e)),e.curOp.forceUpdate=!0),r||(r=function(e,t){var n=Ke(t=jt(t)),r=e.display.externalMeasured=new rn(e.doc,t,n);r.lineN=n;var i=r.built=Zt(e,r);return r.text=i.pre,T(e.display.lineMeasure,i.pre),r}(e,t));var i=Dn(r,t,n);return{line:t,view:r,rect:null,map:i.map,cache:i.cache,before:i.before,hasHeights:!1}}function Ln(e,t,n,r,i){t.before&&(n=-1);var o,u=n+(r||\"\");return t.cache.hasOwnProperty(u)?o=t.cache[u]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var r=e.options.lineWrapping,i=r&&Cn(e);if(!t.measure.heights||r&&t.measure.width!=i){var o=t.measure.heights=[];if(r){t.measure.width=i;for(var a=t.text.firstChild.getClientRects(),s=0;s<a.length-1;s++){var u=a[s],l=a[s+1];Math.abs(u.bottom-l.bottom)>2&&o.push((u.bottom+l.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,r){var i,o=Rn(t.map,n,r),u=o.node,l=o.start,c=o.end,f=o.collapse;if(3==u.nodeType){for(var p=0;p<4;p++){for(;l&&re(t.line.text.charAt(o.coverStart+l));)--l;for(;o.coverStart+c<o.coverEnd&&re(t.line.text.charAt(o.coverStart+c));)++c;if((i=a&&s<9&&0==l&&c==o.coverEnd-o.coverStart?u.parentNode.getBoundingClientRect():In(k(u,l,c).getClientRects(),r)).left||i.right||0==l)break;c=l,l-=1,f=\"right\"}a&&s<11&&(i=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Ne)return Ne;var t=T(e,D(\"span\",\"x\")),n=t.getBoundingClientRect(),r=k(t,0,1).getBoundingClientRect();return Ne=Math.abs(n.left-r.left)>1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,r=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*r,bottom:t.bottom*r}}(e.display.measure,i))}else{var d;l>0&&(f=r=\"right\"),i=e.options.lineWrapping&&(d=u.getClientRects()).length>1?d[\"right\"==r?d.length-1:0]:u.getBoundingClientRect()}if(a&&s<9&&!l&&(!i||!i.left&&!i.right)){var h=u.parentNode.getClientRects()[0];i=h?{left:h.left,right:h.left+ir(e.display),top:h.top,bottom:h.bottom}:Fn}for(var m=i.top-t.rect.top,y=i.bottom-t.rect.top,v=(m+y)/2,g=t.view.measure.heights,b=0;b<g.length-1&&!(v<g[b]);b++);var x=b?g[b-1]:0,_=g[b],w={left:(\"right\"==f?i.right:i.left)-t.rect.left,right:(\"left\"==f?i.left:i.right)-t.rect.left,top:x,bottom:_};return i.left||i.right||(w.bogus=!0),e.options.singleCursorHeightPerLine||(w.rtop=m,w.rbottom=y),w}(e,t,n,r)).bogus||(t.cache[u]=o)),{left:o.left,right:o.right,top:i?o.rtop:o.top,bottom:i?o.rbottom:o.bottom}}var Nn,Fn={left:0,right:0,top:0,bottom:0};function Rn(e,t,n){for(var r,i,o,a,s,u,l=0;l<e.length;l+=3)if(s=e[l],u=e[l+1],t<s?(i=0,o=1,a=\"left\"):t<u?o=1+(i=t-s):(l==e.length-3||t==u&&e[l+3]>t)&&(i=(o=u-s)-1,t>=u&&(a=\"right\")),null!=i){if(r=e[l+2],s==u&&n==(r.insertLeft?\"left\":\"right\")&&(a=n),\"left\"==n&&0==i)for(;l&&e[l-2]==e[l-3]&&e[l-1].insertLeft;)r=e[2+(l-=3)],a=\"left\";if(\"right\"==n&&i==u-s)for(;l<e.length-3&&e[l+3]==e[l+4]&&!e[l+5].insertLeft;)r=e[(l+=3)+2],a=\"right\";break}return{node:r,start:i,end:o,collapse:a,coverStart:s,coverEnd:u}}function In(e,t){var n=Fn;if(\"left\"==t)for(var r=0;r<e.length&&(n=e[r]).left==n.right;r++);else for(var i=e.length-1;i>=0&&(n=e[i]).left==n.right;i--);return n}function jn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Bn(e){e.display.externalMeasure=null,C(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)jn(e.display.view[t])}function qn(e){Bn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function zn(){return c&&y?-(document.body.getBoundingClientRect().left-parseInt(getComputedStyle(document.body).marginLeft)):window.pageXOffset||(document.documentElement||document.body).scrollLeft}function Vn(){return c&&y?-(document.body.getBoundingClientRect().top-parseInt(getComputedStyle(document.body).marginTop)):window.pageYOffset||(document.documentElement||document.body).scrollTop}function Un(e){var t=0;if(e.widgets)for(var n=0;n<e.widgets.length;++n)e.widgets[n].above&&(t+=_n(e.widgets[n]));return t}function Wn(e,t,n,r,i){if(!i){var o=Un(t);n.top+=o,n.bottom+=o}if(\"line\"==r)return n;r||(r=\"local\");var a=Ut(t);if(\"local\"==r?a+=En(e.display):a-=e.display.viewOffset,\"page\"==r||\"window\"==r){var s=e.display.lineSpace.getBoundingClientRect();a+=s.top+(\"window\"==r?0:Vn());var u=s.left+(\"window\"==r?0:zn());n.left+=u,n.right+=u}return n.top+=a,n.bottom+=a,n}function Yn(e,t,n){if(\"div\"==n)return t;var r=t.left,i=t.top;if(\"page\"==n)r-=zn(),i-=Vn();else if(\"local\"==n||!n){var o=e.display.sizer.getBoundingClientRect();r+=o.left,i+=o.top}var a=e.display.lineSpace.getBoundingClientRect();return{left:r-a.left,top:i-a.top}}function Xn(e,t,n,r,i){return r||(r=Xe(e.doc,t.line)),Wn(e,r,Mn(e,r,t.ch,i),n)}function Hn(e,t,n,r,i,o){function a(t,a){var s=Ln(e,i,t,a?\"right\":\"left\",o);return a?s.left=s.right:s.right=s.left,Wn(e,r,s,n)}r=r||Xe(e.doc,t.line),i||(i=On(e,r));var s=le(r,e.doc.direction),u=t.ch,l=t.sticky;if(u>=r.text.length?(u=r.text.length,l=\"before\"):u<=0&&(u=0,l=\"after\"),!s)return a(\"before\"==l?u-1:u,\"before\"==l);function c(e,t,n){return a(n?e-1:e,1==s[t].level!=n)}var f=se(s,u,l),p=ae,d=c(u,f,\"before\"==l);return null!=p&&(d.other=c(u,p,\"before\"!=l)),d}function Gn(e,t){var n=0;t=st(e.doc,t),e.options.lineWrapping||(n=ir(e.display)*t.ch);var r=Xe(e.doc,t.line),i=Ut(r)+En(e.display);return{left:n,right:n,top:i,bottom:i+r.height}}function $n(e,t,n,r,i){var o=et(e,t,n);return o.xRel=i,r&&(o.outside=r),o}function Kn(e,t,n){var r=e.doc;if((n+=e.display.viewOffset)<0)return $n(r.first,0,null,-1,-1);var i=Ze(r,n),o=r.first+r.size-1;if(i>o)return $n(r.first+r.size-1,Xe(r,o).text.length,null,1,1);t<0&&(t=0);for(var a=Xe(r,i);;){var s=er(e,a,i,t,n),u=Rt(a,s.ch+(s.xRel>0||s.outside>0?1:0));if(!u)return s;var l=u.find(1);if(l.line==i)return l;a=Xe(r,i=l.line)}}function Zn(e,t,n,r){r-=Un(t);var i=t.text.length,o=oe((function(t){return Ln(e,n,t-1).bottom<=r}),i,0);return{begin:o,end:i=oe((function(t){return Ln(e,n,t).top>r}),o,i)}}function Jn(e,t,n,r){return n||(n=On(e,t)),Zn(e,t,n,Wn(e,t,Ln(e,n,r),\"line\").top)}function Qn(e,t,n,r){return!(e.bottom<=n)&&(e.top>n||(r?e.left:e.right)>t)}function er(e,t,n,r,i){i-=Ut(t);var o=On(e,t),a=Un(t),s=0,u=t.text.length,l=!0,c=le(t,e.doc.direction);if(c){var f=(e.options.lineWrapping?nr:tr)(e,t,n,o,c,r,i);s=(l=1!=f.level)?f.from:f.to-1,u=l?f.to:f.from-1}var p,d,h=null,m=null,y=oe((function(t){var n=Ln(e,o,t);return n.top+=a,n.bottom+=a,!!Qn(n,r,i,!1)&&(n.top<=i&&n.left<=r&&(h=t,m=n),!0)}),s,u),v=!1;if(m){var g=r-m.left<m.right-r,b=g==l;y=h+(b?0:1),d=b?\"after\":\"before\",p=g?m.left:m.right}else{l||y!=u&&y!=s||y++,d=0==y?\"after\":y==t.text.length?\"before\":Ln(e,o,y-(l?1:0)).bottom+a<=i==l?\"after\":\"before\";var x=Hn(e,et(n,y,d),\"line\",t,o);p=x.left,v=i<x.top?-1:i>=x.bottom?1:0}return $n(n,y=ie(t.text,y,1),d,v,r-p)}function tr(e,t,n,r,i,o,a){var s=oe((function(s){var u=i[s],l=1!=u.level;return Qn(Hn(e,et(n,l?u.to:u.from,l?\"before\":\"after\"),\"line\",t,r),o,a,!0)}),0,i.length-1),u=i[s];if(s>0){var l=1!=u.level,c=Hn(e,et(n,l?u.from:u.to,l?\"after\":\"before\"),\"line\",t,r);Qn(c,o,a,!0)&&c.top>a&&(u=i[s-1])}return u}function nr(e,t,n,r,i,o,a){var s=Zn(e,t,r,a),u=s.begin,l=s.end;/\\s/.test(t.text.charAt(l-1))&&l--;for(var c=null,f=null,p=0;p<i.length;p++){var d=i[p];if(!(d.from>=l||d.to<=u)){var h=Ln(e,r,1!=d.level?Math.min(l,d.to)-1:Math.max(u,d.from)).right,m=h<o?o-h+1e9:h-o;(!c||f>m)&&(c=d,f=m)}}return c||(c=i[i.length-1]),c.from<u&&(c={from:u,to:c.to,level:c.level}),c.to>l&&(c={from:c.from,to:l,level:c.level}),c}function rr(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Nn){Nn=D(\"pre\",null,\"CodeMirror-line-like\");for(var t=0;t<49;++t)Nn.appendChild(document.createTextNode(\"x\")),Nn.appendChild(D(\"br\"));Nn.appendChild(document.createTextNode(\"x\"))}T(e.measure,Nn);var n=Nn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),C(e.measure),n||1}function ir(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=D(\"span\",\"xxxxxxxxxx\"),n=D(\"pre\",[t],\"CodeMirror-line-like\");T(e.measure,n);var r=t.getBoundingClientRect(),i=(r.right-r.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function or(e){for(var t=e.display,n={},r={},i=t.gutters.clientLeft,o=t.gutters.firstChild,a=0;o;o=o.nextSibling,++a){var s=e.display.gutterSpecs[a].className;n[s]=o.offsetLeft+o.clientLeft+i,r[s]=o.clientWidth}return{fixedPos:ar(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function ar(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function sr(e){var t=rr(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/ir(e.display)-3);return function(i){if(zt(e.doc,i))return 0;var o=0;if(i.widgets)for(var a=0;a<i.widgets.length;a++)i.widgets[a].height&&(o+=i.widgets[a].height);return n?o+(Math.ceil(i.text.length/r)||1)*t:o+t}}function ur(e){var t=e.doc,n=sr(e);t.iter((function(e){var t=n(e);t!=e.height&&$e(e,t)}))}function lr(e,t,n,r){var i=e.display;if(!n&&\"true\"==Ee(t).getAttribute(\"cm-not-content\"))return null;var o,a,s=i.lineSpace.getBoundingClientRect();try{o=t.clientX-s.left,a=t.clientY-s.top}catch(e){return null}var u,l=Kn(e,o,a);if(r&&l.xRel>0&&(u=Xe(e.doc,l.line).text).length==l.ch){var c=j(u,u.length,e.options.tabSize)-u.length;l=et(l.line,Math.max(0,Math.round((o-kn(e.display).left)/ir(e.display))-c))}return l}function cr(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,r=0;r<n.length;r++)if((t-=n[r].size)<0)return r}function fr(e,t,n,r){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),r||(r=0);var i=e.display;if(r&&n<i.viewTo&&(null==i.updateLineNumbers||i.updateLineNumbers>t)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)wt&&Bt(e.doc,t)<i.viewTo&&dr(e);else if(n<=i.viewFrom)wt&&qt(e.doc,n+r)>i.viewFrom?dr(e):(i.viewFrom+=r,i.viewTo+=r);else if(t<=i.viewFrom&&n>=i.viewTo)dr(e);else if(t<=i.viewFrom){var o=hr(e,n,n+r,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=r):dr(e)}else if(n>=i.viewTo){var a=hr(e,t,t,-1);a?(i.view=i.view.slice(0,a.index),i.viewTo=a.lineN):dr(e)}else{var s=hr(e,t,t,-1),u=hr(e,n,n+r,1);s&&u?(i.view=i.view.slice(0,s.index).concat(on(e,s.lineN,u.lineN)).concat(i.view.slice(u.index)),i.viewTo+=r):dr(e)}var l=i.externalMeasured;l&&(n<l.lineN?l.lineN+=r:t<l.lineN+l.size&&(i.externalMeasured=null))}function pr(e,t,n){e.curOp.viewChanged=!0;var r=e.display,i=e.display.externalMeasured;if(i&&t>=i.lineN&&t<i.lineN+i.size&&(r.externalMeasured=null),!(t<r.viewFrom||t>=r.viewTo)){var o=r.view[cr(e,t)];if(null!=o.node){var a=o.changes||(o.changes=[]);-1==q(a,n)&&a.push(n)}}}function dr(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function hr(e,t,n,r){var i,o=cr(e,t),a=e.display.view;if(!wt||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var s=e.display.viewFrom,u=0;u<o;u++)s+=a[u].size;if(s!=t){if(r>0){if(o==a.length-1)return null;i=s+a[o].size-t,o++}else i=s-t;t+=i,n+=i}for(;Bt(e.doc,n)!=n;){if(o==(r<0?0:a.length-1))return null;n+=r*a[o-(r<0?1:0)].size,o+=r}return{index:o,lineN:n}}function mr(e){for(var t=e.display.view,n=0,r=0;r<t.length;r++){var i=t[r];i.hidden||i.node&&!i.changes||++n}return n}function yr(e){e.display.input.showSelection(e.display.input.prepareSelection())}function vr(e,t){void 0===t&&(t=!0);for(var n=e.doc,r={},i=r.cursors=document.createDocumentFragment(),o=r.selection=document.createDocumentFragment(),a=0;a<n.sel.ranges.length;a++)if(t||a!=n.sel.primIndex){var s=n.sel.ranges[a];if(!(s.from().line>=e.display.viewTo||s.to().line<e.display.viewFrom)){var u=s.empty();(u||e.options.showCursorWhenSelecting)&&gr(e,s.head,i),u||xr(e,s,o)}}return r}function gr(e,t,n){var r=Hn(e,t,\"div\",null,null,!e.options.singleCursorHeightPerLine),i=n.appendChild(D(\"div\",\" \",\"CodeMirror-cursor\"));if(i.style.left=r.left+\"px\",i.style.top=r.top+\"px\",i.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+\"px\",r.other){var o=n.appendChild(D(\"div\",\" \",\"CodeMirror-cursor CodeMirror-secondarycursor\"));o.style.display=\"\",o.style.left=r.other.left+\"px\",o.style.top=r.other.top+\"px\",o.style.height=.85*(r.other.bottom-r.other.top)+\"px\"}}function br(e,t){return e.top-t.top||e.left-t.left}function xr(e,t,n){var r=e.display,i=e.doc,o=document.createDocumentFragment(),a=kn(e.display),s=a.left,u=Math.max(r.sizerWidth,Cn(e)-r.sizer.offsetLeft)-a.right,l=\"ltr\"==i.direction;function c(e,t,n,r){t<0&&(t=0),t=Math.round(t),r=Math.round(r),o.appendChild(D(\"div\",null,\"CodeMirror-selected\",\"position: absolute; left: \"+e+\"px;\\n                             top: \"+t+\"px; width: \"+(null==n?u-e:n)+\"px;\\n                             height: \"+(r-t)+\"px\"))}function f(t,n,r){var o,a,f=Xe(i,t),p=f.text.length;function d(n,r){return Xn(e,et(t,n),\"div\",f,r)}function h(t,n,r){var i=Jn(e,f,null,t),o=\"ltr\"==n==(\"after\"==r)?\"left\":\"right\";return d(\"after\"==r?i.begin:i.end-(/\\s/.test(f.text.charAt(i.end-1))?2:1),o)[o]}var m=le(f,i.direction);return function(e,t,n,r){if(!e)return r(t,n,\"ltr\",0);for(var i=!1,o=0;o<e.length;++o){var a=e[o];(a.from<n&&a.to>t||t==n&&a.to==t)&&(r(Math.max(a.from,t),Math.min(a.to,n),1==a.level?\"rtl\":\"ltr\",o),i=!0)}i||r(t,n,\"ltr\")}(m,n||0,null==r?p:r,(function(e,t,i,f){var y=\"ltr\"==i,v=d(e,y?\"left\":\"right\"),g=d(t-1,y?\"right\":\"left\"),b=null==n&&0==e,x=null==r&&t==p,_=0==f,w=!m||f==m.length-1;if(g.top-v.top<=3){var E=(l?x:b)&&w,S=(l?b:x)&&_?s:(y?v:g).left,k=E?u:(y?g:v).right;c(S,v.top,k-S,v.bottom)}else{var A,C,T,D;y?(A=l&&b&&_?s:v.left,C=l?u:h(e,i,\"before\"),T=l?s:h(t,i,\"after\"),D=l&&x&&w?u:g.right):(A=l?h(e,i,\"before\"):s,C=!l&&b&&_?u:v.right,T=!l&&x&&w?s:g.left,D=l?h(t,i,\"after\"):u),c(A,v.top,C-A,v.bottom),v.bottom<g.top&&c(s,v.bottom,null,g.top),c(T,g.top,D-T,g.bottom)}(!o||br(v,o)<0)&&(o=v),br(g,o)<0&&(o=g),(!a||br(v,a)<0)&&(a=v),br(g,a)<0&&(a=g)})),{start:o,end:a}}var p=t.from(),d=t.to();if(p.line==d.line)f(p.line,p.ch,d.ch);else{var h=Xe(i,p.line),m=Xe(i,d.line),y=jt(h)==jt(m),v=f(p.line,p.ch,y?h.text.length+1:null).end,g=f(d.line,y?0:null,d.ch).start;y&&(v.top<g.top-2?(c(v.right,v.top,null,v.bottom),c(s,g.top,g.left,g.bottom)):c(v.right,v.top,g.left-v.right,v.bottom)),v.bottom<g.top&&c(s,v.bottom,null,g.top)}n.appendChild(o)}function _r(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility=\"\",e.options.cursorBlinkRate>0?t.blinker=setInterval((function(){e.hasFocus()||kr(e),t.cursorDiv.style.visibility=(n=!n)?\"\":\"hidden\"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility=\"hidden\")}}function wr(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Sr(e))}function Er(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&kr(e))}),100)}function Sr(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),\"nocursor\"!=e.options.readOnly&&(e.state.focused||(he(e,\"focus\",e,t),e.state.focused=!0,L(e.display.wrapper,\"CodeMirror-focused\"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),u&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),_r(e))}function kr(e,t){e.state.delayingBlurEvent||(e.state.focused&&(he(e,\"blur\",e,t),e.state.focused=!1,A(e.display.wrapper,\"CodeMirror-focused\")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Ar(e){for(var t=e.display,n=t.lineDiv.offsetTop,r=0;r<t.view.length;r++){var i=t.view[r],o=e.options.lineWrapping,u=void 0,l=0;if(!i.hidden){if(a&&s<8){var c=i.node.offsetTop+i.node.offsetHeight;u=c-n,n=c}else{var f=i.node.getBoundingClientRect();u=f.bottom-f.top,!o&&i.text.firstChild&&(l=i.text.firstChild.getBoundingClientRect().right-f.left-1)}var p=i.line.height-u;if((p>.005||p<-.005)&&($e(i.line,u),Cr(i.line),i.rest))for(var d=0;d<i.rest.length;d++)Cr(i.rest[d]);if(l>e.display.sizerWidth){var h=Math.ceil(l/ir(e.display));h>e.display.maxLineLength&&(e.display.maxLineLength=h,e.display.maxLine=i.line,e.display.maxLineChanged=!0)}}}}function Cr(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],r=n.node.parentNode;r&&(n.height=r.offsetHeight)}}function Tr(e,t,n){var r=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;r=Math.floor(r-En(e));var i=n&&null!=n.bottom?n.bottom:r+e.wrapper.clientHeight,o=Ze(t,r),a=Ze(t,i);if(n&&n.ensure){var s=n.ensure.from.line,u=n.ensure.to.line;s<o?(o=s,a=Ze(t,Ut(Xe(t,s))+e.wrapper.clientHeight)):Math.min(u,t.lastLine())>=a&&(o=Ze(t,Ut(Xe(t,u))-e.wrapper.clientHeight),a=u)}return{from:o,to:Math.max(a,o+1)}}function Dr(e,t){var n=e.display,r=rr(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Tn(e),a={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Sn(n),u=t.top<r,l=t.bottom>s-r;if(t.top<i)a.scrollTop=u?0:t.top;else if(t.bottom>i+o){var c=Math.min(t.top,(l?s:t.bottom)-o);c!=i&&(a.scrollTop=c)}var f=e.options.fixedGutter?0:n.gutters.offsetWidth,p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-f,d=Cn(e)-n.gutters.offsetWidth,h=t.right-t.left>d;return h&&(t.right=t.left+d),t.left<10?a.scrollLeft=0:t.left<p?a.scrollLeft=Math.max(0,t.left+f-(h?0:10)):t.right>d+p-3&&(a.scrollLeft=t.right+(h?0:10)-d),a}function Mr(e,t){null!=t&&(Lr(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Pr(e){Lr(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Or(e,t,n){null==t&&null==n||Lr(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Lr(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Nr(e,Gn(e,t.from),Gn(e,t.to),t.margin))}function Nr(e,t,n,r){var i=Dr(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-r,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+r});Or(e,i.scrollLeft,i.scrollTop)}function Fr(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||ui(e,{top:t}),Rr(e,t,!0),n&&ui(e),ri(e,100))}function Rr(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Ir(e,t,n,r){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!r||(e.doc.scrollLeft=t,fi(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function jr(e){var t=e.display,n=t.gutters.offsetWidth,r=Math.round(e.doc.height+Sn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:r,scrollHeight:r+An(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Br=function(e,t,n){this.cm=n;var r=this.vert=D(\"div\",[D(\"div\",null,null,\"min-width: 1px\")],\"CodeMirror-vscrollbar\"),i=this.horiz=D(\"div\",[D(\"div\",null,null,\"height: 100%; min-height: 1px\")],\"CodeMirror-hscrollbar\");r.tabIndex=i.tabIndex=-1,e(r),e(i),fe(r,\"scroll\",(function(){r.clientHeight&&t(r.scrollTop,\"vertical\")})),fe(i,\"scroll\",(function(){i.clientWidth&&t(i.scrollLeft,\"horizontal\")})),this.checkedZeroWidth=!1,a&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth=\"18px\")};Br.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,r=e.nativeBarWidth;if(n){this.vert.style.display=\"block\",this.vert.style.bottom=t?r+\"px\":\"0\";var i=e.viewHeight-(t?r:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+\"px\"}else this.vert.style.display=\"\",this.vert.firstChild.style.height=\"0\";if(t){this.horiz.style.display=\"block\",this.horiz.style.right=n?r+\"px\":\"0\",this.horiz.style.left=e.barLeft+\"px\";var o=e.viewWidth-e.barLeft-(n?r:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+\"px\"}else this.horiz.style.display=\"\",this.horiz.firstChild.style.width=\"0\";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==r&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?r:0,bottom:t?r:0}},Br.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,\"horiz\")},Br.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,\"vert\")},Br.prototype.zeroWidthHack=function(){var e=g&&!d?\"12px\":\"18px\";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.pointerEvents=this.vert.style.pointerEvents=\"none\",this.disableHoriz=new B,this.disableVert=new B},Br.prototype.enableZeroWidthBar=function(e,t,n){e.style.pointerEvents=\"auto\",t.set(1e3,(function r(){var i=e.getBoundingClientRect();(\"vert\"==n?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.pointerEvents=\"none\":t.set(1e3,r)}))},Br.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var qr=function(){};function zr(e,t){t||(t=jr(e));var n=e.display.barWidth,r=e.display.barHeight;Vr(e,t);for(var i=0;i<4&&n!=e.display.barWidth||r!=e.display.barHeight;i++)n!=e.display.barWidth&&e.options.lineWrapping&&Ar(e),Vr(e,jr(e)),n=e.display.barWidth,r=e.display.barHeight}function Vr(e,t){var n=e.display,r=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=r.right)+\"px\",n.sizer.style.paddingBottom=(n.barHeight=r.bottom)+\"px\",n.heightForcer.style.borderBottom=r.bottom+\"px solid transparent\",r.right&&r.bottom?(n.scrollbarFiller.style.display=\"block\",n.scrollbarFiller.style.height=r.bottom+\"px\",n.scrollbarFiller.style.width=r.right+\"px\"):n.scrollbarFiller.style.display=\"\",r.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display=\"block\",n.gutterFiller.style.height=r.bottom+\"px\",n.gutterFiller.style.width=t.gutterWidth+\"px\"):n.gutterFiller.style.display=\"\"}qr.prototype.update=function(){return{bottom:0,right:0}},qr.prototype.setScrollLeft=function(){},qr.prototype.setScrollTop=function(){},qr.prototype.clear=function(){};var Ur={native:Br,null:qr};function Wr(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&A(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Ur[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,\"mousedown\",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute(\"cm-not-content\",\"true\")}),(function(t,n){\"horizontal\"==n?Ir(e,t):Fr(e,t)}),e),e.display.scrollbars.addClass&&L(e.display.wrapper,e.display.scrollbars.addClass)}var Yr=0;function Xr(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Yr},t=e.curOp,an?an.ops.push(t):t.ownsGroup=an={ops:[t],delayedCallbacks:[]}}function Hr(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var r=0;r<e.ops.length;r++){var i=e.ops[r];if(i.cursorActivityHandlers)for(;i.cursorActivityCalled<i.cursorActivityHandlers.length;)i.cursorActivityHandlers[i.cursorActivityCalled++].call(null,i.cm)}}while(n<t.length)}(n)}finally{an=null,t(n)}}(t,(function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)Gr(t[n]);for(var r=0;r<t.length;r++)$r(t[r]);for(var i=0;i<t.length;i++)Kr(t[i]);for(var o=0;o<t.length;o++)Zr(t[o]);for(var a=0;a<t.length;a++)Jr(t[a])}(e)}))}function Gr(e){var t=e.cm,n=t.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=An(e)+\"px\",t.sizer.style.marginBottom=-t.nativeBarWidth+\"px\",t.sizer.style.borderRightWidth=An(e)+\"px\",t.scrollbarsClipped=!0)})(t),e.updateMaxLine&&Yt(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new oi(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function $r(e){e.updatedDisplay=e.mustUpdate&&ai(e.cm,e.update)}function Kr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Ar(t),e.barMeasure=jr(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Mn(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+An(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Cn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function Zr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+\"px\",e.maxScrollLeft<t.doc.scrollLeft&&Ir(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==O();e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&zr(t,e.barMeasure),e.updatedDisplay&&ci(t,e.barMeasure),e.selectionChanged&&_r(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&wr(e.cm)}function Jr(e){var t=e.cm,n=t.display,r=t.doc;e.updatedDisplay&&si(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&Rr(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Ir(t,e.scrollLeft,!0,!0),e.scrollToPos&&function(e,t){if(!me(e,\"scrollCursorIntoView\")){var n=e.display,r=n.sizer.getBoundingClientRect(),i=null;if(t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!h){var o=D(\"div\",\"​\",null,\"position: absolute;\\n                         top: \"+(t.top-n.viewOffset-En(e.display))+\"px;\\n                         height: \"+(t.bottom-t.top+An(e)+n.barHeight)+\"px;\\n                         left: \"+t.left+\"px; width: \"+Math.max(2,t.right-t.left)+\"px;\");e.display.lineSpace.appendChild(o),o.scrollIntoView(i),e.display.lineSpace.removeChild(o)}}}(t,function(e,t,n,r){var i;null==r&&(r=0),e.options.lineWrapping||t!=n||(n=\"before\"==(t=t.ch?et(t.line,\"before\"==t.sticky?t.ch-1:t.ch,\"after\"):t).sticky?et(t.line,t.ch+1,\"before\"):t);for(var o=0;o<5;o++){var a=!1,s=Hn(e,t),u=n&&n!=t?Hn(e,n):s,l=Dr(e,i={left:Math.min(s.left,u.left),top:Math.min(s.top,u.top)-r,right:Math.max(s.left,u.left),bottom:Math.max(s.bottom,u.bottom)+r}),c=e.doc.scrollTop,f=e.doc.scrollLeft;if(null!=l.scrollTop&&(Fr(e,l.scrollTop),Math.abs(e.doc.scrollTop-c)>1&&(a=!0)),null!=l.scrollLeft&&(Ir(e,l.scrollLeft),Math.abs(e.doc.scrollLeft-f)>1&&(a=!0)),!a)break}return i}(t,st(r,e.scrollToPos.from),st(r,e.scrollToPos.to),e.scrollToPos.margin));var i=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(i)for(var a=0;a<i.length;++a)i[a].lines.length||he(i[a],\"hide\");if(o)for(var s=0;s<o.length;++s)o[s].lines.length&&he(o[s],\"unhide\");n.wrapper.offsetHeight&&(r.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&he(t,\"changes\",t,e.changeObjs),e.update&&e.update.finish()}function Qr(e,t){if(e.curOp)return t();Xr(e);try{return t()}finally{Hr(e)}}function ei(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Xr(e);try{return t.apply(e,arguments)}finally{Hr(e)}}}function ti(e){return function(){if(this.curOp)return e.apply(this,arguments);Xr(this);try{return e.apply(this,arguments)}finally{Hr(this)}}}function ni(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Xr(t);try{return e.apply(this,arguments)}finally{Hr(t)}}}function ri(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,R(ii,e))}function ii(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,r=dt(e,t.highlightFrontier),i=[];t.iter(r.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(r.line>=e.display.viewFrom){var a=o.styles,s=o.text.length>e.options.maxHighlightLength?Ve(t.mode,r.state):null,u=ft(e,o,r,!0);s&&(r.state=s),o.styles=u.styles;var l=o.styleClasses,c=u.classes;c?o.styleClasses=c:l&&(o.styleClasses=null);for(var f=!a||a.length!=o.styles.length||l!=c&&(!l||!c||l.bgClass!=c.bgClass||l.textClass!=c.textClass),p=0;!f&&p<a.length;++p)f=a[p]!=o.styles[p];f&&i.push(r.line),o.stateAfter=r.save(),r.nextLine()}else o.text.length<=e.options.maxHighlightLength&&ht(e,o.text,r),o.stateAfter=r.line%5==0?r.save():null,r.nextLine();if(+new Date>n)return ri(e,e.options.workDelay),!0})),t.highlightFrontier=r.line,t.modeFrontier=Math.max(t.modeFrontier,r.line),i.length&&Qr(e,(function(){for(var t=0;t<i.length;t++)pr(e,i[t],\"text\")}))}}var oi=function(e,t,n){var r=e.display;this.viewport=t,this.visible=Tr(r,e.doc,t),this.editorIsHidden=!r.wrapper.offsetWidth,this.wrapperHeight=r.wrapper.clientHeight,this.wrapperWidth=r.wrapper.clientWidth,this.oldDisplayWidth=Cn(e),this.force=n,this.dims=or(e),this.events=[]};function ai(e,t){var n=e.display,r=e.doc;if(t.editorIsHidden)return dr(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==mr(e))return!1;pi(e)&&(dr(e),t.dims=or(e));var i=r.first+r.size,o=Math.max(t.visible.from-e.options.viewportMargin,r.first),a=Math.min(i,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(r.first,n.viewFrom)),n.viewTo>a&&n.viewTo-a<20&&(a=Math.min(i,n.viewTo)),wt&&(o=Bt(e.doc,o),a=qt(e.doc,a));var s=o!=n.viewFrom||a!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var r=e.display;0==r.view.length||t>=r.viewTo||n<=r.viewFrom?(r.view=on(e,t,n),r.viewFrom=t):(r.viewFrom>t?r.view=on(e,t,r.viewFrom).concat(r.view):r.viewFrom<t&&(r.view=r.view.slice(cr(e,t))),r.viewFrom=t,r.viewTo<n?r.view=r.view.concat(on(e,r.viewTo,n)):r.viewTo>n&&(r.view=r.view.slice(0,cr(e,n)))),r.viewTo=n})(e,o,a),n.viewOffset=Ut(Xe(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+\"px\";var l=mr(e);if(!s&&0==l&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=O();if(!t||!P(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var r=window.getSelection();r.anchorNode&&r.extend&&P(e.display.lineDiv,r.anchorNode)&&(n.anchorNode=r.anchorNode,n.anchorOffset=r.anchorOffset,n.focusNode=r.focusNode,n.focusOffset=r.focusOffset)}return n}(e);return l>4&&(n.lineDiv.style.display=\"none\"),function(e,t,n){var r=e.display,i=e.options.lineNumbers,o=r.lineDiv,a=o.firstChild;function s(t){var n=t.nextSibling;return u&&g&&e.display.currentWheelTarget==t?t.style.display=\"none\":t.parentNode.removeChild(t),n}for(var l=r.view,c=r.viewFrom,f=0;f<l.length;f++){var p=l[f];if(p.hidden);else if(p.node&&p.node.parentNode==o){for(;a!=p.node;)a=s(a);var d=i&&null!=t&&t<=c&&p.lineNumber;p.changes&&(q(p.changes,\"gutter\")>-1&&(d=!1),cn(e,p,c,n)),d&&(C(p.lineNumber),p.lineNumber.appendChild(document.createTextNode(Qe(e.options,c)))),a=p.node.nextSibling}else{var h=vn(e,p,c,n);o.insertBefore(h,a)}c+=p.size}for(;a;)a=s(a)}(e,n.updateLineNumbers,t.dims),l>4&&(n.lineDiv.style.display=\"\"),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=O()&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&P(document.body,e.anchorNode)&&P(document.body,e.focusNode))){var t=window.getSelection(),n=document.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),t.removeAllRanges(),t.addRange(n),t.extend(e.focusNode,e.focusOffset)}}(c),C(n.cursorDiv),C(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,s&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,ri(e,400)),n.updateLineNumbers=null,!0}function si(e,t){for(var n=t.viewport,r=!0;;r=!1){if(r&&e.options.lineWrapping&&t.oldDisplayWidth!=Cn(e))r&&(t.visible=Tr(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Sn(e.display)-Tn(e),n.top)}),t.visible=Tr(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!ai(e,t))break;Ar(e);var i=jr(e);yr(e),zr(e,i),ci(e,i),t.force=!1}t.signal(e,\"update\",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,\"viewportChange\",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function ui(e,t){var n=new oi(e,t);if(ai(e,n)){Ar(e),si(e,n);var r=jr(e);yr(e),zr(e,r),ci(e,r),n.finish()}}function li(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+\"px\",un(e,\"gutterChanged\",e)}function ci(e,t){e.display.sizer.style.minHeight=t.docHeight+\"px\",e.display.heightForcer.style.top=t.docHeight+\"px\",e.display.gutters.style.height=t.docHeight+e.display.barHeight+An(e)+\"px\"}function fi(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=ar(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=r+\"px\",a=0;a<n.length;a++)if(!n[a].hidden){e.options.fixedGutter&&(n[a].gutter&&(n[a].gutter.style.left=o),n[a].gutterBackground&&(n[a].gutterBackground.style.left=o));var s=n[a].alignable;if(s)for(var u=0;u<s.length;u++)s[u].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=r+i+\"px\")}}function pi(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=Qe(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(D(\"div\",[D(\"div\",n)],\"CodeMirror-linenumber CodeMirror-gutter-elt\")),o=i.firstChild.offsetWidth,a=i.offsetWidth-o;return r.lineGutter.style.width=\"\",r.lineNumInnerWidth=Math.max(o,r.lineGutter.offsetWidth-a)+1,r.lineNumWidth=r.lineNumInnerWidth+a,r.lineNumChars=r.lineNumInnerWidth?n.length:-1,r.lineGutter.style.width=r.lineNumWidth+\"px\",li(e.display),!0}return!1}function di(e,t){for(var n=[],r=!1,i=0;i<e.length;i++){var o=e[i],a=null;if(\"string\"!=typeof o&&(a=o.style,o=o.className),\"CodeMirror-linenumbers\"==o){if(!t)continue;r=!0}n.push({className:o,style:a})}return t&&!r&&n.push({className:\"CodeMirror-linenumbers\",style:null}),n}function hi(e){var t=e.gutters,n=e.gutterSpecs;C(t),e.lineGutter=null;for(var r=0;r<n.length;++r){var i=n[r],o=i.className,a=i.style,s=t.appendChild(D(\"div\",null,\"CodeMirror-gutter \"+o));a&&(s.style.cssText=a),\"CodeMirror-linenumbers\"==o&&(e.lineGutter=s,s.style.width=(e.lineNumWidth||1)+\"px\")}t.style.display=n.length?\"\":\"none\",li(e)}function mi(e){hi(e.display),fr(e),fi(e)}function yi(e,t,r,i){var o=this;this.input=r,o.scrollbarFiller=D(\"div\",null,\"CodeMirror-scrollbar-filler\"),o.scrollbarFiller.setAttribute(\"cm-not-content\",\"true\"),o.gutterFiller=D(\"div\",null,\"CodeMirror-gutter-filler\"),o.gutterFiller.setAttribute(\"cm-not-content\",\"true\"),o.lineDiv=M(\"div\",null,\"CodeMirror-code\"),o.selectionDiv=D(\"div\",null,null,\"position: relative; z-index: 1\"),o.cursorDiv=D(\"div\",null,\"CodeMirror-cursors\"),o.measure=D(\"div\",null,\"CodeMirror-measure\"),o.lineMeasure=D(\"div\",null,\"CodeMirror-measure\"),o.lineSpace=M(\"div\",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,\"position: relative; outline: none\");var l=M(\"div\",[o.lineSpace],\"CodeMirror-lines\");o.mover=D(\"div\",[l],null,\"position: relative\"),o.sizer=D(\"div\",[o.mover],\"CodeMirror-sizer\"),o.sizerWidth=null,o.heightForcer=D(\"div\",null,null,\"position: absolute; height: 50px; width: 1px;\"),o.gutters=D(\"div\",null,\"CodeMirror-gutters\"),o.lineGutter=null,o.scroller=D(\"div\",[o.sizer,o.heightForcer,o.gutters],\"CodeMirror-scroll\"),o.scroller.setAttribute(\"tabIndex\",\"-1\"),o.wrapper=D(\"div\",[o.scrollbarFiller,o.gutterFiller,o.scroller],\"CodeMirror\"),a&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),u||n&&v||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=di(i.gutters,i.lineNumbers),hi(o),r.init(o)}oi.prototype.signal=function(e,t){ve(e,t)&&this.events.push(arguments)},oi.prototype.finish=function(){for(var e=0;e<this.events.length;e++)he.apply(null,this.events[e])};var vi=0,gi=null;function bi(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function xi(e){var t=bi(e);return t.x*=gi,t.y*=gi,t}function _i(e,t){var r=bi(t),i=r.x,o=r.y,a=e.display,s=a.scroller,l=s.scrollWidth>s.clientWidth,c=s.scrollHeight>s.clientHeight;if(i&&l||o&&c){if(o&&g&&u)e:for(var p=t.target,d=a.view;p!=s;p=p.parentNode)for(var h=0;h<d.length;h++)if(d[h].node==p){e.display.currentWheelTarget=p;break e}if(i&&!n&&!f&&null!=gi)return o&&c&&Fr(e,Math.max(0,s.scrollTop+o*gi)),Ir(e,Math.max(0,s.scrollLeft+i*gi)),(!o||o&&c)&&be(t),void(a.wheelStartX=null);if(o&&null!=gi){var m=o*gi,y=e.doc.scrollTop,v=y+a.wrapper.clientHeight;m<0?y=Math.max(0,y+m-50):v=Math.min(e.doc.height,v+m+50),ui(e,{top:y,bottom:v})}vi<20&&(null==a.wheelStartX?(a.wheelStartX=s.scrollLeft,a.wheelStartY=s.scrollTop,a.wheelDX=i,a.wheelDY=o,setTimeout((function(){if(null!=a.wheelStartX){var e=s.scrollLeft-a.wheelStartX,t=s.scrollTop-a.wheelStartY,n=t&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX;a.wheelStartX=a.wheelStartY=null,n&&(gi=(gi*vi+n)/(vi+1),++vi)}}),200)):(a.wheelDX+=i,a.wheelDY+=o))}}a?gi=-.53:n?gi=15:c?gi=-.7:p&&(gi=-1/3);var wi=function(e,t){this.ranges=e,this.primIndex=t};wi.prototype.primary=function(){return this.ranges[this.primIndex]},wi.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],r=e.ranges[t];if(!nt(n.anchor,r.anchor)||!nt(n.head,r.head))return!1}return!0},wi.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new Ei(rt(this.ranges[t].anchor),rt(this.ranges[t].head));return new wi(e,this.primIndex)},wi.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},wi.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var r=this.ranges[n];if(tt(t,r.from())>=0&&tt(e,r.to())<=0)return n}return-1};var Ei=function(e,t){this.anchor=e,this.head=t};function Si(e,t,n){var r=e&&e.options.selectionsMayTouch,i=t[n];t.sort((function(e,t){return tt(e.from(),t.from())})),n=q(t,i);for(var o=1;o<t.length;o++){var a=t[o],s=t[o-1],u=tt(s.to(),a.from());if(r&&!a.empty()?u>0:u>=0){var l=ot(s.from(),a.from()),c=it(s.to(),a.to()),f=s.empty()?a.from()==a.head:s.from()==s.head;o<=n&&--n,t.splice(--o,2,new Ei(f?c:l,f?l:c))}}return new wi(t,n)}function ki(e,t){return new wi([new Ei(e,t||e)],0)}function Ai(e){return e.text?et(e.from.line+e.text.length-1,G(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Ci(e,t){if(tt(e,t.from)<0)return e;if(tt(e,t.to)<=0)return Ai(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,r=e.ch;return e.line==t.to.line&&(r+=Ai(t).ch-t.to.ch),et(n,r)}function Ti(e,t){for(var n=[],r=0;r<e.sel.ranges.length;r++){var i=e.sel.ranges[r];n.push(new Ei(Ci(i.anchor,t),Ci(i.head,t)))}return Si(e.cm,n,e.sel.primIndex)}function Di(e,t,n){return e.line==t.line?et(n.line,e.ch-t.ch+n.ch):et(n.line+(e.line-t.line),e.ch)}function Mi(e){e.doc.mode=Be(e.options,e.doc.modeOption),Pi(e)}function Pi(e){e.doc.iter((function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)})),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,ri(e,100),e.state.modeGen++,e.curOp&&fr(e)}function Oi(e,t){return 0==t.from.ch&&0==t.to.ch&&\"\"==G(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Li(e,t,n,r){function i(e){return n?n[e]:null}function o(e,n,i){(function(e,t,n,r){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Tt(e),Dt(e,n);var i=r?r(e):1;i!=e.height&&$e(e,i)})(e,n,i,r),un(e,\"change\",e,t)}function a(e,t){for(var n=[],o=e;o<t;++o)n.push(new Xt(l[o],i(o),r));return n}var s=t.from,u=t.to,l=t.text,c=Xe(e,s.line),f=Xe(e,u.line),p=G(l),d=i(l.length-1),h=u.line-s.line;if(t.full)e.insert(0,a(0,l.length)),e.remove(l.length,e.size-l.length);else if(Oi(e,t)){var m=a(0,l.length-1);o(f,f.text,d),h&&e.remove(s.line,h),m.length&&e.insert(s.line,m)}else if(c==f)if(1==l.length)o(c,c.text.slice(0,s.ch)+p+c.text.slice(u.ch),d);else{var y=a(1,l.length-1);y.push(new Xt(p+c.text.slice(u.ch),d,r)),o(c,c.text.slice(0,s.ch)+l[0],i(0)),e.insert(s.line+1,y)}else if(1==l.length)o(c,c.text.slice(0,s.ch)+l[0]+f.text.slice(u.ch),i(0)),e.remove(s.line+1,h);else{o(c,c.text.slice(0,s.ch)+l[0],i(0)),o(f,p+f.text.slice(u.ch),d);var v=a(1,l.length-1);h>1&&e.remove(s.line+1,h-1),e.insert(s.line+1,v)}un(e,\"change\",e,t)}function Ni(e,t,n){!function e(r,i,o){if(r.linked)for(var a=0;a<r.linked.length;++a){var s=r.linked[a];if(s.doc!=i){var u=o&&s.sharedHist;n&&!u||(t(s.doc,u),e(s.doc,r,u))}}}(e,null,!0)}function Fi(e,t){if(t.cm)throw new Error(\"This document is already in use.\");e.doc=t,t.cm=e,ur(e),Mi(e),Ri(e),e.options.lineWrapping||Yt(e),e.options.mode=t.modeOption,fr(e)}function Ri(e){(\"rtl\"==e.doc.direction?L:A)(e.display.lineDiv,\"CodeMirror-rtl\")}function Ii(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function ji(e,t){var n={from:rt(t.from),to:Ai(t),text:He(e,t.from,t.to)};return Ui(e,n,t.from.line,t.to.line+1),Ni(e,(function(e){return Ui(e,n,t.from.line,t.to.line+1)}),!0),n}function Bi(e){for(;e.length&&G(e).ranges;)e.pop()}function qi(e,t,n,r){var i=e.history;i.undone.length=0;var o,a,s=+new Date;if((i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(\"+\"==t.origin.charAt(0)&&i.lastModTime>s-(e.cm?e.cm.options.historyEventDelay:500)||\"*\"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Bi(e.done),G(e.done)):e.done.length&&!G(e.done).ranges?G(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),G(e.done)):void 0}(i,i.lastOp==r)))a=G(o.changes),0==tt(t.from,t.to)&&0==tt(t.from,a.to)?a.to=Ai(t):o.changes.push(ji(e,t));else{var u=G(i.done);for(u&&u.ranges||Vi(e.sel,i.done),o={changes:[ji(e,t)],generation:i.generation},i.done.push(o);i.done.length>i.undoDepth;)i.done.shift(),i.done[0].ranges||i.done.shift()}i.done.push(n),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=r,i.lastOrigin=i.lastSelOrigin=t.origin,a||he(e,\"historyAdded\")}function zi(e,t,n,r){var i=e.history,o=r&&r.origin;n==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,n,r){var i=t.charAt(0);return\"*\"==i||\"+\"==i&&n.ranges.length==r.ranges.length&&n.somethingSelected()==r.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,G(i.done),t))?i.done[i.done.length-1]=t:Vi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=n,r&&!1!==r.clearRedo&&Bi(i.undone)}function Vi(e,t){var n=G(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Ui(e,t,n,r){var i=t[\"spans_\"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),(function(n){n.markedSpans&&((i||(i=t[\"spans_\"+e.id]={}))[o]=n.markedSpans),++o}))}function Wi(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function Yi(e,t){var n=function(e,t){var n=t[\"spans_\"+e.id];if(!n)return null;for(var r=[],i=0;i<t.text.length;++i)r.push(Wi(n[i]));return r}(e,t),r=At(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var o=n[i],a=r[i];if(o&&a)e:for(var s=0;s<a.length;++s){for(var u=a[s],l=0;l<o.length;++l)if(o[l].marker==u.marker)continue e;o.push(u)}else a&&(n[i]=a)}return n}function Xi(e,t,n){for(var r=[],i=0;i<e.length;++i){var o=e[i];if(o.ranges)r.push(n?wi.prototype.deepCopy.call(o):o);else{var a=o.changes,s=[];r.push({changes:s});for(var u=0;u<a.length;++u){var l=a[u],c=void 0;if(s.push({from:l.from,to:l.to,text:l.text}),t)for(var f in l)(c=f.match(/^spans_(\\d+)$/))&&q(t,Number(c[1]))>-1&&(G(s)[f]=l[f],delete l[f])}}}return r}function Hi(e,t,n,r){if(r){var i=e.anchor;if(n){var o=tt(t,i)<0;o!=tt(n,i)<0?(i=t,t=n):o!=tt(t,n)<0&&(t=n)}return new Ei(i,t)}return new Ei(n||t,t)}function Gi(e,t,n,r,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),Qi(e,new wi([Hi(e.sel.primary(),t,n,i)],0),r)}function $i(e,t,n){for(var r=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)r[o]=Hi(e.sel.ranges[o],t[o],null,i);Qi(e,Si(e.cm,r,e.sel.primIndex),n)}function Ki(e,t,n,r){var i=e.sel.ranges.slice(0);i[t]=n,Qi(e,Si(e.cm,i,e.sel.primIndex),r)}function Zi(e,t,n,r){Qi(e,ki(t,n),r)}function Ji(e,t,n){var r=e.history.done,i=G(r);i&&i.ranges?(r[r.length-1]=t,eo(e,t,n)):Qi(e,t,n)}function Qi(e,t,n){eo(e,t,n),zi(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function eo(e,t,n){(ve(e,\"beforeSelectionChange\")||e.cm&&ve(e.cm,\"beforeSelectionChange\"))&&(t=function(e,t,n){var r={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new Ei(st(e,t[n].anchor),st(e,t[n].head))},origin:n&&n.origin};return he(e,\"beforeSelectionChange\",e,r),e.cm&&he(e.cm,\"beforeSelectionChange\",e.cm,r),r.ranges!=t.ranges?Si(e.cm,r.ranges,r.ranges.length-1):t}(e,t,n));var r=n&&n.bias||(tt(t.primary().head,e.sel.primary().head)<0?-1:1);to(e,ro(e,t,r,!0)),n&&!1===n.scroll||!e.cm||\"nocursor\"==e.cm.getOption(\"readOnly\")||Pr(e.cm)}function to(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,ye(e.cm)),un(e,\"cursorActivity\",e))}function no(e){to(e,ro(e,e.sel,null,!1))}function ro(e,t,n,r){for(var i,o=0;o<t.ranges.length;o++){var a=t.ranges[o],s=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],u=oo(e,a.anchor,s&&s.anchor,n,r),l=oo(e,a.head,s&&s.head,n,r);(i||u!=a.anchor||l!=a.head)&&(i||(i=t.ranges.slice(0,o)),i[o]=new Ei(u,l))}return i?Si(e.cm,i,t.primIndex):t}function io(e,t,n,r,i){var o=Xe(e,t.line);if(o.markedSpans)for(var a=0;a<o.markedSpans.length;++a){var s=o.markedSpans[a],u=s.marker,l=\"selectLeft\"in u?!u.selectLeft:u.inclusiveLeft,c=\"selectRight\"in u?!u.selectRight:u.inclusiveRight;if((null==s.from||(l?s.from<=t.ch:s.from<t.ch))&&(null==s.to||(c?s.to>=t.ch:s.to>t.ch))){if(i&&(he(u,\"beforeCursorEnter\"),u.explicitlyCleared)){if(o.markedSpans){--a;continue}break}if(!u.atomic)continue;if(n){var f=u.find(r<0?1:-1),p=void 0;if((r<0?c:l)&&(f=ao(e,f,-r,f&&f.line==t.line?o:null)),f&&f.line==t.line&&(p=tt(f,n))&&(r<0?p<0:p>0))return io(e,f,t,r,i)}var d=u.find(r<0?-1:1);return(r<0?l:c)&&(d=ao(e,d,r,d.line==t.line?o:null)),d?io(e,d,t,r,i):null}}return t}function oo(e,t,n,r,i){var o=r||1;return io(e,t,n,o,i)||!i&&io(e,t,n,o,!0)||io(e,t,n,-o,i)||!i&&io(e,t,n,-o,!0)||(e.cantEdit=!0,et(e.first,0))}function ao(e,t,n,r){return n<0&&0==t.ch?t.line>e.first?st(e,et(t.line-1)):null:n>0&&t.ch==(r||Xe(e,t.line)).text.length?t.line<e.first+e.size-1?et(t.line+1,0):null:new et(t.line,t.ch+n)}function so(e){e.setSelection(et(e.firstLine(),0),et(e.lastLine()),V)}function uo(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return r.canceled=!0}};return n&&(r.update=function(t,n,i,o){t&&(r.from=st(e,t)),n&&(r.to=st(e,n)),i&&(r.text=i),void 0!==o&&(r.origin=o)}),he(e,\"beforeChange\",e,r),e.cm&&he(e.cm,\"beforeChange\",e.cm,r),r.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:r.from,to:r.to,text:r.text,origin:r.origin}}function lo(e,t,n){if(e.cm){if(!e.cm.curOp)return ei(e.cm,lo)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(ve(e,\"beforeChange\")||e.cm&&ve(e.cm,\"beforeChange\"))||(t=uo(e,t,!0))){var r=_t&&!n&&function(e,t,n){var r=null;if(e.iter(t.line,n.line+1,(function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||r&&-1!=q(r,n)||(r||(r=[])).push(n)}})),!r)return null;for(var i=[{from:t,to:n}],o=0;o<r.length;++o)for(var a=r[o],s=a.find(0),u=0;u<i.length;++u){var l=i[u];if(!(tt(l.to,s.from)<0||tt(l.from,s.to)>0)){var c=[u,1],f=tt(l.from,s.from),p=tt(l.to,s.to);(f<0||!a.inclusiveLeft&&!f)&&c.push({from:l.from,to:s.from}),(p>0||!a.inclusiveRight&&!p)&&c.push({from:s.to,to:l.to}),i.splice.apply(i,c),u+=c.length-3}}return i}(e,t.from,t.to);if(r)for(var i=r.length-1;i>=0;--i)co(e,{from:r[i].from,to:r[i].to,text:i?[\"\"]:t.text,origin:t.origin});else co(e,t)}}function co(e,t){if(1!=t.text.length||\"\"!=t.text[0]||0!=tt(t.from,t.to)){var n=Ti(e,t);qi(e,t,n,e.cm?e.cm.curOp.id:NaN),ho(e,t,n,At(e,t));var r=[];Ni(e,(function(e,n){n||-1!=q(r,e.history)||(go(e.history,t),r.push(e.history)),ho(e,t,null,At(e,t))}))}}function fo(e,t,n){var r=e.cm&&e.cm.state.suppressEdits;if(!r||n){for(var i,o=e.history,a=e.sel,s=\"undo\"==t?o.done:o.undone,u=\"undo\"==t?o.undone:o.done,l=0;l<s.length&&(i=s[l],n?!i.ranges||i.equals(e.sel):i.ranges);l++);if(l!=s.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(i=s.pop()).ranges){if(r)return void s.push(i);break}if(Vi(i,u),n&&!i.equals(e.sel))return void Qi(e,i,{clearRedo:!1});a=i}var c=[];Vi(a,u),u.push({changes:c,generation:o.generation}),o.generation=i.generation||++o.maxGeneration;for(var f=ve(e,\"beforeChange\")||e.cm&&ve(e.cm,\"beforeChange\"),p=function(n){var r=i.changes[n];if(r.origin=t,f&&!uo(e,r,!1))return s.length=0,{};c.push(ji(e,r));var o=n?Ti(e,r):G(s);ho(e,r,o,Yi(e,r)),!n&&e.cm&&e.cm.scrollIntoView({from:r.from,to:Ai(r)});var a=[];Ni(e,(function(e,t){t||-1!=q(a,e.history)||(go(e.history,r),a.push(e.history)),ho(e,r,null,Yi(e,r))}))},d=i.changes.length-1;d>=0;--d){var h=p(d);if(h)return h.v}}}}function po(e,t){if(0!=t&&(e.first+=t,e.sel=new wi($(e.sel.ranges,(function(e){return new Ei(et(e.anchor.line+t,e.anchor.ch),et(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){fr(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,r=n.viewFrom;r<n.viewTo;r++)pr(e.cm,r,\"gutter\")}}function ho(e,t,n,r){if(e.cm&&!e.cm.curOp)return ei(e.cm,ho)(e,t,n,r);if(t.to.line<e.first)po(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);po(e,i),t={from:et(e.first,0),to:et(t.to.line+i,t.to.ch),text:[G(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:et(o,Xe(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=He(e,t.from,t.to),n||(n=Ti(e,t)),e.cm?function(e,t,n){var r=e.doc,i=e.display,o=t.from,a=t.to,s=!1,u=o.line;e.options.lineWrapping||(u=Ke(jt(Xe(r,o.line))),r.iter(u,a.line+1,(function(e){if(e==i.maxLine)return s=!0,!0}))),r.sel.contains(t.from,t.to)>-1&&ye(e),Li(r,t,n,sr(e)),e.options.lineWrapping||(r.iter(u,o.line+t.text.length,(function(e){var t=Wt(e);t>i.maxLineLength&&(i.maxLine=e,i.maxLineLength=t,i.maxLineChanged=!0,s=!1)})),s&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,r=t-1;r>n;r--){var i=Xe(e,r).stateAfter;if(i&&(!(i instanceof lt)||r+i.lookAhead<t)){n=r+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}(r,o.line),ri(e,400);var l=t.text.length-(a.line-o.line)-1;t.full?fr(e):o.line!=a.line||1!=t.text.length||Oi(e.doc,t)?fr(e,o.line,a.line+1,l):pr(e,o.line,\"text\");var c=ve(e,\"changes\"),f=ve(e,\"change\");if(f||c){var p={from:o,to:a,text:t.text,removed:t.removed,origin:t.origin};f&&un(e,\"change\",e,p),c&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(p)}e.display.selForContextMenu=null}(e.cm,t,r):Li(e,t,r),eo(e,n,V),e.cantEdit&&oo(e,et(e.firstLine(),0))&&(e.cantEdit=!1)}}function mo(e,t,n,r,i){var o;r||(r=n),tt(r,n)<0&&(n=(o=[r,n])[0],r=o[1]),\"string\"==typeof t&&(t=e.splitLines(t)),lo(e,{from:n,to:r,text:t,origin:i})}function yo(e,t,n,r){n<e.line?e.line+=r:t<e.line&&(e.line=t,e.ch=0)}function vo(e,t,n,r){for(var i=0;i<e.length;++i){var o=e[i],a=!0;if(o.ranges){o.copied||((o=e[i]=o.deepCopy()).copied=!0);for(var s=0;s<o.ranges.length;s++)yo(o.ranges[s].anchor,t,n,r),yo(o.ranges[s].head,t,n,r)}else{for(var u=0;u<o.changes.length;++u){var l=o.changes[u];if(n<l.from.line)l.from=et(l.from.line+r,l.from.ch),l.to=et(l.to.line+r,l.to.ch);else if(t<=l.to.line){a=!1;break}}a||(e.splice(0,i+1),i=0)}}}function go(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;vo(e.done,n,r,i),vo(e.undone,n,r,i)}function bo(e,t,n,r){var i=t,o=t;return\"number\"==typeof t?o=Xe(e,at(e,t)):i=Ke(t),null==i?null:(r(o,i)&&e.cm&&pr(e.cm,i,n),o)}function xo(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function _o(e){this.children=e;for(var t=0,n=0,r=0;r<e.length;++r){var i=e[r];t+=i.chunkSize(),n+=i.height,i.parent=this}this.size=t,this.height=n,this.parent=null}Ei.prototype.from=function(){return ot(this.anchor,this.head)},Ei.prototype.to=function(){return it(this.anchor,this.head)},Ei.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},xo.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height,Ht(i),un(i,\"delete\")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0;r<t.length;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}},_o.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var o=Math.min(t,i-e),a=r.height;if(r.removeInner(e,o),this.height-=a-r.height,i==o&&(this.children.splice(n--,1),r.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof xo))){var s=[];this.collapse(s),this.children=[new xo(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<=o){if(i.insertInner(e,t,n),i.lines&&i.lines.length>50){for(var a=i.lines.length%25+25,s=a;s<i.lines.length;){var u=new xo(i.lines.slice(s,s+=25));i.height-=u.height,this.children.splice(++r,0,u),u.parent=this}i.lines=i.lines.slice(0,a),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new _o(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=q(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else{var r=new _o(e.children);r.parent=e,e.children=[r,t],e=r}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var r=0;r<this.children.length;++r){var i=this.children[r],o=i.chunkSize();if(e<o){var a=Math.min(t,o-e);if(i.iterN(e,a,n))return!0;if(0==(t-=a))break;e=0}else e-=o}}};var wo=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.doc=e,this.node=t};function Eo(e,t,n){Ut(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Mr(e,n)}wo.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,r=Ke(n);if(null!=r&&t){for(var i=0;i<t.length;++i)t[i]==this&&t.splice(i--,1);t.length||(n.widgets=null);var o=_n(this);$e(n,Math.max(0,n.height-o)),e&&(Qr(e,(function(){Eo(e,n,-o),pr(e,r,\"widget\")})),un(e,\"lineWidgetCleared\",e,this,r))}},wo.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,r=this.line;this.height=null;var i=_n(this)-t;i&&(zt(this.doc,r)||$e(r,r.height+i),n&&Qr(n,(function(){n.curOp.forceUpdate=!0,Eo(n,r,i),un(n,\"lineWidgetChanged\",n,e,Ke(r))})))},ge(wo);var So=0,ko=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++So};function Ao(e,t,n,r,i){if(r&&r.shared)return function(e,t,n,r,i){(r=I(r)).shared=!1;var o=[Ao(e,t,n,r,i)],a=o[0],s=r.widgetNode;return Ni(e,(function(e){s&&(r.widgetNode=s.cloneNode(!0)),o.push(Ao(e,st(e,t),st(e,n),r,i));for(var u=0;u<e.linked.length;++u)if(e.linked[u].isParent)return;a=G(o)})),new Co(o,a)}(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return ei(e.cm,Ao)(e,t,n,r,i);var o=new ko(e,i),a=tt(t,n);if(r&&I(r,o,!1),a>0||0==a&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=M(\"span\",[o.replacedWith],\"CodeMirror-widget\"),r.handleMouseEvents||o.widgetNode.setAttribute(\"cm-ignore-events\",\"true\"),r.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(It(e,t.line,t,n,o)||t.line!=n.line&&It(e,n.line,t,n,o))throw new Error(\"Inserting collapsed marker partially overlapping an existing one\");wt=!0}o.addToHistory&&qi(e,{from:t,to:n,origin:\"markText\"},e.sel,NaN);var s,u=t.line,l=e.cm;if(e.iter(u,n.line+1,(function(e){l&&o.collapsed&&!l.options.lineWrapping&&jt(e)==l.display.maxLine&&(s=!0),o.collapsed&&u!=t.line&&$e(e,0),function(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}(e,new Et(o,u==t.line?t.ch:null,u==n.line?n.ch:null)),++u})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){zt(e,t)&&$e(t,0)})),o.clearOnEnter&&fe(o,\"beforeCursorEnter\",(function(){return o.clear()})),o.readOnly&&(_t=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++So,o.atomic=!0),l){if(s&&(l.curOp.updateMaxLine=!0),o.collapsed)fr(l,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=n.line;c++)pr(l,c,\"text\");o.atomic&&no(l.doc),un(l,\"markerAdded\",l,o)}return o}ko.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Xr(e),ve(this,\"clear\")){var n=this.find();n&&un(this,\"clear\",n.from,n.to)}for(var r=null,i=null,o=0;o<this.lines.length;++o){var a=this.lines[o],s=St(a.markedSpans,this);e&&!this.collapsed?pr(e,Ke(a),\"text\"):e&&(null!=s.to&&(i=Ke(a)),null!=s.from&&(r=Ke(a))),a.markedSpans=kt(a.markedSpans,s),null==s.from&&this.collapsed&&!zt(this.doc,a)&&e&&$e(a,rr(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var u=0;u<this.lines.length;++u){var l=jt(this.lines[u]),c=Wt(l);c>e.display.maxLineLength&&(e.display.maxLine=l,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=r&&e&&this.collapsed&&fr(e,r,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&no(e.doc)),e&&un(e,\"markerCleared\",e,this,r,i),t&&Hr(e),this.parent&&this.parent.clear()}},ko.prototype.find=function(e,t){var n,r;null==e&&\"bookmark\"==this.type&&(e=1);for(var i=0;i<this.lines.length;++i){var o=this.lines[i],a=St(o.markedSpans,this);if(null!=a.from&&(n=et(t?o:Ke(o),a.from),-1==e))return n;if(null!=a.to&&(r=et(t?o:Ke(o),a.to),1==e))return r}return n&&{from:n,to:r}},ko.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,r=this.doc.cm;t&&r&&Qr(r,(function(){var i=t.line,o=Ke(t.line),a=Pn(r,o);if(a&&(jn(a),r.curOp.selectionChanged=r.curOp.forceUpdate=!0),r.curOp.updateMaxLine=!0,!zt(n.doc,i)&&null!=n.height){var s=n.height;n.height=null;var u=_n(n)-s;u&&$e(i,i.height+u)}un(r,\"markerChanged\",r,e)}))},ko.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=q(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},ko.prototype.detachLine=function(e){if(this.lines.splice(q(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},ge(ko);var Co=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function To(e){return e.findMarks(et(e.first,0),e.clipPos(et(e.lastLine())),(function(e){return e.parent}))}function Do(e){for(var t=function(t){var n=e[t],r=[n.primary.doc];Ni(n.primary.doc,(function(e){return r.push(e)}));for(var i=0;i<n.markers.length;i++){var o=n.markers[i];-1==q(r,o.doc)&&(o.parent=null,n.markers.splice(i--,1))}},n=0;n<e.length;n++)t(n)}Co.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();un(this,\"clear\")}},Co.prototype.find=function(e,t){return this.primary.find(e,t)},ge(Co);var Mo=0,Po=function(e,t,n,r,i){if(!(this instanceof Po))return new Po(e,t,n,r,i);null==n&&(n=0),_o.call(this,[new xo([new Xt(\"\",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=et(n,0);this.sel=ki(o),this.history=new Ii(null),this.id=++Mo,this.modeOption=t,this.lineSep=r,this.direction=\"rtl\"==i?\"rtl\":\"ltr\",this.extend=!1,\"string\"==typeof e&&(e=this.splitLines(e)),Li(this,{from:o,to:o,text:e}),Qi(this,ki(o),V)};Po.prototype=Z(_o.prototype,{constructor:Po,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,r=0;r<t.length;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Ge(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:ni((function(e){var t=et(this.first,0),n=this.first+this.size-1;lo(this,{from:t,to:et(n,Xe(this,n).text.length),text:this.splitLines(e),origin:\"setValue\",full:!0},!0),this.cm&&Or(this.cm,0,0),Qi(this,ki(t),V)})),replaceRange:function(e,t,n,r){mo(this,e,t=st(this,t),n=n?st(this,n):t,r)},getRange:function(e,t,n){var r=He(this,st(this,e),st(this,t));return!1===n?r:r.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(Je(this,e))return Xe(this,e)},getLineNumber:function(e){return Ke(e)},getLineHandleVisualStart:function(e){return\"number\"==typeof e&&(e=Xe(this,e)),jt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return st(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||\"head\"==e?t.head:\"anchor\"==e?t.anchor:\"end\"==e||\"to\"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:ni((function(e,t,n){Zi(this,st(this,\"number\"==typeof e?et(e,t||0):e),null,n)})),setSelection:ni((function(e,t,n){Zi(this,st(this,e),st(this,t||e),n)})),extendSelection:ni((function(e,t,n){Gi(this,st(this,e),t&&st(this,t),n)})),extendSelections:ni((function(e,t){$i(this,ut(this,e),t)})),extendSelectionsBy:ni((function(e,t){$i(this,ut(this,$(this.sel.ranges,e)),t)})),setSelections:ni((function(e,t,n){if(e.length){for(var r=[],i=0;i<e.length;i++)r[i]=new Ei(st(this,e[i].anchor),st(this,e[i].head||e[i].anchor));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),Qi(this,Si(this.cm,r,t),n)}})),addSelection:ni((function(e,t,n){var r=this.sel.ranges.slice(0);r.push(new Ei(st(this,e),st(this,t||e))),Qi(this,Si(this.cm,r,r.length-1),n)})),getSelection:function(e){for(var t,n=this.sel.ranges,r=0;r<n.length;r++){var i=He(this,n[r].from(),n[r].to());t=t?t.concat(i):i}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,r=0;r<n.length;r++){var i=He(this,n[r].from(),n[r].to());!1!==e&&(i=i.join(e||this.lineSeparator())),t[r]=i}return t},replaceSelection:function(e,t,n){for(var r=[],i=0;i<this.sel.ranges.length;i++)r[i]=e;this.replaceSelections(r,t,n||\"+input\")},replaceSelections:ni((function(e,t,n){for(var r=[],i=this.sel,o=0;o<i.ranges.length;o++){var a=i.ranges[o];r[o]={from:a.from(),to:a.to(),text:this.splitLines(e[o]),origin:n}}for(var s=t&&\"end\"!=t&&function(e,t,n){for(var r=[],i=et(e.first,0),o=i,a=0;a<t.length;a++){var s=t[a],u=Di(s.from,i,o),l=Di(Ai(s),i,o);if(i=s.to,o=l,\"around\"==n){var c=e.sel.ranges[a],f=tt(c.head,c.anchor)<0;r[a]=new Ei(f?l:u,f?u:l)}else r[a]=new Ei(u,u)}return new wi(r,e.sel.primIndex)}(this,r,t),u=r.length-1;u>=0;u--)lo(this,r[u]);s?Ji(this,s):this.cm&&Pr(this.cm)})),undo:ni((function(){fo(this,\"undo\")})),redo:ni((function(){fo(this,\"redo\")})),undoSelection:ni((function(){fo(this,\"undo\",!0)})),redoSelection:ni((function(){fo(this,\"redo\",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,r=0;r<e.done.length;r++)e.done[r].ranges||++t;for(var i=0;i<e.undone.length;i++)e.undone[i].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new Ii(this.history),Ni(this,(function(t){return t.history=e.history}),!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Xi(this.history.done),undone:Xi(this.history.undone)}},setHistory:function(e){var t=this.history=new Ii(this.history);t.done=Xi(e.done.slice(0),null,!0),t.undone=Xi(e.undone.slice(0),null,!0)},setGutterMarker:ni((function(e,t,n){return bo(this,e,\"gutter\",(function(e){var r=e.gutterMarkers||(e.gutterMarkers={});return r[t]=n,!n&&te(r)&&(e.gutterMarkers=null),!0}))})),clearGutter:ni((function(e){var t=this;this.iter((function(n){n.gutterMarkers&&n.gutterMarkers[e]&&bo(t,n,\"gutter\",(function(){return n.gutterMarkers[e]=null,te(n.gutterMarkers)&&(n.gutterMarkers=null),!0}))}))})),lineInfo:function(e){var t;if(\"number\"==typeof e){if(!Je(this,e))return null;if(t=e,!(e=Xe(this,e)))return null}else if(null==(t=Ke(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:ni((function(e,t,n){return bo(this,e,\"gutter\"==t?\"gutter\":\"class\",(function(e){var r=\"text\"==t?\"textClass\":\"background\"==t?\"bgClass\":\"gutter\"==t?\"gutterClass\":\"wrapClass\";if(e[r]){if(S(n).test(e[r]))return!1;e[r]+=\" \"+n}else e[r]=n;return!0}))})),removeLineClass:ni((function(e,t,n){return bo(this,e,\"gutter\"==t?\"gutter\":\"class\",(function(e){var r=\"text\"==t?\"textClass\":\"background\"==t?\"bgClass\":\"gutter\"==t?\"gutterClass\":\"wrapClass\",i=e[r];if(!i)return!1;if(null==n)e[r]=null;else{var o=i.match(S(n));if(!o)return!1;var a=o.index+o[0].length;e[r]=i.slice(0,o.index)+(o.index&&a!=i.length?\" \":\"\")+i.slice(a)||null}return!0}))})),addLineWidget:ni((function(e,t,n){return function(e,t,n,r){var i=new wo(e,n,r),o=e.cm;return o&&i.noHScroll&&(o.display.alignWidgets=!0),bo(e,t,\"widget\",(function(t){var n=t.widgets||(t.widgets=[]);if(null==i.insertAt?n.push(i):n.splice(Math.min(n.length,Math.max(0,i.insertAt)),0,i),i.line=t,o&&!zt(e,t)){var r=Ut(t)<e.scrollTop;$e(t,t.height+_n(i)),r&&Mr(o,i.height),o.curOp.forceUpdate=!0}return!0})),o&&un(o,\"lineWidgetAdded\",o,i,\"number\"==typeof t?t:Ke(t)),i}(this,e,t,n)})),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return Ao(this,st(this,e),st(this,t),n,n&&n.type||\"range\")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return Ao(this,e=st(this,e),e,n,\"bookmark\")},findMarksAt:function(e){var t=[],n=Xe(this,(e=st(this,e)).line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,n){e=st(this,e),t=st(this,t);var r=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var a=o.markedSpans;if(a)for(var s=0;s<a.length;s++){var u=a[s];null!=u.to&&i==e.line&&e.ch>=u.to||null==u.from&&i!=e.line||null!=u.from&&i==t.line&&u.from>=t.ch||n&&!n(u.marker)||r.push(u.marker.parent||u.marker)}++i})),r},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)null!=n[r].from&&e.push(n[r].marker)})),e},posFromIndex:function(e){var t,n=this.first,r=this.lineSeparator().length;return this.iter((function(i){var o=i.text.length+r;if(o>e)return t=e,!0;e-=o,++n})),st(this,et(n,t))},indexFromPos:function(e){var t=(e=st(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,(function(e){t+=e.text.length+n})),t},copy:function(e){var t=new Po(Ge(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var r=new Po(Ge(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(r.history=this.history),(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist}),r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n],i=r.find(),o=e.clipPos(i.from),a=e.clipPos(i.to);if(tt(o,a)){var s=Ao(e,o,a,r.primary,r.primary.type);r.markers.push(s),s.parent=r}}}(r,To(this)),r},unlinkDoc:function(e){if(e instanceof Ca&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),Do(To(this));break}if(e.history==this.history){var n=[e.id];Ni(e,(function(e){return n.push(e.id)}),!0),e.history=new Ii(null),e.history.done=Xi(this.history.done,n),e.history.undone=Xi(this.history.undone,n)}},iterLinkedDocs:function(e){Ni(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):Pe(e)},lineSeparator:function(){return this.lineSep||\"\\n\"},setDirection:ni((function(e){var t;\"rtl\"!=e&&(e=\"ltr\"),e!=this.direction&&(this.direction=e,this.iter((function(e){return e.order=null})),this.cm&&Qr(t=this.cm,(function(){Ri(t),fr(t)})))}))}),Po.prototype.eachLine=Po.prototype.iter;var Oo=0;function Lo(e){var t=this;if(No(t),!me(t,e)&&!wn(t.display,e)){be(e),a&&(Oo=+new Date);var n=lr(t,e,!0),r=e.dataTransfer.files;if(n&&!t.isReadOnly())if(r&&r.length&&window.FileReader&&window.File)for(var i=r.length,o=Array(i),s=0,u=function(){++s==i&&ei(t,(function(){var e={from:n=st(t.doc,n),to:n,text:t.doc.splitLines(o.filter((function(e){return null!=e})).join(t.doc.lineSeparator())),origin:\"paste\"};lo(t.doc,e),Ji(t.doc,ki(st(t.doc,n),st(t.doc,Ai(e))))}))()},l=function(e,n){if(t.options.allowDropFileTypes&&-1==q(t.options.allowDropFileTypes,e.type))u();else{var r=new FileReader;r.onerror=function(){return u()},r.onload=function(){var e=r.result;/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(e)||(o[n]=e),u()},r.readAsText(e)}},c=0;c<r.length;c++)l(r[c],c);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var f=e.dataTransfer.getData(\"Text\");if(f){var p;if(t.state.draggingText&&!t.state.draggingText.copy&&(p=t.listSelections()),eo(t.doc,ki(n,n)),p)for(var d=0;d<p.length;++d)mo(t.doc,\"\",p[d].anchor,p[d].head,\"drag\");t.replaceSelection(f,\"around\",\"paste\"),t.display.input.focus()}}catch(e){}}}}function No(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Fo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName(\"CodeMirror\"),n=[],r=0;r<t.length;r++){var i=t[r].CodeMirror;i&&n.push(i)}n.length&&n[0].operation((function(){for(var t=0;t<n.length;t++)e(n[t])}))}}var Ro=!1;function Io(){var e;Ro||(fe(window,\"resize\",(function(){null==e&&(e=setTimeout((function(){e=null,Fo(jo)}),100))})),fe(window,\"blur\",(function(){return Fo(kr)})),Ro=!0)}function jo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Bo={3:\"Pause\",8:\"Backspace\",9:\"Tab\",13:\"Enter\",16:\"Shift\",17:\"Ctrl\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"PrintScrn\",45:\"Insert\",46:\"Delete\",59:\";\",61:\"=\",91:\"Mod\",92:\"Mod\",93:\"Mod\",106:\"*\",107:\"=\",109:\"-\",110:\".\",111:\"/\",145:\"ScrollLock\",173:\"-\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",224:\"Mod\",63232:\"Up\",63233:\"Down\",63234:\"Left\",63235:\"Right\",63272:\"Delete\",63273:\"Home\",63275:\"End\",63276:\"PageUp\",63277:\"PageDown\",63302:\"Insert\"},qo=0;qo<10;qo++)Bo[qo+48]=Bo[qo+96]=String(qo);for(var zo=65;zo<=90;zo++)Bo[zo]=String.fromCharCode(zo);for(var Vo=1;Vo<=12;Vo++)Bo[Vo+111]=Bo[Vo+63235]=\"F\"+Vo;var Uo={};function Wo(e){var t,n,r,i,o=e.split(/-(?!$)/);e=o[o.length-1];for(var a=0;a<o.length-1;a++){var s=o[a];if(/^(cmd|meta|m)$/i.test(s))i=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else{if(!/^s(hift)?$/i.test(s))throw new Error(\"Unrecognized modifier name: \"+s);r=!0}}return t&&(e=\"Alt-\"+e),n&&(e=\"Ctrl-\"+e),i&&(e=\"Cmd-\"+e),r&&(e=\"Shift-\"+e),e}function Yo(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if(\"...\"==r){delete e[n];continue}for(var i=$(n.split(\" \"),Wo),o=0;o<i.length;o++){var a=void 0,s=void 0;o==i.length-1?(s=i.join(\" \"),a=r):(s=i.slice(0,o+1).join(\" \"),a=\"...\");var u=t[s];if(u){if(u!=a)throw new Error(\"Inconsistent bindings for \"+s)}else t[s]=a}delete e[n]}for(var l in t)e[l]=t[l];return e}function Xo(e,t,n,r){var i=(t=Ko(t)).call?t.call(e,r):t[e];if(!1===i)return\"nothing\";if(\"...\"===i)return\"multi\";if(null!=i&&n(i))return\"handled\";if(t.fallthrough){if(\"[object Array]\"!=Object.prototype.toString.call(t.fallthrough))return Xo(e,t.fallthrough,n,r);for(var o=0;o<t.fallthrough.length;o++){var a=Xo(e,t.fallthrough[o],n,r);if(a)return a}}}function Ho(e){var t=\"string\"==typeof e?e:Bo[e.keyCode];return\"Ctrl\"==t||\"Alt\"==t||\"Shift\"==t||\"Mod\"==t}function Go(e,t,n){var r=e;return t.altKey&&\"Alt\"!=r&&(e=\"Alt-\"+e),(w?t.metaKey:t.ctrlKey)&&\"Ctrl\"!=r&&(e=\"Ctrl-\"+e),(w?t.ctrlKey:t.metaKey)&&\"Mod\"!=r&&(e=\"Cmd-\"+e),!n&&t.shiftKey&&\"Shift\"!=r&&(e=\"Shift-\"+e),e}function $o(e,t){if(f&&34==e.keyCode&&e.char)return!1;var n=Bo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Go(n,e,t))}function Ko(e){return\"string\"==typeof e?Uo[e]:e}function Zo(e,t){for(var n=e.doc.sel.ranges,r=[],i=0;i<n.length;i++){for(var o=t(n[i]);r.length&&tt(o.from,G(r).to)<=0;){var a=r.pop();if(tt(a.from,o.from)<0){o.from=a.from;break}}r.push(o)}Qr(e,(function(){for(var t=r.length-1;t>=0;t--)mo(e.doc,\"\",r[t].from,r[t].to,\"+delete\");Pr(e)}))}function Jo(e,t,n){var r=ie(e.text,t+n,n);return r<0||r>e.text.length?null:r}function Qo(e,t,n){var r=Jo(e,t.ch,n);return null==r?null:new et(t.line,r,n<0?\"after\":\"before\")}function ea(e,t,n,r,i){if(e){\"rtl\"==t.doc.direction&&(i=-i);var o=le(n,t.doc.direction);if(o){var a,s=i<0?G(o):o[0],u=i<0==(1==s.level)?\"after\":\"before\";if(s.level>0||\"rtl\"==t.doc.direction){var l=On(t,n);a=i<0?n.text.length-1:0;var c=Ln(t,l,a).top;a=oe((function(e){return Ln(t,l,e).top==c}),i<0==(1==s.level)?s.from:s.to-1,a),\"before\"==u&&(a=Jo(n,a,1))}else a=i<0?s.to:s.from;return new et(r,a,u)}}return new et(r,i<0?n.text.length:0,i<0?\"before\":\"after\")}Uo.basic={Left:\"goCharLeft\",Right:\"goCharRight\",Up:\"goLineUp\",Down:\"goLineDown\",End:\"goLineEnd\",Home:\"goLineStartSmart\",PageUp:\"goPageUp\",PageDown:\"goPageDown\",Delete:\"delCharAfter\",Backspace:\"delCharBefore\",\"Shift-Backspace\":\"delCharBefore\",Tab:\"defaultTab\",\"Shift-Tab\":\"indentAuto\",Enter:\"newlineAndIndent\",Insert:\"toggleOverwrite\",Esc:\"singleSelection\"},Uo.pcDefault={\"Ctrl-A\":\"selectAll\",\"Ctrl-D\":\"deleteLine\",\"Ctrl-Z\":\"undo\",\"Shift-Ctrl-Z\":\"redo\",\"Ctrl-Y\":\"redo\",\"Ctrl-Home\":\"goDocStart\",\"Ctrl-End\":\"goDocEnd\",\"Ctrl-Up\":\"goLineUp\",\"Ctrl-Down\":\"goLineDown\",\"Ctrl-Left\":\"goGroupLeft\",\"Ctrl-Right\":\"goGroupRight\",\"Alt-Left\":\"goLineStart\",\"Alt-Right\":\"goLineEnd\",\"Ctrl-Backspace\":\"delGroupBefore\",\"Ctrl-Delete\":\"delGroupAfter\",\"Ctrl-S\":\"save\",\"Ctrl-F\":\"find\",\"Ctrl-G\":\"findNext\",\"Shift-Ctrl-G\":\"findPrev\",\"Shift-Ctrl-F\":\"replace\",\"Shift-Ctrl-R\":\"replaceAll\",\"Ctrl-[\":\"indentLess\",\"Ctrl-]\":\"indentMore\",\"Ctrl-U\":\"undoSelection\",\"Shift-Ctrl-U\":\"redoSelection\",\"Alt-U\":\"redoSelection\",fallthrough:\"basic\"},Uo.emacsy={\"Ctrl-F\":\"goCharRight\",\"Ctrl-B\":\"goCharLeft\",\"Ctrl-P\":\"goLineUp\",\"Ctrl-N\":\"goLineDown\",\"Ctrl-A\":\"goLineStart\",\"Ctrl-E\":\"goLineEnd\",\"Ctrl-V\":\"goPageDown\",\"Shift-Ctrl-V\":\"goPageUp\",\"Ctrl-D\":\"delCharAfter\",\"Ctrl-H\":\"delCharBefore\",\"Alt-Backspace\":\"delWordBefore\",\"Ctrl-K\":\"killLine\",\"Ctrl-T\":\"transposeChars\",\"Ctrl-O\":\"openLine\"},Uo.macDefault={\"Cmd-A\":\"selectAll\",\"Cmd-D\":\"deleteLine\",\"Cmd-Z\":\"undo\",\"Shift-Cmd-Z\":\"redo\",\"Cmd-Y\":\"redo\",\"Cmd-Home\":\"goDocStart\",\"Cmd-Up\":\"goDocStart\",\"Cmd-End\":\"goDocEnd\",\"Cmd-Down\":\"goDocEnd\",\"Alt-Left\":\"goGroupLeft\",\"Alt-Right\":\"goGroupRight\",\"Cmd-Left\":\"goLineLeft\",\"Cmd-Right\":\"goLineRight\",\"Alt-Backspace\":\"delGroupBefore\",\"Ctrl-Alt-Backspace\":\"delGroupAfter\",\"Alt-Delete\":\"delGroupAfter\",\"Cmd-S\":\"save\",\"Cmd-F\":\"find\",\"Cmd-G\":\"findNext\",\"Shift-Cmd-G\":\"findPrev\",\"Cmd-Alt-F\":\"replace\",\"Shift-Cmd-Alt-F\":\"replaceAll\",\"Cmd-[\":\"indentLess\",\"Cmd-]\":\"indentMore\",\"Cmd-Backspace\":\"delWrappedLineLeft\",\"Cmd-Delete\":\"delWrappedLineRight\",\"Cmd-U\":\"undoSelection\",\"Shift-Cmd-U\":\"redoSelection\",\"Ctrl-Up\":\"goDocStart\",\"Ctrl-Down\":\"goDocEnd\",fallthrough:[\"basic\",\"emacsy\"]},Uo.default=g?Uo.macDefault:Uo.pcDefault;var ta={selectAll:so,singleSelection:function(e){return e.setSelection(e.getCursor(\"anchor\"),e.getCursor(\"head\"),V)},killLine:function(e){return Zo(e,(function(t){if(t.empty()){var n=Xe(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:et(t.head.line+1,0)}:{from:t.head,to:et(t.head.line,n)}}return{from:t.from(),to:t.to()}}))},deleteLine:function(e){return Zo(e,(function(t){return{from:et(t.from().line,0),to:st(e.doc,et(t.to().line+1,0))}}))},delLineLeft:function(e){return Zo(e,(function(e){return{from:et(e.from().line,0),to:e.from()}}))},delWrappedLineLeft:function(e){return Zo(e,(function(t){var n=e.charCoords(t.head,\"div\").top+5;return{from:e.coordsChar({left:0,top:n},\"div\"),to:t.from()}}))},delWrappedLineRight:function(e){return Zo(e,(function(t){var n=e.charCoords(t.head,\"div\").top+5,r=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},\"div\");return{from:t.from(),to:r}}))},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(et(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(et(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy((function(t){return na(e,t.head.line)}),{origin:\"+move\",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy((function(t){return ra(e,t.head)}),{origin:\"+move\",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy((function(t){return function(e,t){var n=Xe(e.doc,t),r=function(e){for(var t;t=Ft(e);)e=t.find(1,!0).line;return e}(n);return r!=n&&(t=Ke(r)),ea(!0,e,n,t,-1)}(e,t.head.line)}),{origin:\"+move\",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},\"div\")}),W)},goLineLeft:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5;return e.coordsChar({left:0,top:n},\"div\")}),W)},goLineLeftSmart:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,\"div\").top+5,r=e.coordsChar({left:0,top:n},\"div\");return r.ch<e.getLine(r.line).search(/\\S/)?ra(e,t.head):r}),W)},goLineUp:function(e){return e.moveV(-1,\"line\")},goLineDown:function(e){return e.moveV(1,\"line\")},goPageUp:function(e){return e.moveV(-1,\"page\")},goPageDown:function(e){return e.moveV(1,\"page\")},goCharLeft:function(e){return e.moveH(-1,\"char\")},goCharRight:function(e){return e.moveH(1,\"char\")},goColumnLeft:function(e){return e.moveH(-1,\"column\")},goColumnRight:function(e){return e.moveH(1,\"column\")},goWordLeft:function(e){return e.moveH(-1,\"word\")},goGroupRight:function(e){return e.moveH(1,\"group\")},goGroupLeft:function(e){return e.moveH(-1,\"group\")},goWordRight:function(e){return e.moveH(1,\"word\")},delCharBefore:function(e){return e.deleteH(-1,\"codepoint\")},delCharAfter:function(e){return e.deleteH(1,\"char\")},delWordBefore:function(e){return e.deleteH(-1,\"word\")},delWordAfter:function(e){return e.deleteH(1,\"word\")},delGroupBefore:function(e){return e.deleteH(-1,\"group\")},delGroupAfter:function(e){return e.deleteH(1,\"group\")},indentAuto:function(e){return e.indentSelection(\"smart\")},indentMore:function(e){return e.indentSelection(\"add\")},indentLess:function(e){return e.indentSelection(\"subtract\")},insertTab:function(e){return e.replaceSelection(\"\\t\")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),r=e.options.tabSize,i=0;i<n.length;i++){var o=n[i].from(),a=j(e.getLine(o.line),o.ch,r);t.push(H(r-a%r))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection(\"add\"):e.execCommand(\"insertTab\")},transposeChars:function(e){return Qr(e,(function(){for(var t=e.listSelections(),n=[],r=0;r<t.length;r++)if(t[r].empty()){var i=t[r].head,o=Xe(e.doc,i.line).text;if(o)if(i.ch==o.length&&(i=new et(i.line,i.ch-1)),i.ch>0)i=new et(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),et(i.line,i.ch-2),i,\"+transpose\");else if(i.line>e.doc.first){var a=Xe(e.doc,i.line-1).text;a&&(i=new et(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+a.charAt(a.length-1),et(i.line-1,a.length-1),i,\"+transpose\"))}n.push(new Ei(i,i))}e.setSelections(n)}))},newlineAndIndent:function(e){return Qr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,\"+input\");t=e.listSelections();for(var r=0;r<t.length;r++)e.indentLine(t[r].from().line,null,!0);Pr(e)}))},openLine:function(e){return e.replaceSelection(\"\\n\",\"start\")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function na(e,t){var n=Xe(e.doc,t),r=jt(n);return r!=n&&(t=Ke(r)),ea(!0,e,r,t,1)}function ra(e,t){var n=na(e,t.line),r=Xe(e.doc,n.line),i=le(r,e.doc.direction);if(!i||0==i[0].level){var o=Math.max(n.ch,r.text.search(/\\S/)),a=t.line==n.line&&t.ch<=o&&t.ch;return et(n.line,a?0:o,n.sticky)}return n}function ia(e,t,n){if(\"string\"==typeof t&&!(t=ta[t]))return!1;e.display.input.ensurePolled();var r=e.display.shift,i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),i=t(e)!=z}finally{e.display.shift=r,e.state.suppressEdits=!1}return i}var oa=new B;function aa(e,t,n,r){var i=e.state.keySeq;if(i){if(Ho(t))return\"handled\";if(/\\'$/.test(t)?e.state.keySeq=null:oa.set(50,(function(){e.state.keySeq==i&&(e.state.keySeq=null,e.display.input.reset())})),sa(e,i+\" \"+t,n,r))return!0}return sa(e,t,n,r)}function sa(e,t,n,r){var i=function(e,t,n){for(var r=0;r<e.state.keyMaps.length;r++){var i=Xo(t,e.state.keyMaps[r],n,e);if(i)return i}return e.options.extraKeys&&Xo(t,e.options.extraKeys,n,e)||Xo(t,e.options.keyMap,n,e)}(e,t,r);return\"multi\"==i&&(e.state.keySeq=t),\"handled\"==i&&un(e,\"keyHandled\",e,t,n),\"handled\"!=i&&\"multi\"!=i||(be(n),_r(e)),!!i}function ua(e,t){var n=$o(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?aa(e,\"Shift-\"+n,t,(function(t){return ia(e,t,!0)}))||aa(e,n,t,(function(t){if(\"string\"==typeof t?/^go[A-Z]/.test(t):t.motion)return ia(e,t)})):aa(e,n,t,(function(t){return ia(e,t)})))}var la=null;function ca(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||(t.curOp.focus=O(),me(t,e)))){a&&s<11&&27==e.keyCode&&(e.returnValue=!1);var r=e.keyCode;t.display.shift=16==r||e.shiftKey;var i=ua(t,e);f&&(la=i?r:null,i||88!=r||Le||!(g?e.metaKey:e.ctrlKey)||t.replaceSelection(\"\",null,\"cut\")),n&&!g&&!i&&46==r&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand(\"cut\"),18!=r||/\\bCodeMirror-crosshair\\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function n(e){18!=e.keyCode&&e.altKey||(A(t,\"CodeMirror-crosshair\"),de(document,\"keyup\",n),de(document,\"mouseover\",n))}L(t,\"CodeMirror-crosshair\"),fe(document,\"keyup\",n),fe(document,\"mouseover\",n)}(t)}}function fa(e){16==e.keyCode&&(this.doc.sel.shift=!1),me(this,e)}function pa(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||wn(t.display,e)||me(t,e)||e.ctrlKey&&!e.altKey||g&&e.metaKey)){var n=e.keyCode,r=e.charCode;if(f&&n==la)return la=null,void be(e);if(!f||e.which&&!(e.which<10)||!ua(t,e)){var i=String.fromCharCode(null==r?n:r);\"\\b\"!=i&&(function(e,t,n){return aa(e,\"'\"+n+\"'\",t,(function(t){return ia(e,t,!0)}))}(t,e,i)||t.display.input.onKeyPress(e))}}}var da,ha,ma=function(e,t,n){this.time=e,this.pos=t,this.button=n};function ya(e){var t=this,n=t.display;if(!(me(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,wn(n,e))u||(n.scroller.draggable=!1,setTimeout((function(){return n.scroller.draggable=!0}),100));else if(!ba(t,e)){var r=lr(t,e),i=Se(e),o=r?function(e,t){var n=+new Date;return ha&&ha.compare(n,e,t)?(da=ha=null,\"triple\"):da&&da.compare(n,e,t)?(ha=new ma(n,e,t),da=null,\"double\"):(da=new ma(n,e,t),ha=null,\"single\")}(r,i):\"single\";window.focus(),1==i&&t.state.selectingText&&t.state.selectingText(e),r&&function(e,t,n,r,i){var o=\"Click\";return\"double\"==r?o=\"Double\"+o:\"triple\"==r&&(o=\"Triple\"+o),aa(e,Go(o=(1==t?\"Left\":2==t?\"Middle\":\"Right\")+o,i),i,(function(t){if(\"string\"==typeof t&&(t=ta[t]),!t)return!1;var r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),r=t(e,n)!=z}finally{e.state.suppressEdits=!1}return r}))}(t,i,r,o,e)||(1==i?r?function(e,t,n,r){a?setTimeout(R(wr,e),0):e.curOp.focus=O();var i,o=function(e,t,n){var r=e.getOption(\"configureMouse\"),i=r?r(e,t,n):{};if(null==i.unit){var o=b?n.shiftKey&&n.metaKey:n.altKey;i.unit=o?\"rectangle\":\"single\"==t?\"char\":\"double\"==t?\"word\":\"line\"}return(null==i.extend||e.doc.extend)&&(i.extend=e.doc.extend||n.shiftKey),null==i.addNew&&(i.addNew=g?n.metaKey:n.ctrlKey),null==i.moveOnDrag&&(i.moveOnDrag=!(g?n.altKey:n.ctrlKey)),i}(e,n,r),l=e.doc.sel;e.options.dragDrop&&Ce&&!e.isReadOnly()&&\"single\"==n&&(i=l.contains(t))>-1&&(tt((i=l.ranges[i]).from(),t)<0||t.xRel>0)&&(tt(i.to(),t)>0||t.xRel<0)?function(e,t,n,r){var i=e.display,o=!1,l=ei(e,(function(t){u&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Er(e)),de(i.wrapper.ownerDocument,\"mouseup\",l),de(i.wrapper.ownerDocument,\"mousemove\",c),de(i.scroller,\"dragstart\",f),de(i.scroller,\"drop\",l),o||(be(t),r.addNew||Gi(e.doc,n,null,null,r.extend),u&&!p||a&&9==s?setTimeout((function(){i.wrapper.ownerDocument.body.focus({preventScroll:!0}),i.input.focus()}),20):i.input.focus())})),c=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},f=function(){return o=!0};u&&(i.scroller.draggable=!0),e.state.draggingText=l,l.copy=!r.moveOnDrag,fe(i.wrapper.ownerDocument,\"mouseup\",l),fe(i.wrapper.ownerDocument,\"mousemove\",c),fe(i.scroller,\"dragstart\",f),fe(i.scroller,\"drop\",l),e.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}(e,r,t,o):function(e,t,n,r){a&&Er(e);var i=e.display,o=e.doc;be(t);var s,u,l=o.sel,c=l.ranges;if(r.addNew&&!r.extend?(u=o.sel.contains(n),s=u>-1?c[u]:new Ei(n,n)):(s=o.sel.primary(),u=o.sel.primIndex),\"rectangle\"==r.unit)r.addNew||(s=new Ei(n,n)),n=lr(e,t,!0,!0),u=-1;else{var f=va(e,n,r.unit);s=r.extend?Hi(s,f.anchor,f.head,r.extend):f}r.addNew?-1==u?(u=c.length,Qi(o,Si(e,c.concat([s]),u),{scroll:!1,origin:\"*mouse\"})):c.length>1&&c[u].empty()&&\"char\"==r.unit&&!r.extend?(Qi(o,Si(e,c.slice(0,u).concat(c.slice(u+1)),0),{scroll:!1,origin:\"*mouse\"}),l=o.sel):Ki(o,u,s,U):(u=0,Qi(o,new wi([s],0),U),l=o.sel);var p=n;function d(t){if(0!=tt(p,t))if(p=t,\"rectangle\"==r.unit){for(var i=[],a=e.options.tabSize,c=j(Xe(o,n.line).text,n.ch,a),f=j(Xe(o,t.line).text,t.ch,a),d=Math.min(c,f),h=Math.max(c,f),m=Math.min(n.line,t.line),y=Math.min(e.lastLine(),Math.max(n.line,t.line));m<=y;m++){var v=Xe(o,m).text,g=Y(v,d,a);d==h?i.push(new Ei(et(m,g),et(m,g))):v.length>g&&i.push(new Ei(et(m,g),et(m,Y(v,h,a))))}i.length||i.push(new Ei(n,n)),Qi(o,Si(e,l.ranges.slice(0,u).concat(i),u),{origin:\"*mouse\",scroll:!1}),e.scrollIntoView(t)}else{var b,x=s,_=va(e,t,r.unit),w=x.anchor;tt(_.anchor,w)>0?(b=_.head,w=ot(x.from(),_.anchor)):(b=_.anchor,w=it(x.to(),_.head));var E=l.ranges.slice(0);E[u]=function(e,t){var n=t.anchor,r=t.head,i=Xe(e.doc,n.line);if(0==tt(n,r)&&n.sticky==r.sticky)return t;var o=le(i);if(!o)return t;var a=se(o,n.ch,n.sticky),s=o[a];if(s.from!=n.ch&&s.to!=n.ch)return t;var u,l=a+(s.from==n.ch==(1!=s.level)?0:1);if(0==l||l==o.length)return t;if(r.line!=n.line)u=(r.line-n.line)*(\"ltr\"==e.doc.direction?1:-1)>0;else{var c=se(o,r.ch,r.sticky),f=c-a||(r.ch-n.ch)*(1==s.level?-1:1);u=c==l-1||c==l?f<0:f>0}var p=o[l+(u?-1:0)],d=u==(1==p.level),h=d?p.from:p.to,m=d?\"after\":\"before\";return n.ch==h&&n.sticky==m?t:new Ei(new et(n.line,h,m),r)}(e,new Ei(st(o,w),b)),Qi(o,Si(e,E,u),U)}}var h=i.wrapper.getBoundingClientRect(),m=0;function y(t){var n=++m,a=lr(e,t,!0,\"rectangle\"==r.unit);if(a)if(0!=tt(a,p)){e.curOp.focus=O(),d(a);var s=Tr(i,o);(a.line>=s.to||a.line<s.from)&&setTimeout(ei(e,(function(){m==n&&y(t)})),150)}else{var u=t.clientY<h.top?-20:t.clientY>h.bottom?20:0;u&&setTimeout(ei(e,(function(){m==n&&(i.scroller.scrollTop+=u,y(t))})),50)}}function v(t){e.state.selectingText=!1,m=1/0,t&&(be(t),i.input.focus()),de(i.wrapper.ownerDocument,\"mousemove\",g),de(i.wrapper.ownerDocument,\"mouseup\",b),o.history.lastSelOrigin=null}var g=ei(e,(function(e){0!==e.buttons&&Se(e)?y(e):v(e)})),b=ei(e,v);e.state.selectingText=b,fe(i.wrapper.ownerDocument,\"mousemove\",g),fe(i.wrapper.ownerDocument,\"mouseup\",b)}(e,r,t,o)}(t,r,o,e):Ee(e)==n.scroller&&be(e):2==i?(r&&Gi(t.doc,r),setTimeout((function(){return n.input.focus()}),20)):3==i&&(E?t.display.input.onContextMenu(e):Er(t)))}}function va(e,t,n){if(\"char\"==n)return new Ei(t,t);if(\"word\"==n)return e.findWordAt(t);if(\"line\"==n)return new Ei(et(t.line,0),st(e.doc,et(t.line+1,0)));var r=n(e,t);return new Ei(r.from,r.to)}function ga(e,t,n,r){var i,o;if(t.touches)i=t.touches[0].clientX,o=t.touches[0].clientY;else try{i=t.clientX,o=t.clientY}catch(e){return!1}if(i>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;r&&be(t);var a=e.display,s=a.lineDiv.getBoundingClientRect();if(o>s.bottom||!ve(e,n))return _e(t);o-=s.top-a.viewOffset;for(var u=0;u<e.display.gutterSpecs.length;++u){var l=a.gutters.childNodes[u];if(l&&l.getBoundingClientRect().right>=i)return he(e,n,e,Ze(e.doc,o),e.display.gutterSpecs[u].className,t),_e(t)}}function ba(e,t){return ga(e,t,\"gutterClick\",!0)}function xa(e,t){wn(e.display,t)||function(e,t){return!!ve(e,\"gutterContextMenu\")&&ga(e,t,\"gutterContextMenu\",!1)}(e,t)||me(e,t,\"contextmenu\")||E||e.display.input.onContextMenu(t)}function _a(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\\s*cm-s-\\S+/g,\"\")+e.options.theme.replace(/(^|\\s)\\s*/g,\" cm-s-\"),qn(e)}ma.prototype.compare=function(e,t,n){return this.time+400>e&&0==tt(t,this.pos)&&n==this.button};var wa={toString:function(){return\"CodeMirror.Init\"}},Ea={},Sa={};function ka(e,t,n){if(!t!=!(n&&n!=wa)){var r=e.display.dragFunctions,i=t?fe:de;i(e.display.scroller,\"dragstart\",r.start),i(e.display.scroller,\"dragenter\",r.enter),i(e.display.scroller,\"dragover\",r.over),i(e.display.scroller,\"dragleave\",r.leave),i(e.display.scroller,\"drop\",r.drop)}}function Aa(e){e.options.lineWrapping?(L(e.display.wrapper,\"CodeMirror-wrap\"),e.display.sizer.style.minWidth=\"\",e.display.sizerWidth=null):(A(e.display.wrapper,\"CodeMirror-wrap\"),Yt(e)),ur(e),fr(e),qn(e),setTimeout((function(){return zr(e)}),100)}function Ca(e,t){var n=this;if(!(this instanceof Ca))return new Ca(e,t);this.options=t=t?I(t):{},I(Ea,t,!1);var r=t.value;\"string\"==typeof r?r=new Po(r,t.mode,null,t.lineSeparator,t.direction):t.mode&&(r.modeOption=t.mode),this.doc=r;var i=new Ca.inputStyles[t.inputStyle](this),o=this.display=new yi(e,r,i,t);for(var l in o.wrapper.CodeMirror=this,_a(this),t.lineWrapping&&(this.display.wrapper.className+=\" CodeMirror-wrap\"),Wr(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new B,keySeq:null,specialChars:null},t.autofocus&&!v&&o.input.focus(),a&&s<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;fe(t.scroller,\"mousedown\",ei(e,ya)),fe(t.scroller,\"dblclick\",a&&s<11?ei(e,(function(t){if(!me(e,t)){var n=lr(e,t);if(n&&!ba(e,t)&&!wn(e.display,t)){be(t);var r=e.findWordAt(n);Gi(e.doc,r.anchor,r.head)}}})):function(t){return me(e,t)||be(t)}),fe(t.scroller,\"contextmenu\",(function(t){return xa(e,t)})),fe(t.input.getField(),\"contextmenu\",(function(n){t.scroller.contains(n.target)||xa(e,n)}));var n,r={end:0};function i(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(r=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function u(e,t){if(null==t.left)return!0;var n=t.left-e.left,r=t.top-e.top;return n*n+r*r>400}fe(t.scroller,\"touchstart\",(function(i){if(!me(e,i)&&!o(i)&&!ba(e,i)){t.input.ensurePolled(),clearTimeout(n);var a=+new Date;t.activeTouch={start:a,moved:!1,prev:a-r.end<=300?r:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),fe(t.scroller,\"touchmove\",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),fe(t.scroller,\"touchend\",(function(n){var r=t.activeTouch;if(r&&!wn(t,n)&&null!=r.left&&!r.moved&&new Date-r.start<300){var o,a=e.coordsChar(t.activeTouch,\"page\");o=!r.prev||u(r,r.prev)?new Ei(a,a):!r.prev.prev||u(r,r.prev.prev)?e.findWordAt(a):new Ei(et(a.line,0),st(e.doc,et(a.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),be(n)}i()})),fe(t.scroller,\"touchcancel\",i),fe(t.scroller,\"scroll\",(function(){t.scroller.clientHeight&&(Fr(e,t.scroller.scrollTop),Ir(e,t.scroller.scrollLeft,!0),he(e,\"scroll\",e))})),fe(t.scroller,\"mousewheel\",(function(t){return _i(e,t)})),fe(t.scroller,\"DOMMouseScroll\",(function(t){return _i(e,t)})),fe(t.wrapper,\"scroll\",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){me(e,t)||we(t)},over:function(t){me(e,t)||(function(e,t){var n=lr(e,t);if(n){var r=document.createDocumentFragment();gr(e,n,r),e.display.dragCursor||(e.display.dragCursor=D(\"div\",null,\"CodeMirror-cursors CodeMirror-dragcursors\"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,r)}}(e,t),we(t))},start:function(t){return function(e,t){if(a&&(!e.state.draggingText||+new Date-Oo<100))we(t);else if(!me(e,t)&&!wn(e.display,t)&&(t.dataTransfer.setData(\"Text\",e.getSelection()),t.dataTransfer.effectAllowed=\"copyMove\",t.dataTransfer.setDragImage&&!p)){var n=D(\"img\",null,null,\"position: fixed; left: 0; top: 0;\");n.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",f&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),f&&n.parentNode.removeChild(n)}}(e,t)},drop:ei(e,Lo),leave:function(t){me(e,t)||No(e)}};var l=t.input.getField();fe(l,\"keyup\",(function(t){return fa.call(e,t)})),fe(l,\"keydown\",ei(e,ca)),fe(l,\"keypress\",ei(e,pa)),fe(l,\"focus\",(function(t){return Sr(e,t)})),fe(l,\"blur\",(function(t){return kr(e,t)}))}(this),Io(),Xr(this),this.curOp.forceUpdate=!0,Fi(this,r),t.autofocus&&!v||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Sr(n)}),20):kr(this),Sa)Sa.hasOwnProperty(l)&&Sa[l](this,t[l],wa);pi(this),t.finishInit&&t.finishInit(this);for(var c=0;c<Ta.length;++c)Ta[c](this);Hr(this),u&&t.lineWrapping&&\"optimizelegibility\"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering=\"auto\")}Ca.defaults=Ea,Ca.optionHandlers=Sa;var Ta=[];function Da(e,t,n,r){var i,o=e.doc;null==n&&(n=\"add\"),\"smart\"==n&&(o.mode.indent?i=dt(e,t).state:n=\"prev\");var a=e.options.tabSize,s=Xe(o,t),u=j(s.text,null,a);s.stateAfter&&(s.stateAfter=null);var l,c=s.text.match(/^\\s*/)[0];if(r||/\\S/.test(s.text)){if(\"smart\"==n&&((l=o.mode.indent(i,s.text.slice(c.length),s.text))==z||l>150)){if(!r)return;n=\"prev\"}}else l=0,n=\"not\";\"prev\"==n?l=t>o.first?j(Xe(o,t-1).text,null,a):0:\"add\"==n?l=u+e.options.indentUnit:\"subtract\"==n?l=u-e.options.indentUnit:\"number\"==typeof n&&(l=u+n),l=Math.max(0,l);var f=\"\",p=0;if(e.options.indentWithTabs)for(var d=Math.floor(l/a);d;--d)p+=a,f+=\"\\t\";if(p<l&&(f+=H(l-p)),f!=c)return mo(o,f,et(t,0),et(t,c.length),\"+input\"),s.stateAfter=null,!0;for(var h=0;h<o.sel.ranges.length;h++){var m=o.sel.ranges[h];if(m.head.line==t&&m.head.ch<c.length){var y=et(t,c.length);Ki(o,h,new Ei(y,y));break}}}Ca.defineInitHook=function(e){return Ta.push(e)};var Ma=null;function Pa(e){Ma=e}function Oa(e,t,n,r,i){var o=e.doc;e.display.shift=!1,r||(r=o.sel);var a=+new Date-200,s=\"paste\"==i||e.state.pasteIncoming>a,u=Pe(t),l=null;if(s&&r.ranges.length>1)if(Ma&&Ma.text.join(\"\\n\")==t){if(r.ranges.length%Ma.text.length==0){l=[];for(var c=0;c<Ma.text.length;c++)l.push(o.splitLines(Ma.text[c]))}}else u.length==r.ranges.length&&e.options.pasteLinesPerSelection&&(l=$(u,(function(e){return[e]})));for(var f=e.curOp.updateInput,p=r.ranges.length-1;p>=0;p--){var d=r.ranges[p],h=d.from(),m=d.to();d.empty()&&(n&&n>0?h=et(h.line,h.ch-n):e.state.overwrite&&!s?m=et(m.line,Math.min(Xe(o,m.line).text.length,m.ch+G(u).length)):s&&Ma&&Ma.lineWise&&Ma.text.join(\"\\n\")==u.join(\"\\n\")&&(h=m=et(h.line,0)));var y={from:h,to:m,text:l?l[p%l.length]:u,origin:i||(s?\"paste\":e.state.cutIncoming>a?\"cut\":\"+input\")};lo(e.doc,y),un(e,\"inputRead\",e,y)}t&&!s&&Na(e,t),Pr(e),e.curOp.updateInput<2&&(e.curOp.updateInput=f),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function La(e,t){var n=e.clipboardData&&e.clipboardData.getData(\"Text\");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||Qr(t,(function(){return Oa(t,n,0,null,\"paste\")})),!0}function Na(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,r=n.ranges.length-1;r>=0;r--){var i=n.ranges[r];if(!(i.head.ch>100||r&&n.ranges[r-1].head.line==i.head.line)){var o=e.getModeAt(i.head),a=!1;if(o.electricChars){for(var s=0;s<o.electricChars.length;s++)if(t.indexOf(o.electricChars.charAt(s))>-1){a=Da(e,i.head.line,\"smart\");break}}else o.electricInput&&o.electricInput.test(Xe(e.doc,i.head.line).text.slice(0,i.head.ch))&&(a=Da(e,i.head.line,\"smart\"));a&&un(e,\"electricInput\",e,i.head.line)}}}function Fa(e){for(var t=[],n=[],r=0;r<e.doc.sel.ranges.length;r++){var i=e.doc.sel.ranges[r].head.line,o={anchor:et(i,0),head:et(i+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function Ra(e,t,n,r){e.setAttribute(\"autocorrect\",n?\"\":\"off\"),e.setAttribute(\"autocapitalize\",r?\"\":\"off\"),e.setAttribute(\"spellcheck\",!!t)}function Ia(){var e=D(\"textarea\",null,null,\"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\"),t=D(\"div\",[e],null,\"overflow: hidden; position: relative; width: 3px; height: 0px;\");return u?e.style.width=\"1000px\":e.setAttribute(\"wrap\",\"off\"),m&&(e.style.border=\"1px solid black\"),Ra(e),t}function ja(e,t,n,r,i){var o=t,a=n,s=Xe(e,t.line),u=i&&\"rtl\"==e.direction?-n:n;function l(o){var a,l;if(\"codepoint\"==r){var c=s.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(c))a=null;else{var f=n>0?c>=55296&&c<56320:c>=56320&&c<57343;a=new et(t.line,Math.max(0,Math.min(s.text.length,t.ch+n*(f?2:1))),-n)}}else a=i?function(e,t,n,r){var i=le(t,e.doc.direction);if(!i)return Qo(t,n,r);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky=\"before\"):n.ch<=0&&(n.ch=0,n.sticky=\"after\");var o=se(i,n.ch,n.sticky),a=i[o];if(\"ltr\"==e.doc.direction&&a.level%2==0&&(r>0?a.to>n.ch:a.from<n.ch))return Qo(t,n,r);var s,u=function(e,n){return Jo(t,e instanceof et?e.ch:e,n)},l=function(n){return e.options.lineWrapping?(s=s||On(e,t),Jn(e,t,s,n)):{begin:0,end:t.text.length}},c=l(\"before\"==n.sticky?u(n,-1):n.ch);if(\"rtl\"==e.doc.direction||1==a.level){var f=1==a.level==r<0,p=u(n,f?1:-1);if(null!=p&&(f?p<=a.to&&p<=c.end:p>=a.from&&p>=c.begin)){var d=f?\"before\":\"after\";return new et(n.line,p,d)}}var h=function(e,t,r){for(var o=function(e,t){return t?new et(n.line,u(e,1),\"before\"):new et(n.line,e,\"after\")};e>=0&&e<i.length;e+=t){var a=i[e],s=t>0==(1!=a.level),l=s?r.begin:u(r.end,-1);if(a.from<=l&&l<a.to)return o(l,s);if(l=s?a.from:u(a.to,-1),r.begin<=l&&l<r.end)return o(l,s)}},m=h(o+r,r,c);if(m)return m;var y=r>0?c.end:u(c.begin,-1);return null==y||r>0&&y==t.text.length||!(m=h(r>0?0:i.length-1,r,l(y)))?null:m}(e.cm,s,t,n):Qo(s,t,n);if(null==a){if(o||((l=t.line+u)<e.first||l>=e.first+e.size||(t=new et(l,t.ch,t.sticky),!(s=Xe(e,l)))))return!1;t=ea(i,e.cm,s,t.line,u)}else t=a;return!0}if(\"char\"==r||\"codepoint\"==r)l();else if(\"column\"==r)l(!0);else if(\"word\"==r||\"group\"==r)for(var c=null,f=\"group\"==r,p=e.cm&&e.cm.getHelper(t,\"wordChars\"),d=!0;!(n<0)||l(!d);d=!1){var h=s.text.charAt(t.ch)||\"\\n\",m=ee(h,p)?\"w\":f&&\"\\n\"==h?\"n\":!f||/\\s/.test(h)?null:\"p\";if(!f||d||m||(m=\"s\"),c&&c!=m){n<0&&(n=1,l(),t.sticky=\"after\");break}if(m&&(c=m),n>0&&!l(!d))break}var y=oo(e,t,o,a,!0);return nt(o,y)&&(y.hitSide=!0),y}function Ba(e,t,n,r){var i,o,a=e.doc,s=t.left;if(\"page\"==r){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),l=Math.max(u-.5*rr(e.display),3);i=(n>0?t.bottom:t.top)+n*l}else\"line\"==r&&(i=n>0?t.bottom+3:t.top-3);for(;(o=Kn(e,s,i)).outside;){if(n<0?i<=0:i>=a.height){o.hitSide=!0;break}i+=5*n}return o}var qa=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new B,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function za(e,t){var n=Pn(e,t.line);if(!n||n.hidden)return null;var r=Xe(e.doc,t.line),i=Dn(n,r,t.line),o=le(r,e.doc.direction),a=\"left\";o&&(a=se(o,t.ch)%2?\"right\":\"left\");var s=Rn(i.map,t.ch,a);return s.offset=\"right\"==s.collapse?s.end:s.start,s}function Va(e,t){return t&&(e.bad=!0),e}function Ua(e,t,n){var r;if(t==e.display.lineDiv){if(!(r=e.display.lineDiv.childNodes[n]))return Va(e.clipPos(et(e.display.viewTo-1)),!0);t=null,n=0}else for(r=t;;r=r.parentNode){if(!r||r==e.display.lineDiv)return null;if(r.parentNode&&r.parentNode==e.display.lineDiv)break}for(var i=0;i<e.display.view.length;i++){var o=e.display.view[i];if(o.node==r)return Wa(o,t,n)}}function Wa(e,t,n){var r=e.text.firstChild,i=!1;if(!t||!P(r,t))return Va(et(Ke(e.line),0),!0);if(t==r&&(i=!0,t=r.childNodes[n],n=0,!t)){var o=e.rest?G(e.rest):e.line;return Va(et(Ke(o),o.text.length),i)}var a=3==t.nodeType?t:null,s=t;for(a||1!=t.childNodes.length||3!=t.firstChild.nodeType||(a=t.firstChild,n&&(n=a.nodeValue.length));s.parentNode!=r;)s=s.parentNode;var u=e.measure,l=u.maps;function c(t,n,r){for(var i=-1;i<(l?l.length:0);i++)for(var o=i<0?u.map:l[i],a=0;a<o.length;a+=3){var s=o[a+2];if(s==t||s==n){var c=Ke(i<0?e.line:e.rest[i]),f=o[a]+r;return(r<0||s!=t)&&(f=o[a+(r?1:0)]),et(c,f)}}}var f=c(a,s,n);if(f)return Va(f,i);for(var p=s.nextSibling,d=a?a.nodeValue.length-n:0;p;p=p.nextSibling){if(f=c(p,p.firstChild,0))return Va(et(f.line,f.ch-d),i);d+=p.textContent.length}for(var h=s.previousSibling,m=n;h;h=h.previousSibling){if(f=c(h,h.firstChild,-1))return Va(et(f.line,f.ch+m),i);m+=h.textContent.length}}qa.prototype.init=function(e){var t=this,n=this,r=n.cm,i=n.div=e.lineDiv;function o(e){for(var t=e.target;t;t=t.parentNode){if(t==i)return!0;if(/\\bCodeMirror-(?:line)?widget\\b/.test(t.className))break}return!1}function a(e){if(o(e)&&!me(r,e)){if(r.somethingSelected())Pa({lineWise:!1,text:r.getSelections()}),\"cut\"==e.type&&r.replaceSelection(\"\",null,\"cut\");else{if(!r.options.lineWiseCopyCut)return;var t=Fa(r);Pa({lineWise:!0,text:t.text}),\"cut\"==e.type&&r.operation((function(){r.setSelections(t.ranges,0,V),r.replaceSelection(\"\",null,\"cut\")}))}if(e.clipboardData){e.clipboardData.clearData();var a=Ma.text.join(\"\\n\");if(e.clipboardData.setData(\"Text\",a),e.clipboardData.getData(\"Text\")==a)return void e.preventDefault()}var s=Ia(),u=s.firstChild;r.display.lineSpace.insertBefore(s,r.display.lineSpace.firstChild),u.value=Ma.text.join(\"\\n\");var l=O();F(u),setTimeout((function(){r.display.lineSpace.removeChild(s),l.focus(),l==i&&n.showPrimarySelection()}),50)}}i.contentEditable=!0,Ra(i,r.options.spellcheck,r.options.autocorrect,r.options.autocapitalize),fe(i,\"paste\",(function(e){!o(e)||me(r,e)||La(e,r)||s<=11&&setTimeout(ei(r,(function(){return t.updateFromDOM()})),20)})),fe(i,\"compositionstart\",(function(e){t.composing={data:e.data,done:!1}})),fe(i,\"compositionupdate\",(function(e){t.composing||(t.composing={data:e.data,done:!1})})),fe(i,\"compositionend\",(function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)})),fe(i,\"touchstart\",(function(){return n.forceCompositionEnd()})),fe(i,\"input\",(function(){t.composing||t.readFromDOMSoon()})),fe(i,\"copy\",a),fe(i,\"cut\",a)},qa.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute(\"aria-label\",e):this.div.removeAttribute(\"aria-label\")},qa.prototype.prepareSelection=function(){var e=vr(this.cm,!1);return e.focus=O()==this.div,e},qa.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},qa.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},qa.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,r=t.doc.sel.primary(),i=r.from(),o=r.to();if(t.display.viewTo==t.display.viewFrom||i.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var a=Ua(t,e.anchorNode,e.anchorOffset),s=Ua(t,e.focusNode,e.focusOffset);if(!a||a.bad||!s||s.bad||0!=tt(ot(a,s),i)||0!=tt(it(a,s),o)){var u=t.display.view,l=i.line>=t.display.viewFrom&&za(t,i)||{node:u[0].measure.map[2],offset:0},c=o.line<t.display.viewTo&&za(t,o);if(!c){var f=u[u.length-1].measure,p=f.maps?f.maps[f.maps.length-1]:f.map;c={node:p[p.length-1],offset:p[p.length-2]-p[p.length-3]}}if(l&&c){var d,h=e.rangeCount&&e.getRangeAt(0);try{d=k(l.node,l.offset,c.offset,c.node)}catch(e){}d&&(!n&&t.state.focused?(e.collapse(l.node,l.offset),d.collapsed||(e.removeAllRanges(),e.addRange(d))):(e.removeAllRanges(),e.addRange(d)),h&&null==e.anchorNode?e.addRange(h):n&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},qa.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation((function(){return e.cm.curOp.selectionChanged=!0}))}),20)},qa.prototype.showMultipleSelections=function(e){T(this.cm.display.cursorDiv,e.cursors),T(this.cm.display.selectionDiv,e.selection)},qa.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},qa.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return P(this.div,t)},qa.prototype.focus=function(){\"nocursor\"!=this.cm.options.readOnly&&(this.selectionInEditor()&&O()==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},qa.prototype.blur=function(){this.div.blur()},qa.prototype.getField=function(){return this.div},qa.prototype.supportsTouch=function(){return!0},qa.prototype.receivedFocus=function(){var e=this;this.selectionInEditor()?this.pollSelection():Qr(this.cm,(function(){return e.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function t(){e.cm.state.focused&&(e.pollSelection(),e.polling.set(e.cm.options.pollInterval,t))}))},qa.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},qa.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(y&&c&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:\"keydown\",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=Ua(t,e.anchorNode,e.anchorOffset),r=Ua(t,e.focusNode,e.focusOffset);n&&r&&Qr(t,(function(){Qi(t.doc,ki(n,r),V),(n.bad||r.bad)&&(t.curOp.selectionChanged=!0)}))}}},qa.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,r=this.cm,i=r.display,o=r.doc.sel.primary(),a=o.from(),s=o.to();if(0==a.ch&&a.line>r.firstLine()&&(a=et(a.line-1,Xe(r.doc,a.line-1).length)),s.ch==Xe(r.doc,s.line).text.length&&s.line<r.lastLine()&&(s=et(s.line+1,0)),a.line<i.viewFrom||s.line>i.viewTo-1)return!1;a.line==i.viewFrom||0==(e=cr(r,a.line))?(t=Ke(i.view[0].line),n=i.view[0].node):(t=Ke(i.view[e].line),n=i.view[e-1].node.nextSibling);var u,l,c=cr(r,s.line);if(c==i.view.length-1?(u=i.viewTo-1,l=i.lineDiv.lastChild):(u=Ke(i.view[c+1].line)-1,l=i.view[c+1].node.previousSibling),!n)return!1;for(var f=r.doc.splitLines(function(e,t,n,r,i){var o=\"\",a=!1,s=e.doc.lineSeparator(),u=!1;function l(){a&&(o+=s,u&&(o+=s),a=u=!1)}function c(e){e&&(l(),o+=e)}function f(t){if(1==t.nodeType){var n=t.getAttribute(\"cm-text\");if(n)return void c(n);var o,p=t.getAttribute(\"cm-marker\");if(p){var d=e.findMarks(et(r,0),et(i+1,0),(y=+p,function(e){return e.id==y}));return void(d.length&&(o=d[0].find(0))&&c(He(e.doc,o.from,o.to).join(s)))}if(\"false\"==t.getAttribute(\"contenteditable\"))return;var h=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;h&&l();for(var m=0;m<t.childNodes.length;m++)f(t.childNodes[m]);/^(pre|p)$/i.test(t.nodeName)&&(u=!0),h&&(a=!0)}else 3==t.nodeType&&c(t.nodeValue.replace(/\\u200b/g,\"\").replace(/\\u00a0/g,\" \"));var y}for(;f(t),t!=n;)t=t.nextSibling,u=!1;return o}(r,n,l,t,u)),p=He(r.doc,et(t,0),et(u,Xe(r.doc,u).text.length));f.length>1&&p.length>1;)if(G(f)==G(p))f.pop(),p.pop(),u--;else{if(f[0]!=p[0])break;f.shift(),p.shift(),t++}for(var d=0,h=0,m=f[0],y=p[0],v=Math.min(m.length,y.length);d<v&&m.charCodeAt(d)==y.charCodeAt(d);)++d;for(var g=G(f),b=G(p),x=Math.min(g.length-(1==f.length?d:0),b.length-(1==p.length?d:0));h<x&&g.charCodeAt(g.length-h-1)==b.charCodeAt(b.length-h-1);)++h;if(1==f.length&&1==p.length&&t==a.line)for(;d&&d>a.ch&&g.charCodeAt(g.length-h-1)==b.charCodeAt(b.length-h-1);)d--,h++;f[f.length-1]=g.slice(0,g.length-h).replace(/^\\u200b+/,\"\"),f[0]=f[0].slice(d).replace(/\\u200b+$/,\"\");var _=et(t,d),w=et(u,p.length?G(p).length-h:0);return f.length>1||f[0]||tt(_,w)?(mo(r.doc,f,_,w,\"+input\"),!0):void 0},qa.prototype.ensurePolled=function(){this.forceCompositionEnd()},qa.prototype.reset=function(){this.forceCompositionEnd()},qa.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},qa.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},qa.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||Qr(this.cm,(function(){return fr(e.cm)}))},qa.prototype.setUneditable=function(e){e.contentEditable=\"false\"},qa.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||ei(this.cm,Oa)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},qa.prototype.readOnlyChanged=function(e){this.div.contentEditable=String(\"nocursor\"!=e)},qa.prototype.onContextMenu=function(){},qa.prototype.resetPosition=function(){},qa.prototype.needsContentAttribute=!0;var Ya=function(e){this.cm=e,this.prevInput=\"\",this.pollingFast=!1,this.polling=new B,this.hasSelection=!1,this.composing=null};Ya.prototype.init=function(e){var t=this,n=this,r=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!me(r,e)){if(r.somethingSelected())Pa({lineWise:!1,text:r.getSelections()});else{if(!r.options.lineWiseCopyCut)return;var t=Fa(r);Pa({lineWise:!0,text:t.text}),\"cut\"==e.type?r.setSelections(t.ranges,null,V):(n.prevInput=\"\",i.value=t.text.join(\"\\n\"),F(i))}\"cut\"==e.type&&(r.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),m&&(i.style.width=\"0px\"),fe(i,\"input\",(function(){a&&s>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),fe(i,\"paste\",(function(e){me(r,e)||La(e,r)||(r.state.pasteIncoming=+new Date,n.fastPoll())})),fe(i,\"cut\",o),fe(i,\"copy\",o),fe(e.scroller,\"paste\",(function(t){if(!wn(e,t)&&!me(r,t)){if(!i.dispatchEvent)return r.state.pasteIncoming=+new Date,void n.focus();var o=new Event(\"paste\");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),fe(e.lineSpace,\"selectstart\",(function(t){wn(e,t)||be(t)})),fe(i,\"compositionstart\",(function(){var e=r.getCursor(\"from\");n.composing&&n.composing.range.clear(),n.composing={start:e,range:r.markText(e,r.getCursor(\"to\"),{className:\"CodeMirror-composing\"})}})),fe(i,\"compositionend\",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Ya.prototype.createField=function(e){this.wrapper=Ia(),this.textarea=this.wrapper.firstChild},Ya.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute(\"aria-label\",e):this.textarea.removeAttribute(\"aria-label\")},Ya.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,r=vr(e);if(e.options.moveInputWithCursor){var i=Hn(e,n.sel.primary().head,\"div\"),o=t.wrapper.getBoundingClientRect(),a=t.lineDiv.getBoundingClientRect();r.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+a.top-o.top)),r.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+a.left-o.left))}return r},Ya.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+\"px\",this.wrapper.style.left=e.teLeft+\"px\")},Ya.prototype.reset=function(e){if(!this.contextMenuPending&&!this.composing){var t=this.cm;if(t.somethingSelected()){this.prevInput=\"\";var n=t.getSelection();this.textarea.value=n,t.state.focused&&F(this.textarea),a&&s>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value=\"\",a&&s>=9&&(this.hasSelection=null))}},Ya.prototype.getField=function(){return this.textarea},Ya.prototype.supportsTouch=function(){return!1},Ya.prototype.focus=function(){if(\"nocursor\"!=this.cm.options.readOnly&&(!v||O()!=this.textarea))try{this.textarea.focus()}catch(e){}},Ya.prototype.blur=function(){this.textarea.blur()},Ya.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ya.prototype.receivedFocus=function(){this.slowPoll()},Ya.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Ya.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Ya.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,r=this.prevInput;if(this.contextMenuPending||!t.state.focused||Oe(n)&&!r&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=n.value;if(i==r&&!t.somethingSelected())return!1;if(a&&s>=9&&this.hasSelection===i||g&&/[\\uf700-\\uf7ff]/.test(i))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=i.charCodeAt(0);if(8203!=o||r||(r=\"​\"),8666==o)return this.reset(),this.cm.execCommand(\"undo\")}for(var u=0,l=Math.min(r.length,i.length);u<l&&r.charCodeAt(u)==i.charCodeAt(u);)++u;return Qr(t,(function(){Oa(t,i.slice(u),r.length-u,null,e.composing?\"*compose\":null),i.length>1e3||i.indexOf(\"\\n\")>-1?n.value=e.prevInput=\"\":e.prevInput=i,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor(\"to\"),{className:\"CodeMirror-composing\"}))})),!0},Ya.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ya.prototype.onKeyPress=function(){a&&s>=9&&(this.hasSelection=null),this.fastPoll()},Ya.prototype.onContextMenu=function(e){var t=this,n=t.cm,r=n.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=lr(n,e),l=r.scroller.scrollTop;if(o&&!f){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&ei(n,Qi)(n.doc,ki(o),V);var c,p=i.style.cssText,d=t.wrapper.style.cssText,h=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText=\"position: static\",i.style.cssText=\"position: absolute; width: 30px; height: 30px;\\n      top: \"+(e.clientY-h.top-5)+\"px; left: \"+(e.clientX-h.left-5)+\"px;\\n      z-index: 1000; background: \"+(a?\"rgba(255, 255, 255, .05)\":\"transparent\")+\";\\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\",u&&(c=window.scrollY),r.input.focus(),u&&window.scrollTo(null,c),r.input.reset(),n.somethingSelected()||(i.value=t.prevInput=\" \"),t.contextMenuPending=v,r.selForContextMenu=n.doc.sel,clearTimeout(r.detectingSelectAll),a&&s>=9&&y(),E){we(e);var m=function(){de(window,\"mouseup\",m),setTimeout(v,20)};fe(window,\"mouseup\",m)}else setTimeout(v,50)}function y(){if(null!=i.selectionStart){var e=n.somethingSelected(),o=\"​\"+(e?i.value:\"\");i.value=\"⇚\",i.value=o,t.prevInput=e?\"\":\"​\",i.selectionStart=1,i.selectionEnd=o.length,r.selForContextMenu=n.doc.sel}}function v(){if(t.contextMenuPending==v&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=p,a&&s<9&&r.scrollbars.setScrollTop(r.scroller.scrollTop=l),null!=i.selectionStart)){(!a||a&&s<9)&&y();var e=0,o=function(){r.selForContextMenu==n.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&\"​\"==t.prevInput?ei(n,so)(n):e++<10?r.detectingSelectAll=setTimeout(o,500):(r.selForContextMenu=null,r.input.reset())};r.detectingSelectAll=setTimeout(o,200)}}},Ya.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=\"nocursor\"==e,this.textarea.readOnly=!!e},Ya.prototype.setUneditable=function(){},Ya.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,r,i,o){e.defaults[n]=r,i&&(t[n]=o?function(e,t,n){n!=wa&&i(e,t,n)}:i)}e.defineOption=n,e.Init=wa,n(\"value\",\"\",(function(e,t){return e.setValue(t)}),!0),n(\"mode\",null,(function(e,t){e.doc.modeOption=t,Mi(e)}),!0),n(\"indentUnit\",2,Mi,!0),n(\"indentWithTabs\",!1),n(\"smartIndent\",!0),n(\"tabSize\",4,(function(e){Pi(e),qn(e),fr(e)}),!0),n(\"lineSeparator\",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],r=e.doc.first;e.doc.iter((function(e){for(var i=0;;){var o=e.text.indexOf(t,i);if(-1==o)break;i=o+t.length,n.push(et(r,o))}r++}));for(var i=n.length-1;i>=0;i--)mo(e.doc,t,n[i],et(n[i].line,n[i].ch+t.length))}})),n(\"specialChars\",/[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b\\u200e\\u200f\\u2028\\u2029\\ufeff\\ufff9-\\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test(\"\\t\")?\"\":\"|\\t\"),\"g\"),n!=wa&&e.refresh()})),n(\"specialCharPlaceholder\",Jt,(function(e){return e.refresh()}),!0),n(\"electricChars\",!0),n(\"inputStyle\",v?\"contenteditable\":\"textarea\",(function(){throw new Error(\"inputStyle can not (yet) be changed in a running editor\")}),!0),n(\"spellcheck\",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n(\"autocorrect\",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n(\"autocapitalize\",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n(\"rtlMoveVisually\",!x),n(\"wholeLineUpdateBefore\",!0),n(\"theme\",\"default\",(function(e){_a(e),mi(e)}),!0),n(\"keyMap\",\"default\",(function(e,t,n){var r=Ko(t),i=n!=wa&&Ko(n);i&&i.detach&&i.detach(e,r),r.attach&&r.attach(e,i||null)})),n(\"extraKeys\",null),n(\"configureMouse\",null),n(\"lineWrapping\",!1,Aa,!0),n(\"gutters\",[],(function(e,t){e.display.gutterSpecs=di(t,e.options.lineNumbers),mi(e)}),!0),n(\"fixedGutter\",!0,(function(e,t){e.display.gutters.style.left=t?ar(e.display)+\"px\":\"0\",e.refresh()}),!0),n(\"coverGutterNextToScrollbar\",!1,(function(e){return zr(e)}),!0),n(\"scrollbarStyle\",\"native\",(function(e){Wr(e),zr(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n(\"lineNumbers\",!1,(function(e,t){e.display.gutterSpecs=di(e.options.gutters,t),mi(e)}),!0),n(\"firstLineNumber\",1,mi,!0),n(\"lineNumberFormatter\",(function(e){return e}),mi,!0),n(\"showCursorWhenSelecting\",!1,yr,!0),n(\"resetSelectionOnContextMenu\",!0),n(\"lineWiseCopyCut\",!0),n(\"pasteLinesPerSelection\",!0),n(\"selectionsMayTouch\",!1),n(\"readOnly\",!1,(function(e,t){\"nocursor\"==t&&(kr(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n(\"screenReaderLabel\",null,(function(e,t){t=\"\"===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n(\"disableInput\",!1,(function(e,t){t||e.display.input.reset()}),!0),n(\"dragDrop\",!0,ka),n(\"allowDropFileTypes\",null),n(\"cursorBlinkRate\",530),n(\"cursorScrollMargin\",0),n(\"cursorHeight\",1,yr,!0),n(\"singleCursorHeightPerLine\",!0,yr,!0),n(\"workTime\",100),n(\"workDelay\",100),n(\"flattenSpans\",!0,Pi,!0),n(\"addModeClass\",!1,Pi,!0),n(\"pollInterval\",100),n(\"undoDepth\",200,(function(e,t){return e.doc.history.undoDepth=t})),n(\"historyEventDelay\",1250),n(\"viewportMargin\",10,(function(e){return e.refresh()}),!0),n(\"maxHighlightLength\",1e4,Pi,!0),n(\"moveInputWithCursor\",!0,(function(e,t){t||e.display.input.resetPosition()})),n(\"tabindex\",null,(function(e,t){return e.display.input.getField().tabIndex=t||\"\"})),n(\"autofocus\",null),n(\"direction\",\"ltr\",(function(e,t){return e.doc.setDirection(t)}),!0),n(\"phrases\",null)}(Ca),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){window.focus(),this.display.input.focus()},setOption:function(e,n){var r=this.options,i=r[e];r[e]==n&&\"mode\"!=e||(r[e]=n,t.hasOwnProperty(e)&&ei(this,t[e])(this,n,i),he(this,\"optionChange\",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?\"push\":\"unshift\"](Ko(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:ti((function(t,n){var r=t.token?t:e.getMode(this.options,t);if(r.startState)throw new Error(\"Overlays may not be stateful.\");(function(e,t,n){for(var r=0,i=n(t);r<e.length&&n(e[r])<=i;)r++;e.splice(r,0,t)})(this.state.overlays,{mode:r,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},(function(e){return e.priority})),this.state.modeGen++,fr(this)})),removeOverlay:ti((function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||\"string\"==typeof e&&r.name==e)return t.splice(n,1),this.state.modeGen++,void fr(this)}})),indentLine:ti((function(e,t,n){\"string\"!=typeof t&&\"number\"!=typeof t&&(t=null==t?this.options.smartIndent?\"smart\":\"prev\":t?\"add\":\"subtract\"),Je(this.doc,e)&&Da(this,e,t,n)})),indentSelection:ti((function(e){for(var t=this.doc.sel.ranges,n=-1,r=0;r<t.length;r++){var i=t[r];if(i.empty())i.head.line>n&&(Da(this,i.head.line,e,!0),n=i.head.line,r==this.doc.sel.primIndex&&Pr(this));else{var o=i.from(),a=i.to(),s=Math.max(n,o.line);n=Math.min(this.lastLine(),a.line-(a.ch?0:1))+1;for(var u=s;u<n;++u)Da(this,u,e);var l=this.doc.sel.ranges;0==o.ch&&t.length==l.length&&l[r].from().ch>0&&Ki(this.doc,r,new Ei(o,l[r].to()),V)}}})),getTokenAt:function(e,t){return gt(this,e,t)},getLineTokens:function(e,t){return gt(this,et(e),t,!0)},getTokenTypeAt:function(e){e=st(this.doc,e);var t,n=pt(this,Xe(this.doc,e.line)),r=0,i=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var a=r+i>>1;if((a?n[2*a-1]:0)>=o)i=a;else{if(!(n[2*a+1]<o)){t=n[2*a+2];break}r=a+1}}var s=t?t.indexOf(\"overlay \"):-1;return s<0?t:0==s?null:t.slice(0,s-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var r=[];if(!n.hasOwnProperty(t))return r;var i=n[t],o=this.getModeAt(e);if(\"string\"==typeof o[t])i[o[t]]&&r.push(i[o[t]]);else if(o[t])for(var a=0;a<o[t].length;a++){var s=i[o[t][a]];s&&r.push(s)}else o.helperType&&i[o.helperType]?r.push(i[o.helperType]):i[o.name]&&r.push(i[o.name]);for(var u=0;u<i._global.length;u++){var l=i._global[u];l.pred(o,this)&&-1==q(r,l.val)&&r.push(l.val)}return r},getStateAfter:function(e,t){var n=this.doc;return dt(this,(e=at(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary();return Hn(this,null==e?n.head:\"object\"==typeof e?st(this.doc,e):e?n.from():n.to(),t||\"page\")},charCoords:function(e,t){return Xn(this,st(this.doc,e),t||\"page\")},coordsChar:function(e,t){return Kn(this,(e=Yn(this,e,t||\"page\")).left,e.top)},lineAtHeight:function(e,t){return e=Yn(this,{top:e,left:0},t||\"page\").top,Ze(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var r,i=!1;if(\"number\"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,i=!0),r=Xe(this.doc,e)}else r=e;return Wn(this,r,{top:0,left:0},t||\"page\",n||i).top+(i?this.doc.height-Ut(r):0)},defaultTextHeight:function(){return rr(this.display)},defaultCharWidth:function(){return ir(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,r,i){var o,a,s,u=this.display,l=(e=Hn(this,st(this.doc,e))).bottom,c=e.left;if(t.style.position=\"absolute\",t.setAttribute(\"cm-ignore-events\",\"true\"),this.display.input.setUneditable(t),u.sizer.appendChild(t),\"over\"==r)l=e.top;else if(\"above\"==r||\"near\"==r){var f=Math.max(u.wrapper.clientHeight,this.doc.height),p=Math.max(u.sizer.clientWidth,u.lineSpace.clientWidth);(\"above\"==r||e.bottom+t.offsetHeight>f)&&e.top>t.offsetHeight?l=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=f&&(l=e.bottom),c+t.offsetWidth>p&&(c=p-t.offsetWidth)}t.style.top=l+\"px\",t.style.left=t.style.right=\"\",\"right\"==i?(c=u.sizer.clientWidth-t.offsetWidth,t.style.right=\"0px\"):(\"left\"==i?c=0:\"middle\"==i&&(c=(u.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+\"px\"),n&&(o=this,a={left:c,top:l,right:c+t.offsetWidth,bottom:l+t.offsetHeight},null!=(s=Dr(o,a)).scrollTop&&Fr(o,s.scrollTop),null!=s.scrollLeft&&Ir(o,s.scrollLeft))},triggerOnKeyDown:ti(ca),triggerOnKeyPress:ti(pa),triggerOnKeyUp:fa,triggerOnMouseDown:ti(ya),execCommand:function(e){if(ta.hasOwnProperty(e))return ta[e].call(null,this)},triggerElectric:ti((function(e){Na(this,e)})),findPosH:function(e,t,n,r){var i=1;t<0&&(i=-1,t=-t);for(var o=st(this.doc,e),a=0;a<t&&!(o=ja(this.doc,o,i,n,r)).hitSide;++a);return o},moveH:ti((function(e,t){var n=this;this.extendSelectionsBy((function(r){return n.display.shift||n.doc.extend||r.empty()?ja(n.doc,r.head,e,t,n.options.rtlMoveVisually):e<0?r.from():r.to()}),W)})),deleteH:ti((function(e,t){var n=this.doc.sel,r=this.doc;n.somethingSelected()?r.replaceSelection(\"\",null,\"+delete\"):Zo(this,(function(n){var i=ja(r,n.head,e,t,!1);return e<0?{from:i,to:n.head}:{from:n.head,to:i}}))})),findPosV:function(e,t,n,r){var i=1,o=r;t<0&&(i=-1,t=-t);for(var a=st(this.doc,e),s=0;s<t;++s){var u=Hn(this,a,\"div\");if(null==o?o=u.left:u.left=o,(a=Ba(this,u,i,n)).hitSide)break}return a},moveV:ti((function(e,t){var n=this,r=this.doc,i=[],o=!this.display.shift&&!r.extend&&r.sel.somethingSelected();if(r.extendSelectionsBy((function(a){if(o)return e<0?a.from():a.to();var s=Hn(n,a.head,\"div\");null!=a.goalColumn&&(s.left=a.goalColumn),i.push(s.left);var u=Ba(n,s,e,t);return\"page\"==t&&a==r.sel.primary()&&Mr(n,Xn(n,u,\"div\").top-s.top),u}),W),i.length)for(var a=0;a<r.sel.ranges.length;a++)r.sel.ranges[a].goalColumn=i[a]})),findWordAt:function(e){var t=Xe(this.doc,e.line).text,n=e.ch,r=e.ch;if(t){var i=this.getHelper(e,\"wordChars\");\"before\"!=e.sticky&&r!=t.length||!n?++r:--n;for(var o=t.charAt(n),a=ee(o,i)?function(e){return ee(e,i)}:/\\s/.test(o)?function(e){return/\\s/.test(e)}:function(e){return!/\\s/.test(e)&&!ee(e)};n>0&&a(t.charAt(n-1));)--n;for(;r<t.length&&a(t.charAt(r));)++r}return new Ei(et(e.line,n),et(e.line,r))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?L(this.display.cursorDiv,\"CodeMirror-overwrite\"):A(this.display.cursorDiv,\"CodeMirror-overwrite\"),he(this,\"overwriteToggle\",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==O()},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:ti((function(e,t){Or(this,e,t)})),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-An(this)-this.display.barHeight,width:e.scrollWidth-An(this)-this.display.barWidth,clientHeight:Tn(this),clientWidth:Cn(this)}},scrollIntoView:ti((function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):\"number\"==typeof e?e={from:et(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Lr(e),e.curOp.scrollToPos=t}(this,e):Nr(this,e.from,e.to,e.margin)})),setSize:ti((function(e,t){var n=this,r=function(e){return\"number\"==typeof e||/^\\d+$/.test(String(e))?e+\"px\":e};null!=e&&(this.display.wrapper.style.width=r(e)),null!=t&&(this.display.wrapper.style.height=r(t)),this.options.lineWrapping&&Bn(this);var i=this.display.viewFrom;this.doc.iter(i,this.display.viewTo,(function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){pr(n,i,\"widget\");break}++i})),this.curOp.forceUpdate=!0,he(this,\"refresh\",this)})),operation:function(e){return Qr(this,e)},startOperation:function(){return Xr(this)},endOperation:function(){return Hr(this)},refresh:ti((function(){var e=this.display.cachedTextHeight;fr(this),this.curOp.forceUpdate=!0,qn(this),Or(this,this.doc.scrollLeft,this.doc.scrollTop),li(this.display),(null==e||Math.abs(e-rr(this.display))>.5||this.options.lineWrapping)&&ur(this),he(this,\"refresh\",this)})),swapDoc:ti((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Fi(this,e),qn(this),this.display.input.reset(),Or(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,un(this,\"swapDoc\",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ge(e),e.registerHelper=function(t,r,i){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][r]=i},e.registerGlobalHelper=function(t,r,i,o){e.registerHelper(t,r,o),n[t]._global.push({pred:i,val:o})}}(Ca);var Xa=\"iter insert remove copy getEditor constructor\".split(\" \");for(var Ha in Po.prototype)Po.prototype.hasOwnProperty(Ha)&&q(Xa,Ha)<0&&(Ca.prototype[Ha]=function(e){return function(){return e.apply(this.doc,arguments)}}(Po.prototype[Ha]));return ge(Po),Ca.inputStyles={textarea:Ya,contenteditable:qa},Ca.defineMode=function(e){Ca.defaults.mode||\"null\"==e||(Ca.defaults.mode=e),Ie.apply(this,arguments)},Ca.defineMIME=function(e,t){Re[e]=t},Ca.defineMode(\"null\",(function(){return{token:function(e){return e.skipToEnd()}}})),Ca.defineMIME(\"text/plain\",\"null\"),Ca.defineExtension=function(e,t){Ca.prototype[e]=t},Ca.defineDocExtension=function(e,t){Po.prototype[e]=t},Ca.fromTextArea=function(e,t){if((t=t?I(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=O();t.autofocus=n==e||null!=e.getAttribute(\"autofocus\")&&n==document.body}function r(){e.value=s.getValue()}var i;if(e.form&&(fe(e.form,\"submit\",r),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var a=o.submit=function(){r(),o.submit=i,o.submit(),o.submit=a}}catch(e){}}t.finishInit=function(n){n.save=r,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,r(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display=\"\",e.form&&(de(e.form,\"submit\",r),t.leaveSubmitMethodAlone||\"function\"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display=\"none\";var s=Ca((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=de,e.on=fe,e.wheelEventPixels=xi,e.Doc=Po,e.splitLines=Pe,e.countColumn=j,e.findColumn=Y,e.isWordChar=Q,e.Pass=z,e.signal=he,e.Line=Xt,e.changeEnd=Ai,e.scrollbarModel=Ur,e.Pos=et,e.cmpPos=tt,e.modes=Fe,e.mimeModes=Re,e.resolveMode=je,e.getMode=Be,e.modeExtensions=qe,e.extendMode=ze,e.copyState=Ve,e.startState=We,e.innerMode=Ue,e.commands=ta,e.keyMap=Uo,e.keyName=$o,e.isModifierKey=Ho,e.lookupKey=Xo,e.normalizeKeyMap=Yo,e.StringStream=Ye,e.SharedTextMarker=Co,e.TextMarker=ko,e.LineWidget=wo,e.e_preventDefault=be,e.e_stopPropagation=xe,e.e_stop=we,e.addClass=L,e.contains=P,e.rmClass=A,e.keyNames=Bo}(Ca),Ca.version=\"5.61.0\",Ca}()},96876:(e,t,n)=>{!function(e){\"use strict\";e.defineMode(\"javascript\",(function(t,n){var r,i,o=t.indentUnit,a=n.statementIndent,s=n.jsonld,u=n.json||s,l=!1!==n.trackScope,c=n.typescript,f=n.wordCharacters||/[\\w$\\xa1-\\uffff]/,p=function(){function e(e){return{type:e,style:\"keyword\"}}var t=e(\"keyword a\"),n=e(\"keyword b\"),r=e(\"keyword c\"),i=e(\"keyword d\"),o=e(\"operator\"),a={type:\"atom\",style:\"atom\"};return{if:e(\"if\"),while:t,with:t,else:n,do:n,try:n,finally:n,return:i,break:i,continue:i,new:e(\"new\"),delete:r,void:r,throw:r,debugger:e(\"debugger\"),var:e(\"var\"),const:e(\"var\"),let:e(\"var\"),function:e(\"function\"),catch:e(\"catch\"),for:e(\"for\"),switch:e(\"switch\"),case:e(\"case\"),default:e(\"default\"),in:o,typeof:o,instanceof:o,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e(\"this\"),class:e(\"class\"),super:e(\"atom\"),yield:r,export:e(\"export\"),import:e(\"import\"),extends:r,await:r}}(),d=/[+\\-*&%=<>!?|~^@]/,h=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;function m(e,t,n){return r=e,i=n,t}function y(e,t){var n,r=e.next();if('\"'==r||\"'\"==r)return t.tokenize=(n=r,function(e,t){var r,i=!1;if(s&&\"@\"==e.peek()&&e.match(h))return t.tokenize=y,m(\"jsonld-keyword\",\"meta\");for(;null!=(r=e.next())&&(r!=n||i);)i=!i&&\"\\\\\"==r;return i||(t.tokenize=y),m(\"string\",\"string\")}),t.tokenize(e,t);if(\".\"==r&&e.match(/^\\d[\\d_]*(?:[eE][+\\-]?[\\d_]+)?/))return m(\"number\",\"number\");if(\".\"==r&&e.match(\"..\"))return m(\"spread\",\"meta\");if(/[\\[\\]{}\\(\\),;\\:\\.]/.test(r))return m(r);if(\"=\"==r&&e.eat(\">\"))return m(\"=>\",\"operator\");if(\"0\"==r&&e.match(/^(?:x[\\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return m(\"number\",\"number\");if(/\\d/.test(r))return e.match(/^[\\d_]*(?:n|(?:\\.[\\d_]*)?(?:[eE][+\\-]?[\\d_]+)?)?/),m(\"number\",\"number\");if(\"/\"==r)return e.eat(\"*\")?(t.tokenize=v,v(e,t)):e.eat(\"/\")?(e.skipToEnd(),m(\"comment\",\"comment\")):Ke(e,t,1)?(function(e){for(var t,n=!1,r=!1;null!=(t=e.next());){if(!n){if(\"/\"==t&&!r)return;\"[\"==t?r=!0:r&&\"]\"==t&&(r=!1)}n=!n&&\"\\\\\"==t}}(e),e.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/),m(\"regexp\",\"string-2\")):(e.eat(\"=\"),m(\"operator\",\"operator\",e.current()));if(\"`\"==r)return t.tokenize=g,g(e,t);if(\"#\"==r&&\"!\"==e.peek())return e.skipToEnd(),m(\"meta\",\"meta\");if(\"#\"==r&&e.eatWhile(f))return m(\"variable\",\"property\");if(\"<\"==r&&e.match(\"!--\")||\"-\"==r&&e.match(\"->\")&&!/\\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),m(\"comment\",\"comment\");if(d.test(r))return\">\"==r&&t.lexical&&\">\"==t.lexical.type||(e.eat(\"=\")?\"!\"!=r&&\"=\"!=r||e.eat(\"=\"):/[<>*+\\-|&?]/.test(r)&&(e.eat(r),\">\"==r&&e.eat(r))),\"?\"==r&&e.eat(\".\")?m(\".\"):m(\"operator\",\"operator\",e.current());if(f.test(r)){e.eatWhile(f);var i=e.current();if(\".\"!=t.lastType){if(p.propertyIsEnumerable(i)){var o=p[i];return m(o.type,o.style,i)}if(\"async\"==i&&e.match(/^(\\s|\\/\\*([^*]|\\*(?!\\/))*?\\*\\/)*[\\[\\(\\w]/,!1))return m(\"async\",\"keyword\",i)}return m(\"variable\",\"variable\",i)}}function v(e,t){for(var n,r=!1;n=e.next();){if(\"/\"==n&&r){t.tokenize=y;break}r=\"*\"==n}return m(\"comment\",\"comment\")}function g(e,t){for(var n,r=!1;null!=(n=e.next());){if(!r&&(\"`\"==n||\"$\"==n&&e.eat(\"{\"))){t.tokenize=y;break}r=!r&&\"\\\\\"==n}return m(\"quasi\",\"string-2\",e.current())}function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf(\"=>\",e.start);if(!(n<0)){if(c){var r=/:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(e.string.slice(e.start,n));r&&(n=r.index)}for(var i=0,o=!1,a=n-1;a>=0;--a){var s=e.string.charAt(a),u=\"([{}])\".indexOf(s);if(u>=0&&u<3){if(!i){++a;break}if(0==--i){\"(\"==s&&(o=!0);break}}else if(u>=3&&u<6)++i;else if(f.test(s))o=!0;else if(/[\"'\\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&\"\\\\\"!=e.string.charAt(a-2)){a--;break}}else if(o&&!i){++a;break}}o&&!i&&(t.fatArrowAt=a)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,\"jsonld-keyword\":!0};function _(e,t,n,r,i,o){this.indented=e,this.column=t,this.type=n,this.prev=i,this.info=o,null!=r&&(this.align=r)}function w(e,t){if(!l)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(n=r.vars;n;n=n.next)if(n.name==t)return!0}var E={state:null,column:null,marked:null,cc:null};function S(){for(var e=arguments.length-1;e>=0;e--)E.cc.push(arguments[e])}function k(){return S.apply(null,arguments),!0}function A(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function C(e){var t=E.state;if(E.marked=\"def\",l){if(t.context)if(\"var\"==t.lexical.info&&t.context&&t.context.block){var r=T(e,t.context);if(null!=r)return void(t.context=r)}else if(!A(e,t.localVars))return void(t.localVars=new P(e,t.localVars));n.globalVars&&!A(e,t.globalVars)&&(t.globalVars=new P(e,t.globalVars))}}function T(e,t){if(t){if(t.block){var n=T(e,t.prev);return n?n==t.prev?t:new M(n,t.vars,!0):null}return A(e,t.vars)?t:new M(t.prev,new P(e,t.vars),!1)}return null}function D(e){return\"public\"==e||\"private\"==e||\"protected\"==e||\"abstract\"==e||\"readonly\"==e}function M(e,t,n){this.prev=e,this.vars=t,this.block=n}function P(e,t){this.name=e,this.next=t}var O=new P(\"this\",new P(\"arguments\",null));function L(){E.state.context=new M(E.state.context,E.state.localVars,!1),E.state.localVars=O}function N(){E.state.context=new M(E.state.context,E.state.localVars,!0),E.state.localVars=null}function F(){E.state.localVars=E.state.context.vars,E.state.context=E.state.context.prev}function R(e,t){var n=function(){var n=E.state,r=n.indented;if(\"stat\"==n.lexical.type)r=n.lexical.indented;else for(var i=n.lexical;i&&\")\"==i.type&&i.align;i=i.prev)r=i.indented;n.lexical=new _(r,E.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function I(){var e=E.state;e.lexical.prev&&(\")\"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function j(e){return function t(n){return n==e?k():\";\"==e||\"}\"==n||\")\"==n||\"]\"==n?S():k(t)}}function B(e,t){return\"var\"==e?k(R(\"vardef\",t),_e,j(\";\"),I):\"keyword a\"==e?k(R(\"form\"),U,B,I):\"keyword b\"==e?k(R(\"form\"),B,I):\"keyword d\"==e?E.stream.match(/^\\s*$/,!1)?k():k(R(\"stat\"),Y,j(\";\"),I):\"debugger\"==e?k(j(\";\")):\"{\"==e?k(R(\"}\"),N,se,I,F):\";\"==e?k():\"if\"==e?(\"else\"==E.state.lexical.info&&E.state.cc[E.state.cc.length-1]==I&&E.state.cc.pop()(),k(R(\"form\"),U,B,I,Ce)):\"function\"==e?k(Pe):\"for\"==e?k(R(\"form\"),N,Te,B,F,I):\"class\"==e||c&&\"interface\"==t?(E.marked=\"keyword\",k(R(\"form\",\"class\"==e?e:t),Re,I)):\"variable\"==e?c&&\"declare\"==t?(E.marked=\"keyword\",k(B)):c&&(\"module\"==t||\"enum\"==t||\"type\"==t)&&E.stream.match(/^\\s*\\w/,!1)?(E.marked=\"keyword\",\"enum\"==t?k(Ge):\"type\"==t?k(Le,j(\"operator\"),pe,j(\";\")):k(R(\"form\"),we,j(\"{\"),R(\"}\"),se,I,I)):c&&\"namespace\"==t?(E.marked=\"keyword\",k(R(\"form\"),z,B,I)):c&&\"abstract\"==t?(E.marked=\"keyword\",k(B)):k(R(\"stat\"),ee):\"switch\"==e?k(R(\"form\"),U,j(\"{\"),R(\"}\",\"switch\"),N,se,I,I,F):\"case\"==e?k(z,j(\":\")):\"default\"==e?k(j(\":\")):\"catch\"==e?k(R(\"form\"),L,q,B,I,F):\"export\"==e?k(R(\"stat\"),qe,I):\"import\"==e?k(R(\"stat\"),Ve,I):\"async\"==e?k(B):\"@\"==t?k(z,B):S(R(\"stat\"),z,j(\";\"),I)}function q(e){if(\"(\"==e)return k(Ne,j(\")\"))}function z(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function U(e){return\"(\"!=e?S():k(R(\")\"),Y,j(\")\"),I)}function W(e,t,n){if(E.state.fatArrowAt==E.stream.start){var r=n?Z:K;if(\"(\"==e)return k(L,R(\")\"),oe(Ne,\")\"),I,j(\"=>\"),r,F);if(\"variable\"==e)return S(L,we,j(\"=>\"),r,F)}var i=n?H:X;return x.hasOwnProperty(e)?k(i):\"function\"==e?k(Pe,i):\"class\"==e||c&&\"interface\"==t?(E.marked=\"keyword\",k(R(\"form\"),Fe,I)):\"keyword c\"==e||\"async\"==e?k(n?V:z):\"(\"==e?k(R(\")\"),Y,j(\")\"),I,i):\"operator\"==e||\"spread\"==e?k(n?V:z):\"[\"==e?k(R(\"]\"),He,I,i):\"{\"==e?ae(ne,\"}\",null,i):\"quasi\"==e?S(G,i):\"new\"==e?k(function(e){return function(t){return\".\"==t?k(e?Q:J):\"variable\"==t&&c?k(ge,e?H:X):S(e?V:z)}}(n)):k()}function Y(e){return e.match(/[;\\}\\)\\],]/)?S():S(z)}function X(e,t){return\",\"==e?k(Y):H(e,t,!1)}function H(e,t,n){var r=0==n?X:H,i=0==n?z:V;return\"=>\"==e?k(L,n?Z:K,F):\"operator\"==e?/\\+\\+|--/.test(t)||c&&\"!\"==t?k(r):c&&\"<\"==t&&E.stream.match(/^([^<>]|<[^<>]*>)*>\\s*\\(/,!1)?k(R(\">\"),oe(pe,\">\"),I,r):\"?\"==t?k(z,j(\":\"),i):k(i):\"quasi\"==e?S(G,r):\";\"!=e?\"(\"==e?ae(V,\")\",\"call\",r):\".\"==e?k(te,r):\"[\"==e?k(R(\"]\"),Y,j(\"]\"),I,r):c&&\"as\"==t?(E.marked=\"keyword\",k(pe,r)):\"regexp\"==e?(E.state.lastType=E.marked=\"operator\",E.stream.backUp(E.stream.pos-E.stream.start-1),k(i)):void 0:void 0}function G(e,t){return\"quasi\"!=e?S():\"${\"!=t.slice(t.length-2)?k(G):k(z,$)}function $(e){if(\"}\"==e)return E.marked=\"string-2\",E.state.tokenize=g,k(G)}function K(e){return b(E.stream,E.state),S(\"{\"==e?B:z)}function Z(e){return b(E.stream,E.state),S(\"{\"==e?B:V)}function J(e,t){if(\"target\"==t)return E.marked=\"keyword\",k(X)}function Q(e,t){if(\"target\"==t)return E.marked=\"keyword\",k(H)}function ee(e){return\":\"==e?k(I,B):S(X,j(\";\"),I)}function te(e){if(\"variable\"==e)return E.marked=\"property\",k()}function ne(e,t){return\"async\"==e?(E.marked=\"property\",k(ne)):\"variable\"==e||\"keyword\"==E.style?(E.marked=\"property\",\"get\"==t||\"set\"==t?k(re):(c&&E.state.fatArrowAt==E.stream.start&&(n=E.stream.match(/^\\s*:\\s*/,!1))&&(E.state.fatArrowAt=E.stream.pos+n[0].length),k(ie))):\"number\"==e||\"string\"==e?(E.marked=s?\"property\":E.style+\" property\",k(ie)):\"jsonld-keyword\"==e?k(ie):c&&D(t)?(E.marked=\"keyword\",k(ne)):\"[\"==e?k(z,ue,j(\"]\"),ie):\"spread\"==e?k(V,ie):\"*\"==t?(E.marked=\"keyword\",k(ne)):\":\"==e?S(ie):void 0;var n}function re(e){return\"variable\"!=e?S(ie):(E.marked=\"property\",k(Pe))}function ie(e){return\":\"==e?k(V):\"(\"==e?S(Pe):void 0}function oe(e,t,n){function r(i,o){if(n?n.indexOf(i)>-1:\",\"==i){var a=E.state.lexical;return\"call\"==a.info&&(a.pos=(a.pos||0)+1),k((function(n,r){return n==t||r==t?S():S(e)}),r)}return i==t||o==t?k():n&&n.indexOf(\";\")>-1?S(e):k(j(t))}return function(n,i){return n==t||i==t?k():S(e,r)}}function ae(e,t,n){for(var r=3;r<arguments.length;r++)E.cc.push(arguments[r]);return k(R(t,n),oe(e,t),I)}function se(e){return\"}\"==e?k():S(B,se)}function ue(e,t){if(c){if(\":\"==e)return k(pe);if(\"?\"==t)return k(ue)}}function le(e,t){if(c&&(\":\"==e||\"in\"==t))return k(pe)}function ce(e){if(c&&\":\"==e)return E.stream.match(/^\\s*\\w+\\s+is\\b/,!1)?k(z,fe,pe):k(pe)}function fe(e,t){if(\"is\"==t)return E.marked=\"keyword\",k()}function pe(e,t){return\"keyof\"==t||\"typeof\"==t||\"infer\"==t||\"readonly\"==t?(E.marked=\"keyword\",k(\"typeof\"==t?V:pe)):\"variable\"==e||\"void\"==t?(E.marked=\"type\",k(ve)):\"|\"==t||\"&\"==t?k(pe):\"string\"==e||\"number\"==e||\"atom\"==e?k(ve):\"[\"==e?k(R(\"]\"),oe(pe,\"]\",\",\"),I,ve):\"{\"==e?k(R(\"}\"),he,I,ve):\"(\"==e?k(oe(ye,\")\"),de,ve):\"<\"==e?k(oe(pe,\">\"),pe):void 0}function de(e){if(\"=>\"==e)return k(pe)}function he(e){return e.match(/[\\}\\)\\]]/)?k():\",\"==e||\";\"==e?k(he):S(me,he)}function me(e,t){return\"variable\"==e||\"keyword\"==E.style?(E.marked=\"property\",k(me)):\"?\"==t||\"number\"==e||\"string\"==e?k(me):\":\"==e?k(pe):\"[\"==e?k(j(\"variable\"),le,j(\"]\"),me):\"(\"==e?S(Oe,me):e.match(/[;\\}\\)\\],]/)?void 0:k()}function ye(e,t){return\"variable\"==e&&E.stream.match(/^\\s*[?:]/,!1)||\"?\"==t?k(ye):\":\"==e?k(pe):\"spread\"==e?k(ye):S(pe)}function ve(e,t){return\"<\"==t?k(R(\">\"),oe(pe,\">\"),I,ve):\"|\"==t||\".\"==e||\"&\"==t?k(pe):\"[\"==e?k(pe,j(\"]\"),ve):\"extends\"==t||\"implements\"==t?(E.marked=\"keyword\",k(pe)):\"?\"==t?k(pe,j(\":\"),pe):void 0}function ge(e,t){if(\"<\"==t)return k(R(\">\"),oe(pe,\">\"),I,ve)}function be(){return S(pe,xe)}function xe(e,t){if(\"=\"==t)return k(pe)}function _e(e,t){return\"enum\"==t?(E.marked=\"keyword\",k(Ge)):S(we,ue,ke,Ae)}function we(e,t){return c&&D(t)?(E.marked=\"keyword\",k(we)):\"variable\"==e?(C(t),k()):\"spread\"==e?k(we):\"[\"==e?ae(Se,\"]\"):\"{\"==e?ae(Ee,\"}\"):void 0}function Ee(e,t){return\"variable\"!=e||E.stream.match(/^\\s*:/,!1)?(\"variable\"==e&&(E.marked=\"property\"),\"spread\"==e?k(we):\"}\"==e?S():\"[\"==e?k(z,j(\"]\"),j(\":\"),Ee):k(j(\":\"),we,ke)):(C(t),k(ke))}function Se(){return S(we,ke)}function ke(e,t){if(\"=\"==t)return k(V)}function Ae(e){if(\",\"==e)return k(_e)}function Ce(e,t){if(\"keyword b\"==e&&\"else\"==t)return k(R(\"form\",\"else\"),B,I)}function Te(e,t){return\"await\"==t?k(Te):\"(\"==e?k(R(\")\"),De,I):void 0}function De(e){return\"var\"==e?k(_e,Me):\"variable\"==e?k(Me):S(Me)}function Me(e,t){return\")\"==e?k():\";\"==e?k(Me):\"in\"==t||\"of\"==t?(E.marked=\"keyword\",k(z,Me)):S(z,Me)}function Pe(e,t){return\"*\"==t?(E.marked=\"keyword\",k(Pe)):\"variable\"==e?(C(t),k(Pe)):\"(\"==e?k(L,R(\")\"),oe(Ne,\")\"),I,ce,B,F):c&&\"<\"==t?k(R(\">\"),oe(be,\">\"),I,Pe):void 0}function Oe(e,t){return\"*\"==t?(E.marked=\"keyword\",k(Oe)):\"variable\"==e?(C(t),k(Oe)):\"(\"==e?k(L,R(\")\"),oe(Ne,\")\"),I,ce,F):c&&\"<\"==t?k(R(\">\"),oe(be,\">\"),I,Oe):void 0}function Le(e,t){return\"keyword\"==e||\"variable\"==e?(E.marked=\"type\",k(Le)):\"<\"==t?k(R(\">\"),oe(be,\">\"),I):void 0}function Ne(e,t){return\"@\"==t&&k(z,Ne),\"spread\"==e?k(Ne):c&&D(t)?(E.marked=\"keyword\",k(Ne)):c&&\"this\"==e?k(ue,ke):S(we,ue,ke)}function Fe(e,t){return\"variable\"==e?Re(e,t):Ie(e,t)}function Re(e,t){if(\"variable\"==e)return C(t),k(Ie)}function Ie(e,t){return\"<\"==t?k(R(\">\"),oe(be,\">\"),I,Ie):\"extends\"==t||\"implements\"==t||c&&\",\"==e?(\"implements\"==t&&(E.marked=\"keyword\"),k(c?pe:z,Ie)):\"{\"==e?k(R(\"}\"),je,I):void 0}function je(e,t){return\"async\"==e||\"variable\"==e&&(\"static\"==t||\"get\"==t||\"set\"==t||c&&D(t))&&E.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/,!1)?(E.marked=\"keyword\",k(je)):\"variable\"==e||\"keyword\"==E.style?(E.marked=\"property\",k(Be,je)):\"number\"==e||\"string\"==e?k(Be,je):\"[\"==e?k(z,ue,j(\"]\"),Be,je):\"*\"==t?(E.marked=\"keyword\",k(je)):c&&\"(\"==e?S(Oe,je):\";\"==e||\",\"==e?k(je):\"}\"==e?k():\"@\"==t?k(z,je):void 0}function Be(e,t){if(\"?\"==t)return k(Be);if(\":\"==e)return k(pe,ke);if(\"=\"==t)return k(V);var n=E.state.lexical.prev;return S(n&&\"interface\"==n.info?Oe:Pe)}function qe(e,t){return\"*\"==t?(E.marked=\"keyword\",k(Xe,j(\";\"))):\"default\"==t?(E.marked=\"keyword\",k(z,j(\";\"))):\"{\"==e?k(oe(ze,\"}\"),Xe,j(\";\")):S(B)}function ze(e,t){return\"as\"==t?(E.marked=\"keyword\",k(j(\"variable\"))):\"variable\"==e?S(V,ze):void 0}function Ve(e){return\"string\"==e?k():\"(\"==e?S(z):\".\"==e?S(X):S(Ue,We,Xe)}function Ue(e,t){return\"{\"==e?ae(Ue,\"}\"):(\"variable\"==e&&C(t),\"*\"==t&&(E.marked=\"keyword\"),k(Ye))}function We(e){if(\",\"==e)return k(Ue,We)}function Ye(e,t){if(\"as\"==t)return E.marked=\"keyword\",k(Ue)}function Xe(e,t){if(\"from\"==t)return E.marked=\"keyword\",k(z)}function He(e){return\"]\"==e?k():S(oe(V,\"]\"))}function Ge(){return S(R(\"form\"),we,j(\"{\"),R(\"}\"),oe($e,\"}\"),I,I)}function $e(){return S(we,ke)}function Ke(e,t,n){return t.tokenize==y&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(t.lastType)||\"quasi\"==t.lastType&&/\\{\\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return F.lex=!0,I.lex=!0,{startState:function(e){var t={tokenize:y,lastType:\"sof\",cc:[],lexical:new _((e||0)-o,0,\"block\",!1),localVars:n.localVars,context:n.localVars&&new M(null,null,!1),indented:e||0};return n.globalVars&&\"object\"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty(\"align\")||(t.lexical.align=!1),t.indented=e.indentation(),b(e,t)),t.tokenize!=v&&e.eatSpace())return null;var n=t.tokenize(e,t);return\"comment\"==r?n:(t.lastType=\"operator\"!=r||\"++\"!=i&&\"--\"!=i?r:\"incdec\",function(e,t,n,r,i){var o=e.cc;for(E.state=e,E.stream=i,E.marked=null,E.cc=o,E.style=t,e.lexical.hasOwnProperty(\"align\")||(e.lexical.align=!0);;)if((o.length?o.pop():u?z:B)(n,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return E.marked?E.marked:\"variable\"==n&&w(e,r)?\"variable-2\":t}}(t,n,r,i,e))},indent:function(t,r){if(t.tokenize==v||t.tokenize==g)return e.Pass;if(t.tokenize!=y)return 0;var i,s=r&&r.charAt(0),u=t.lexical;if(!/^\\s*else\\b/.test(r))for(var l=t.cc.length-1;l>=0;--l){var c=t.cc[l];if(c==I)u=u.prev;else if(c!=Ce&&c!=F)break}for(;(\"stat\"==u.type||\"form\"==u.type)&&(\"}\"==s||(i=t.cc[t.cc.length-1])&&(i==X||i==H)&&!/^[,\\.=+\\-*:?[\\(]/.test(r));)u=u.prev;a&&\")\"==u.type&&\"stat\"==u.prev.type&&(u=u.prev);var f=u.type,p=s==f;return\"vardef\"==f?u.indented+(\"operator\"==t.lastType||\",\"==t.lastType?u.info.length+1:0):\"form\"==f&&\"{\"==s?u.indented:\"form\"==f?u.indented+o:\"stat\"==f?u.indented+(function(e,t){return\"operator\"==e.lastType||\",\"==e.lastType||d.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,r)?a||o:0):\"switch\"!=u.info||p||0==n.doubleIndentSwitch?u.align?u.column+(p?0:1):u.indented+(p?0:o):u.indented+(/^(?:case|default)\\b/.test(r)?o:2*o)},electricInput:/^\\s*(?:case .*?:|default:|\\{|\\})$/,blockCommentStart:u?null:\"/*\",blockCommentEnd:u?null:\"*/\",blockCommentContinue:u?null:\" * \",lineComment:u?null:\"//\",fold:\"brace\",closeBrackets:\"()[]{}''\\\"\\\"``\",helperType:u?\"json\":\"javascript\",jsonldMode:s,jsonMode:u,expressionAllowed:Ke,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=z&&t!=V||e.cc.pop()}}})),e.registerHelper(\"wordChars\",\"javascript\",/[\\w$]/),e.defineMIME(\"text/javascript\",\"javascript\"),e.defineMIME(\"text/ecmascript\",\"javascript\"),e.defineMIME(\"application/javascript\",\"javascript\"),e.defineMIME(\"application/x-javascript\",\"javascript\"),e.defineMIME(\"application/ecmascript\",\"javascript\"),e.defineMIME(\"application/json\",{name:\"javascript\",json:!0}),e.defineMIME(\"application/x-json\",{name:\"javascript\",json:!0}),e.defineMIME(\"application/manifest+json\",{name:\"javascript\",json:!0}),e.defineMIME(\"application/ld+json\",{name:\"javascript\",jsonld:!0}),e.defineMIME(\"text/typescript\",{name:\"javascript\",typescript:!0}),e.defineMIME(\"application/typescript\",{name:\"javascript\",typescript:!0})}(n(4631))},71548:(e,t,n)=>{!function(e){\"use strict\";function t(e,t,n,r){this.state=e,this.mode=t,this.depth=n,this.prev=r}function n(r){return new t(e.copyState(r.mode,r.state),r.mode,r.depth,r.prev&&n(r.prev))}e.defineMode(\"jsx\",(function(r,i){var o=e.getMode(r,{name:\"xml\",allowMissing:!0,multilineTagIndentPastTag:!1,allowMissingTagName:!0}),a=e.getMode(r,i&&i.base||\"javascript\");function s(e){var t=e.tagName;e.tagName=null;var n=o.indent(e,\"\",\"\");return e.tagName=t,n}function u(n,i){return i.context.mode==o?function(n,i,l){if(2==l.depth)return n.match(/^.*?\\*\\//)?l.depth=1:n.skipToEnd(),\"comment\";if(\"{\"==n.peek()){o.skipAttribute(l.state);var c=s(l.state),f=l.state.context;if(f&&n.match(/^[^>]*>\\s*$/,!1)){for(;f.prev&&!f.startOfLine;)f=f.prev;f.startOfLine?c-=r.indentUnit:l.prev.state.lexical&&(c=l.prev.state.lexical.indented)}else 1==l.depth&&(c+=r.indentUnit);return i.context=new t(e.startState(a,c),a,0,i.context),null}if(1==l.depth){if(\"<\"==n.peek())return o.skipAttribute(l.state),i.context=new t(e.startState(o,s(l.state)),o,0,i.context),null;if(n.match(\"//\"))return n.skipToEnd(),\"comment\";if(n.match(\"/*\"))return l.depth=2,u(n,i)}var p,d=o.token(n,l.state),h=n.current();return/\\btag\\b/.test(d)?/>$/.test(h)?l.state.context?l.depth=0:i.context=i.context.prev:/^</.test(h)&&(l.depth=1):!d&&(p=h.indexOf(\"{\"))>-1&&n.backUp(h.length-p),d}(n,i,i.context):function(n,r,i){if(\"<\"==n.peek()&&a.expressionAllowed(n,i.state))return a.skipExpression(i.state),r.context=new t(e.startState(o,a.indent(i.state,\"\",\"\")),o,0,r.context),null;var s=a.token(n,i.state);if(!s&&null!=i.depth){var u=n.current();\"{\"==u?i.depth++:\"}\"==u&&0==--i.depth&&(r.context=r.context.prev)}return s}(n,i,i.context)}return{startState:function(){return{context:new t(e.startState(a),a)}},copyState:function(e){return{context:n(e.context)}},token:u,indent:function(e,t,n){return e.context.mode.indent(e.context.state,t,n)},innerMode:function(e){return e.context}}}),\"xml\",\"javascript\"),e.defineMIME(\"text/jsx\",\"jsx\"),e.defineMIME(\"text/typescript-jsx\",{name:\"jsx\",base:{name:\"javascript\",typescript:!0}})}(n(4631),n(29589),n(96876))},29589:(e,t,n)=>{!function(e){\"use strict\";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},n={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode(\"xml\",(function(r,i){var o,a,s=r.indentUnit,u={},l=i.htmlMode?t:n;for(var c in l)u[c]=l[c];for(var c in i)u[c]=i[c];function f(e,t){function n(n){return t.tokenize=n,n(e,t)}var r=e.next();return\"<\"==r?e.eat(\"!\")?e.eat(\"[\")?e.match(\"CDATA[\")?n(d(\"atom\",\"]]>\")):null:e.match(\"--\")?n(d(\"comment\",\"--\\x3e\")):e.match(\"DOCTYPE\",!0,!0)?(e.eatWhile(/[\\w\\._\\-]/),n(h(1))):null:e.eat(\"?\")?(e.eatWhile(/[\\w\\._\\-]/),t.tokenize=d(\"meta\",\"?>\"),\"meta\"):(o=e.eat(\"/\")?\"closeTag\":\"openTag\",t.tokenize=p,\"tag bracket\"):\"&\"==r?(e.eat(\"#\")?e.eat(\"x\")?e.eatWhile(/[a-fA-F\\d]/)&&e.eat(\";\"):e.eatWhile(/[\\d]/)&&e.eat(\";\"):e.eatWhile(/[\\w\\.\\-:]/)&&e.eat(\";\"))?\"atom\":\"error\":(e.eatWhile(/[^&<]/),null)}function p(e,t){var n,r,i=e.next();if(\">\"==i||\"/\"==i&&e.eat(\">\"))return t.tokenize=f,o=\">\"==i?\"endTag\":\"selfcloseTag\",\"tag bracket\";if(\"=\"==i)return o=\"equals\",null;if(\"<\"==i){t.tokenize=f,t.state=g,t.tagName=t.tagStart=null;var a=t.tokenize(e,t);return a?a+\" tag error\":\"tag error\"}return/[\\'\\\"]/.test(i)?(t.tokenize=(n=i,r=function(e,t){for(;!e.eol();)if(e.next()==n){t.tokenize=p;break}return\"string\"},r.isInAttribute=!0,r),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/),\"word\")}function d(e,t){return function(n,r){for(;!n.eol();){if(n.match(t)){r.tokenize=f;break}n.next()}return e}}function h(e){return function(t,n){for(var r;null!=(r=t.next());){if(\"<\"==r)return n.tokenize=h(e+1),n.tokenize(t,n);if(\">\"==r){if(1==e){n.tokenize=f;break}return n.tokenize=h(e-1),n.tokenize(t,n)}}return\"meta\"}}function m(e,t,n){this.prev=e.context,this.tagName=t||\"\",this.indent=e.indented,this.startOfLine=n,(u.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}function y(e){e.context&&(e.context=e.context.prev)}function v(e,t){for(var n;;){if(!e.context)return;if(n=e.context.tagName,!u.contextGrabbers.hasOwnProperty(n)||!u.contextGrabbers[n].hasOwnProperty(t))return;y(e)}}function g(e,t,n){return\"openTag\"==e?(n.tagStart=t.column(),b):\"closeTag\"==e?x:g}function b(e,t,n){return\"word\"==e?(n.tagName=t.current(),a=\"tag\",E):u.allowMissingTagName&&\"endTag\"==e?(a=\"tag bracket\",E(e,0,n)):(a=\"error\",b)}function x(e,t,n){if(\"word\"==e){var r=t.current();return n.context&&n.context.tagName!=r&&u.implicitlyClosed.hasOwnProperty(n.context.tagName)&&y(n),n.context&&n.context.tagName==r||!1===u.matchClosing?(a=\"tag\",_):(a=\"tag error\",w)}return u.allowMissingTagName&&\"endTag\"==e?(a=\"tag bracket\",_(e,0,n)):(a=\"error\",w)}function _(e,t,n){return\"endTag\"!=e?(a=\"error\",_):(y(n),g)}function w(e,t,n){return a=\"error\",_(e,0,n)}function E(e,t,n){if(\"word\"==e)return a=\"attribute\",S;if(\"endTag\"==e||\"selfcloseTag\"==e){var r=n.tagName,i=n.tagStart;return n.tagName=n.tagStart=null,\"selfcloseTag\"==e||u.autoSelfClosers.hasOwnProperty(r)?v(n,r):(v(n,r),n.context=new m(n,r,i==n.indented)),g}return a=\"error\",E}function S(e,t,n){return\"equals\"==e?k:(u.allowMissing||(a=\"error\"),E(e,0,n))}function k(e,t,n){return\"string\"==e?A:\"word\"==e&&u.allowUnquoted?(a=\"string\",E):(a=\"error\",E(e,0,n))}function A(e,t,n){return\"string\"==e?A:E(e,0,n)}return f.isInText=!0,{startState:function(e){var t={tokenize:f,state:g,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var n=t.tokenize(e,t);return(n||o)&&\"comment\"!=n&&(a=null,t.state=t.state(o||n,e,t),a&&(n=\"error\"==a?n+\" error\":a)),n},indent:function(t,n,r){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=p&&t.tokenize!=f)return r?r.match(/^(\\s*)/)[0].length:0;if(t.tagName)return!1!==u.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(u.multilineTagIndentFactor||1);if(u.alignCDATA&&/<!\\[CDATA\\[/.test(n))return 0;var o=n&&/^<(\\/)?([\\w_:\\.-]*)/.exec(n);if(o&&o[1])for(;i;){if(i.tagName==o[2]){i=i.prev;break}if(!u.implicitlyClosed.hasOwnProperty(i.tagName))break;i=i.prev}else if(o)for(;i;){var a=u.contextGrabbers[i.tagName];if(!a||!a.hasOwnProperty(o[2]))break;i=i.prev}for(;i&&i.prev&&!i.startOfLine;)i=i.prev;return i?i.indent+s:t.baseIndent||0},electricInput:/<\\/[\\s\\w:]+>$/,blockCommentStart:\"\\x3c!--\",blockCommentEnd:\"--\\x3e\",configuration:u.htmlMode?\"html\":\"xml\",helperType:u.htmlMode?\"html\":\"xml\",skipAttribute:function(e){e.state==k&&(e.state=E)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:\"closeTag\"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],n=e.context;n;n=n.prev)t.push(n.tagName);return t.reverse()}}})),e.defineMIME(\"text/xml\",\"xml\"),e.defineMIME(\"application/xml\",\"xml\"),e.mimeModes.hasOwnProperty(\"text/html\")||e.defineMIME(\"text/html\",{name:\"xml\",htmlMode:!0})}(n(4631))},35563:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{\"use strict\";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(67294),prop_types__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(45697),prop_types__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__),react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(73935),babel_standalone__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(90181),babel_standalone__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(babel_standalone__WEBPACK_IMPORTED_MODULE_2__),_createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),_typeof=\"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};function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(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 _inherits(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 getType=function(e){var t=void 0===e?\"undefined\":_typeof(e);return Array.isArray(e)?t=\"array\":null===e&&(t=\"null\"),t},wrapMap={wrapnumber:function(e){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#6170d5\"}},e)},wrapstring:function(e){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#F2777A\"}},\"'\"+e+\"'\")},wrapboolean:function(e){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#48A1CF\"}},e?\"true\":\"false\")},wraparray:function(e){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",null,\"[\",e.map((function(t,n){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{key:n},wrapMap[\"wrap\"+getType(t)](t),n!==e.length-1?\", \":\"\")})),\"]\")},wrapobject:function(e){var t=[],n=!0;for(var r in e)t.push(react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{key:r},react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#8A6BA1\"}},(n?\"\":\", \")+r),\": \",wrapMap[\"wrap\"+getType(e[r])](e[r]))),n=!1;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"i\",null,\"Object {\",t,\"}\")},wrapfunction:function(){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"i\",{style:{color:\"#48A1CF\"}},\"function\")},wrapnull:function(){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#777\"}},\"null\")},wrapundefined:function(){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{color:\"#777\"}},\"undefined\")}},EsPreview=function(e){function t(){var e,n,r;_classCallCheck(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=_possibleConstructorReturn(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),_initialiseProps.call(r),_possibleConstructorReturn(r,n)}return _inherits(t,e),_createClass(t,[{key:\"render\",value:function(){var e=this;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{ref:function(t){e.mount=t}})}}]),t}(react__WEBPACK_IMPORTED_MODULE_0__.Component);EsPreview.propTypes={code:prop_types__WEBPACK_IMPORTED_MODULE_3___default().string.isRequired,scope:prop_types__WEBPACK_IMPORTED_MODULE_3___default().object.isRequired};var _initialiseProps=function _initialiseProps(){var _this3=this;this._compileCode=function(){var e=_this3.props,t=e.code,n=e.scope;return(0,babel_standalone__WEBPACK_IMPORTED_MODULE_2__.transform)(\"\\n      ((\"+Object.keys(n).join(\",\")+\") => {\\n        var list = [];\\n        var console = { log(...x) {\\n          list.push({val: x, multipleArgs: x.length !== 1})\\n        }};\\n        \"+t+\"\\n        return list;\\n      });\\n    \",{presets:[\"es2015\",\"react\",\"stage-1\"]}).code},this._setTimeout=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];clearTimeout(_this3.timeoutID),_this3.timeoutID=setTimeout.apply(null,t)},this._executeCode=function(){var mountNode=_this3.mount;try{(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.unmountComponentAtNode)(mountNode)}catch(e){console.error(e)}try{var scope=_this3.props.scope,tempScope=[];Object.keys(scope).forEach((function(e){return tempScope.push(scope[e])})),tempScope.push(mountNode);var compiledCode=_this3._compileCode(),Comp=function(_Component2){function Comp(){var e,t,n;_classCallCheck(this,Comp);for(var r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o];return t=n=_possibleConstructorReturn(this,(e=Comp.__proto__||Object.getPrototypeOf(Comp)).call.apply(e,[this].concat(i))),n._createConsoleLine=function(e){var t=e.val,r=e.multipleArgs;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"span\",{style:{marginRight:\"20px\"}},r?t.map((function(e){return n._createConsoleLine([e],!1)})):wrapMap[\"wrap\"+getType(t[0])](t[0]))},_possibleConstructorReturn(n,t)}return _inherits(Comp,_Component2),_createClass(Comp,[{key:\"render\",value:function render(){var _this5=this;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{style:{padding:15,fontFamily:\"Consolas, Courier, monospace\"}},eval(compiledCode).apply(null,tempScope).map((function(e,t){return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{key:t,style:{borderBottom:\"1px solid #ccc\",padding:\"4px 0\"}},_this5._createConsoleLine(e))})))}}]),Comp}(react__WEBPACK_IMPORTED_MODULE_0__.Component);(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.render)(react__WEBPACK_IMPORTED_MODULE_0__.createElement(Comp,null),mountNode)}catch(e){_this3._setTimeout((function(){(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.render)(react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{className:\"playgroundError\"},e.toString()),mountNode)}),500)}},this.componentDidMount=function(){_this3._executeCode()},this.componentDidUpdate=function(e){clearTimeout(_this3.timeoutID),_this3.props.code!==e.code&&_this3._executeCode()}};const __WEBPACK_DEFAULT_EXPORT__=EsPreview},36931:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{\"use strict\";__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(67294),prop_types__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(45697),prop_types__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__),react_dom__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(73935),react_dom_server__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(97762),react_dom_server__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(react_dom_server__WEBPACK_IMPORTED_MODULE_2__),babel_standalone__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(90181),babel_standalone__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(babel_standalone__WEBPACK_IMPORTED_MODULE_3__),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(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 _inherits(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 Preview=function(_Component){function Preview(){var _ref,_temp,_this,_ret;_classCallCheck(this,Preview);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return _this=_possibleConstructorReturn(this,(_ref=Preview.__proto__||Object.getPrototypeOf(Preview)).call.apply(_ref,[this].concat(args))),_temp=_this,_this.state={error:null},_this._compileCode=function(){var e,t=_this.props,n=t.code,r=t.context,i=t.noRender,o=t.scope,a=_extends({},o,{PropTypes:prop_types__WEBPACK_IMPORTED_MODULE_4___default()});return i?(0,babel_standalone__WEBPACK_IMPORTED_MODULE_3__.transform)(\"\\n        ((\"+Object.keys(a).join(\", \")+\", mountNode) => {\\n          class Comp extends React.Component {\\n\\n            getChildContext() {\\n              return \"+JSON.stringify(r)+\";\\n            }\\n\\n            render() {\\n              return (\\n                \"+n+\"\\n              );\\n            }\\n          }\\n\\n          Comp.childContextTypes = \"+(e=r,\"{ \"+Object.keys(e).map((function(e){return e+\": PropTypes.any.isRequired\"})).join(\", \")+\" };\\n\\n          return Comp;\\n        });\\n      \"),{presets:[\"es2015\",\"react\",\"stage-1\"]}).code:(0,babel_standalone__WEBPACK_IMPORTED_MODULE_3__.transform)(\"\\n        ((\"+Object.keys(a).join(\",\")+\", mountNode) => {\\n          \"+n+\"\\n        });\\n      \",{presets:[\"es2015\",\"react\",\"stage-1\"]}).code},_this._executeCode=function(){var mountNode=_this.mount,_this$props2=_this.props,scope=_this$props2.scope,noRender=_this$props2.noRender,previewComponent=_this$props2.previewComponent,scopeWithProps=_extends({},scope,{PropTypes:prop_types__WEBPACK_IMPORTED_MODULE_4___default()}),tempScope=[];try{Object.keys(scopeWithProps).forEach((function(e){return tempScope.push(scopeWithProps[e])})),tempScope.push(mountNode);var compiledCode=_this._compileCode();if(noRender){var Comp=react__WEBPACK_IMPORTED_MODULE_0__.createElement(eval(compiledCode).apply(void 0,tempScope));react_dom_server__WEBPACK_IMPORTED_MODULE_2___default().renderToString(react__WEBPACK_IMPORTED_MODULE_0__.createElement(previewComponent,{},Comp)),(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.render)(react__WEBPACK_IMPORTED_MODULE_0__.createElement(previewComponent,{},Comp),mountNode)}else eval(compiledCode).apply(void 0,tempScope);clearTimeout(_this.timeoutID),_this.setState({error:null})}catch(e){var error=e.toString();clearTimeout(_this.timeoutID),_this.timeoutID=setTimeout((function(){_this.setState({error})}),500)}},_this.componentDidMount=function(){_this._executeCode()},_this.componentDidUpdate=function(e){_this.props.code!==e.code&&_this._executeCode()},_ret=_temp,_possibleConstructorReturn(_this,_ret)}return _inherits(Preview,_Component),_createClass(Preview,[{key:\"render\",value:function(){var e=this,t=this.state.error;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",null,null!==t?react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{className:\"playgroundError\"},t):null,react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\",{ref:function(t){e.mount=t},className:\"previewArea\"}))}}]),Preview}(react__WEBPACK_IMPORTED_MODULE_0__.Component);Preview.defaultProps={previewComponent:\"div\"},Preview.propTypes={code:prop_types__WEBPACK_IMPORTED_MODULE_4___default().string.isRequired,scope:prop_types__WEBPACK_IMPORTED_MODULE_4___default().object.isRequired,previewComponent:prop_types__WEBPACK_IMPORTED_MODULE_4___default().node,noRender:prop_types__WEBPACK_IMPORTED_MODULE_4___default().bool,context:prop_types__WEBPACK_IMPORTED_MODULE_4___default().object};const __WEBPACK_DEFAULT_EXPORT__=Preview},7694:(e,t,n)=>{n(61761),e.exports=n(25645).RegExp.escape},24963:e=>{e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},83365:(e,t,n)=>{var r=n(92032);e.exports=function(e,t){if(\"number\"!=typeof e&&\"Number\"!=r(e))throw TypeError(t);return+e}},17722:(e,t,n)=>{var r=n(86314)(\"unscopables\"),i=Array.prototype;null==i[r]&&n(87728)(i,r,{}),e.exports=function(e){i[r][e]=!0}},83328:e=>{e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},27007:(e,t,n)=>{var r=n(55286);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},5216:(e,t,n)=>{\"use strict\";var r=n(20508),i=n(92337),o=n(10875);e.exports=[].copyWithin||function(e,t){var n=r(this),a=o(n.length),s=i(e,a),u=i(t,a),l=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===l?a:i(l,a))-u,a-s),f=1;for(u<s&&s<u+c&&(f=-1,u+=c-1,s+=c-1);c-- >0;)u in n?n[s]=n[u]:delete n[s],s+=f,u+=f;return n}},46852:(e,t,n)=>{\"use strict\";var r=n(20508),i=n(92337),o=n(10875);e.exports=function(e){for(var t=r(this),n=o(t.length),a=arguments.length,s=i(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,l=void 0===u?n:i(u,n);l>s;)t[s++]=e;return t}},9490:(e,t,n)=>{var r=n(3531);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},79315:(e,t,n)=>{var r=n(22110),i=n(10875),o=n(92337);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},10050:(e,t,n)=>{var r=n(741),i=n(49797),o=n(20508),a=n(10875),s=n(16886);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,f=6==e,p=5==e||f,d=t||s;return function(t,s,h){for(var m,y,v=o(t),g=i(v),b=r(s,h,3),x=a(g.length),_=0,w=n?d(t,x):u?d(t,0):void 0;x>_;_++)if((p||_ in g)&&(y=b(m=g[_],_,v),e))if(n)w[_]=y;else if(y)switch(e){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(c)return!1;return f?-1:l||c?c:w}}},37628:(e,t,n)=>{var r=n(24963),i=n(20508),o=n(49797),a=n(10875);e.exports=function(e,t,n,s,u){r(t);var l=i(e),c=o(l),f=a(l.length),p=u?f-1:0,d=u?-1:1;if(n<2)for(;;){if(p in c){s=c[p],p+=d;break}if(p+=d,u?p<0:f<=p)throw TypeError(\"Reduce of empty array with no initial value\")}for(;u?p>=0:f>p;p+=d)p in c&&(s=t(s,c[p],p,l));return s}},42736:(e,t,n)=>{var r=n(55286),i=n(4302),o=n(86314)(\"species\");e.exports=function(e){var t;return i(e)&&(\"function\"!=typeof(t=e.constructor)||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},16886:(e,t,n)=>{var r=n(42736);e.exports=function(e,t){return new(r(e))(t)}},34398:(e,t,n)=>{\"use strict\";var r=n(24963),i=n(55286),o=n(97242),a=[].slice,s={},u=function(e,t,n){if(!(t in s)){for(var r=[],i=0;i<t;i++)r[i]=\"a[\"+i+\"]\";s[t]=Function(\"F,a\",\"return new F(\"+r.join(\",\")+\")\")}return s[t](e,n)};e.exports=Function.bind||function(e){var t=r(this),n=a.call(arguments,1),s=function(){var r=n.concat(a.call(arguments));return this instanceof s?u(t,r.length,r):o(t,r,e)};return i(t.prototype)&&(s.prototype=t.prototype),s}},41488:(e,t,n)=>{var r=n(92032),i=n(86314)(\"toStringTag\"),o=\"Arguments\"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:o?r(t):\"Object\"==(a=r(t))&&\"function\"==typeof t.callee?\"Arguments\":a}},92032:e=>{var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},9824:(e,t,n)=>{\"use strict\";var r=n(99275).f,i=n(42503),o=n(24408),a=n(741),s=n(83328),u=n(3531),l=n(42923),c=n(15436),f=n(2974),p=n(67057),d=n(84728).fastKey,h=n(1616),m=p?\"_s\":\"size\",y=function(e,t){var n,r=d(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var c=e((function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&u(r,n,e[l],e)}));return o(c.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=h(this,t),r=y(n,e);if(r){var i=r.n,o=r.p;delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[m]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!y(h(this,t),e)}}),p&&r(c.prototype,\"size\",{get:function(){return h(this,t)[m]}}),c},def:function(e,t,n){var r,i,o=y(e,t);return o?o.v=n:(e._l=o={i:i=d(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[m]++,\"F\"!==i&&(e._i[i]=o)),e},getEntry:y,setStrong:function(e,t,n){l(e,t,(function(e,n){this._t=h(e,t),this._k=n,this._l=void 0}),(function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?c(0,\"keys\"==t?n.k:\"values\"==t?n.v:[n.k,n.v]):(e._t=void 0,c(1))}),n?\"entries\":\"values\",!n,!0),f(t)}}},86132:(e,t,n)=>{var r=n(41488),i=n(9490);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return i(this)}}},23657:(e,t,n)=>{\"use strict\";var r=n(24408),i=n(84728).getWeak,o=n(27007),a=n(55286),s=n(83328),u=n(3531),l=n(10050),c=n(79181),f=n(1616),p=l(5),d=l(6),h=0,m=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},v=function(e,t){return p(e.a,(function(e){return e[0]===t}))};y.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=d(this.a,(function(t){return t[0]===e}));return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e((function(e,r){s(e,l,t,\"_i\"),e._t=t,e._i=h++,e._l=void 0,null!=r&&u(r,n,e[o],e)}));return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(f(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(f(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},45795:(e,t,n)=>{\"use strict\";var r=n(3816),i=n(42985),o=n(77234),a=n(24408),s=n(84728),u=n(3531),l=n(83328),c=n(55286),f=n(74253),p=n(7462),d=n(22943),h=n(40266);e.exports=function(e,t,n,m,y,v){var g=r[e],b=g,x=y?\"set\":\"add\",_=b&&b.prototype,w={},E=function(e){var t=_[e];o(_,e,\"delete\"==e||\"has\"==e?function(e){return!(v&&!c(e))&&t.call(this,0===e?0:e)}:\"get\"==e?function(e){return v&&!c(e)?void 0:t.call(this,0===e?0:e)}:\"add\"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(\"function\"==typeof b&&(v||_.forEach&&!f((function(){(new b).entries().next()})))){var S=new b,k=S[x](v?{}:-0,1)!=S,A=f((function(){S.has(1)})),C=p((function(e){new b(e)})),T=!v&&f((function(){for(var e=new b,t=5;t--;)e[x](t,t);return!e.has(-0)}));C||((b=t((function(t,n){l(t,b,e);var r=h(new g,t,b);return null!=n&&u(n,y,r[x],r),r}))).prototype=_,_.constructor=b),(A||T)&&(E(\"delete\"),E(\"has\"),y&&E(\"get\")),(T||k)&&E(x),v&&_.clear&&delete _.clear}else b=m.getConstructor(t,e,y,x),a(b.prototype,n),s.NEED=!0;return d(b,e),w[e]=b,i(i.G+i.W+i.F*(b!=g),w),v||m.setStrong(b,e,y),b}},25645:e=>{var t=e.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=t)},92811:(e,t,n)=>{\"use strict\";var r=n(99275),i=n(90681);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},741:(e,t,n)=>{var r=n(24963);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},53537:(e,t,n)=>{\"use strict\";var r=n(74253),i=Date.prototype.getTime,o=Date.prototype.toISOString,a=function(e){return e>9?e:\"0\"+e};e.exports=r((function(){return\"0385-07-25T07:06:39.999Z\"!=o.call(new Date(-50000000000001))}))||!r((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError(\"Invalid time value\");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?\"-\":t>9999?\"+\":\"\";return r+(\"00000\"+Math.abs(t)).slice(r?-6:-4)+\"-\"+a(e.getUTCMonth()+1)+\"-\"+a(e.getUTCDate())+\"T\"+a(e.getUTCHours())+\":\"+a(e.getUTCMinutes())+\":\"+a(e.getUTCSeconds())+\".\"+(n>99?n:\"0\"+a(n))+\"Z\"}:o},870:(e,t,n)=>{\"use strict\";var r=n(27007),i=n(21689),o=\"number\";e.exports=function(e){if(\"string\"!==e&&e!==o&&\"default\"!==e)throw TypeError(\"Incorrect hint\");return i(r(this),e!=o)}},91355:e=>{e.exports=function(e){if(null==e)throw TypeError(\"Can't call method on  \"+e);return e}},67057:(e,t,n)=>{e.exports=!n(74253)((function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a}))},62457:(e,t,n)=>{var r=n(55286),i=n(3816).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},74430:e=>{e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},5541:(e,t,n)=>{var r=n(47184),i=n(64548),o=n(14682);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},42985:(e,t,n)=>{var r=n(3816),i=n(25645),o=n(87728),a=n(77234),s=n(741),u=function(e,t,n){var l,c,f,p,d=e&u.F,h=e&u.G,m=e&u.S,y=e&u.P,v=e&u.B,g=h?r:m?r[t]||(r[t]={}):(r[t]||{}).prototype,b=h?i:i[t]||(i[t]={}),x=b.prototype||(b.prototype={});for(l in h&&(n=t),n)f=((c=!d&&g&&void 0!==g[l])?g:n)[l],p=v&&c?s(f,r):y&&\"function\"==typeof f?s(Function.call,f):f,g&&a(g,l,f,e&u.U),b[l]!=f&&o(b,l,p),y&&x[l]!=f&&(x[l]=f)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,e.exports=u},8852:(e,t,n)=>{var r=n(86314)(\"match\");e.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[r]=!1,!\"/./\"[e](t)}catch(e){}}return!0}},74253:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},28082:(e,t,n)=>{\"use strict\";var r=n(87728),i=n(77234),o=n(74253),a=n(91355),s=n(86314);e.exports=function(e,t,n){var u=s(e),l=n(a,u,\"\"[e]),c=l[0],f=l[1];o((function(){var t={};return t[u]=function(){return 7},7!=\"\"[e](t)}))&&(i(String.prototype,e,c),r(RegExp.prototype,u,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)}))}},53218:(e,t,n)=>{\"use strict\";var r=n(27007);e.exports=function(){var e=r(this),t=\"\";return e.global&&(t+=\"g\"),e.ignoreCase&&(t+=\"i\"),e.multiline&&(t+=\"m\"),e.unicode&&(t+=\"u\"),e.sticky&&(t+=\"y\"),t}},13325:(e,t,n)=>{\"use strict\";var r=n(4302),i=n(55286),o=n(10875),a=n(741),s=n(86314)(\"isConcatSpreadable\");e.exports=function e(t,n,u,l,c,f,p,d){for(var h,m,y=c,v=0,g=!!p&&a(p,d,3);v<l;){if(v in u){if(h=g?g(u[v],v,n):u[v],m=!1,i(h)&&(m=void 0!==(m=h[s])?!!m:r(h)),m&&f>0)y=e(t,n,h,o(h.length),y,f-1)-1;else{if(y>=9007199254740991)throw TypeError();t[y]=h}y++}v++}return y}},3531:(e,t,n)=>{var r=n(741),i=n(28851),o=n(86555),a=n(27007),s=n(10875),u=n(69002),l={},c={},f=e.exports=function(e,t,n,f,p){var d,h,m,y,v=p?function(){return e}:u(e),g=r(n,f,t?2:1),b=0;if(\"function\"!=typeof v)throw TypeError(e+\" is not iterable!\");if(o(v)){for(d=s(e.length);d>b;b++)if((y=t?g(a(h=e[b])[0],h[1]):g(e[b]))===l||y===c)return y}else for(m=v.call(e);!(h=m.next()).done;)if((y=i(m,g,h.value,t))===l||y===c)return y};f.BREAK=l,f.RETURN=c},3816:e=>{var t=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=t)},79181:e=>{var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},87728:(e,t,n)=>{var r=n(99275),i=n(90681);e.exports=n(67057)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},40639:(e,t,n)=>{var r=n(3816).document;e.exports=r&&r.documentElement},1734:(e,t,n)=>{e.exports=!n(67057)&&!n(74253)((function(){return 7!=Object.defineProperty(n(62457)(\"div\"),\"a\",{get:function(){return 7}}).a}))},40266:(e,t,n)=>{var r=n(55286),i=n(27375).set;e.exports=function(e,t,n){var o,a=t.constructor;return a!==n&&\"function\"==typeof a&&(o=a.prototype)!==n.prototype&&r(o)&&i&&i(e,o),e}},97242:e=>{e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},49797:(e,t,n)=>{var r=n(92032);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},86555:(e,t,n)=>{var r=n(87234),i=n(86314)(\"iterator\"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},4302:(e,t,n)=>{var r=n(92032);e.exports=Array.isArray||function(e){return\"Array\"==r(e)}},18367:(e,t,n)=>{var r=n(55286),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},55286:e=>{e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},55364:(e,t,n)=>{var r=n(55286),i=n(92032),o=n(86314)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:\"RegExp\"==i(e))}},28851:(e,t,n)=>{var r=n(27007);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return;throw void 0!==o&&r(o.call(e)),t}}},49988:(e,t,n)=>{\"use strict\";var r=n(42503),i=n(90681),o=n(22943),a={};n(87728)(a,n(86314)(\"iterator\"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+\" Iterator\")}},42923:(e,t,n)=>{\"use strict\";var r=n(4461),i=n(42985),o=n(77234),a=n(87728),s=n(87234),u=n(49988),l=n(22943),c=n(468),f=n(86314)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=\"keys\",h=\"values\",m=function(){return this};e.exports=function(e,t,n,y,v,g,b){u(n,t,y);var x,_,w,E=function(e){if(!p&&e in C)return C[e];switch(e){case d:case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},S=t+\" Iterator\",k=v==h,A=!1,C=e.prototype,T=C[f]||C[\"@@iterator\"]||v&&C[v],D=T||E(v),M=v?k?E(\"entries\"):D:void 0,P=\"Array\"==t&&C.entries||T;if(P&&(w=c(P.call(new e)))!==Object.prototype&&w.next&&(l(w,S,!0),r||\"function\"==typeof w[f]||a(w,f,m)),k&&T&&T.name!==h&&(A=!0,D=function(){return T.call(this)}),r&&!b||!p&&!A&&C[f]||a(C,f,D),s[t]=D,s[S]=m,v)if(x={values:k?D:E(h),keys:g?D:E(d),entries:M},b)for(_ in x)_ in C||o(C,_,x[_]);else i(i.P+i.F*(p||A),t,x);return x}},7462:(e,t,n)=>{var r=n(86314)(\"iterator\"),i=!1;try{var o=[7][r]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o=[7],a=o[r]();a.next=function(){return{done:n=!0}},o[r]=function(){return a},e(o)}catch(e){}return n}},15436:e=>{e.exports=function(e,t){return{value:t,done:!!e}}},87234:e=>{e.exports={}},4461:e=>{e.exports=!1},13086:e=>{var t=Math.expm1;e.exports=!t||t(10)>22025.465794806718||t(10)<22025.465794806718||-2e-17!=t(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:t},34934:(e,t,n)=>{var r=n(61801),i=Math.pow,o=i(2,-52),a=i(2,-23),s=i(2,127)*(2-a),u=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=Math.abs(e),l=r(e);return i<u?l*(i/u/a+1/o-1/o)*u*a:(n=(t=(1+a/o)*i)-(t-i))>s||n!=n?l*(1/0):l*n}},46206:e=>{e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},68757:e=>{e.exports=Math.scale||function(e,t,n,r,i){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||i!=i?NaN:e===1/0||e===-1/0?e:(e-t)*(i-r)/(n-t)+r}},61801:e=>{e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},84728:(e,t,n)=>{var r=n(93953)(\"meta\"),i=n(55286),o=n(79181),a=n(99275).f,s=0,u=Object.isExtensible||function(){return!0},l=!n(74253)((function(){return u(Object.preventExtensions({}))})),c=function(e){a(e,r,{value:{i:\"O\"+ ++s,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!i(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!o(e,r)){if(!u(e))return\"F\";if(!t)return\"E\";c(e)}return e[r].i},getWeak:function(e,t){if(!o(e,r)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[r].w},onFreeze:function(e){return l&&f.NEED&&u(e)&&!o(e,r)&&c(e),e}}},50133:(e,t,n)=>{var r=n(88416),i=n(42985),o=n(3825)(\"metadata\"),a=o.store||(o.store=new(n(30147))),s=function(e,t,n){var i=a.get(e);if(!i){if(!n)return;a.set(e,i=new r)}var o=i.get(t);if(!o){if(!n)return;i.set(t,o=new r)}return o};e.exports={store:a,map:s,has:function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){s(n,r,!0).set(e,t)},keys:function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach((function(e,t){r.push(t)})),r},key:function(e){return void 0===e||\"symbol\"==typeof e?e:String(e)},exp:function(e){i(i.S,\"Reflect\",e)}}},14351:(e,t,n)=>{var r=n(3816),i=n(74193).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u=\"process\"==n(92032)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!o||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve(void 0);n=function(){c.then(l)}}else n=function(){i.call(r,l)};else{var f=!0,p=document.createTextNode(\"\");new o(l).observe(p,{characterData:!0}),n=function(){p.data=f=!f}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},43499:(e,t,n)=>{\"use strict\";var r=n(24963);function i(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r})),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},35345:(e,t,n)=>{\"use strict\";var r=n(47184),i=n(64548),o=n(14682),a=n(20508),s=n(49797),u=Object.assign;e.exports=!u||n(74253)((function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach((function(e){t[e]=e})),7!=u({},e)[n]||Object.keys(u({},t)).join(\"\")!=r}))?function(e,t){for(var n=a(e),u=arguments.length,l=1,c=i.f,f=o.f;u>l;)for(var p,d=s(arguments[l++]),h=c?r(d).concat(c(d)):r(d),m=h.length,y=0;m>y;)f.call(d,p=h[y++])&&(n[p]=d[p]);return n}:u},42503:(e,t,n)=>{var r=n(27007),i=n(35588),o=n(74430),a=n(69335)(\"IE_PROTO\"),s=function(){},u=function(){var e,t=n(62457)(\"iframe\"),r=o.length;for(t.style.display=\"none\",n(40639).appendChild(t),t.src=\"javascript:\",(e=t.contentWindow.document).open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),u=e.F;r--;)delete u.prototype[o[r]];return u()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[a]=e):n=u(),void 0===t?n:i(n,t)}},99275:(e,t,n)=>{var r=n(27007),i=n(1734),o=n(21689),a=Object.defineProperty;t.f=n(67057)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},35588:(e,t,n)=>{var r=n(99275),i=n(27007),o=n(47184);e.exports=n(67057)?Object.defineProperties:function(e,t){i(e);for(var n,a=o(t),s=a.length,u=0;s>u;)r.f(e,n=a[u++],t[n]);return e}},91670:(e,t,n)=>{\"use strict\";e.exports=n(4461)||!n(74253)((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete n(3816)[e]}))},18693:(e,t,n)=>{var r=n(14682),i=n(90681),o=n(22110),a=n(21689),s=n(79181),u=n(1734),l=Object.getOwnPropertyDescriptor;t.f=n(67057)?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},39327:(e,t,n)=>{var r=n(22110),i=n(20616).f,o={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return a&&\"[object Window]\"==o.call(e)?function(e){try{return i(e)}catch(e){return a.slice()}}(e):i(r(e))}},20616:(e,t,n)=>{var r=n(60189),i=n(74430).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},64548:(e,t)=>{t.f=Object.getOwnPropertySymbols},468:(e,t,n)=>{var r=n(79181),i=n(20508),o=n(69335)(\"IE_PROTO\"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},60189:(e,t,n)=>{var r=n(79181),i=n(22110),o=n(79315)(!1),a=n(69335)(\"IE_PROTO\");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);for(;t.length>u;)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},47184:(e,t,n)=>{var r=n(60189),i=n(74430);e.exports=Object.keys||function(e){return r(e,i)}},14682:(e,t)=>{t.f={}.propertyIsEnumerable},33160:(e,t,n)=>{var r=n(42985),i=n(25645),o=n(74253);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*o((function(){n(1)})),\"Object\",a)}},51131:(e,t,n)=>{var r=n(47184),i=n(22110),o=n(14682).f;e.exports=function(e){return function(t){for(var n,a=i(t),s=r(a),u=s.length,l=0,c=[];u>l;)o.call(a,n=s[l++])&&c.push(e?[n,a[n]]:a[n]);return c}}},57643:(e,t,n)=>{var r=n(20616),i=n(64548),o=n(27007),a=n(3816).Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(o(e)),n=i.f;return n?t.concat(n(e)):t}},47743:(e,t,n)=>{var r=n(3816).parseFloat,i=n(29599).trim;e.exports=1/r(n(84644)+\"-0\")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&\"-\"==t.charAt(0)?-0:n}:r},55960:(e,t,n)=>{var r=n(3816).parseInt,i=n(29599).trim,o=n(84644),a=/^[-+]?0[xX]/;e.exports=8!==r(o+\"08\")||22!==r(o+\"0x16\")?function(e,t){var n=i(String(e),3);return r(n,t>>>0||(a.test(n)?16:10))}:r},10188:e=>{e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},50094:(e,t,n)=>{var r=n(27007),i=n(55286),o=n(43499);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=o.f(e);return(0,n.resolve)(t),n.promise}},90681:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},24408:(e,t,n)=>{var r=n(77234);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},77234:(e,t,n)=>{var r=n(3816),i=n(87728),o=n(79181),a=n(93953)(\"src\"),s=\"toString\",u=Function.toString,l=(\"\"+u).split(s);n(25645).inspectSource=function(e){return u.call(e)},(e.exports=function(e,t,n,s){var u=\"function\"==typeof n;u&&(o(n,\"name\")||i(n,\"name\",t)),e[t]!==n&&(u&&(o(n,a)||i(n,a,e[t]?\"\"+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,s,(function(){return\"function\"==typeof this&&this[a]||u.call(this)}))},74398:e=>{e.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t;return function(t){return String(t).replace(e,n)}}},27195:e=>{e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},31024:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(24963),o=n(741),a=n(3531);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return i(this),(t=void 0!==u)&&i(u),null==e?new this:(n=[],t?(r=0,s=o(u,arguments[2],2),a(e,!1,(function(e){n.push(s(e,r++))}))):a(e,!1,n.push,n),new this(n))}})}},94881:(e,t,n)=>{\"use strict\";var r=n(42985);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},27375:(e,t,n)=>{var r=n(55286),i=n(27007),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{(r=n(741)(Function.call,n(18693).f(Object.prototype,\"__proto__\").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},2974:(e,t,n)=>{\"use strict\";var r=n(3816),i=n(99275),o=n(67057),a=n(86314)(\"species\");e.exports=function(e){var t=r[e];o&&t&&!t[a]&&i.f(t,a,{configurable:!0,get:function(){return this}})}},22943:(e,t,n)=>{var r=n(99275).f,i=n(79181),o=n(86314)(\"toStringTag\");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},69335:(e,t,n)=>{var r=n(3825)(\"keys\"),i=n(93953);e.exports=function(e){return r[e]||(r[e]=i(e))}},3825:(e,t,n)=>{var r=n(25645),i=n(3816),o=\"__core-js_shared__\",a=i[o]||(i[o]={});(e.exports=function(e,t){return a[e]||(a[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(4461)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},58364:(e,t,n)=>{var r=n(27007),i=n(24963),o=n(86314)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||null==(n=r(a)[o])?t:i(n)}},77717:(e,t,n)=>{\"use strict\";var r=n(74253);e.exports=function(e,t){return!!e&&r((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},24496:(e,t,n)=>{var r=n(81467),i=n(91355);e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(o=s.charCodeAt(u))<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536}}},42094:(e,t,n)=>{var r=n(55364),i=n(91355);e.exports=function(e,t,n){if(r(t))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(i(e))}},29395:(e,t,n)=>{var r=n(42985),i=n(74253),o=n(91355),a=/\"/g,s=function(e,t,n,r){var i=String(o(e)),s=\"<\"+t;return\"\"!==n&&(s+=\" \"+n+'=\"'+String(r).replace(a,\"&quot;\")+'\"'),s+\">\"+i+\"</\"+t+\">\"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i((function(){var t=\"\"[e]('\"');return t!==t.toLowerCase()||t.split('\"').length>3})),\"String\",n)}},75442:(e,t,n)=>{var r=n(10875),i=n(68595),o=n(91355);e.exports=function(e,t,n,a){var s=String(o(e)),u=s.length,l=void 0===n?\" \":String(n),c=r(t);if(c<=u||\"\"==l)return s;var f=c-u,p=i.call(l,Math.ceil(f/l.length));return p.length>f&&(p=p.slice(0,f)),a?p+s:s+p}},68595:(e,t,n)=>{\"use strict\";var r=n(81467),i=n(91355);e.exports=function(e){var t=String(i(this)),n=\"\",o=r(e);if(o<0||o==1/0)throw RangeError(\"Count can't be negative\");for(;o>0;(o>>>=1)&&(t+=t))1&o&&(n+=t);return n}},29599:(e,t,n)=>{var r=n(42985),i=n(91355),o=n(74253),a=n(84644),s=\"[\"+a+\"]\",u=RegExp(\"^\"+s+s+\"*\"),l=RegExp(s+s+\"*$\"),c=function(e,t,n){var i={},s=o((function(){return!!a[e]()||\"​\"!=\"​\"[e]()})),u=i[e]=s?t(f):a[e];n&&(i[n]=u),r(r.P+r.F*s,\"String\",i)},f=c.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(u,\"\")),2&t&&(e=e.replace(l,\"\")),e};e.exports=c},84644:e=>{e.exports=\"\\t\\n\\v\\f\\r   ᠎             　\\u2028\\u2029\\ufeff\"},74193:(e,t,n)=>{var r,i,o,a=n(741),s=n(97242),u=n(40639),l=n(62457),c=n(3816),f=c.process,p=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,m=c.Dispatch,y=0,v={},g=function(){var e=+this;if(v.hasOwnProperty(e)){var t=v[e];delete v[e],t()}},b=function(e){g.call(e.data)};p&&d||(p=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return v[++y]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(y),y},d=function(e){delete v[e]},\"process\"==n(92032)(f)?r=function(e){f.nextTick(a(g,e,1))}:m&&m.now?r=function(e){m.now(a(g,e,1))}:h?(o=(i=new h).port2,i.port1.onmessage=b,r=a(o.postMessage,o,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",b,!1)):r=\"onreadystatechange\"in l(\"script\")?function(e){u.appendChild(l(\"script\")).onreadystatechange=function(){u.removeChild(this),g.call(e)}}:function(e){setTimeout(a(g,e,1),0)}),e.exports={set:p,clear:d}},92337:(e,t,n)=>{var r=n(81467),i=Math.max,o=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):o(e,t)}},94843:(e,t,n)=>{var r=n(81467),i=n(10875);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError(\"Wrong length!\");return n}},81467:e=>{var t=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:t)(e)}},22110:(e,t,n)=>{var r=n(49797),i=n(91355);e.exports=function(e){return r(i(e))}},10875:(e,t,n)=>{var r=n(81467),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},20508:(e,t,n)=>{var r=n(91355);e.exports=function(e){return Object(r(e))}},21689:(e,t,n)=>{var r=n(55286);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if(\"function\"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&\"function\"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError(\"Can't convert object to primitive value\")}},78440:(e,t,n)=>{\"use strict\";if(n(67057)){var r=n(4461),i=n(3816),o=n(74253),a=n(42985),s=n(89383),u=n(91125),l=n(741),c=n(83328),f=n(90681),p=n(87728),d=n(24408),h=n(81467),m=n(10875),y=n(94843),v=n(92337),g=n(21689),b=n(79181),x=n(41488),_=n(55286),w=n(20508),E=n(86555),S=n(42503),k=n(468),A=n(20616).f,C=n(69002),T=n(93953),D=n(86314),M=n(10050),P=n(79315),O=n(58364),L=n(56997),N=n(87234),F=n(7462),R=n(2974),I=n(46852),j=n(5216),B=n(99275),q=n(18693),z=B.f,V=q.f,U=i.RangeError,W=i.TypeError,Y=i.Uint8Array,X=\"ArrayBuffer\",H=\"SharedArrayBuffer\",G=\"BYTES_PER_ELEMENT\",$=Array.prototype,K=u.ArrayBuffer,Z=u.DataView,J=M(0),Q=M(2),ee=M(3),te=M(4),ne=M(5),re=M(6),ie=P(!0),oe=P(!1),ae=L.values,se=L.keys,ue=L.entries,le=$.lastIndexOf,ce=$.reduce,fe=$.reduceRight,pe=$.join,de=$.sort,he=$.slice,me=$.toString,ye=$.toLocaleString,ve=D(\"iterator\"),ge=D(\"toStringTag\"),be=T(\"typed_constructor\"),xe=T(\"def_constructor\"),_e=s.CONSTR,we=s.TYPED,Ee=s.VIEW,Se=\"Wrong length!\",ke=M(1,(function(e,t){return Me(O(e,e[xe]),t)})),Ae=o((function(){return 1===new Y(new Uint16Array([1]).buffer)[0]})),Ce=!!Y&&!!Y.prototype.set&&o((function(){new Y(1).set({})})),Te=function(e,t){var n=h(e);if(n<0||n%t)throw U(\"Wrong offset!\");return n},De=function(e){if(_(e)&&we in e)return e;throw W(e+\" is not a typed array!\")},Me=function(e,t){if(!_(e)||!(be in e))throw W(\"It is not a typed array constructor!\");return new e(t)},Pe=function(e,t){return Oe(O(e,e[xe]),t)},Oe=function(e,t){for(var n=0,r=t.length,i=Me(e,r);r>n;)i[n]=t[n++];return i},Le=function(e,t,n){z(e,t,{get:function(){return this._d[n]}})},Ne=function(e){var t,n,r,i,o,a,s=w(e),u=arguments.length,c=u>1?arguments[1]:void 0,f=void 0!==c,p=C(s);if(null!=p&&!E(p)){for(a=p.call(s),r=[],t=0;!(o=a.next()).done;t++)r.push(o.value);s=r}for(f&&u>2&&(c=l(c,arguments[2],2)),t=0,n=m(s.length),i=Me(this,n);n>t;t++)i[t]=f?c(s[t],t):s[t];return i},Fe=function(){for(var e=0,t=arguments.length,n=Me(this,t);t>e;)n[e]=arguments[e++];return n},Re=!!Y&&o((function(){ye.call(new Y(1))})),Ie=function(){return ye.apply(Re?he.call(De(this)):De(this),arguments)},je={copyWithin:function(e,t){return j.call(De(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return te(De(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return I.apply(De(this),arguments)},filter:function(e){return Pe(this,Q(De(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return ne(De(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return re(De(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){J(De(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return oe(De(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return ie(De(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return pe.apply(De(this),arguments)},lastIndexOf:function(e){return le.apply(De(this),arguments)},map:function(e){return ke(De(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return ce.apply(De(this),arguments)},reduceRight:function(e){return fe.apply(De(this),arguments)},reverse:function(){for(var e,t=this,n=De(t).length,r=Math.floor(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e;return t},some:function(e){return ee(De(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return de.call(De(this),e)},subarray:function(e,t){var n=De(this),r=n.length,i=v(e,r);return new(O(n,n[xe]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:v(t,r))-i))}},Be=function(e,t){return Pe(this,he.call(De(this),e,t))},qe=function(e){De(this);var t=Te(arguments[1],1),n=this.length,r=w(e),i=m(r.length),o=0;if(i+t>n)throw U(Se);for(;o<i;)this[t+o]=r[o++]},ze={entries:function(){return ue.call(De(this))},keys:function(){return se.call(De(this))},values:function(){return ae.call(De(this))}},Ve=function(e,t){return _(e)&&e[we]&&\"symbol\"!=typeof t&&t in e&&String(+t)==String(t)},Ue=function(e,t){return Ve(e,t=g(t,!0))?f(2,e[t]):V(e,t)},We=function(e,t,n){return!(Ve(e,t=g(t,!0))&&_(n)&&b(n,\"value\"))||b(n,\"get\")||b(n,\"set\")||n.configurable||b(n,\"writable\")&&!n.writable||b(n,\"enumerable\")&&!n.enumerable?z(e,t,n):(e[t]=n.value,e)};_e||(q.f=Ue,B.f=We),a(a.S+a.F*!_e,\"Object\",{getOwnPropertyDescriptor:Ue,defineProperty:We}),o((function(){me.call({})}))&&(me=ye=function(){return pe.call(this)});var Ye=d({},je);d(Ye,ze),p(Ye,ve,ze.values),d(Ye,{slice:Be,set:qe,constructor:function(){},toString:me,toLocaleString:Ie}),Le(Ye,\"buffer\",\"b\"),Le(Ye,\"byteOffset\",\"o\"),Le(Ye,\"byteLength\",\"l\"),Le(Ye,\"length\",\"e\"),z(Ye,ge,{get:function(){return this[we]}}),e.exports=function(e,t,n,u){var l=e+((u=!!u)?\"Clamped\":\"\")+\"Array\",f=\"get\"+e,d=\"set\"+e,h=i[l],v=h||{},g=h&&k(h),b=!h||!s.ABV,w={},E=h&&h.prototype,C=function(e,n){z(e,n,{get:function(){return function(e,n){var r=e._d;return r.v[f](n*t+r.o,Ae)}(this,n)},set:function(e){return function(e,n,r){var i=e._d;u&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[d](n*t+i.o,r,Ae)}(this,n,e)},enumerable:!0})};b?(h=n((function(e,n,r,i){c(e,h,l,\"_d\");var o,a,s,u,f=0,d=0;if(_(n)){if(!(n instanceof K||(u=x(n))==X||u==H))return we in n?Oe(h,n):Ne.call(h,n);o=n,d=Te(r,t);var v=n.byteLength;if(void 0===i){if(v%t)throw U(Se);if((a=v-d)<0)throw U(Se)}else if((a=m(i)*t)+d>v)throw U(Se);s=a/t}else s=y(n),o=new K(a=s*t);for(p(e,\"_d\",{b:o,o:d,l:a,e:s,v:new Z(o)});f<s;)C(e,f++)})),E=h.prototype=S(Ye),p(E,\"constructor\",h)):o((function(){h(1)}))&&o((function(){new h(-1)}))&&F((function(e){new h,new h(null),new h(1.5),new h(e)}),!0)||(h=n((function(e,n,r,i){var o;return c(e,h,l),_(n)?n instanceof K||(o=x(n))==X||o==H?void 0!==i?new v(n,Te(r,t),i):void 0!==r?new v(n,Te(r,t)):new v(n):we in n?Oe(h,n):Ne.call(h,n):new v(y(n))})),J(g!==Function.prototype?A(v).concat(A(g)):A(v),(function(e){e in h||p(h,e,v[e])})),h.prototype=E,r||(E.constructor=h));var T=E[ve],D=!!T&&(\"values\"==T.name||null==T.name),M=ze.values;p(h,be,!0),p(E,we,l),p(E,Ee,!0),p(E,xe,h),(u?new h(1)[ge]==l:ge in E)||z(E,ge,{get:function(){return l}}),w[l]=h,a(a.G+a.W+a.F*(h!=v),w),a(a.S,l,{BYTES_PER_ELEMENT:t}),a(a.S+a.F*o((function(){v.of.call(h,1)})),l,{from:Ne,of:Fe}),G in E||p(E,G,t),a(a.P,l,je),R(l),a(a.P+a.F*Ce,l,{set:qe}),a(a.P+a.F*!D,l,ze),r||E.toString==me||(E.toString=me),a(a.P+a.F*o((function(){new h(1).slice()})),l,{slice:Be}),a(a.P+a.F*(o((function(){return[1,2].toLocaleString()!=new h([1,2]).toLocaleString()}))||!o((function(){E.toLocaleString.call([1,2])}))),l,{toLocaleString:Ie}),N[l]=D?T:M,r||D||p(E,ve,M)}}else e.exports=function(){}},91125:(e,t,n)=>{\"use strict\";var r=n(3816),i=n(67057),o=n(4461),a=n(89383),s=n(87728),u=n(24408),l=n(74253),c=n(83328),f=n(81467),p=n(10875),d=n(94843),h=n(20616).f,m=n(99275).f,y=n(46852),v=n(22943),g=\"ArrayBuffer\",b=\"DataView\",x=\"Wrong index!\",_=r.ArrayBuffer,w=r.DataView,E=r.Math,S=r.RangeError,k=r.Infinity,A=_,C=E.abs,T=E.pow,D=E.floor,M=E.log,P=E.LN2,O=\"buffer\",L=\"byteLength\",N=\"byteOffset\",F=i?\"_b\":O,R=i?\"_l\":L,I=i?\"_o\":N;function j(e,t,n){var r,i,o,a=new Array(n),s=8*n-t-1,u=(1<<s)-1,l=u>>1,c=23===t?T(2,-24)-T(2,-77):0,f=0,p=e<0||0===e&&1/e<0?1:0;for((e=C(e))!=e||e===k?(i=e!=e?1:0,r=u):(r=D(M(e)/P),e*(o=T(2,-r))<1&&(r--,o*=2),(e+=r+l>=1?c/o:c*T(2,1-l))*o>=2&&(r++,o/=2),r+l>=u?(i=0,r=u):r+l>=1?(i=(e*o-1)*T(2,t),r+=l):(i=e*T(2,l-1)*T(2,t),r=0));t>=8;a[f++]=255&i,i/=256,t-=8);for(r=r<<t|i,s+=t;s>0;a[f++]=255&r,r/=256,s-=8);return a[--f]|=128*p,a}function B(e,t,n){var r,i=8*n-t-1,o=(1<<i)-1,a=o>>1,s=i-7,u=n-1,l=e[u--],c=127&l;for(l>>=7;s>0;c=256*c+e[u],u--,s-=8);for(r=c&(1<<-s)-1,c>>=-s,s+=t;s>0;r=256*r+e[u],u--,s-=8);if(0===c)c=1-a;else{if(c===o)return r?NaN:l?-k:k;r+=T(2,t),c-=a}return(l?-1:1)*r*T(2,c-t)}function q(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function z(e){return[255&e]}function V(e){return[255&e,e>>8&255]}function U(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function W(e){return j(e,52,8)}function Y(e){return j(e,23,4)}function X(e,t,n){m(e.prototype,t,{get:function(){return this[n]}})}function H(e,t,n,r){var i=d(+n);if(i+t>e[R])throw S(x);var o=e[F]._b,a=i+e[I],s=o.slice(a,a+t);return r?s:s.reverse()}function G(e,t,n,r,i,o){var a=d(+n);if(a+t>e[R])throw S(x);for(var s=e[F]._b,u=a+e[I],l=r(+i),c=0;c<t;c++)s[u+c]=l[o?c:t-c-1]}if(a.ABV){if(!l((function(){_(1)}))||!l((function(){new _(-1)}))||l((function(){return new _,new _(1.5),new _(NaN),_.name!=g}))){for(var $,K=(_=function(e){return c(this,_),new A(d(e))}).prototype=A.prototype,Z=h(A),J=0;Z.length>J;)($=Z[J++])in _||s(_,$,A[$]);o||(K.constructor=_)}var Q=new w(new _(2)),ee=w.prototype.setInt8;Q.setInt8(0,2147483648),Q.setInt8(1,2147483649),!Q.getInt8(0)&&Q.getInt8(1)||u(w.prototype,{setInt8:function(e,t){ee.call(this,e,t<<24>>24)},setUint8:function(e,t){ee.call(this,e,t<<24>>24)}},!0)}else _=function(e){c(this,_,g);var t=d(e);this._b=y.call(new Array(t),0),this[R]=t},w=function(e,t,n){c(this,w,b),c(e,_,b);var r=e[R],i=f(t);if(i<0||i>r)throw S(\"Wrong offset!\");if(i+(n=void 0===n?r-i:p(n))>r)throw S(\"Wrong length!\");this[F]=e,this[I]=i,this[R]=n},i&&(X(_,L,\"_l\"),X(w,O,\"_b\"),X(w,L,\"_l\"),X(w,N,\"_o\")),u(w.prototype,{getInt8:function(e){return H(this,1,e)[0]<<24>>24},getUint8:function(e){return H(this,1,e)[0]},getInt16:function(e){var t=H(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=H(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return q(H(this,4,e,arguments[1]))},getUint32:function(e){return q(H(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return B(H(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return B(H(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){G(this,1,e,z,t)},setUint8:function(e,t){G(this,1,e,z,t)},setInt16:function(e,t){G(this,2,e,V,t,arguments[2])},setUint16:function(e,t){G(this,2,e,V,t,arguments[2])},setInt32:function(e,t){G(this,4,e,U,t,arguments[2])},setUint32:function(e,t){G(this,4,e,U,t,arguments[2])},setFloat32:function(e,t){G(this,4,e,Y,t,arguments[2])},setFloat64:function(e,t){G(this,8,e,W,t,arguments[2])}});v(_,g),v(w,b),s(w.prototype,a.VIEW,!0),t.ArrayBuffer=_,t.DataView=w},89383:(e,t,n)=>{for(var r,i=n(3816),o=n(87728),a=n(93953),s=a(\"typed_array\"),u=a(\"view\"),l=!(!i.ArrayBuffer||!i.DataView),c=l,f=0,p=\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");f<9;)(r=i[p[f++]])?(o(r.prototype,s,!0),o(r.prototype,u,!0)):c=!1;e.exports={ABV:l,CONSTR:c,TYPED:s,VIEW:u}},93953:e=>{var t=0,n=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++t+n).toString(36))}},30575:(e,t,n)=>{var r=n(3816).navigator;e.exports=r&&r.userAgent||\"\"},1616:(e,t,n)=>{var r=n(55286);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},36074:(e,t,n)=>{var r=n(3816),i=n(25645),o=n(4461),a=n(28787),s=n(99275).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{});\"_\"==e.charAt(0)||e in t||s(t,e,{value:a.f(e)})}},28787:(e,t,n)=>{t.f=n(86314)},86314:(e,t,n)=>{var r=n(3825)(\"wks\"),i=n(93953),o=n(3816).Symbol,a=\"function\"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)(\"Symbol.\"+e))}).store=r},69002:(e,t,n)=>{var r=n(41488),i=n(86314)(\"iterator\"),o=n(87234);e.exports=n(25645).getIteratorMethod=function(e){if(null!=e)return e[i]||e[\"@@iterator\"]||o[r(e)]}},61761:(e,t,n)=>{var r=n(42985),i=n(74398)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\");r(r.S,\"RegExp\",{escape:function(e){return i(e)}})},32e3:(e,t,n)=>{var r=n(42985);r(r.P,\"Array\",{copyWithin:n(5216)}),n(17722)(\"copyWithin\")},15745:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(4);r(r.P+r.F*!n(77717)([].every,!0),\"Array\",{every:function(e){return i(this,e,arguments[1])}})},48977:(e,t,n)=>{var r=n(42985);r(r.P,\"Array\",{fill:n(46852)}),n(17722)(\"fill\")},98837:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(2);r(r.P+r.F*!n(77717)([].filter,!0),\"Array\",{filter:function(e){return i(this,e,arguments[1])}})},94899:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(6),o=\"findIndex\",a=!0;o in[]&&Array(1)[o]((function(){a=!1})),r(r.P+r.F*a,\"Array\",{findIndex:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(17722)(o)},52310:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(5),o=\"find\",a=!0;o in[]&&Array(1).find((function(){a=!1})),r(r.P+r.F*a,\"Array\",{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(17722)(o)},24336:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(0),o=n(77717)([].forEach,!0);r(r.P+r.F*!o,\"Array\",{forEach:function(e){return i(this,e,arguments[1])}})},30522:(e,t,n)=>{\"use strict\";var r=n(741),i=n(42985),o=n(20508),a=n(28851),s=n(86555),u=n(10875),l=n(92811),c=n(69002);i(i.S+i.F*!n(7462)((function(e){Array.from(e)})),\"Array\",{from:function(e){var t,n,i,f,p=o(e),d=\"function\"==typeof this?this:Array,h=arguments.length,m=h>1?arguments[1]:void 0,y=void 0!==m,v=0,g=c(p);if(y&&(m=r(m,h>2?arguments[2]:void 0,2)),null==g||d==Array&&s(g))for(n=new d(t=u(p.length));t>v;v++)l(n,v,y?m(p[v],v):p[v]);else for(f=g.call(p),n=new d;!(i=f.next()).done;v++)l(n,v,y?a(f,m,[i.value,v],!0):i.value);return n.length=v,n}})},23369:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(79315)(!1),o=[].indexOf,a=!!o&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(77717)(o)),\"Array\",{indexOf:function(e){return a?o.apply(this,arguments)||0:i(this,e,arguments[1])}})},20774:(e,t,n)=>{var r=n(42985);r(r.S,\"Array\",{isArray:n(4302)})},56997:(e,t,n)=>{\"use strict\";var r=n(17722),i=n(15436),o=n(87234),a=n(22110);e.exports=n(42923)(Array,\"Array\",(function(e,t){this._t=a(e),this._i=0,this._k=t}),(function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,\"keys\"==t?n:\"values\"==t?e[n]:[n,e[n]])}),\"values\"),o.Arguments=o.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},87842:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(22110),o=[].join;r(r.P+r.F*(n(49797)!=Object||!n(77717)(o)),\"Array\",{join:function(e){return o.call(i(this),void 0===e?\",\":e)}})},99564:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(22110),o=n(81467),a=n(10875),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(u||!n(77717)(s)),\"Array\",{lastIndexOf:function(e){if(u)return s.apply(this,arguments)||0;var t=i(this),n=a(t.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,o(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}})},19371:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(1);r(r.P+r.F*!n(77717)([].map,!0),\"Array\",{map:function(e){return i(this,e,arguments[1])}})},58295:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(92811);r(r.S+r.F*n(74253)((function(){function e(){}return!(Array.of.call(e)instanceof e)})),\"Array\",{of:function(){for(var e=0,t=arguments.length,n=new(\"function\"==typeof this?this:Array)(t);t>e;)i(n,e,arguments[e++]);return n.length=t,n}})},3750:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(37628);r(r.P+r.F*!n(77717)([].reduceRight,!0),\"Array\",{reduceRight:function(e){return i(this,e,arguments.length,arguments[1],!0)}})},33057:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(37628);r(r.P+r.F*!n(77717)([].reduce,!0),\"Array\",{reduce:function(e){return i(this,e,arguments.length,arguments[1],!1)}})},50110:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(40639),o=n(92032),a=n(92337),s=n(10875),u=[].slice;r(r.P+r.F*n(74253)((function(){i&&u.call(i)})),\"Array\",{slice:function(e,t){var n=s(this.length),r=o(this);if(t=void 0===t?n:t,\"Array\"==r)return u.call(this,e,t);for(var i=a(e,n),l=a(t,n),c=s(l-i),f=new Array(c),p=0;p<c;p++)f[p]=\"String\"==r?this.charAt(i+p):this[i+p];return f}})},26773:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10050)(3);r(r.P+r.F*!n(77717)([].some,!0),\"Array\",{some:function(e){return i(this,e,arguments[1])}})},20075:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(24963),o=n(20508),a=n(74253),s=[].sort,u=[1,2,3];r(r.P+r.F*(a((function(){u.sort(void 0)}))||!a((function(){u.sort(null)}))||!n(77717)(s)),\"Array\",{sort:function(e){return void 0===e?s.call(o(this)):s.call(o(this),i(e))}})},31842:(e,t,n)=>{n(2974)(\"Array\")},81822:(e,t,n)=>{var r=n(42985);r(r.S,\"Date\",{now:function(){return(new Date).getTime()}})},91031:(e,t,n)=>{var r=n(42985),i=n(53537);r(r.P+r.F*(Date.prototype.toISOString!==i),\"Date\",{toISOString:i})},19977:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(20508),o=n(21689);r(r.P+r.F*n(74253)((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})),\"Date\",{toJSON:function(e){var t=i(this),n=o(t);return\"number\"!=typeof n||isFinite(n)?t.toISOString():null}})},41560:(e,t,n)=>{var r=n(86314)(\"toPrimitive\"),i=Date.prototype;r in i||n(87728)(i,r,n(870))},46331:(e,t,n)=>{var r=Date.prototype,i=\"Invalid Date\",o=r.toString,a=r.getTime;new Date(NaN)+\"\"!=i&&n(77234)(r,\"toString\",(function(){var e=a.call(this);return e==e?o.call(this):i}))},39730:(e,t,n)=>{var r=n(42985);r(r.P,\"Function\",{bind:n(34398)})},48377:(e,t,n)=>{\"use strict\";var r=n(55286),i=n(468),o=n(86314)(\"hasInstance\"),a=Function.prototype;o in a||n(99275).f(a,o,{value:function(e){if(\"function\"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=i(e);)if(this.prototype===e)return!0;return!1}})},6059:(e,t,n)=>{var r=n(99275).f,i=Function.prototype,o=/^\\s*function ([^ (]*)/,a=\"name\";a in i||n(67057)&&r(i,a,{configurable:!0,get:function(){try{return(\"\"+this).match(o)[1]}catch(e){return\"\"}}})},88416:(e,t,n)=>{\"use strict\";var r=n(9824),i=n(1616),o=\"Map\";e.exports=n(45795)(o,(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{get:function(e){var t=r.getEntry(i(this,o),e);return t&&t.v},set:function(e,t){return r.def(i(this,o),0===e?0:e,t)}},r,!0)},76503:(e,t,n)=>{var r=n(42985),i=n(46206),o=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),\"Math\",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:i(e-1+o(e-1)*o(e+1))}})},66786:(e,t,n)=>{var r=n(42985),i=Math.asinh;r(r.S+r.F*!(i&&1/i(0)>0),\"Math\",{asinh:function e(t){return isFinite(t=+t)&&0!=t?t<0?-e(-t):Math.log(t+Math.sqrt(t*t+1)):t}})},50932:(e,t,n)=>{var r=n(42985),i=Math.atanh;r(r.S+r.F*!(i&&1/i(-0)<0),\"Math\",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},57526:(e,t,n)=>{var r=n(42985),i=n(61801);r(r.S,\"Math\",{cbrt:function(e){return i(e=+e)*Math.pow(Math.abs(e),1/3)}})},21591:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},9073:(e,t,n)=>{var r=n(42985),i=Math.exp;r(r.S,\"Math\",{cosh:function(e){return(i(e=+e)+i(-e))/2}})},80347:(e,t,n)=>{var r=n(42985),i=n(13086);r(r.S+r.F*(i!=Math.expm1),\"Math\",{expm1:i})},30579:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{fround:n(34934)})},4669:(e,t,n)=>{var r=n(42985),i=Math.abs;r(r.S,\"Math\",{hypot:function(e,t){for(var n,r,o=0,a=0,s=arguments.length,u=0;a<s;)u<(n=i(arguments[a++]))?(o=o*(r=u/n)*r+1,u=n):o+=n>0?(r=n/u)*r:n;return u===1/0?1/0:u*Math.sqrt(o)}})},67710:(e,t,n)=>{var r=n(42985),i=Math.imul;r(r.S+r.F*n(74253)((function(){return-5!=i(4294967295,5)||2!=i.length})),\"Math\",{imul:function(e,t){var n=65535,r=+e,i=+t,o=n&r,a=n&i;return 0|o*a+((n&r>>>16)*a+o*(n&i>>>16)<<16>>>0)}})},45789:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{log10:function(e){return Math.log(e)*Math.LOG10E}})},33514:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{log1p:n(46206)})},99978:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{log2:function(e){return Math.log(e)/Math.LN2}})},58472:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{sign:n(61801)})},86946:(e,t,n)=>{var r=n(42985),i=n(13086),o=Math.exp;r(r.S+r.F*n(74253)((function(){return-2e-17!=!Math.sinh(-2e-17)})),\"Math\",{sinh:function(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(o(e-1)-o(-e-1))*(Math.E/2)}})},35068:(e,t,n)=>{var r=n(42985),i=n(13086),o=Math.exp;r(r.S,\"Math\",{tanh:function(e){var t=i(e=+e),n=i(-e);return t==1/0?1:n==1/0?-1:(t-n)/(o(e)+o(-e))}})},413:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},11246:(e,t,n)=>{\"use strict\";var r=n(3816),i=n(79181),o=n(92032),a=n(40266),s=n(21689),u=n(74253),l=n(20616).f,c=n(18693).f,f=n(99275).f,p=n(29599).trim,d=\"Number\",h=r.Number,m=h,y=h.prototype,v=o(n(42503)(y))==d,g=\"trim\"in String.prototype,b=function(e){var t=s(e,!1);if(\"string\"==typeof t&&t.length>2){var n,r,i,o=(t=g?t.trim():p(t,3)).charCodeAt(0);if(43===o||45===o){if(88===(n=t.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;l<c;l++)if((a=u.charCodeAt(l))<48||a>i)return NaN;return parseInt(u,r)}}return+t};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(v?u((function(){y.valueOf.call(n)})):o(n)!=d)?a(new m(b(t)),n,h):b(t)};for(var x,_=n(67057)?l(m):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),w=0;_.length>w;w++)i(m,x=_[w])&&!i(h,x)&&f(h,x,c(m,x));h.prototype=y,y.constructor=h,n(77234)(r,d,h)}},75972:(e,t,n)=>{var r=n(42985);r(r.S,\"Number\",{EPSILON:Math.pow(2,-52)})},53403:(e,t,n)=>{var r=n(42985),i=n(3816).isFinite;r(r.S,\"Number\",{isFinite:function(e){return\"number\"==typeof e&&i(e)}})},92516:(e,t,n)=>{var r=n(42985);r(r.S,\"Number\",{isInteger:n(18367)})},49371:(e,t,n)=>{var r=n(42985);r(r.S,\"Number\",{isNaN:function(e){return e!=e}})},86479:(e,t,n)=>{var r=n(42985),i=n(18367),o=Math.abs;r(r.S,\"Number\",{isSafeInteger:function(e){return i(e)&&o(e)<=9007199254740991}})},91736:(e,t,n)=>{var r=n(42985);r(r.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},51889:(e,t,n)=>{var r=n(42985);r(r.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},65177:(e,t,n)=>{var r=n(42985),i=n(47743);r(r.S+r.F*(Number.parseFloat!=i),\"Number\",{parseFloat:i})},81246:(e,t,n)=>{var r=n(42985),i=n(55960);r(r.S+r.F*(Number.parseInt!=i),\"Number\",{parseInt:i})},30726:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(81467),o=n(83365),a=n(68595),s=1..toFixed,u=Math.floor,l=[0,0,0,0,0,0],c=\"Number.toFixed: incorrect invocation!\",f=\"0\",p=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*l[n],l[n]=r%1e7,r=u(r/1e7)},d=function(e){for(var t=6,n=0;--t>=0;)n+=l[t],l[t]=u(n/e),n=n%e*1e7},h=function(){for(var e=6,t=\"\";--e>=0;)if(\"\"!==t||0===e||0!==l[e]){var n=String(l[e]);t=\"\"===t?n:t+a.call(f,7-n.length)+n}return t},m=function(e,t,n){return 0===t?n:t%2==1?m(e,t-1,n*e):m(e*e,t/2,n)};r(r.P+r.F*(!!s&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==(0xde0b6b3a7640080).toFixed(0))||!n(74253)((function(){s.call({})}))),\"Number\",{toFixed:function(e){var t,n,r,s,u=o(this,c),l=i(e),y=\"\",v=f;if(l<0||l>20)throw RangeError(c);if(u!=u)return\"NaN\";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(y=\"-\",u=-u),u>1e-21)if(t=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}(u*m(2,69,1))-69,n=t<0?u*m(2,-t,1):u/m(2,t,1),n*=4503599627370496,(t=52-t)>0){for(p(0,n),r=l;r>=7;)p(1e7,0),r-=7;for(p(m(10,r,1),0),r=t-1;r>=23;)d(1<<23),r-=23;d(1<<r),p(1,1),d(2),v=h()}else p(0,n),p(1<<-t,0),v=h()+a.call(f,l);return l>0?y+((s=v.length)<=l?\"0.\"+a.call(f,l-s)+v:v.slice(0,s-l)+\".\"+v.slice(s-l)):y+v}})},1901:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(74253),o=n(83365),a=1..toPrecision;r(r.P+r.F*(i((function(){return\"1\"!==a.call(1,void 0)}))||!i((function(){a.call({})}))),\"Number\",{toPrecision:function(e){var t=o(this,\"Number#toPrecision: incorrect invocation!\");return void 0===e?a.call(t):a.call(t,e)}})},75115:(e,t,n)=>{var r=n(42985);r(r.S+r.F,\"Object\",{assign:n(35345)})},68132:(e,t,n)=>{var r=n(42985);r(r.S,\"Object\",{create:n(42503)})},37470:(e,t,n)=>{var r=n(42985);r(r.S+r.F*!n(67057),\"Object\",{defineProperties:n(35588)})},48388:(e,t,n)=>{var r=n(42985);r(r.S+r.F*!n(67057),\"Object\",{defineProperty:n(99275).f})},89375:(e,t,n)=>{var r=n(55286),i=n(84728).onFreeze;n(33160)(\"freeze\",(function(e){return function(t){return e&&r(t)?e(i(t)):t}}))},94882:(e,t,n)=>{var r=n(22110),i=n(18693).f;n(33160)(\"getOwnPropertyDescriptor\",(function(){return function(e,t){return i(r(e),t)}}))},79622:(e,t,n)=>{n(33160)(\"getOwnPropertyNames\",(function(){return n(39327).f}))},41520:(e,t,n)=>{var r=n(20508),i=n(468);n(33160)(\"getPrototypeOf\",(function(){return function(e){return i(r(e))}}))},49892:(e,t,n)=>{var r=n(55286);n(33160)(\"isExtensible\",(function(e){return function(t){return!!r(t)&&(!e||e(t))}}))},64157:(e,t,n)=>{var r=n(55286);n(33160)(\"isFrozen\",(function(e){return function(t){return!r(t)||!!e&&e(t)}}))},35095:(e,t,n)=>{var r=n(55286);n(33160)(\"isSealed\",(function(e){return function(t){return!r(t)||!!e&&e(t)}}))},99176:(e,t,n)=>{var r=n(42985);r(r.S,\"Object\",{is:n(27195)})},27476:(e,t,n)=>{var r=n(20508),i=n(47184);n(33160)(\"keys\",(function(){return function(e){return i(r(e))}}))},84672:(e,t,n)=>{var r=n(55286),i=n(84728).onFreeze;n(33160)(\"preventExtensions\",(function(e){return function(t){return e&&r(t)?e(i(t)):t}}))},43533:(e,t,n)=>{var r=n(55286),i=n(84728).onFreeze;n(33160)(\"seal\",(function(e){return function(t){return e&&r(t)?e(i(t)):t}}))},68838:(e,t,n)=>{var r=n(42985);r(r.S,\"Object\",{setPrototypeOf:n(27375).set})},96253:(e,t,n)=>{\"use strict\";var r=n(41488),i={};i[n(86314)(\"toStringTag\")]=\"z\",i+\"\"!=\"[object z]\"&&n(77234)(Object.prototype,\"toString\",(function(){return\"[object \"+r(this)+\"]\"}),!0)},64299:(e,t,n)=>{var r=n(42985),i=n(47743);r(r.G+r.F*(parseFloat!=i),{parseFloat:i})},71084:(e,t,n)=>{var r=n(42985),i=n(55960);r(r.G+r.F*(parseInt!=i),{parseInt:i})},40851:(e,t,n)=>{\"use strict\";var r,i,o,a,s=n(4461),u=n(3816),l=n(741),c=n(41488),f=n(42985),p=n(55286),d=n(24963),h=n(83328),m=n(3531),y=n(58364),v=n(74193).set,g=n(14351)(),b=n(43499),x=n(10188),_=n(30575),w=n(50094),E=\"Promise\",S=u.TypeError,k=u.process,A=k&&k.versions,C=A&&A.v8||\"\",T=u.Promise,D=\"process\"==c(k),M=function(){},P=i=b.f,O=!!function(){try{var e=T.resolve(1),t=(e.constructor={})[n(86314)(\"species\")]=function(e){e(M,M)};return(D||\"function\"==typeof PromiseRejectionEvent)&&e.then(M)instanceof t&&0!==C.indexOf(\"6.6\")&&-1===_.indexOf(\"Chrome/66\")}catch(e){}}(),L=function(e){var t;return!(!p(e)||\"function\"!=typeof(t=e.then))&&t},N=function(e,t){if(!e._n){e._n=!0;var n=e._c;g((function(){for(var r=e._v,i=1==e._s,o=0,a=function(t){var n,o,a,s=i?t.ok:t.fail,u=t.resolve,l=t.reject,c=t.domain;try{s?(i||(2==e._h&&I(e),e._h=1),!0===s?n=r:(c&&c.enter(),n=s(r),c&&(c.exit(),a=!0)),n===t.promise?l(S(\"Promise-chain cycle\")):(o=L(n))?o.call(n,u,l):u(n)):l(r)}catch(e){c&&!a&&c.exit(),l(e)}};n.length>o;)a(n[o++]);e._c=[],e._n=!1,t&&!e._h&&F(e)}))}},F=function(e){v.call(u,(function(){var t,n,r,i=e._v,o=R(e);if(o&&(t=x((function(){D?k.emit(\"unhandledRejection\",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",i)})),e._h=D||R(e)?2:1),e._a=void 0,o&&t.e)throw t.v}))},R=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){v.call(u,(function(){var t;D?k.emit(\"rejectionHandled\",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})}))},j=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),N(t,!0))},B=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw S(\"Promise can't be resolved itself\");(t=L(e))?g((function(){var r={_w:n,_d:!1};try{t.call(e,l(B,r,1),l(j,r,1))}catch(e){j.call(r,e)}})):(n._v=e,n._s=1,N(n,!1))}catch(e){j.call({_w:n,_d:!1},e)}}};O||(T=function(e){h(this,T,E,\"_h\"),d(e),r.call(this);try{e(l(B,this,1),l(j,this,1))}catch(e){j.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(24408)(T.prototype,{then:function(e,t){var n=P(y(this,T));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=D?k.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&N(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r;this.promise=e,this.resolve=l(B,e,1),this.reject=l(j,e,1)},b.f=P=function(e){return e===T||e===a?new o(e):i(e)}),f(f.G+f.W+f.F*!O,{Promise:T}),n(22943)(T,E),n(2974)(E),a=n(25645).Promise,f(f.S+f.F*!O,E,{reject:function(e){var t=P(this);return(0,t.reject)(e),t.promise}}),f(f.S+f.F*(s||!O),E,{resolve:function(e){return w(s&&this===a?T:this,e)}}),f(f.S+f.F*!(O&&n(7462)((function(e){T.all(e).catch(M)}))),E,{all:function(e){var t=this,n=P(t),r=n.resolve,i=n.reject,o=x((function(){var n=[],o=0,a=1;m(e,!1,(function(e){var s=o++,u=!1;n.push(void 0),a++,t.resolve(e).then((function(e){u||(u=!0,n[s]=e,--a||r(n))}),i)})),--a||r(n)}));return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=P(t),r=n.reject,i=x((function(){m(e,!1,(function(e){t.resolve(e).then(n.resolve,r)}))}));return i.e&&r(i.v),n.promise}})},21572:(e,t,n)=>{var r=n(42985),i=n(24963),o=n(27007),a=(n(3816).Reflect||{}).apply,s=Function.apply;r(r.S+r.F*!n(74253)((function(){a((function(){}))})),\"Reflect\",{apply:function(e,t,n){var r=i(e),u=o(n);return a?a(r,t,u):s.call(r,t,u)}})},82139:(e,t,n)=>{var r=n(42985),i=n(42503),o=n(24963),a=n(27007),s=n(55286),u=n(74253),l=n(34398),c=(n(3816).Reflect||{}).construct,f=u((function(){function e(){}return!(c((function(){}),[],e)instanceof e)})),p=!u((function(){c((function(){}))}));r(r.S+r.F*(f||p),\"Reflect\",{construct:function(e,t){o(e),a(t);var n=arguments.length<3?e:o(arguments[2]);if(p&&!f)return c(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(l.apply(e,r))}var u=n.prototype,d=i(s(u)?u:Object.prototype),h=Function.apply.call(e,d,t);return s(h)?h:d}})},10685:(e,t,n)=>{var r=n(99275),i=n(42985),o=n(27007),a=n(21689);i(i.S+i.F*n(74253)((function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})})),\"Reflect\",{defineProperty:function(e,t,n){o(e),t=a(t,!0),o(n);try{return r.f(e,t,n),!0}catch(e){return!1}}})},85535:(e,t,n)=>{var r=n(42985),i=n(18693).f,o=n(27007);r(r.S,\"Reflect\",{deleteProperty:function(e,t){var n=i(o(e),t);return!(n&&!n.configurable)&&delete e[t]}})},17347:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(27007),o=function(e){this._t=i(e),this._i=0;var t,n=this._k=[];for(t in e)n.push(t)};n(49988)(o,\"Object\",(function(){var e,t=this,n=t._k;do{if(t._i>=n.length)return{value:void 0,done:!0}}while(!((e=n[t._i++])in t._t));return{value:e,done:!1}})),r(r.S,\"Reflect\",{enumerate:function(e){return new o(e)}})},96633:(e,t,n)=>{var r=n(18693),i=n(42985),o=n(27007);i(i.S,\"Reflect\",{getOwnPropertyDescriptor:function(e,t){return r.f(o(e),t)}})},68989:(e,t,n)=>{var r=n(42985),i=n(468),o=n(27007);r(r.S,\"Reflect\",{getPrototypeOf:function(e){return i(o(e))}})},83049:(e,t,n)=>{var r=n(18693),i=n(468),o=n(79181),a=n(42985),s=n(55286),u=n(27007);a(a.S,\"Reflect\",{get:function e(t,n){var a,l,c=arguments.length<3?t:arguments[2];return u(t)===c?t[n]:(a=r.f(t,n))?o(a,\"value\")?a.value:void 0!==a.get?a.get.call(c):void 0:s(l=i(t))?e(l,n,c):void 0}})},78270:(e,t,n)=>{var r=n(42985);r(r.S,\"Reflect\",{has:function(e,t){return t in e}})},64510:(e,t,n)=>{var r=n(42985),i=n(27007),o=Object.isExtensible;r(r.S,\"Reflect\",{isExtensible:function(e){return i(e),!o||o(e)}})},73984:(e,t,n)=>{var r=n(42985);r(r.S,\"Reflect\",{ownKeys:n(57643)})},75769:(e,t,n)=>{var r=n(42985),i=n(27007),o=Object.preventExtensions;r(r.S,\"Reflect\",{preventExtensions:function(e){i(e);try{return o&&o(e),!0}catch(e){return!1}}})},96014:(e,t,n)=>{var r=n(42985),i=n(27375);i&&r(r.S,\"Reflect\",{setPrototypeOf:function(e,t){i.check(e,t);try{return i.set(e,t),!0}catch(e){return!1}}})},50055:(e,t,n)=>{var r=n(99275),i=n(18693),o=n(468),a=n(79181),s=n(42985),u=n(90681),l=n(27007),c=n(55286);s(s.S,\"Reflect\",{set:function e(t,n,s){var f,p,d=arguments.length<4?t:arguments[3],h=i.f(l(t),n);if(!h){if(c(p=o(t)))return e(p,n,s,d);h=u(0)}if(a(h,\"value\")){if(!1===h.writable||!c(d))return!1;if(f=i.f(d,n)){if(f.get||f.set||!1===f.writable)return!1;f.value=s,r.f(d,n,f)}else r.f(d,n,u(0,s));return!0}return void 0!==h.set&&(h.set.call(d,s),!0)}})},83946:(e,t,n)=>{var r=n(3816),i=n(40266),o=n(99275).f,a=n(20616).f,s=n(55364),u=n(53218),l=r.RegExp,c=l,f=l.prototype,p=/a/g,d=/a/g,h=new l(p)!==p;if(n(67057)&&(!h||n(74253)((function(){return d[n(86314)(\"match\")]=!1,l(p)!=p||l(d)==d||\"/a/i\"!=l(p,\"i\")})))){l=function(e,t){var n=this instanceof l,r=s(e),o=void 0===t;return!n&&r&&e.constructor===l&&o?e:i(h?new c(r&&!o?e.source:e,t):c((r=e instanceof l)?e.source:e,r&&o?u.call(e):t),n?this:f,l)};for(var m=function(e){e in l||o(l,e,{configurable:!0,get:function(){return c[e]},set:function(t){c[e]=t}})},y=a(c),v=0;y.length>v;)m(y[v++]);f.constructor=l,l.prototype=f,n(77234)(r,\"RegExp\",l)}n(2974)(\"RegExp\")},76774:(e,t,n)=>{n(67057)&&\"g\"!=/./g.flags&&n(99275).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(53218)})},21466:(e,t,n)=>{n(28082)(\"match\",1,(function(e,t,n){return[function(n){\"use strict\";var r=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]}))},59357:(e,t,n)=>{n(28082)(\"replace\",2,(function(e,t,n){return[function(r,i){\"use strict\";var o=e(this),a=null==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},n]}))},76142:(e,t,n)=>{n(28082)(\"search\",1,(function(e,t,n){return[function(n){\"use strict\";var r=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]}))},51876:(e,t,n)=>{n(28082)(\"split\",2,(function(e,t,r){\"use strict\";var i=n(55364),o=r,a=[].push;if(\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length){var s=void 0===/()??/.exec(\"\")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!i(e))return o.call(n,e,t);var r,u,l,c,f,p=[],d=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),h=0,m=void 0===t?4294967295:t>>>0,y=new RegExp(e.source,d+\"g\");for(s||(r=new RegExp(\"^\"+y.source+\"$(?!\\\\s)\",d));(u=y.exec(n))&&!((l=u.index+u[0].length)>h&&(p.push(n.slice(h,u.index)),!s&&u.length>1&&u[0].replace(r,(function(){for(f=1;f<arguments.length-2;f++)void 0===arguments[f]&&(u[f]=void 0)})),u.length>1&&u.index<n.length&&a.apply(p,u.slice(1)),c=u[0].length,h=l,p.length>=m));)y.lastIndex===u.index&&y.lastIndex++;return h===n.length?!c&&y.test(\"\")||p.push(\"\"):p.push(n.slice(h)),p.length>m?p.slice(0,m):p}}else\"0\".split(void 0,0).length&&(r=function(e,t){return void 0===e&&0===t?[]:o.call(this,e,t)});return[function(n,i){var o=e(this),a=null==n?void 0:n[t];return void 0!==a?a.call(n,o,i):r.call(String(o),n,i)},r]}))},66108:(e,t,n)=>{\"use strict\";n(76774);var r=n(27007),i=n(53218),o=n(67057),a=\"toString\",s=/./.toString,u=function(e){n(77234)(RegExp.prototype,a,e,!0)};n(74253)((function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})}))?u((function(){var e=r(this);return\"/\".concat(e.source,\"/\",\"flags\"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)})):s.name!=a&&u((function(){return s.call(this)}))},98184:(e,t,n)=>{\"use strict\";var r=n(9824),i=n(1616);e.exports=n(45795)(\"Set\",(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(e){return r.def(i(this,\"Set\"),e=0===e?0:e,e)}},r)},40856:(e,t,n)=>{\"use strict\";n(29395)(\"anchor\",(function(e){return function(t){return e(this,\"a\",\"name\",t)}}))},80703:(e,t,n)=>{\"use strict\";n(29395)(\"big\",(function(e){return function(){return e(this,\"big\",\"\",\"\")}}))},91539:(e,t,n)=>{\"use strict\";n(29395)(\"blink\",(function(e){return function(){return e(this,\"blink\",\"\",\"\")}}))},5292:(e,t,n)=>{\"use strict\";n(29395)(\"bold\",(function(e){return function(){return e(this,\"b\",\"\",\"\")}}))},29539:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(24496)(!1);r(r.P,\"String\",{codePointAt:function(e){return i(this,e)}})},96620:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10875),o=n(42094),a=\"endsWith\",s=\"\".endsWith;r(r.P+r.F*n(8852)(a),\"String\",{endsWith:function(e){var t=o(this,e,a),n=arguments.length>1?arguments[1]:void 0,r=i(t.length),u=void 0===n?r:Math.min(i(n),r),l=String(e);return s?s.call(t,l,u):t.slice(u-l.length,u)===l}})},45177:(e,t,n)=>{\"use strict\";n(29395)(\"fixed\",(function(e){return function(){return e(this,\"tt\",\"\",\"\")}}))},73694:(e,t,n)=>{\"use strict\";n(29395)(\"fontcolor\",(function(e){return function(t){return e(this,\"font\",\"color\",t)}}))},37648:(e,t,n)=>{\"use strict\";n(29395)(\"fontsize\",(function(e){return function(t){return e(this,\"font\",\"size\",t)}}))},50191:(e,t,n)=>{var r=n(42985),i=n(92337),o=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),\"String\",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],i(t,1114111)!==t)throw RangeError(t+\" is not a valid code point\");n.push(t<65536?o(t):o(55296+((t-=65536)>>10),t%1024+56320))}return n.join(\"\")}})},62850:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(42094),o=\"includes\";r(r.P+r.F*n(8852)(o),\"String\",{includes:function(e){return!!~i(this,e,o).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},27795:(e,t,n)=>{\"use strict\";n(29395)(\"italics\",(function(e){return function(){return e(this,\"i\",\"\",\"\")}}))},39115:(e,t,n)=>{\"use strict\";var r=n(24496)(!0);n(42923)(String,\"String\",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},4531:(e,t,n)=>{\"use strict\";n(29395)(\"link\",(function(e){return function(t){return e(this,\"a\",\"href\",t)}}))},98306:(e,t,n)=>{var r=n(42985),i=n(22110),o=n(10875);r(r.S,\"String\",{raw:function(e){for(var t=i(e.raw),n=o(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s<r&&a.push(String(arguments[s]));return a.join(\"\")}})},10823:(e,t,n)=>{var r=n(42985);r(r.P,\"String\",{repeat:n(68595)})},23605:(e,t,n)=>{\"use strict\";n(29395)(\"small\",(function(e){return function(){return e(this,\"small\",\"\",\"\")}}))},17732:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(10875),o=n(42094),a=\"startsWith\",s=\"\".startsWith;r(r.P+r.F*n(8852)(a),\"String\",{startsWith:function(e){var t=o(this,e,a),n=i(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},6780:(e,t,n)=>{\"use strict\";n(29395)(\"strike\",(function(e){return function(){return e(this,\"strike\",\"\",\"\")}}))},69937:(e,t,n)=>{\"use strict\";n(29395)(\"sub\",(function(e){return function(){return e(this,\"sub\",\"\",\"\")}}))},10511:(e,t,n)=>{\"use strict\";n(29395)(\"sup\",(function(e){return function(){return e(this,\"sup\",\"\",\"\")}}))},64564:(e,t,n)=>{\"use strict\";n(29599)(\"trim\",(function(e){return function(){return e(this,3)}}))},95767:(e,t,n)=>{\"use strict\";var r=n(3816),i=n(79181),o=n(67057),a=n(42985),s=n(77234),u=n(84728).KEY,l=n(74253),c=n(3825),f=n(22943),p=n(93953),d=n(86314),h=n(28787),m=n(36074),y=n(5541),v=n(4302),g=n(27007),b=n(55286),x=n(22110),_=n(21689),w=n(90681),E=n(42503),S=n(39327),k=n(18693),A=n(99275),C=n(47184),T=k.f,D=A.f,M=S.f,P=r.Symbol,O=r.JSON,L=O&&O.stringify,N=d(\"_hidden\"),F=d(\"toPrimitive\"),R={}.propertyIsEnumerable,I=c(\"symbol-registry\"),j=c(\"symbols\"),B=c(\"op-symbols\"),q=Object.prototype,z=\"function\"==typeof P,V=r.QObject,U=!V||!V.prototype||!V.prototype.findChild,W=o&&l((function(){return 7!=E(D({},\"a\",{get:function(){return D(this,\"a\",{value:7}).a}})).a}))?function(e,t,n){var r=T(q,t);r&&delete q[t],D(e,t,n),r&&e!==q&&D(q,t,r)}:D,Y=function(e){var t=j[e]=E(P.prototype);return t._k=e,t},X=z&&\"symbol\"==typeof P.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof P},H=function(e,t,n){return e===q&&H(B,t,n),g(e),t=_(t,!0),g(n),i(j,t)?(n.enumerable?(i(e,N)&&e[N][t]&&(e[N][t]=!1),n=E(n,{enumerable:w(0,!1)})):(i(e,N)||D(e,N,w(1,{})),e[N][t]=!0),W(e,t,n)):D(e,t,n)},G=function(e,t){g(e);for(var n,r=y(t=x(t)),i=0,o=r.length;o>i;)H(e,n=r[i++],t[n]);return e},$=function(e){var t=R.call(this,e=_(e,!0));return!(this===q&&i(j,e)&&!i(B,e))&&(!(t||!i(this,e)||!i(j,e)||i(this,N)&&this[N][e])||t)},K=function(e,t){if(e=x(e),t=_(t,!0),e!==q||!i(j,t)||i(B,t)){var n=T(e,t);return!n||!i(j,t)||i(e,N)&&e[N][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=M(x(e)),r=[],o=0;n.length>o;)i(j,t=n[o++])||t==N||t==u||r.push(t);return r},J=function(e){for(var t,n=e===q,r=M(n?B:x(e)),o=[],a=0;r.length>a;)!i(j,t=r[a++])||n&&!i(q,t)||o.push(j[t]);return o};z||(s((P=function(){if(this instanceof P)throw TypeError(\"Symbol is not a constructor!\");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===q&&t.call(B,n),i(this,N)&&i(this[N],e)&&(this[N][e]=!1),W(this,e,w(1,n))};return o&&U&&W(q,e,{configurable:!0,set:t}),Y(e)}).prototype,\"toString\",(function(){return this._k})),k.f=K,A.f=H,n(20616).f=S.f=Z,n(14682).f=$,n(64548).f=J,o&&!n(4461)&&s(q,\"propertyIsEnumerable\",$,!0),h.f=function(e){return Y(d(e))}),a(a.G+a.W+a.F*!z,{Symbol:P});for(var Q=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),ee=0;Q.length>ee;)d(Q[ee++]);for(var te=C(d.store),ne=0;te.length>ne;)m(te[ne++]);a(a.S+a.F*!z,\"Symbol\",{for:function(e){return i(I,e+=\"\")?I[e]:I[e]=P(e)},keyFor:function(e){if(!X(e))throw TypeError(e+\" is not a symbol!\");for(var t in I)if(I[t]===e)return t},useSetter:function(){U=!0},useSimple:function(){U=!1}}),a(a.S+a.F*!z,\"Object\",{create:function(e,t){return void 0===t?E(e):G(E(e),t)},defineProperty:H,defineProperties:G,getOwnPropertyDescriptor:K,getOwnPropertyNames:Z,getOwnPropertySymbols:J}),O&&a(a.S+a.F*(!z||l((function(){var e=P();return\"[null]\"!=L([e])||\"{}\"!=L({a:e})||\"{}\"!=L(Object(e))}))),\"JSON\",{stringify:function(e){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=t=r[1],(b(t)||void 0!==e)&&!X(e))return v(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!X(t))return t}),r[1]=t,L.apply(O,r)}}),P.prototype[F]||n(87728)(P.prototype,F,P.prototype.valueOf),f(P,\"Symbol\"),f(Math,\"Math\",!0),f(r.JSON,\"JSON\",!0)},30142:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(89383),o=n(91125),a=n(27007),s=n(92337),u=n(10875),l=n(55286),c=n(3816).ArrayBuffer,f=n(58364),p=o.ArrayBuffer,d=o.DataView,h=i.ABV&&c.isView,m=p.prototype.slice,y=i.VIEW,v=\"ArrayBuffer\";r(r.G+r.W+r.F*(c!==p),{ArrayBuffer:p}),r(r.S+r.F*!i.CONSTR,v,{isView:function(e){return h&&h(e)||l(e)&&y in e}}),r(r.P+r.U+r.F*n(74253)((function(){return!new p(2).slice(1,void 0).byteLength})),v,{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(a(this),e);for(var n=a(this).byteLength,r=s(e,n),i=s(void 0===t?n:t,n),o=new(f(this,p))(u(i-r)),l=new d(this),c=new d(o),h=0;r<i;)c.setUint8(h++,l.getUint8(r++));return o}}),n(2974)(v)},1786:(e,t,n)=>{var r=n(42985);r(r.G+r.W+r.F*!n(89383).ABV,{DataView:n(91125).DataView})},70162:(e,t,n)=>{n(78440)(\"Float32\",4,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},33834:(e,t,n)=>{n(78440)(\"Float64\",8,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},74821:(e,t,n)=>{n(78440)(\"Int16\",2,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},81303:(e,t,n)=>{n(78440)(\"Int32\",4,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},75368:(e,t,n)=>{n(78440)(\"Int8\",1,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},79103:(e,t,n)=>{n(78440)(\"Uint16\",2,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},83318:(e,t,n)=>{n(78440)(\"Uint32\",4,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},46964:(e,t,n)=>{n(78440)(\"Uint8\",1,(function(e){return function(t,n,r){return e(this,t,n,r)}}))},62152:(e,t,n)=>{n(78440)(\"Uint8\",1,(function(e){return function(t,n,r){return e(this,t,n,r)}}),!0)},30147:(e,t,n)=>{\"use strict\";var r,i=n(10050)(0),o=n(77234),a=n(84728),s=n(35345),u=n(23657),l=n(55286),c=n(74253),f=n(1616),p=\"WeakMap\",d=a.getWeak,h=Object.isExtensible,m=u.ufstore,y={},v=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(e){if(l(e)){var t=d(e);return!0===t?m(f(this,p)).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(f(this,p),e,t)}},b=e.exports=n(45795)(p,v,g,u,!0,!0);c((function(){return 7!=(new b).set((Object.freeze||Object)(y),7).get(y)}))&&(s((r=u.getConstructor(v,p)).prototype,g),a.NEED=!0,i([\"delete\",\"has\",\"get\",\"set\"],(function(e){var t=b.prototype,n=t[e];o(t,e,(function(t,i){if(l(t)&&!h(t)){this._f||(this._f=new r);var o=this._f[e](t,i);return\"set\"==e?this:o}return n.call(this,t,i)}))})))},59192:(e,t,n)=>{\"use strict\";var r=n(23657),i=n(1616),o=\"WeakSet\";n(45795)(o,(function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(e){return r.def(i(this,o),e,!0)}},r,!1,!0)},1268:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(13325),o=n(20508),a=n(10875),s=n(24963),u=n(16886);r(r.P,\"Array\",{flatMap:function(e){var t,n,r=o(this);return s(e),t=a(r.length),n=u(r,0),i(n,r,r,t,0,1,e,arguments[1]),n}}),n(17722)(\"flatMap\")},94692:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(13325),o=n(20508),a=n(10875),s=n(81467),u=n(16886);r(r.P,\"Array\",{flatten:function(){var e=arguments[0],t=o(this),n=a(t.length),r=u(t,0);return i(r,t,t,n,0,void 0===e?1:s(e)),r}}),n(17722)(\"flatten\")},62773:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(79315)(!0);r(r.P,\"Array\",{includes:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),n(17722)(\"includes\")},18267:(e,t,n)=>{var r=n(42985),i=n(14351)(),o=n(3816).process,a=\"process\"==n(92032)(o);r(r.G,{asap:function(e){var t=a&&o.domain;i(t?t.bind(e):e)}})},22559:(e,t,n)=>{var r=n(42985),i=n(92032);r(r.S,\"Error\",{isError:function(e){return\"Error\"===i(e)}})},95575:(e,t,n)=>{var r=n(42985);r(r.G,{global:n(3816)})},60525:(e,t,n)=>{n(31024)(\"Map\")},98211:(e,t,n)=>{n(94881)(\"Map\")},97698:(e,t,n)=>{var r=n(42985);r(r.P+r.R,\"Map\",{toJSON:n(86132)(\"Map\")})},98865:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{clamp:function(e,t,n){return Math.min(n,Math.max(t,e))}})},60368:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},26427:(e,t,n)=>{var r=n(42985),i=180/Math.PI;r(r.S,\"Math\",{degrees:function(e){return e*i}})},30286:(e,t,n)=>{var r=n(42985),i=n(68757),o=n(34934);r(r.S,\"Math\",{fscale:function(e,t,n,r,a){return o(i(e,t,n,r,a))}})},52816:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{iaddh:function(e,t,n,r){var i=e>>>0,o=n>>>0;return(t>>>0)+(r>>>0)+((i&o|(i|o)&~(i+o>>>0))>>>31)|0}})},22082:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{imulh:function(e,t){var n=65535,r=+e,i=+t,o=r&n,a=i&n,s=r>>16,u=i>>16,l=(s*a>>>0)+(o*a>>>16);return s*u+(l>>16)+((o*u>>>0)+(l&n)>>16)}})},35986:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{isubh:function(e,t,n,r){var i=e>>>0,o=n>>>0;return(t>>>0)-(r>>>0)-((~i&o|~(i^o)&i-o>>>0)>>>31)|0}})},76308:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},89221:(e,t,n)=>{var r=n(42985),i=Math.PI/180;r(r.S,\"Math\",{radians:function(e){return e*i}})},83570:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{scale:n(68757)})},3776:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{signbit:function(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},37787:(e,t,n)=>{var r=n(42985);r(r.S,\"Math\",{umulh:function(e,t){var n=65535,r=+e,i=+t,o=r&n,a=i&n,s=r>>>16,u=i>>>16,l=(s*a>>>0)+(o*a>>>16);return s*u+(l>>>16)+((o*u>>>0)+(l&n)>>>16)}})},48646:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(20508),o=n(24963),a=n(99275);n(67057)&&r(r.P+n(91670),\"Object\",{__defineGetter__:function(e,t){a.f(i(this),e,{get:o(t),enumerable:!0,configurable:!0})}})},22658:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(20508),o=n(24963),a=n(99275);n(67057)&&r(r.P+n(91670),\"Object\",{__defineSetter__:function(e,t){a.f(i(this),e,{set:o(t),enumerable:!0,configurable:!0})}})},83276:(e,t,n)=>{var r=n(42985),i=n(51131)(!0);r(r.S,\"Object\",{entries:function(e){return i(e)}})},98351:(e,t,n)=>{var r=n(42985),i=n(57643),o=n(22110),a=n(18693),s=n(92811);r(r.S,\"Object\",{getOwnPropertyDescriptors:function(e){for(var t,n,r=o(e),u=a.f,l=i(r),c={},f=0;l.length>f;)void 0!==(n=u(r,t=l[f++]))&&s(c,t,n);return c}})},16917:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(20508),o=n(21689),a=n(468),s=n(18693).f;n(67057)&&r(r.P+n(91670),\"Object\",{__lookupGetter__:function(e){var t,n=i(this),r=o(e,!0);do{if(t=s(n,r))return t.get}while(n=a(n))}})},30372:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(20508),o=n(21689),a=n(468),s=n(18693).f;n(67057)&&r(r.P+n(91670),\"Object\",{__lookupSetter__:function(e){var t,n=i(this),r=o(e,!0);do{if(t=s(n,r))return t.set}while(n=a(n))}})},96409:(e,t,n)=>{var r=n(42985),i=n(51131)(!1);r(r.S,\"Object\",{values:function(e){return i(e)}})},86534:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(3816),o=n(25645),a=n(14351)(),s=n(86314)(\"observable\"),u=n(24963),l=n(27007),c=n(83328),f=n(24408),p=n(87728),d=n(3531),h=d.RETURN,m=function(e){return null==e?void 0:u(e)},y=function(e){var t=e._c;t&&(e._c=void 0,t())},v=function(e){return void 0===e._o},g=function(e){v(e)||(e._o=void 0,y(e))},b=function(e,t){l(e),this._c=void 0,this._o=e,e=new x(this);try{var n=t(e),r=n;null!=n&&(\"function\"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(t){return void e.error(t)}v(this)&&y(this)};b.prototype=f({},{unsubscribe:function(){g(this)}});var x=function(e){this._s=e};x.prototype=f({},{next:function(e){var t=this._s;if(!v(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(e){try{g(t)}finally{throw e}}}},error:function(e){var t=this._s;if(v(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(e){try{y(t)}finally{throw e}}return y(t),e},complete:function(e){var t=this._s;if(!v(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(e){try{y(t)}finally{throw e}}return y(t),e}}});var _=function(e){c(this,_,\"Observable\",\"_f\")._f=u(e)};f(_.prototype,{subscribe:function(e){return new b(e,this._f)},forEach:function(e){var t=this;return new(o.Promise||i.Promise)((function(n,r){u(e);var i=t.subscribe({next:function(t){try{return e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:n})}))}}),f(_,{from:function(e){var t=\"function\"==typeof this?this:_,n=m(l(e)[s]);if(n){var r=l(n.call(e));return r.constructor===t?r:new t((function(e){return r.subscribe(e)}))}return new t((function(t){var n=!1;return a((function(){if(!n){try{if(d(e,!1,(function(e){if(t.next(e),n)return h}))===h)return}catch(e){if(n)throw e;return void t.error(e)}t.complete()}})),function(){n=!0}}))},of:function(){for(var e=0,t=arguments.length,n=new Array(t);e<t;)n[e]=arguments[e++];return new(\"function\"==typeof this?this:_)((function(e){var t=!1;return a((function(){if(!t){for(var r=0;r<n.length;++r)if(e.next(n[r]),t)return;e.complete()}})),function(){t=!0}}))}}),p(_.prototype,s,(function(){return this})),r(r.G,{Observable:_}),n(2974)(\"Observable\")},9865:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(25645),o=n(3816),a=n(58364),s=n(50094);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,i.Promise||o.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then((function(){return n}))}:e,n?function(n){return s(t,e()).then((function(){throw n}))}:e)}})},31898:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(43499),o=n(10188);r(r.S,\"Promise\",{try:function(e){var t=i.f(this),n=o(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},53364:(e,t,n)=>{var r=n(50133),i=n(27007),o=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,i(n),o(r))}})},51432:(e,t,n)=>{var r=n(50133),i=n(27007),o=r.key,a=r.map,s=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:o(arguments[2]),r=a(i(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=s.get(t);return u.delete(n),!!u.size||s.delete(t)}})},84416:(e,t,n)=>{var r=n(98184),i=n(9490),o=n(50133),a=n(27007),s=n(468),u=o.keys,l=o.key,c=function(e,t){var n=u(e,t),o=s(e);if(null===o)return n;var a=c(o,t);return a.length?n.length?i(new r(n.concat(a))):a:n};o.exp({getMetadataKeys:function(e){return c(a(e),arguments.length<2?void 0:l(arguments[1]))}})},26562:(e,t,n)=>{var r=n(50133),i=n(27007),o=n(468),a=r.has,s=r.get,u=r.key,l=function(e,t,n){if(a(e,t,n))return s(e,t,n);var r=o(t);return null!==r?l(e,r,n):void 0};r.exp({getMetadata:function(e,t){return l(e,i(t),arguments.length<3?void 0:u(arguments[2]))}})},32213:(e,t,n)=>{var r=n(50133),i=n(27007),o=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return o(i(e),arguments.length<2?void 0:a(arguments[1]))}})},98681:(e,t,n)=>{var r=n(50133),i=n(27007),o=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return o(e,i(t),arguments.length<3?void 0:a(arguments[2]))}})},63471:(e,t,n)=>{var r=n(50133),i=n(27007),o=n(468),a=r.has,s=r.key,u=function(e,t,n){if(a(e,t,n))return!0;var r=o(t);return null!==r&&u(e,r,n)};r.exp({hasMetadata:function(e,t){return u(e,i(t),arguments.length<3?void 0:s(arguments[2]))}})},4329:(e,t,n)=>{var r=n(50133),i=n(27007),o=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return o(e,i(t),arguments.length<3?void 0:a(arguments[2]))}})},25159:(e,t,n)=>{var r=n(50133),i=n(27007),o=n(24963),a=r.key,s=r.set;r.exp({metadata:function(e,t){return function(n,r){s(e,t,(void 0!==r?i:o)(n),a(r))}}})},99467:(e,t,n)=>{n(31024)(\"Set\")},50579:(e,t,n)=>{n(94881)(\"Set\")},48739:(e,t,n)=>{var r=n(42985);r(r.P+r.R,\"Set\",{toJSON:n(86132)(\"Set\")})},17220:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(24496)(!0);r(r.P,\"String\",{at:function(e){return i(this,e)}})},74208:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(91355),o=n(10875),a=n(55364),s=n(53218),u=RegExp.prototype,l=function(e,t){this._r=e,this._s=t};n(49988)(l,\"RegExp String\",(function(){var e=this._r.exec(this._s);return{value:e,done:null===e}})),r(r.P,\"String\",{matchAll:function(e){if(i(this),!a(e))throw TypeError(e+\" is not a regexp!\");var t=String(this),n=\"flags\"in u?String(e.flags):s.call(e),r=new RegExp(e.source,~n.indexOf(\"g\")?n:\"g\"+n);return r.lastIndex=o(e.lastIndex),new l(r,t)}})},92770:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(75442),o=n(30575);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(o),\"String\",{padEnd:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},41784:(e,t,n)=>{\"use strict\";var r=n(42985),i=n(75442),o=n(30575);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(o),\"String\",{padStart:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},65869:(e,t,n)=>{\"use strict\";n(29599)(\"trimLeft\",(function(e){return function(){return e(this,1)}}),\"trimStart\")},94325:(e,t,n)=>{\"use strict\";n(29599)(\"trimRight\",(function(e){return function(){return e(this,2)}}),\"trimEnd\")},79665:(e,t,n)=>{n(36074)(\"asyncIterator\")},59593:(e,t,n)=>{n(36074)(\"observable\")},88967:(e,t,n)=>{var r=n(42985);r(r.S,\"System\",{global:n(3816)})},44188:(e,t,n)=>{n(31024)(\"WeakMap\")},44208:(e,t,n)=>{n(94881)(\"WeakMap\")},73495:(e,t,n)=>{n(31024)(\"WeakSet\")},39550:(e,t,n)=>{n(94881)(\"WeakSet\")},91181:(e,t,n)=>{for(var r=n(56997),i=n(47184),o=n(77234),a=n(3816),s=n(87728),u=n(87234),l=n(86314),c=l(\"iterator\"),f=l(\"toStringTag\"),p=u.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=i(d),m=0;m<h.length;m++){var y,v=h[m],g=d[v],b=a[v],x=b&&b.prototype;if(x&&(x[c]||s(x,c,p),x[f]||s(x,f,v),u[v]=p,g))for(y in r)x[y]||o(x,y,r[y],!0)}},84633:(e,t,n)=>{var r=n(42985),i=n(74193);r(r.G+r.B,{setImmediate:i.set,clearImmediate:i.clear})},32564:(e,t,n)=>{var r=n(3816),i=n(42985),o=n(30575),a=[].slice,s=/MSIE .\\./.test(o),u=function(e){return function(t,n){var r=arguments.length>2,i=!!r&&a.call(arguments,2);return e(r?function(){(\"function\"==typeof t?t:Function(t)).apply(this,i)}:t,n)}};i(i.G+i.B+i.F*s,{setTimeout:u(r.setTimeout),setInterval:u(r.setInterval)})},81934:(e,t,n)=>{n(95767),n(68132),n(48388),n(37470),n(94882),n(41520),n(27476),n(79622),n(89375),n(43533),n(84672),n(64157),n(35095),n(49892),n(75115),n(99176),n(68838),n(96253),n(39730),n(6059),n(48377),n(71084),n(64299),n(11246),n(30726),n(1901),n(75972),n(53403),n(92516),n(49371),n(86479),n(91736),n(51889),n(65177),n(81246),n(76503),n(66786),n(50932),n(57526),n(21591),n(9073),n(80347),n(30579),n(4669),n(67710),n(45789),n(33514),n(99978),n(58472),n(86946),n(35068),n(413),n(50191),n(98306),n(64564),n(39115),n(29539),n(96620),n(62850),n(10823),n(17732),n(40856),n(80703),n(91539),n(5292),n(45177),n(73694),n(37648),n(27795),n(4531),n(23605),n(6780),n(69937),n(10511),n(81822),n(19977),n(91031),n(46331),n(41560),n(20774),n(30522),n(58295),n(87842),n(50110),n(20075),n(24336),n(19371),n(98837),n(26773),n(15745),n(33057),n(3750),n(23369),n(99564),n(32e3),n(48977),n(52310),n(94899),n(31842),n(56997),n(83946),n(66108),n(76774),n(21466),n(59357),n(76142),n(51876),n(40851),n(88416),n(98184),n(30147),n(59192),n(30142),n(1786),n(75368),n(46964),n(62152),n(74821),n(79103),n(81303),n(83318),n(70162),n(33834),n(21572),n(82139),n(10685),n(85535),n(17347),n(83049),n(96633),n(68989),n(78270),n(64510),n(73984),n(75769),n(50055),n(96014),n(62773),n(1268),n(94692),n(17220),n(41784),n(92770),n(65869),n(94325),n(74208),n(79665),n(59593),n(98351),n(96409),n(83276),n(48646),n(22658),n(16917),n(30372),n(97698),n(48739),n(98211),n(50579),n(44208),n(39550),n(60525),n(99467),n(44188),n(73495),n(95575),n(88967),n(22559),n(98865),n(60368),n(26427),n(30286),n(52816),n(35986),n(22082),n(76308),n(89221),n(83570),n(37787),n(3776),n(9865),n(31898),n(53364),n(51432),n(26562),n(84416),n(98681),n(32213),n(63471),n(4329),n(25159),n(18267),n(86534),n(32564),n(84633),n(91181),e.exports=n(25645)},5867:(e,t,n)=>{(t=n(23645)(!1)).push([e.id,'.rct-xy-plot * {\\n  user-select: none;\\n  -webkit-user-select: none;\\n  -moz-user-select: none;\\n}\\n.rct-xy-plot .rct-chart-tick {\\n  fill: none;\\n  stroke: #666;\\n  stroke-width: 1px;\\n}\\n.rct-xy-plot .rct-chart-background {\\n  fill: none;\\n}\\n.rct-xy-plot .rct-plot-background {\\n  fill: #e0e0e0;\\n}\\n.rct-xy-plot .rct-chart-grid-line {\\n  stroke: #b9b9b9;\\n  stroke-width: 1px;\\n}\\n.rct-chart-line-x,\\n.rct-chart-line-y {\\n  stroke: #090909;\\n}\\n.rct-chart-bar,\\n.rct-chart-area-bar {\\n  fill: steelblue;\\n}\\n.rct-marker-line-chart line {\\n  stroke: black;\\n  stroke-width: 2px;\\n}\\n.rct-pie-chart .rct-pie-slice {\\n  stroke: none;\\n}\\n.rct-pie-chart .rct-pie-slice-0 {\\n  fill: steelblue;\\n}\\n.rct-pie-chart .rct-pie-slice-1 {\\n  fill: darkred;\\n}\\n.rct-pie-chart .rct-pie-slice-2 {\\n  fill: orange;\\n}\\n.rct-pie-chart .rct-pie-slice-empty {\\n  fill: #ddd;\\n}\\n.rct-pie-chart .rct-pie-label-center {\\n  font-size: 26pt;\\n}\\n.rct-pie-chart .rct-marker-line {\\n  stroke: black;\\n  stroke-width: 2px;\\n}\\n.rct-line-chart .rct-line-path {\\n  fill: none;\\n  stroke: #0a0a0a;\\n  stroke-width: 1.5px;\\n  stroke-linejoin: bevel;\\n}\\n.rct-area-chart .rct-area-chart-path {\\n  stroke-width: 0;\\n  fill: steelblue;\\n}\\n.rct-area-chart--difference .rct-area-chart-path {\\n  stroke: #0a0a0a;\\n  stroke-width: 1.5px;\\n  stroke-linejoin: bevel;\\n}\\n.rct-sankey-diagram .rct-sankey-nodes .rct-sankey-node {\\n  fill: #000;\\n}\\n.rct-sankey-diagram .rct-sankey-links .rct-sankey-link {\\n  stroke: rgba(0, 0, 0, 0.16);\\n  fill: none;\\n}\\n.rct-sankey-diagram .rct-sankey-node-label {\\n  pointer-events: none;\\n  font-size: 10pt;\\n}\\n.rct-sankey-diagram .rct-sankey-link-label {\\n  pointer-events: none;\\n  alignment-baseline: middle;\\n  dominant-baseline: central;\\n  font-size: 8.5pt;\\n  color: #333;\\n}\\n.rct-sankey-diagram .rct-sankey-node-terminal {\\n  fill: steelblue;\\n}\\n.rct-chart-axis-line-y,\\n.rct-chart-axis-line-x {\\n  stroke: #b9b9b9;\\n}\\n.rct-chart-visually-hidden-rect {\\n  fill: transparent;\\n  pointer-events: none;\\n}\\n.rct-chart-visually-hidden-rect:focus {\\n  outline: 3px inset #181818;\\n}\\n.sidebar-nav h1,\\n.sidebar-nav h2,\\n.sidebar-nav h3,\\n.sidebar-nav h4,\\n.sidebar-nav h5,\\n.sidebar-nav h6 {\\n  color: #f8f8f8;\\n  text-transform: uppercase;\\n}\\n.sidebar-nav h3 {\\n  font-size: 16px;\\n}\\n.sidebar-nav h4 {\\n  font-size: 14px;\\n}\\n.example {\\n  margin-bottom: 2em;\\n}\\n.component-docs {\\n  padding: 0 30px;\\n}\\n.prop-docs {\\n  background-color: #efefef;\\n  padding: 15px;\\n}\\n.prop-docs .prop-description,\\n.prop-docs .prop-default {\\n  display: block;\\n  margin-left: 2em;\\n  font-size: 0.85em;\\n}\\n.example-section {\\n  display: inline-block;\\n  margin: 10px;\\n}\\n.example-section.example-section-visible {\\n  display: block;\\n}\\n.example-section .example-section-button {\\n  display: inline-block;\\n  padding: 10px 20px;\\n  font-size: 20pt;\\n  font-weight: bold;\\n  background: #cccccc;\\n  cursor: pointer;\\n  border-radius: 5px;\\n}\\n.example-section .example-section-button .example-arrow {\\n  color: #888;\\n}\\n.example-section .example-section-button.active {\\n  background-color: #4cba6f;\\n}\\n.example-section .example-section-button.active .example-arrow {\\n  color: #0f0f0f;\\n}\\n.example-section .example-section-content {\\n  margin: 10px 20px;\\n}\\n.playground {\\n  display: flex;\\n  flex-wrap: wrap;\\n}\\n.playground .playgroundCode,\\n.playground .playgroundPreview {\\n  border: 1px solid #efefef;\\n  border-radius: 3px;\\n  flex-basis: 150px;\\n}\\n.playground .playgroundCode:before,\\n.playground .playgroundPreview:before {\\n  display: block;\\n  text-align: center;\\n  color: #616467;\\n  background-color: #f8f8f8;\\n  border-bottom: 1px solid #efefef;\\n  text-transform: uppercase;\\n  letter-spacing: 1px;\\n  font-size: 14px;\\n  line-height: 28px;\\n}\\n.playground .playgroundCode {\\n  margin-right: 8px;\\n  flex-grow: 0.6;\\n}\\n.playground .playgroundCode:before {\\n  content: \"Editable Source\";\\n}\\n.playground .playgroundCode .CodeMirror {\\n  font-size: 10pt;\\n  font-family: Consolas, Monaco, \"Andale Mono\", \"Ubuntu Mono\", monospace;\\n}\\n.playground .playgroundPreview {\\n  margin-left: 8px;\\n  flex-grow: 0.4;\\n}\\n.playground .playgroundPreview:before {\\n  content: \"Live Preview\";\\n}\\n.playground .playgroundPreview .previewArea {\\n  padding: 8px 6px;\\n}\\n',\"\"]),e.exports=t},23645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n,r,i,o=e[1]||\"\",a=e[3];if(!a)return o;if(t&&\"function\"==typeof btoa){var s=(n=a,r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),\"/*# \".concat(i,\" */\")),u=a.sources.map((function(e){return\"/*# sourceURL=\".concat(a.sourceRoot||\"\").concat(e,\" */\")}));return[o].concat(u).concat([s]).join(\"\\n\")}return[o].join(\"\\n\")}(t,e);return t[2]?\"@media \".concat(t[2],\" {\").concat(n,\"}\"):n})).join(\"\")},t.i=function(e,n,r){\"string\"==typeof e&&(e=[[null,e,\"\"]]);var i={};if(r)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var s=0;s<e.length;s++){var u=[].concat(e[s]);r&&i[u[0]]||(n&&(u[2]?u[2]=\"\".concat(n,\" and \").concat(u[2]):u[2]=n),t.push(u))}},t}},94470:e=>{\"use strict\";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===n.call(e)},a=function(e){if(!e||\"[object Object]\"!==n.call(e))return!1;var r,i=t.call(e,\"constructor\"),o=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,\"isPrototypeOf\");if(e.constructor&&!i&&!o)return!1;for(r in e);return void 0===r||t.call(e,r)},s=function(e,t){r&&\"__proto__\"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},u=function(e,n){if(\"__proto__\"===n){if(!t.call(e,n))return;if(i)return i(e,n).value}return e[n]};e.exports=function e(){var t,n,r,i,l,c,f=arguments[0],p=1,d=arguments.length,h=!1;for(\"boolean\"==typeof f&&(h=f,f=arguments[1]||{},p=2),(null==f||\"object\"!=typeof f&&\"function\"!=typeof f)&&(f={});p<d;++p)if(null!=(t=arguments[p]))for(n in t)r=u(f,n),f!==(i=u(t,n))&&(h&&i&&(a(i)||(l=o(i)))?(l?(l=!1,c=r&&o(r)?r:[]):c=r&&a(r)?r:{},s(f,{name:n,newValue:e(h,c,i)})):void 0!==i&&s(f,{name:n,newValue:i}));return f}},8679:(e,t,n)=>{\"use strict\";var r=n(59864),i={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return r.isMemo(e)?a:s[e.$$typeof]||i}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=a;var l=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if(\"string\"!=typeof n){if(h){var i=d(n);i&&i!==h&&e(t,i,r)}var a=c(n);f&&(a=a.concat(f(n)));for(var s=u(t),m=u(n),y=0;y<a.length;++y){var v=a[y];if(!(o[v]||r&&r[v]||m&&m[v]||s&&s[v])){var g=p(n,v);try{l(t,v,g)}catch(e){}}}}return t}},18139:e=>{var t=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,n=/\\n/g,r=/^\\s*/,i=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,o=/^:\\s*/,a=/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/,s=/^[;\\s]*/,u=/^\\s+|\\s+$/g,l=\"\";function c(e){return e?e.replace(u,l):l}e.exports=function(e,u){if(\"string\"!=typeof e)throw new TypeError(\"First argument must be a string\");if(!e)return[];u=u||{};var f=1,p=1;function d(e){var t=e.match(n);t&&(f+=t.length);var r=e.lastIndexOf(\"\\n\");p=~r?e.length-r:p+e.length}function h(){var e={line:f,column:p};return function(t){return t.position=new m(e),b(),t}}function m(e){this.start=e,this.end={line:f,column:p},this.source=u.source}m.prototype.content=e;var y=[];function v(t){var n=new Error(u.source+\":\"+f+\":\"+p+\": \"+t);if(n.reason=t,n.filename=u.source,n.line=f,n.column=p,n.source=e,!u.silent)throw n;y.push(n)}function g(t){var n=t.exec(e);if(n){var r=n[0];return d(r),e=e.slice(r.length),n}}function b(){g(r)}function x(e){var t;for(e=e||[];t=_();)!1!==t&&e.push(t);return e}function _(){var t=h();if(\"/\"==e.charAt(0)&&\"*\"==e.charAt(1)){for(var n=2;l!=e.charAt(n)&&(\"*\"!=e.charAt(n)||\"/\"!=e.charAt(n+1));)++n;if(n+=2,l===e.charAt(n-1))return v(\"End of comment missing\");var r=e.slice(2,n-2);return p+=2,d(r),e=e.slice(n),p+=2,t({type:\"comment\",comment:r})}}function w(){var e=h(),n=g(i);if(n){if(_(),!g(o))return v(\"property missing ':'\");var r=g(a),u=e({type:\"declaration\",property:c(n[0].replace(t,l)),value:r?c(r[0].replace(t,l)):l});return g(s),u}}return b(),function(){var e,t=[];for(x(t);e=w();)!1!==e&&(t.push(e),x(t));return t}()}},41143:e=>{\"use strict\";e.exports=function(e,t,n,r,i,o,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,i,o,a,s],c=0;(u=new Error(t.replace(/%s/g,(function(){return l[c++]})))).name=\"Invariant Violation\"}throw u.framesToPop=1,u}}},58069:(e,t)=>{var n=function(e){return e=\"string\"==typeof e?e.replace(/,/g,\"\"):e,!isNaN(parseFloat(e))&&isFinite(e)&&\"[object array]\"!==Object.prototype.toString.call(e).toLowerCase()};e.exports&&(t=e.exports=n),t.isNumeric=n},18552:(e,t,n)=>{var r=n(10852)(n(55639),\"DataView\");e.exports=r},1989:(e,t,n)=>{var r=n(51789),i=n(80401),o=n(57667),a=n(21327),s=n(81866);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},38407:(e,t,n)=>{var r=n(27040),i=n(14125),o=n(82117),a=n(67518),s=n(54705);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},57071:(e,t,n)=>{var r=n(10852)(n(55639),\"Map\");e.exports=r},83369:(e,t,n)=>{var r=n(24785),i=n(11285),o=n(96e3),a=n(49916),s=n(95265);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}u.prototype.clear=r,u.prototype.delete=i,u.prototype.get=o,u.prototype.has=a,u.prototype.set=s,e.exports=u},53818:(e,t,n)=>{var r=n(10852)(n(55639),\"Promise\");e.exports=r},58525:(e,t,n)=>{var r=n(10852)(n(55639),\"Set\");e.exports=r},88668:(e,t,n)=>{var r=n(83369),i=n(90619),o=n(72385);function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=i,a.prototype.has=o,e.exports=a},46384:(e,t,n)=>{var r=n(38407),i=n(37465),o=n(63779),a=n(67599),s=n(44758),u=n(34309);function l(e){var t=this.__data__=new r(e);this.size=t.size}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,e.exports=l},62705:(e,t,n)=>{var r=n(55639).Symbol;e.exports=r},11149:(e,t,n)=>{var r=n(55639).Uint8Array;e.exports=r},70577:(e,t,n)=>{var r=n(10852)(n(55639),\"WeakMap\");e.exports=r},96874:e=>{e.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},44174:e=>{e.exports=function(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}},77412:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}},34963:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}},47443:(e,t,n)=>{var r=n(42118);e.exports=function(e,t){return!(null==e||!e.length)&&r(e,t,0)>-1}},1196:e=>{e.exports=function(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}},14636:(e,t,n)=>{var r=n(22545),i=n(35694),o=n(1469),a=n(44144),s=n(65776),u=n(36719),l=Object.prototype.hasOwnProperty;e.exports=function(e,t){var n=o(e),c=!n&&i(e),f=!n&&!c&&a(e),p=!n&&!c&&!f&&u(e),d=n||c||f||p,h=d?r(e.length,String):[],m=h.length;for(var y in e)!t&&!l.call(e,y)||d&&(\"length\"==y||f&&(\"offset\"==y||\"parent\"==y)||p&&(\"buffer\"==y||\"byteLength\"==y||\"byteOffset\"==y)||s(y,m))||h.push(y);return h}},29932:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}},62488:e=>{e.exports=function(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}},62663:e=>{e.exports=function(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}},82908:e=>{e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}},44286:e=>{e.exports=function(e){return e.split(\"\")}},49029:e=>{var t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;e.exports=function(e){return e.match(t)||[]}},34865:(e,t,n)=>{var r=n(89465),i=n(77813),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var a=e[t];o.call(e,t)&&i(a,n)&&(void 0!==n||t in e)||r(e,t,n)}},18470:(e,t,n)=>{var r=n(77813);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},81119:(e,t,n)=>{var r=n(89881);e.exports=function(e,t,n,i){return r(e,(function(e,r,o){t(i,e,n(e),o)})),i}},44037:(e,t,n)=>{var r=n(98363),i=n(3674);e.exports=function(e,t){return e&&r(t,i(t),e)}},63886:(e,t,n)=>{var r=n(98363),i=n(81704);e.exports=function(e,t){return e&&r(t,i(t),e)}},89465:(e,t,n)=>{var r=n(38777);e.exports=function(e,t,n){\"__proto__\"==t&&r?r(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}},29750:e=>{e.exports=function(e,t,n){return e==e&&(void 0!==n&&(e=e<=n?e:n),void 0!==t&&(e=e>=t?e:t)),e}},85990:(e,t,n)=>{var r=n(46384),i=n(77412),o=n(34865),a=n(44037),s=n(63886),u=n(64626),l=n(278),c=n(18805),f=n(1911),p=n(58234),d=n(46904),h=n(64160),m=n(43824),y=n(29148),v=n(38517),g=n(1469),b=n(44144),x=n(56688),_=n(13218),w=n(72928),E=n(3674),S=n(81704),k=\"[object Arguments]\",A=\"[object Function]\",C=\"[object Object]\",T={};T[k]=T[\"[object Array]\"]=T[\"[object ArrayBuffer]\"]=T[\"[object DataView]\"]=T[\"[object Boolean]\"]=T[\"[object Date]\"]=T[\"[object Float32Array]\"]=T[\"[object Float64Array]\"]=T[\"[object Int8Array]\"]=T[\"[object Int16Array]\"]=T[\"[object Int32Array]\"]=T[\"[object Map]\"]=T[\"[object Number]\"]=T[C]=T[\"[object RegExp]\"]=T[\"[object Set]\"]=T[\"[object String]\"]=T[\"[object Symbol]\"]=T[\"[object Uint8Array]\"]=T[\"[object Uint8ClampedArray]\"]=T[\"[object Uint16Array]\"]=T[\"[object Uint32Array]\"]=!0,T[\"[object Error]\"]=T[A]=T[\"[object WeakMap]\"]=!1,e.exports=function e(t,n,D,M,P,O){var L,N=1&n,F=2&n,R=4&n;if(D&&(L=P?D(t,M,P,O):D(t)),void 0!==L)return L;if(!_(t))return t;var I=g(t);if(I){if(L=m(t),!N)return l(t,L)}else{var j=h(t),B=j==A||\"[object GeneratorFunction]\"==j;if(b(t))return u(t,N);if(j==C||j==k||B&&!P){if(L=F||B?{}:v(t),!N)return F?f(t,s(L,t)):c(t,a(L,t))}else{if(!T[j])return P?t:{};L=y(t,j,N)}}O||(O=new r);var q=O.get(t);if(q)return q;O.set(t,L),w(t)?t.forEach((function(r){L.add(e(r,n,D,r,t,O))})):x(t)&&t.forEach((function(r,i){L.set(i,e(r,n,D,i,t,O))}));var z=I?void 0:(R?F?d:p:F?S:E)(t);return i(z||t,(function(r,i){z&&(r=t[i=r]),o(L,i,e(r,n,D,i,t,O))})),L}},3118:(e,t,n)=>{var r=n(13218),i=Object.create,o=function(){function e(){}return function(t){if(!r(t))return{};if(i)return i(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();e.exports=o},89881:(e,t,n)=>{var r=n(47816),i=n(99291)(r);e.exports=i},56029:(e,t,n)=>{var r=n(33448);e.exports=function(e,t,n){for(var i=-1,o=e.length;++i<o;){var a=e[i],s=t(a);if(null!=s&&(void 0===u?s==s&&!r(s):n(s,u)))var u=s,l=a}return l}},41848:e=>{e.exports=function(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}},21078:(e,t,n)=>{var r=n(62488),i=n(37285);e.exports=function e(t,n,o,a,s){var u=-1,l=t.length;for(o||(o=i),s||(s=[]);++u<l;){var c=t[u];n>0&&o(c)?n>1?e(c,n-1,o,a,s):r(s,c):a||(s[s.length]=c)}return s}},28483:(e,t,n)=>{var r=n(25063)();e.exports=r},47816:(e,t,n)=>{var r=n(28483),i=n(3674);e.exports=function(e,t){return e&&r(e,t,i)}},97786:(e,t,n)=>{var r=n(71811),i=n(40327);e.exports=function(e,t){for(var n=0,o=(t=r(t,e)).length;null!=e&&n<o;)e=e[i(t[n++])];return n&&n==o?e:void 0}},68866:(e,t,n)=>{var r=n(62488),i=n(1469);e.exports=function(e,t,n){var o=t(e);return i(e)?o:r(o,n(e))}},44239:(e,t,n)=>{var r=n(62705),i=n(89607),o=n(2333),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":a&&a in Object(e)?i(e):o(e)}},53325:e=>{e.exports=function(e,t){return e>t}},78565:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e,n){return null!=e&&t.call(e,n)}},13:e=>{e.exports=function(e,t){return null!=e&&t in Object(e)}},15600:e=>{var t=Math.max,n=Math.min;e.exports=function(e,r,i){return e>=n(r,i)&&e<t(r,i)}},42118:(e,t,n)=>{var r=n(41848),i=n(62722),o=n(42351);e.exports=function(e,t,n){return t==t?o(e,t,n):r(e,i,n)}},9454:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return i(e)&&\"[object Arguments]\"==r(e)}},41761:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return i(e)&&\"[object Date]\"==r(e)}},90939:(e,t,n)=>{var r=n(2492),i=n(37005);e.exports=function e(t,n,o,a,s){return t===n||(null==t||null==n||!i(t)&&!i(n)?t!=t&&n!=n:r(t,n,o,a,e,s))}},2492:(e,t,n)=>{var r=n(46384),i=n(67114),o=n(18351),a=n(16096),s=n(64160),u=n(1469),l=n(44144),c=n(36719),f=\"[object Arguments]\",p=\"[object Array]\",d=\"[object Object]\",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,m,y,v){var g=u(e),b=u(t),x=g?p:s(e),_=b?p:s(t),w=(x=x==f?d:x)==d,E=(_=_==f?d:_)==d,S=x==_;if(S&&l(e)){if(!l(t))return!1;g=!0,w=!1}if(S&&!w)return v||(v=new r),g||c(e)?i(e,t,n,m,y,v):o(e,t,x,n,m,y,v);if(!(1&n)){var k=w&&h.call(e,\"__wrapped__\"),A=E&&h.call(t,\"__wrapped__\");if(k||A){var C=k?e.value():e,T=A?t.value():t;return v||(v=new r),y(C,T,n,m,v)}}return!!S&&(v||(v=new r),a(e,t,n,m,y,v))}},25588:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&\"[object Map]\"==r(e)}},2958:(e,t,n)=>{var r=n(46384),i=n(90939);e.exports=function(e,t,n,o){var a=n.length,s=a,u=!o;if(null==e)return!s;for(e=Object(e);a--;){var l=n[a];if(u&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<s;){var c=(l=n[a])[0],f=e[c],p=l[1];if(u&&l[2]){if(void 0===f&&!(c in e))return!1}else{var d=new r;if(o)var h=o(f,p,c,e,t,d);if(!(void 0===h?i(p,f,3,o,d):h))return!1}}return!0}},62722:e=>{e.exports=function(e){return e!=e}},28458:(e,t,n)=>{var r=n(23560),i=n(15346),o=n(13218),a=n(80346),s=/^\\[object .+?Constructor\\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,f=l.hasOwnProperty,p=RegExp(\"^\"+c.call(f).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=function(e){return!(!o(e)||i(e))&&(r(e)?p:s).test(a(e))}},29221:(e,t,n)=>{var r=n(64160),i=n(37005);e.exports=function(e){return i(e)&&\"[object Set]\"==r(e)}},38749:(e,t,n)=>{var r=n(44239),i=n(41780),o=n(37005),a={};a[\"[object Float32Array]\"]=a[\"[object Float64Array]\"]=a[\"[object Int8Array]\"]=a[\"[object Int16Array]\"]=a[\"[object Int32Array]\"]=a[\"[object Uint8Array]\"]=a[\"[object Uint8ClampedArray]\"]=a[\"[object Uint16Array]\"]=a[\"[object Uint32Array]\"]=!0,a[\"[object Arguments]\"]=a[\"[object Array]\"]=a[\"[object ArrayBuffer]\"]=a[\"[object Boolean]\"]=a[\"[object DataView]\"]=a[\"[object Date]\"]=a[\"[object Error]\"]=a[\"[object Function]\"]=a[\"[object Map]\"]=a[\"[object Number]\"]=a[\"[object Object]\"]=a[\"[object RegExp]\"]=a[\"[object Set]\"]=a[\"[object String]\"]=a[\"[object WeakMap]\"]=!1,e.exports=function(e){return o(e)&&i(e.length)&&!!a[r(e)]}},67206:(e,t,n)=>{var r=n(91573),i=n(16432),o=n(6557),a=n(1469),s=n(39601);e.exports=function(e){return\"function\"==typeof e?e:null==e?o:\"object\"==typeof e?a(e)?i(e[0],e[1]):r(e):s(e)}},280:(e,t,n)=>{var r=n(25726),i=n(86916),o=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return i(e);var t=[];for(var n in Object(e))o.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}},10313:(e,t,n)=>{var r=n(13218),i=n(25726),o=n(33498),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!r(e))return o(e);var t=i(e),n=[];for(var s in e)(\"constructor\"!=s||!t&&a.call(e,s))&&n.push(s);return n}},70433:e=>{e.exports=function(e,t){return e<t}},69199:(e,t,n)=>{var r=n(89881),i=n(98612);e.exports=function(e,t){var n=-1,o=i(e)?Array(e.length):[];return r(e,(function(e,r,i){o[++n]=t(e,r,i)})),o}},91573:(e,t,n)=>{var r=n(2958),i=n(1499),o=n(42634);e.exports=function(e){var t=i(e);return 1==t.length&&t[0][2]?o(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},16432:(e,t,n)=>{var r=n(90939),i=n(27361),o=n(79095),a=n(15403),s=n(89162),u=n(42634),l=n(40327);e.exports=function(e,t){return a(e)&&s(t)?u(l(e),t):function(n){var a=i(n,e);return void 0===a&&a===t?o(n,e):r(t,a,3)}}},63012:(e,t,n)=>{var r=n(97786),i=n(10611),o=n(71811);e.exports=function(e,t,n){for(var a=-1,s=t.length,u={};++a<s;){var l=t[a],c=r(e,l);n(c,l)&&i(u,o(l,e),c)}return u}},40371:e=>{e.exports=function(e){return function(t){return null==t?void 0:t[e]}}},79152:(e,t,n)=>{var r=n(97786);e.exports=function(e){return function(t){return r(t,e)}}},18674:e=>{e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},40098:e=>{var t=Math.ceil,n=Math.max;e.exports=function(e,r,i,o){for(var a=-1,s=n(t((r-e)/(i||1)),0),u=Array(s);s--;)u[o?s:++a]=e,e+=i;return u}},10107:e=>{e.exports=function(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}},5976:(e,t,n)=>{var r=n(6557),i=n(45357),o=n(30061);e.exports=function(e,t){return o(i(e,t,r),e+\"\")}},10611:(e,t,n)=>{var r=n(34865),i=n(71811),o=n(65776),a=n(13218),s=n(40327);e.exports=function(e,t,n,u){if(!a(e))return e;for(var l=-1,c=(t=i(t,e)).length,f=c-1,p=e;null!=p&&++l<c;){var d=s(t[l]),h=n;if(\"__proto__\"===d||\"constructor\"===d||\"prototype\"===d)return e;if(l!=f){var m=p[d];void 0===(h=u?u(m,d,p):void 0)&&(h=a(m)?m:o(t[l+1])?[]:{})}r(p,d,h),p=p[d]}return e}},56560:(e,t,n)=>{var r=n(75703),i=n(38777),o=n(6557),a=i?function(e,t){return i(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:o;e.exports=a},14259:e=>{e.exports=function(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=Array(i);++r<i;)o[r]=e[r+t];return o}},67762:e=>{e.exports=function(e,t){for(var n,r=-1,i=e.length;++r<i;){var o=t(e[r]);void 0!==o&&(n=void 0===n?o:n+o)}return n}},22545:e=>{e.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},80531:(e,t,n)=>{var r=n(62705),i=n(29932),o=n(1469),a=n(33448),s=r?r.prototype:void 0,u=s?s.toString:void 0;e.exports=function e(t){if(\"string\"==typeof t)return t;if(o(t))return i(t,e)+\"\";if(a(t))return u?u.call(t):\"\";var n=t+\"\";return\"0\"==n&&1/t==-1/0?\"-0\":n}},27561:(e,t,n)=>{var r=n(67990),i=/^\\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(i,\"\"):e}},7518:e=>{e.exports=function(e){return function(t){return e(t)}}},45652:(e,t,n)=>{var r=n(88668),i=n(47443),o=n(1196),a=n(74757),s=n(23593),u=n(21814);e.exports=function(e,t,n){var l=-1,c=i,f=e.length,p=!0,d=[],h=d;if(n)p=!1,c=o;else if(f>=200){var m=t?null:s(e);if(m)return u(m);p=!1,c=a,h=new r}else h=t?[]:d;e:for(;++l<f;){var y=e[l],v=t?t(y):y;if(y=n||0!==y?y:0,p&&v==v){for(var g=h.length;g--;)if(h[g]===v)continue e;t&&h.push(v),d.push(y)}else c(h,v,n)||(h!==d&&h.push(v),d.push(y))}return d}},57406:(e,t,n)=>{var r=n(71811),i=n(10928),o=n(40292),a=n(40327);e.exports=function(e,t){return t=r(t,e),null==(e=o(e,t))||delete e[a(i(t))]}},74757:e=>{e.exports=function(e,t){return e.has(t)}},54290:(e,t,n)=>{var r=n(6557);e.exports=function(e){return\"function\"==typeof e?e:r}},71811:(e,t,n)=>{var r=n(1469),i=n(15403),o=n(55514),a=n(79833);e.exports=function(e,t){return r(e)?e:i(e,t)?[e]:o(a(e))}},40180:(e,t,n)=>{var r=n(14259);e.exports=function(e,t,n){var i=e.length;return n=void 0===n?i:n,!t&&n>=i?e:r(e,t,n)}},74318:(e,t,n)=>{var r=n(11149);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},64626:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var n=e.length,r=s?s(n):new e.constructor(n);return e.copy(r),r}},57157:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}},93147:e=>{var t=/\\w*$/;e.exports=function(e){var n=new e.constructor(e.source,t.exec(e));return n.lastIndex=e.lastIndex,n}},40419:(e,t,n)=>{var r=n(62705),i=r?r.prototype:void 0,o=i?i.valueOf:void 0;e.exports=function(e){return o?Object(o.call(e)):{}}},77133:(e,t,n)=>{var r=n(74318);e.exports=function(e,t){var n=t?r(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}},278:e=>{e.exports=function(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}},98363:(e,t,n)=>{var r=n(34865),i=n(89465);e.exports=function(e,t,n,o){var a=!n;n||(n={});for(var s=-1,u=t.length;++s<u;){var l=t[s],c=o?o(n[l],e[l],l,n,e):void 0;void 0===c&&(c=e[l]),a?i(n,l,c):r(n,l,c)}return n}},18805:(e,t,n)=>{var r=n(98363),i=n(99551);e.exports=function(e,t){return r(e,i(e),t)}},1911:(e,t,n)=>{var r=n(98363),i=n(51442);e.exports=function(e,t){return r(e,i(e),t)}},14429:(e,t,n)=>{var r=n(55639)[\"__core-js_shared__\"];e.exports=r},55189:(e,t,n)=>{var r=n(44174),i=n(81119),o=n(67206),a=n(1469);e.exports=function(e,t){return function(n,s){var u=a(n)?r:i,l=t?t():{};return u(n,e,o(s,2),l)}}},99291:(e,t,n)=>{var r=n(98612);e.exports=function(e,t){return function(n,i){if(null==n)return n;if(!r(n))return e(n,i);for(var o=n.length,a=t?o:-1,s=Object(n);(t?a--:++a<o)&&!1!==i(s[a],a,s););return n}}},25063:e=>{e.exports=function(e){return function(t,n,r){for(var i=-1,o=Object(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}},98805:(e,t,n)=>{var r=n(40180),i=n(62689),o=n(83140),a=n(79833);e.exports=function(e){return function(t){t=a(t);var n=i(t)?o(t):void 0,s=n?n[0]:t.charAt(0),u=n?r(n,1).join(\"\"):t.slice(1);return s[e]()+u}}},35393:(e,t,n)=>{var r=n(62663),i=n(53816),o=n(58748),a=RegExp(\"['’]\",\"g\");e.exports=function(e){return function(t){return r(o(i(t).replace(a,\"\")),e,\"\")}}},47445:(e,t,n)=>{var r=n(40098),i=n(16612),o=n(18601);e.exports=function(e){return function(t,n,a){return a&&\"number\"!=typeof a&&i(t,n,a)&&(n=a=void 0),t=o(t),void 0===n?(n=t,t=0):n=o(n),a=void 0===a?t<n?1:-1:o(a),r(t,n,a,e)}}},23593:(e,t,n)=>{var r=n(58525),i=n(50308),o=n(21814),a=r&&1/o(new r([,-0]))[1]==1/0?function(e){return new r(e)}:i;e.exports=a},60696:(e,t,n)=>{var r=n(68630);e.exports=function(e){return r(e)?void 0:e}},69389:(e,t,n)=>{var r=n(18674)({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"});e.exports=r},38777:(e,t,n)=>{var r=n(10852),i=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=i},67114:(e,t,n)=>{var r=n(88668),i=n(82908),o=n(74757);e.exports=function(e,t,n,a,s,u){var l=1&n,c=e.length,f=t.length;if(c!=f&&!(l&&f>c))return!1;var p=u.get(e),d=u.get(t);if(p&&d)return p==t&&d==e;var h=-1,m=!0,y=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++h<c;){var v=e[h],g=t[h];if(a)var b=l?a(g,v,h,t,e,u):a(v,g,h,e,t,u);if(void 0!==b){if(b)continue;m=!1;break}if(y){if(!i(t,(function(e,t){if(!o(y,t)&&(v===e||s(v,e,n,a,u)))return y.push(t)}))){m=!1;break}}else if(v!==g&&!s(v,g,n,a,u)){m=!1;break}}return u.delete(e),u.delete(t),m}},18351:(e,t,n)=>{var r=n(62705),i=n(11149),o=n(77813),a=n(67114),s=n(68776),u=n(21814),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;e.exports=function(e,t,n,r,l,f,p){switch(n){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||!f(new i(e),new i(t)));case\"[object Boolean]\":case\"[object Date]\":case\"[object Number]\":return o(+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=s;case\"[object Set]\":var h=1&r;if(d||(d=u),e.size!=t.size&&!h)return!1;var m=p.get(e);if(m)return m==t;r|=2,p.set(e,t);var y=a(d(e),d(t),r,l,f,p);return p.delete(e),y;case\"[object Symbol]\":if(c)return c.call(e)==c.call(t)}return!1}},16096:(e,t,n)=>{var r=n(58234),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n,o,a,s){var u=1&n,l=r(e),c=l.length;if(c!=r(t).length&&!u)return!1;for(var f=c;f--;){var p=l[f];if(!(u?p in t:i.call(t,p)))return!1}var d=s.get(e),h=s.get(t);if(d&&h)return d==t&&h==e;var m=!0;s.set(e,t),s.set(t,e);for(var y=u;++f<c;){var v=e[p=l[f]],g=t[p];if(o)var b=u?o(g,v,p,t,e,s):o(v,g,p,e,t,s);if(!(void 0===b?v===g||a(v,g,n,o,s):b)){m=!1;break}y||(y=\"constructor\"==p)}if(m&&!y){var x=e.constructor,_=t.constructor;x==_||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof x&&x instanceof x&&\"function\"==typeof _&&_ instanceof _||(m=!1)}return s.delete(e),s.delete(t),m}},99021:(e,t,n)=>{var r=n(85564),i=n(45357),o=n(30061);e.exports=function(e){return o(i(e,void 0,r),e+\"\")}},31957:(e,t,n)=>{var r=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},58234:(e,t,n)=>{var r=n(68866),i=n(99551),o=n(3674);e.exports=function(e){return r(e,o,i)}},46904:(e,t,n)=>{var r=n(68866),i=n(51442),o=n(81704);e.exports=function(e){return r(e,o,i)}},45050:(e,t,n)=>{var r=n(37019);e.exports=function(e,t){var n=e.__data__;return r(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}},1499:(e,t,n)=>{var r=n(89162),i=n(3674);e.exports=function(e){for(var t=i(e),n=t.length;n--;){var o=t[n],a=e[o];t[n]=[o,a,r(a)]}return t}},10852:(e,t,n)=>{var r=n(28458),i=n(47801);e.exports=function(e,t){var n=i(e,t);return r(n)?n:void 0}},85924:(e,t,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);e.exports=r},89607:(e,t,n)=>{var r=n(62705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var i=a.call(e);return r&&(t?e[s]=n:delete e[s]),i}},99551:(e,t,n)=>{var r=n(34963),i=n(70479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(e){return null==e?[]:(e=Object(e),r(a(e),(function(t){return o.call(e,t)})))}:i;e.exports=s},51442:(e,t,n)=>{var r=n(62488),i=n(85924),o=n(99551),a=n(70479),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,o(e)),e=i(e);return t}:a;e.exports=s},64160:(e,t,n)=>{var r=n(18552),i=n(57071),o=n(53818),a=n(58525),s=n(70577),u=n(44239),l=n(80346),c=\"[object Map]\",f=\"[object Promise]\",p=\"[object Set]\",d=\"[object WeakMap]\",h=\"[object DataView]\",m=l(r),y=l(i),v=l(o),g=l(a),b=l(s),x=u;(r&&x(new r(new ArrayBuffer(1)))!=h||i&&x(new i)!=c||o&&x(o.resolve())!=f||a&&x(new a)!=p||s&&x(new s)!=d)&&(x=function(e){var t=u(e),n=\"[object Object]\"==t?e.constructor:void 0,r=n?l(n):\"\";if(r)switch(r){case m:return h;case y:return c;case v:return f;case g:return p;case b:return d}return t}),e.exports=x},47801:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},222:(e,t,n)=>{var r=n(71811),i=n(35694),o=n(1469),a=n(65776),s=n(41780),u=n(40327);e.exports=function(e,t,n){for(var l=-1,c=(t=r(t,e)).length,f=!1;++l<c;){var p=u(t[l]);if(!(f=null!=e&&n(e,p)))break;e=e[p]}return f||++l!=c?f:!!(c=null==e?0:e.length)&&s(c)&&a(p,c)&&(o(e)||i(e))}},62689:e=>{var t=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");e.exports=function(e){return t.test(e)}},93157:e=>{var t=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return t.test(e)}},51789:(e,t,n)=>{var r=n(94536);e.exports=function(){this.__data__=r?r(null):{},this.size=0}},80401:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},57667:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(r){var n=t[e];return\"__lodash_hash_undefined__\"===n?void 0:n}return i.call(t,e)?t[e]:void 0}},21327:(e,t,n)=>{var r=n(94536),i=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:i.call(t,e)}},81866:(e,t,n)=>{var r=n(94536);e.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?\"__lodash_hash_undefined__\":t,this}},43824:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var n=e.length,r=new e.constructor(n);return n&&\"string\"==typeof e[0]&&t.call(e,\"index\")&&(r.index=e.index,r.input=e.input),r}},29148:(e,t,n)=>{var r=n(74318),i=n(57157),o=n(93147),a=n(40419),s=n(77133);e.exports=function(e,t,n){var u=e.constructor;switch(t){case\"[object ArrayBuffer]\":return r(e);case\"[object Boolean]\":case\"[object Date]\":return new u(+e);case\"[object DataView]\":return i(e,n);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 s(e,n);case\"[object Map]\":case\"[object Set]\":return new u;case\"[object Number]\":case\"[object String]\":return new u(e);case\"[object RegExp]\":return o(e);case\"[object Symbol]\":return a(e)}}},38517:(e,t,n)=>{var r=n(3118),i=n(85924),o=n(25726);e.exports=function(e){return\"function\"!=typeof e.constructor||o(e)?{}:r(i(e))}},37285:(e,t,n)=>{var r=n(62705),i=n(35694),o=n(1469),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return o(e)||i(e)||!!(a&&e&&e[a])}},65776:e=>{var t=/^(?:0|[1-9]\\d*)$/;e.exports=function(e,n){var r=typeof e;return!!(n=null==n?9007199254740991:n)&&(\"number\"==r||\"symbol\"!=r&&t.test(e))&&e>-1&&e%1==0&&e<n}},16612:(e,t,n)=>{var r=n(77813),i=n(98612),o=n(65776),a=n(13218);e.exports=function(e,t,n){if(!a(n))return!1;var s=typeof t;return!!(\"number\"==s?i(n)&&o(t,n.length):\"string\"==s&&t in n)&&r(n[t],e)}},15403:(e,t,n)=>{var r=n(1469),i=n(33448),o=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,a=/^\\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!i(e))||a.test(e)||!o.test(e)||null!=t&&e in Object(t)}},37019:e=>{e.exports=function(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}},15346:(e,t,n)=>{var r,i=n(14429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+r:\"\";e.exports=function(e){return!!o&&o in e}},25726:e=>{var t=Object.prototype;e.exports=function(e){var n=e&&e.constructor;return e===(\"function\"==typeof n&&n.prototype||t)}},89162:(e,t,n)=>{var r=n(13218);e.exports=function(e){return e==e&&!r(e)}},27040:e=>{e.exports=function(){this.__data__=[],this.size=0}},14125:(e,t,n)=>{var r=n(18470),i=Array.prototype.splice;e.exports=function(e){var t=this.__data__,n=r(t,e);return!(n<0||(n==t.length-1?t.pop():i.call(t,n,1),--this.size,0))}},82117:(e,t,n)=>{var r=n(18470);e.exports=function(e){var t=this.__data__,n=r(t,e);return n<0?void 0:t[n][1]}},67518:(e,t,n)=>{var r=n(18470);e.exports=function(e){return r(this.__data__,e)>-1}},54705:(e,t,n)=>{var r=n(18470);e.exports=function(e,t){var n=this.__data__,i=r(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this}},24785:(e,t,n)=>{var r=n(1989),i=n(38407),o=n(57071);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},11285:(e,t,n)=>{var r=n(45050);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},96e3:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).get(e)}},49916:(e,t,n)=>{var r=n(45050);e.exports=function(e){return r(this,e).has(e)}},95265:(e,t,n)=>{var r=n(45050);e.exports=function(e,t){var n=r(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this}},68776:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}},42634:e=>{e.exports=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}}},24523:(e,t,n)=>{var r=n(88306);e.exports=function(e){var t=r(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}},94536:(e,t,n)=>{var r=n(10852)(Object,\"create\");e.exports=r},86916:(e,t,n)=>{var r=n(5569)(Object.keys,Object);e.exports=r},33498:e=>{e.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},31167:(e,t,n)=>{e=n.nmd(e);var r=n(31957),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require(\"util\").types||a&&a.binding&&a.binding(\"util\")}catch(e){}}();e.exports=s},2333:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},5569:e=>{e.exports=function(e,t){return function(n){return e(t(n))}}},45357:(e,t,n)=>{var r=n(96874),i=Math.max;e.exports=function(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var o=arguments,a=-1,s=i(o.length-t,0),u=Array(s);++a<s;)u[a]=o[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=o[a];return l[t]=n(u),r(e,this,l)}}},40292:(e,t,n)=>{var r=n(97786),i=n(14259);e.exports=function(e,t){return t.length<2?e:r(e,i(t,0,-1))}},55639:(e,t,n)=>{var r=n(31957),i=\"object\"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function(\"return this\")();e.exports=o},90619:e=>{e.exports=function(e){return this.__data__.set(e,\"__lodash_hash_undefined__\"),this}},72385:e=>{e.exports=function(e){return this.__data__.has(e)}},21814:e=>{e.exports=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}},30061:(e,t,n)=>{var r=n(56560),i=n(21275)(r);e.exports=i},21275:e=>{var t=Date.now;e.exports=function(e){var n=0,r=0;return function(){var i=t(),o=16-(i-r);if(r=i,o>0){if(++n>=800)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}},37465:(e,t,n)=>{var r=n(38407);e.exports=function(){this.__data__=new r,this.size=0}},63779:e=>{e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},67599:e=>{e.exports=function(e){return this.__data__.get(e)}},44758:e=>{e.exports=function(e){return this.__data__.has(e)}},34309:(e,t,n)=>{var r=n(38407),i=n(57071),o=n(83369);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(e,t),this.size=n.size,this}},42351:e=>{e.exports=function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}},83140:(e,t,n)=>{var r=n(44286),i=n(62689),o=n(676);e.exports=function(e){return i(e)?o(e):r(e)}},55514:(e,t,n)=>{var r=n(24523),i=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,o=/\\\\(\\\\)?/g,a=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(i,(function(e,n,r,i){t.push(r?i.replace(o,\"$1\"):n||e)})),t}));e.exports=a},40327:(e,t,n)=>{var r=n(33448);e.exports=function(e){if(\"string\"==typeof e||r(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}},80346:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}},67990:e=>{var t=/\\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},676:e=>{var t=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",n=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",r=\"[^\\\\ud800-\\\\udfff]\",i=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",o=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",a=\"(?:\"+t+\"|\"+n+\")?\",s=\"[\\\\ufe0e\\\\ufe0f]?\",u=s+a+\"(?:\\\\u200d(?:\"+[r,i,o].join(\"|\")+\")\"+s+a+\")*\",l=\"(?:\"+[r+t+\"?\",t,i,o,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",c=RegExp(n+\"(?=\"+n+\")|\"+l+u,\"g\");e.exports=function(e){return e.match(c)||[]}},2757:e=>{var t=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",n=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",r=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",i=\"[\"+r+\"]\",o=\"\\\\d+\",a=\"[\"+t+\"]\",s=\"[^\\\\ud800-\\\\udfff\"+r+o+\"\\\\u2700-\\\\u27bf\"+t+n+\"]\",u=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",l=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",c=\"[\"+n+\"]\",f=\"(?:\"+a+\"|\"+s+\")\",p=\"(?:\"+c+\"|\"+s+\")\",d=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",h=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",m=\"(?:[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]|\\\\ud83c[\\\\udffb-\\\\udfff])?\",y=\"[\\\\ufe0e\\\\ufe0f]?\",v=y+m+\"(?:\\\\u200d(?:\"+[\"[^\\\\ud800-\\\\udfff]\",u,l].join(\"|\")+\")\"+y+m+\")*\",g=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",u,l].join(\"|\")+\")\"+v,b=RegExp([c+\"?\"+a+\"+\"+d+\"(?=\"+[i,c,\"$\"].join(\"|\")+\")\",p+\"+\"+h+\"(?=\"+[i,c+f,\"$\"].join(\"|\")+\")\",c+\"?\"+f+\"+\"+d,c+\"+\"+h,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",o,g].join(\"|\"),\"g\");e.exports=function(e){return e.match(b)||[]}},48403:(e,t,n)=>{var r=n(79833),i=n(11700);e.exports=function(e){return i(r(e).toLowerCase())}},74691:(e,t,n)=>{var r=n(29750),i=n(14841);e.exports=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=i(n))==n?n:0),void 0!==t&&(t=(t=i(t))==t?t:0),r(i(e),t,n)}},66678:(e,t,n)=>{var r=n(85990);e.exports=function(e){return r(e,4)}},50361:(e,t,n)=>{var r=n(85990);e.exports=function(e){return r(e,5)}},39693:e=>{e.exports=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i}},75703:e=>{e.exports=function(e){return function(){return e}}},53816:(e,t,n)=>{var r=n(69389),i=n(79833),o=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,a=RegExp(\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\"g\");e.exports=function(e){return(e=i(e))&&e.replace(o,r).replace(a,\"\")}},91747:(e,t,n)=>{var r=n(5976),i=n(77813),o=n(16612),a=n(81704),s=Object.prototype,u=s.hasOwnProperty,l=r((function(e,t){e=Object(e);var n=-1,r=t.length,l=r>2?t[2]:void 0;for(l&&o(t[0],t[1],l)&&(r=1);++n<r;)for(var c=t[n],f=a(c),p=-1,d=f.length;++p<d;){var h=f[p],m=e[h];(void 0===m||i(m,s[h])&&!u.call(e,h))&&(e[h]=c[h])}return e}));e.exports=l},77813:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},3736:(e,t,n)=>{e.exports=n(91175)},85564:(e,t,n)=>{var r=n(21078);e.exports=function(e){return null!=e&&e.length?r(e,1):[]}},84486:(e,t,n)=>{var r=n(77412),i=n(89881),o=n(54290),a=n(1469);e.exports=function(e,t){return(a(e)?r:i)(e,o(t))}},17204:e=>{e.exports=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r}},27361:(e,t,n)=>{var r=n(97786);e.exports=function(e,t,n){var i=null==e?void 0:r(e,t);return void 0===i?n:i}},18721:(e,t,n)=>{var r=n(78565),i=n(222);e.exports=function(e,t){return null!=e&&i(e,t,r)}},79095:(e,t,n)=>{var r=n(13),i=n(222);e.exports=function(e,t){return null!=e&&i(e,t,r)}},91175:e=>{e.exports=function(e){return e&&e.length?e[0]:void 0}},6557:e=>{e.exports=function(e){return e}},94174:(e,t,n)=>{var r=n(15600),i=n(18601),o=n(14841);e.exports=function(e,t,n){return t=i(t),void 0===n?(n=t,t=0):n=i(n),e=o(e),r(e,t,n)}},35694:(e,t,n)=>{var r=n(9454),i=n(37005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return i(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=u},1469:e=>{var t=Array.isArray;e.exports=t},98612:(e,t,n)=>{var r=n(23560),i=n(41780);e.exports=function(e){return null!=e&&i(e.length)&&!r(e)}},44144:(e,t,n)=>{e=n.nmd(e);var r=n(55639),i=n(95062),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;e.exports=u},47960:(e,t,n)=>{var r=n(41761),i=n(7518),o=n(31167),a=o&&o.isDate,s=a?i(a):r;e.exports=s},18446:(e,t,n)=>{var r=n(90939);e.exports=function(e,t){return r(e,t)}},23560:(e,t,n)=>{var r=n(44239),i=n(13218);e.exports=function(e){if(!i(e))return!1;var t=r(e);return\"[object Function]\"==t||\"[object GeneratorFunction]\"==t||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}},41780:e=>{e.exports=function(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},56688:(e,t,n)=>{var r=n(25588),i=n(7518),o=n(31167),a=o&&o.isMap,s=a?i(a):r;e.exports=s},45220:e=>{e.exports=function(e){return null===e}},81763:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return\"number\"==typeof e||i(e)&&\"[object Number]\"==r(e)}},13218:e=>{e.exports=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}},37005:e=>{e.exports=function(e){return null!=e&&\"object\"==typeof e}},68630:(e,t,n)=>{var r=n(44239),i=n(85924),o=n(37005),a=Function.prototype,s=Object.prototype,u=a.toString,l=s.hasOwnProperty,c=u.call(Object);e.exports=function(e){if(!o(e)||\"[object Object]\"!=r(e))return!1;var t=i(e);if(null===t)return!0;var n=l.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&u.call(n)==c}},72928:(e,t,n)=>{var r=n(29221),i=n(7518),o=n(31167),a=o&&o.isSet,s=a?i(a):r;e.exports=s},47037:(e,t,n)=>{var r=n(44239),i=n(1469),o=n(37005);e.exports=function(e){return\"string\"==typeof e||!i(e)&&o(e)&&\"[object String]\"==r(e)}},33448:(e,t,n)=>{var r=n(44239),i=n(37005);e.exports=function(e){return\"symbol\"==typeof e||i(e)&&\"[object Symbol]\"==r(e)}},36719:(e,t,n)=>{var r=n(38749),i=n(7518),o=n(31167),a=o&&o.isTypedArray,s=a?i(a):r;e.exports=s},52353:e=>{e.exports=function(e){return void 0===e}},21804:(e,t,n)=>{var r=n(35393)((function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}));e.exports=r},24350:(e,t,n)=>{var r=n(89465),i=n(55189)((function(e,t,n){r(e,n,t)}));e.exports=i},3674:(e,t,n)=>{var r=n(14636),i=n(280),o=n(98612);e.exports=function(e){return o(e)?r(e):i(e)}},81704:(e,t,n)=>{var r=n(14636),i=n(10313),o=n(98612);e.exports=function(e){return o(e)?r(e,!0):i(e)}},10928:e=>{e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},96486:function(e,t,n){var r;e=n.nmd(e),function(){var i,o=\"Expected a function\",a=\"__lodash_hash_undefined__\",s=\"__lodash_placeholder__\",u=32,l=128,c=1/0,f=9007199254740991,p=NaN,d=4294967295,h=[[\"ary\",l],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",u],[\"partialRight\",64],[\"rearg\",256]],m=\"[object Arguments]\",y=\"[object Array]\",v=\"[object Boolean]\",g=\"[object Date]\",b=\"[object Error]\",x=\"[object Function]\",_=\"[object GeneratorFunction]\",w=\"[object Map]\",E=\"[object Number]\",S=\"[object Object]\",k=\"[object Promise]\",A=\"[object RegExp]\",C=\"[object Set]\",T=\"[object String]\",D=\"[object Symbol]\",M=\"[object WeakMap]\",P=\"[object ArrayBuffer]\",O=\"[object DataView]\",L=\"[object Float32Array]\",N=\"[object Float64Array]\",F=\"[object Int8Array]\",R=\"[object Int16Array]\",I=\"[object Int32Array]\",j=\"[object Uint8Array]\",B=\"[object Uint8ClampedArray]\",q=\"[object Uint16Array]\",z=\"[object Uint32Array]\",V=/\\b__p \\+= '';/g,U=/\\b(__p \\+=) '' \\+/g,W=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,Y=/&(?:amp|lt|gt|quot|#39);/g,X=/[&<>\"']/g,H=RegExp(Y.source),G=RegExp(X.source),$=/<%-([\\s\\S]+?)%>/g,K=/<%([\\s\\S]+?)%>/g,Z=/<%=([\\s\\S]+?)%>/g,J=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Q=/^\\w*$/,ee=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,te=/[\\\\^$.*+?()[\\]{}|]/g,ne=RegExp(te.source),re=/^\\s+/,ie=/\\s/,oe=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,ae=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,se=/,? & /,ue=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,le=/[()=,{}\\[\\]\\/\\s]/,ce=/\\\\(\\\\)?/g,fe=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,pe=/\\w*$/,de=/^[-+]0x[0-9a-f]+$/i,he=/^0b[01]+$/i,me=/^\\[object .+?Constructor\\]$/,ye=/^0o[0-7]+$/i,ve=/^(?:0|[1-9]\\d*)$/,ge=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,be=/($^)/,xe=/['\\n\\r\\u2028\\u2029\\\\]/g,_e=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",we=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",Ee=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",Se=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",ke=\"[\"+Se+\"]\",Ae=\"[\"+_e+\"]\",Ce=\"\\\\d+\",Te=\"[\"+we+\"]\",De=\"[^\\\\ud800-\\\\udfff\"+Se+Ce+\"\\\\u2700-\\\\u27bf\"+we+Ee+\"]\",Me=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",Pe=\"[^\\\\ud800-\\\\udfff]\",Oe=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",Le=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ne=\"[\"+Ee+\"]\",Fe=\"(?:\"+Te+\"|\"+De+\")\",Re=\"(?:\"+Ne+\"|\"+De+\")\",Ie=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",je=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",Be=\"(?:\"+Ae+\"|\"+Me+\")?\",qe=\"[\\\\ufe0e\\\\ufe0f]?\",ze=qe+Be+\"(?:\\\\u200d(?:\"+[Pe,Oe,Le].join(\"|\")+\")\"+qe+Be+\")*\",Ve=\"(?:\"+[\"[\\\\u2700-\\\\u27bf]\",Oe,Le].join(\"|\")+\")\"+ze,Ue=\"(?:\"+[Pe+Ae+\"?\",Ae,Oe,Le,\"[\\\\ud800-\\\\udfff]\"].join(\"|\")+\")\",We=RegExp(\"['’]\",\"g\"),Ye=RegExp(Ae,\"g\"),Xe=RegExp(Me+\"(?=\"+Me+\")|\"+Ue+ze,\"g\"),He=RegExp([Ne+\"?\"+Te+\"+\"+Ie+\"(?=\"+[ke,Ne,\"$\"].join(\"|\")+\")\",Re+\"+\"+je+\"(?=\"+[ke,Ne+Fe,\"$\"].join(\"|\")+\")\",Ne+\"?\"+Fe+\"+\"+Ie,Ne+\"+\"+je,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Ce,Ve].join(\"|\"),\"g\"),Ge=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+_e+\"\\\\ufe0e\\\\ufe0f]\"),$e=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ke=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Ze=-1,Je={};Je[L]=Je[N]=Je[F]=Je[R]=Je[I]=Je[j]=Je[B]=Je[q]=Je[z]=!0,Je[m]=Je[y]=Je[P]=Je[v]=Je[O]=Je[g]=Je[b]=Je[x]=Je[w]=Je[E]=Je[S]=Je[A]=Je[C]=Je[T]=Je[M]=!1;var Qe={};Qe[m]=Qe[y]=Qe[P]=Qe[O]=Qe[v]=Qe[g]=Qe[L]=Qe[N]=Qe[F]=Qe[R]=Qe[I]=Qe[w]=Qe[E]=Qe[S]=Qe[A]=Qe[C]=Qe[T]=Qe[D]=Qe[j]=Qe[B]=Qe[q]=Qe[z]=!0,Qe[b]=Qe[x]=Qe[M]=!1;var et={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},tt=parseFloat,nt=parseInt,rt=\"object\"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,it=\"object\"==typeof self&&self&&self.Object===Object&&self,ot=rt||it||Function(\"return this\")(),at=t&&!t.nodeType&&t,st=at&&e&&!e.nodeType&&e,ut=st&&st.exports===at,lt=ut&&rt.process,ct=function(){try{return st&&st.require&&st.require(\"util\").types||lt&&lt.binding&&lt.binding(\"util\")}catch(e){}}(),ft=ct&&ct.isArrayBuffer,pt=ct&&ct.isDate,dt=ct&&ct.isMap,ht=ct&&ct.isRegExp,mt=ct&&ct.isSet,yt=ct&&ct.isTypedArray;function vt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function gt(e,t,n,r){for(var i=-1,o=null==e?0:e.length;++i<o;){var a=e[i];t(r,a,n(a),e)}return r}function bt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&!1!==t(e[n],n,e););return e}function xt(e,t){for(var n=null==e?0:e.length;n--&&!1!==t(e[n],n,e););return e}function _t(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function wt(e,t){for(var n=-1,r=null==e?0:e.length,i=0,o=[];++n<r;){var a=e[n];t(a,n,e)&&(o[i++]=a)}return o}function Et(e,t){return!(null==e||!e.length)&&Lt(e,t,0)>-1}function St(e,t,n){for(var r=-1,i=null==e?0:e.length;++r<i;)if(n(t,e[r]))return!0;return!1}function kt(e,t){for(var n=-1,r=null==e?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}function At(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}function Ct(e,t,n,r){var i=-1,o=null==e?0:e.length;for(r&&o&&(n=e[++i]);++i<o;)n=t(n,e[i],i,e);return n}function Tt(e,t,n,r){var i=null==e?0:e.length;for(r&&i&&(n=e[--i]);i--;)n=t(n,e[i],i,e);return n}function Dt(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var Mt=It(\"length\");function Pt(e,t,n){var r;return n(e,(function(e,n,i){if(t(e,n,i))return r=n,!1})),r}function Ot(e,t,n,r){for(var i=e.length,o=n+(r?1:-1);r?o--:++o<i;)if(t(e[o],o,e))return o;return-1}function Lt(e,t,n){return t==t?function(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}(e,t,n):Ot(e,Ft,n)}function Nt(e,t,n,r){for(var i=n-1,o=e.length;++i<o;)if(r(e[i],t))return i;return-1}function Ft(e){return e!=e}function Rt(e,t){var n=null==e?0:e.length;return n?qt(e,t)/n:p}function It(e){return function(t){return null==t?i:t[e]}}function jt(e){return function(t){return null==e?i:e[t]}}function Bt(e,t,n,r,i){return i(e,(function(e,i,o){n=r?(r=!1,e):t(n,e,i,o)})),n}function qt(e,t){for(var n,r=-1,o=e.length;++r<o;){var a=t(e[r]);a!==i&&(n=n===i?a:n+a)}return n}function zt(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function Vt(e){return e?e.slice(0,sn(e)+1).replace(re,\"\"):e}function Ut(e){return function(t){return e(t)}}function Wt(e,t){return kt(t,(function(t){return e[t]}))}function Yt(e,t){return e.has(t)}function Xt(e,t){for(var n=-1,r=e.length;++n<r&&Lt(t,e[n],0)>-1;);return n}function Ht(e,t){for(var n=e.length;n--&&Lt(t,e[n],0)>-1;);return n}function Gt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var $t=jt({À:\"A\",Á:\"A\",Â:\"A\",Ã:\"A\",Ä:\"A\",Å:\"A\",à:\"a\",á:\"a\",â:\"a\",ã:\"a\",ä:\"a\",å:\"a\",Ç:\"C\",ç:\"c\",Ð:\"D\",ð:\"d\",È:\"E\",É:\"E\",Ê:\"E\",Ë:\"E\",è:\"e\",é:\"e\",ê:\"e\",ë:\"e\",Ì:\"I\",Í:\"I\",Î:\"I\",Ï:\"I\",ì:\"i\",í:\"i\",î:\"i\",ï:\"i\",Ñ:\"N\",ñ:\"n\",Ò:\"O\",Ó:\"O\",Ô:\"O\",Õ:\"O\",Ö:\"O\",Ø:\"O\",ò:\"o\",ó:\"o\",ô:\"o\",õ:\"o\",ö:\"o\",ø:\"o\",Ù:\"U\",Ú:\"U\",Û:\"U\",Ü:\"U\",ù:\"u\",ú:\"u\",û:\"u\",ü:\"u\",Ý:\"Y\",ý:\"y\",ÿ:\"y\",Æ:\"Ae\",æ:\"ae\",Þ:\"Th\",þ:\"th\",ß:\"ss\",Ā:\"A\",Ă:\"A\",Ą:\"A\",ā:\"a\",ă:\"a\",ą:\"a\",Ć:\"C\",Ĉ:\"C\",Ċ:\"C\",Č:\"C\",ć:\"c\",ĉ:\"c\",ċ:\"c\",č:\"c\",Ď:\"D\",Đ:\"D\",ď:\"d\",đ:\"d\",Ē:\"E\",Ĕ:\"E\",Ė:\"E\",Ę:\"E\",Ě:\"E\",ē:\"e\",ĕ:\"e\",ė:\"e\",ę:\"e\",ě:\"e\",Ĝ:\"G\",Ğ:\"G\",Ġ:\"G\",Ģ:\"G\",ĝ:\"g\",ğ:\"g\",ġ:\"g\",ģ:\"g\",Ĥ:\"H\",Ħ:\"H\",ĥ:\"h\",ħ:\"h\",Ĩ:\"I\",Ī:\"I\",Ĭ:\"I\",Į:\"I\",İ:\"I\",ĩ:\"i\",ī:\"i\",ĭ:\"i\",į:\"i\",ı:\"i\",Ĵ:\"J\",ĵ:\"j\",Ķ:\"K\",ķ:\"k\",ĸ:\"k\",Ĺ:\"L\",Ļ:\"L\",Ľ:\"L\",Ŀ:\"L\",Ł:\"L\",ĺ:\"l\",ļ:\"l\",ľ:\"l\",ŀ:\"l\",ł:\"l\",Ń:\"N\",Ņ:\"N\",Ň:\"N\",Ŋ:\"N\",ń:\"n\",ņ:\"n\",ň:\"n\",ŋ:\"n\",Ō:\"O\",Ŏ:\"O\",Ő:\"O\",ō:\"o\",ŏ:\"o\",ő:\"o\",Ŕ:\"R\",Ŗ:\"R\",Ř:\"R\",ŕ:\"r\",ŗ:\"r\",ř:\"r\",Ś:\"S\",Ŝ:\"S\",Ş:\"S\",Š:\"S\",ś:\"s\",ŝ:\"s\",ş:\"s\",š:\"s\",Ţ:\"T\",Ť:\"T\",Ŧ:\"T\",ţ:\"t\",ť:\"t\",ŧ:\"t\",Ũ:\"U\",Ū:\"U\",Ŭ:\"U\",Ů:\"U\",Ű:\"U\",Ų:\"U\",ũ:\"u\",ū:\"u\",ŭ:\"u\",ů:\"u\",ű:\"u\",ų:\"u\",Ŵ:\"W\",ŵ:\"w\",Ŷ:\"Y\",ŷ:\"y\",Ÿ:\"Y\",Ź:\"Z\",Ż:\"Z\",Ž:\"Z\",ź:\"z\",ż:\"z\",ž:\"z\",Ĳ:\"IJ\",ĳ:\"ij\",Œ:\"Oe\",œ:\"oe\",ŉ:\"'n\",ſ:\"s\"}),Kt=jt({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function Zt(e){return\"\\\\\"+et[e]}function Jt(e){return Ge.test(e)}function Qt(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function en(e,t){return function(n){return e(t(n))}}function tn(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n];a!==t&&a!==s||(e[n]=s,o[i++]=n)}return o}function nn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}function rn(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=[e,e]})),n}function on(e){return Jt(e)?function(e){for(var t=Xe.lastIndex=0;Xe.test(e);)++t;return t}(e):Mt(e)}function an(e){return Jt(e)?function(e){return e.match(Xe)||[]}(e):function(e){return e.split(\"\")}(e)}function sn(e){for(var t=e.length;t--&&ie.test(e.charAt(t)););return t}var un=jt({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"}),ln=function e(t){var n,r=(t=null==t?ot:ln.defaults(ot.Object(),t,ln.pick(ot,Ke))).Array,ie=t.Date,_e=t.Error,we=t.Function,Ee=t.Math,Se=t.Object,ke=t.RegExp,Ae=t.String,Ce=t.TypeError,Te=r.prototype,De=we.prototype,Me=Se.prototype,Pe=t[\"__core-js_shared__\"],Oe=De.toString,Le=Me.hasOwnProperty,Ne=0,Fe=(n=/[^.]+$/.exec(Pe&&Pe.keys&&Pe.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+n:\"\",Re=Me.toString,Ie=Oe.call(Se),je=ot._,Be=ke(\"^\"+Oe.call(Le).replace(te,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),qe=ut?t.Buffer:i,ze=t.Symbol,Ve=t.Uint8Array,Ue=qe?qe.allocUnsafe:i,Xe=en(Se.getPrototypeOf,Se),Ge=Se.create,et=Me.propertyIsEnumerable,rt=Te.splice,it=ze?ze.isConcatSpreadable:i,at=ze?ze.iterator:i,st=ze?ze.toStringTag:i,lt=function(){try{var e=lo(Se,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),ct=t.clearTimeout!==ot.clearTimeout&&t.clearTimeout,Mt=ie&&ie.now!==ot.Date.now&&ie.now,jt=t.setTimeout!==ot.setTimeout&&t.setTimeout,cn=Ee.ceil,fn=Ee.floor,pn=Se.getOwnPropertySymbols,dn=qe?qe.isBuffer:i,hn=t.isFinite,mn=Te.join,yn=en(Se.keys,Se),vn=Ee.max,gn=Ee.min,bn=ie.now,xn=t.parseInt,_n=Ee.random,wn=Te.reverse,En=lo(t,\"DataView\"),Sn=lo(t,\"Map\"),kn=lo(t,\"Promise\"),An=lo(t,\"Set\"),Cn=lo(t,\"WeakMap\"),Tn=lo(Se,\"create\"),Dn=Cn&&new Cn,Mn={},Pn=Bo(En),On=Bo(Sn),Ln=Bo(kn),Nn=Bo(An),Fn=Bo(Cn),Rn=ze?ze.prototype:i,In=Rn?Rn.valueOf:i,jn=Rn?Rn.toString:i;function Bn(e){if(ns(e)&&!Ya(e)&&!(e instanceof Un)){if(e instanceof Vn)return e;if(Le.call(e,\"__wrapped__\"))return qo(e)}return new Vn(e)}var qn=function(){function e(){}return function(t){if(!ts(t))return{};if(Ge)return Ge(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function zn(){}function Vn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}function Un(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=d,this.__views__=[]}function Wn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Yn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Xn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Hn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Xn;++t<n;)this.add(e[t])}function Gn(e){var t=this.__data__=new Yn(e);this.size=t.size}function $n(e,t){var n=Ya(e),r=!n&&Wa(e),i=!n&&!r&&$a(e),o=!n&&!r&&!i&&cs(e),a=n||r||i||o,s=a?zt(e.length,Ae):[],u=s.length;for(var l in e)!t&&!Le.call(e,l)||a&&(\"length\"==l||i&&(\"offset\"==l||\"parent\"==l)||o&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||vo(l,u))||s.push(l);return s}function Kn(e){var t=e.length;return t?e[Xr(0,t-1)]:i}function Zn(e,t){return No(Ci(e),ar(t,0,e.length))}function Jn(e){return No(Ci(e))}function Qn(e,t,n){(n!==i&&!za(e[t],n)||n===i&&!(t in e))&&ir(e,t,n)}function er(e,t,n){var r=e[t];Le.call(e,t)&&za(r,n)&&(n!==i||t in e)||ir(e,t,n)}function tr(e,t){for(var n=e.length;n--;)if(za(e[n][0],t))return n;return-1}function nr(e,t,n,r){return fr(e,(function(e,i,o){t(r,e,n(e),o)})),r}function rr(e,t){return e&&Ti(t,Os(t),e)}function ir(e,t,n){\"__proto__\"==t&&lt?lt(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function or(e,t){for(var n=-1,o=t.length,a=r(o),s=null==e;++n<o;)a[n]=s?i:Cs(e,t[n]);return a}function ar(e,t,n){return e==e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function sr(e,t,n,r,o,a){var s,u=1&t,l=2&t,c=4&t;if(n&&(s=o?n(e,r,o,a):n(e)),s!==i)return s;if(!ts(e))return e;var f=Ya(e);if(f){if(s=function(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&Le.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}(e),!u)return Ci(e,s)}else{var p=po(e),d=p==x||p==_;if($a(e))return _i(e,u);if(p==S||p==m||d&&!o){if(s=l||d?{}:mo(e),!u)return l?function(e,t){return Ti(e,fo(e),t)}(e,function(e,t){return e&&Ti(t,Ls(t),e)}(s,e)):function(e,t){return Ti(e,co(e),t)}(e,rr(s,e))}else{if(!Qe[p])return o?e:{};s=function(e,t,n){var r,i=e.constructor;switch(t){case P:return wi(e);case v:case g:return new i(+e);case O:return function(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case L:case N:case F:case R:case I:case j:case B:case q:case z:return Ei(e,n);case w:return new i;case E:case T:return new i(e);case A:return function(e){var t=new e.constructor(e.source,pe.exec(e));return t.lastIndex=e.lastIndex,t}(e);case C:return new i;case D:return r=e,In?Se(In.call(r)):{}}}(e,p,u)}}a||(a=new Gn);var h=a.get(e);if(h)return h;a.set(e,s),ss(e)?e.forEach((function(r){s.add(sr(r,t,n,r,e,a))})):rs(e)&&e.forEach((function(r,i){s.set(i,sr(r,t,n,i,e,a))}));var y=f?i:(c?l?no:to:l?Ls:Os)(e);return bt(y||e,(function(r,i){y&&(r=e[i=r]),er(s,i,sr(r,t,n,i,e,a))})),s}function ur(e,t,n){var r=n.length;if(null==e)return!r;for(e=Se(e);r--;){var o=n[r],a=t[o],s=e[o];if(s===i&&!(o in e)||!a(s))return!1}return!0}function lr(e,t,n){if(\"function\"!=typeof e)throw new Ce(o);return Mo((function(){e.apply(i,n)}),t)}function cr(e,t,n,r){var i=-1,o=Et,a=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=kt(t,Ut(n))),r?(o=St,a=!1):t.length>=200&&(o=Yt,a=!1,t=new Hn(t));e:for(;++i<s;){var c=e[i],f=null==n?c:n(c);if(c=r||0!==c?c:0,a&&f==f){for(var p=l;p--;)if(t[p]===f)continue e;u.push(c)}else o(t,f,r)||u.push(c)}return u}Bn.templateSettings={escape:$,evaluate:K,interpolate:Z,variable:\"\",imports:{_:Bn}},Bn.prototype=zn.prototype,Bn.prototype.constructor=Bn,Vn.prototype=qn(zn.prototype),Vn.prototype.constructor=Vn,Un.prototype=qn(zn.prototype),Un.prototype.constructor=Un,Wn.prototype.clear=function(){this.__data__=Tn?Tn(null):{},this.size=0},Wn.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Wn.prototype.get=function(e){var t=this.__data__;if(Tn){var n=t[e];return n===a?i:n}return Le.call(t,e)?t[e]:i},Wn.prototype.has=function(e){var t=this.__data__;return Tn?t[e]!==i:Le.call(t,e)},Wn.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Tn&&t===i?a:t,this},Yn.prototype.clear=function(){this.__data__=[],this.size=0},Yn.prototype.delete=function(e){var t=this.__data__,n=tr(t,e);return!(n<0||(n==t.length-1?t.pop():rt.call(t,n,1),--this.size,0))},Yn.prototype.get=function(e){var t=this.__data__,n=tr(t,e);return n<0?i:t[n][1]},Yn.prototype.has=function(e){return tr(this.__data__,e)>-1},Yn.prototype.set=function(e,t){var n=this.__data__,r=tr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Xn.prototype.clear=function(){this.size=0,this.__data__={hash:new Wn,map:new(Sn||Yn),string:new Wn}},Xn.prototype.delete=function(e){var t=so(this,e).delete(e);return this.size-=t?1:0,t},Xn.prototype.get=function(e){return so(this,e).get(e)},Xn.prototype.has=function(e){return so(this,e).has(e)},Xn.prototype.set=function(e,t){var n=so(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Hn.prototype.add=Hn.prototype.push=function(e){return this.__data__.set(e,a),this},Hn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.clear=function(){this.__data__=new Yn,this.size=0},Gn.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Gn.prototype.get=function(e){return this.__data__.get(e)},Gn.prototype.has=function(e){return this.__data__.has(e)},Gn.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Yn){var r=n.__data__;if(!Sn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Xn(r)}return n.set(e,t),this.size=n.size,this};var fr=Pi(br),pr=Pi(xr,!0);function dr(e,t){var n=!0;return fr(e,(function(e,r,i){return n=!!t(e,r,i)})),n}function hr(e,t,n){for(var r=-1,o=e.length;++r<o;){var a=e[r],s=t(a);if(null!=s&&(u===i?s==s&&!ls(s):n(s,u)))var u=s,l=a}return l}function mr(e,t){var n=[];return fr(e,(function(e,r,i){t(e,r,i)&&n.push(e)})),n}function yr(e,t,n,r,i){var o=-1,a=e.length;for(n||(n=yo),i||(i=[]);++o<a;){var s=e[o];t>0&&n(s)?t>1?yr(s,t-1,n,r,i):At(i,s):r||(i[i.length]=s)}return i}var vr=Oi(),gr=Oi(!0);function br(e,t){return e&&vr(e,t,Os)}function xr(e,t){return e&&gr(e,t,Os)}function _r(e,t){return wt(t,(function(t){return Ja(e[t])}))}function wr(e,t){for(var n=0,r=(t=vi(t,e)).length;null!=e&&n<r;)e=e[jo(t[n++])];return n&&n==r?e:i}function Er(e,t,n){var r=t(e);return Ya(e)?r:At(r,n(e))}function Sr(e){return null==e?e===i?\"[object Undefined]\":\"[object Null]\":st&&st in Se(e)?function(e){var t=Le.call(e,st),n=e[st];try{e[st]=i;var r=!0}catch(e){}var o=Re.call(e);return r&&(t?e[st]=n:delete e[st]),o}(e):function(e){return Re.call(e)}(e)}function kr(e,t){return e>t}function Ar(e,t){return null!=e&&Le.call(e,t)}function Cr(e,t){return null!=e&&t in Se(e)}function Tr(e,t,n){for(var o=n?St:Et,a=e[0].length,s=e.length,u=s,l=r(s),c=1/0,f=[];u--;){var p=e[u];u&&t&&(p=kt(p,Ut(t))),c=gn(p.length,c),l[u]=!n&&(t||a>=120&&p.length>=120)?new Hn(u&&p):i}p=e[0];var d=-1,h=l[0];e:for(;++d<a&&f.length<c;){var m=p[d],y=t?t(m):m;if(m=n||0!==m?m:0,!(h?Yt(h,y):o(f,y,n))){for(u=s;--u;){var v=l[u];if(!(v?Yt(v,y):o(e[u],y,n)))continue e}h&&h.push(y),f.push(m)}}return f}function Dr(e,t,n){var r=null==(e=Ao(e,t=vi(t,e)))?e:e[jo(Zo(t))];return null==r?i:vt(r,e,n)}function Mr(e){return ns(e)&&Sr(e)==m}function Pr(e,t,n,r,o){return e===t||(null==e||null==t||!ns(e)&&!ns(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var s=Ya(e),u=Ya(t),l=s?y:po(e),c=u?y:po(t),f=(l=l==m?S:l)==S,p=(c=c==m?S:c)==S,d=l==c;if(d&&$a(e)){if(!$a(t))return!1;s=!0,f=!1}if(d&&!f)return a||(a=new Gn),s||cs(e)?Qi(e,t,n,r,o,a):function(e,t,n,r,i,o,a){switch(n){case O:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case P:return!(e.byteLength!=t.byteLength||!o(new Ve(e),new Ve(t)));case v:case g:case E:return za(+e,+t);case b:return e.name==t.name&&e.message==t.message;case A:case T:return e==t+\"\";case w:var s=Qt;case C:var u=1&r;if(s||(s=nn),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;r|=2,a.set(e,t);var c=Qi(s(e),s(t),r,i,o,a);return a.delete(e),c;case D:if(In)return In.call(e)==In.call(t)}return!1}(e,t,l,n,r,o,a);if(!(1&n)){var h=f&&Le.call(e,\"__wrapped__\"),x=p&&Le.call(t,\"__wrapped__\");if(h||x){var _=h?e.value():e,k=x?t.value():t;return a||(a=new Gn),o(_,k,n,r,a)}}return!!d&&(a||(a=new Gn),function(e,t,n,r,o,a){var s=1&n,u=to(e),l=u.length;if(l!=to(t).length&&!s)return!1;for(var c=l;c--;){var f=u[c];if(!(s?f in t:Le.call(t,f)))return!1}var p=a.get(e),d=a.get(t);if(p&&d)return p==t&&d==e;var h=!0;a.set(e,t),a.set(t,e);for(var m=s;++c<l;){var y=e[f=u[c]],v=t[f];if(r)var g=s?r(v,y,f,t,e,a):r(y,v,f,e,t,a);if(!(g===i?y===v||o(y,v,n,r,a):g)){h=!1;break}m||(m=\"constructor\"==f)}if(h&&!m){var b=e.constructor,x=t.constructor;b==x||!(\"constructor\"in e)||!(\"constructor\"in t)||\"function\"==typeof b&&b instanceof b&&\"function\"==typeof x&&x instanceof x||(h=!1)}return a.delete(e),a.delete(t),h}(e,t,n,r,o,a))}(e,t,n,r,Pr,o))}function Or(e,t,n,r){var o=n.length,a=o,s=!r;if(null==e)return!a;for(e=Se(e);o--;){var u=n[o];if(s&&u[2]?u[1]!==e[u[0]]:!(u[0]in e))return!1}for(;++o<a;){var l=(u=n[o])[0],c=e[l],f=u[1];if(s&&u[2]){if(c===i&&!(l in e))return!1}else{var p=new Gn;if(r)var d=r(c,f,l,e,t,p);if(!(d===i?Pr(f,c,3,r,p):d))return!1}}return!0}function Lr(e){return!(!ts(e)||(t=e,Fe&&Fe in t))&&(Ja(e)?Be:me).test(Bo(e));var t}function Nr(e){return\"function\"==typeof e?e:null==e?iu:\"object\"==typeof e?Ya(e)?Br(e[0],e[1]):jr(e):du(e)}function Fr(e){if(!wo(e))return yn(e);var t=[];for(var n in Se(e))Le.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function Rr(e,t){return e<t}function Ir(e,t){var n=-1,i=Ha(e)?r(e.length):[];return fr(e,(function(e,r,o){i[++n]=t(e,r,o)})),i}function jr(e){var t=uo(e);return 1==t.length&&t[0][2]?So(t[0][0],t[0][1]):function(n){return n===e||Or(n,e,t)}}function Br(e,t){return bo(e)&&Eo(t)?So(jo(e),t):function(n){var r=Cs(n,e);return r===i&&r===t?Ts(n,e):Pr(t,r,3)}}function qr(e,t,n,r,o){e!==t&&vr(t,(function(a,s){if(o||(o=new Gn),ts(a))!function(e,t,n,r,o,a,s){var u=To(e,n),l=To(t,n),c=s.get(l);if(c)Qn(e,n,c);else{var f=a?a(u,l,n+\"\",e,t,s):i,p=f===i;if(p){var d=Ya(l),h=!d&&$a(l),m=!d&&!h&&cs(l);f=l,d||h||m?Ya(u)?f=u:Ga(u)?f=Ci(u):h?(p=!1,f=_i(l,!0)):m?(p=!1,f=Ei(l,!0)):f=[]:os(l)||Wa(l)?(f=u,Wa(u)?f=gs(u):ts(u)&&!Ja(u)||(f=mo(l))):p=!1}p&&(s.set(l,f),o(f,l,r,a,s),s.delete(l)),Qn(e,n,f)}}(e,t,s,n,qr,r,o);else{var u=r?r(To(e,s),a,s+\"\",e,t,o):i;u===i&&(u=a),Qn(e,s,u)}}),Ls)}function zr(e,t){var n=e.length;if(n)return vo(t+=t<0?n:0,n)?e[t]:i}function Vr(e,t,n){t=t.length?kt(t,(function(e){return Ya(e)?function(t){return wr(t,1===e.length?e[0]:e)}:e})):[iu];var r=-1;t=kt(t,Ut(ao()));var i=Ir(e,(function(e,n,i){var o=kt(t,(function(t){return t(e)}));return{criteria:o,index:++r,value:e}}));return function(e,t){var r=e.length;for(e.sort((function(e,t){return function(e,t,n){for(var r=-1,i=e.criteria,o=t.criteria,a=i.length,s=n.length;++r<a;){var u=Si(i[r],o[r]);if(u)return r>=s?u:u*(\"desc\"==n[r]?-1:1)}return e.index-t.index}(e,t,n)}));r--;)e[r]=e[r].value;return e}(i)}function Ur(e,t,n){for(var r=-1,i=t.length,o={};++r<i;){var a=t[r],s=wr(e,a);n(s,a)&&Zr(o,vi(a,e),s)}return o}function Wr(e,t,n,r){var i=r?Nt:Lt,o=-1,a=t.length,s=e;for(e===t&&(t=Ci(t)),n&&(s=kt(e,Ut(n)));++o<a;)for(var u=0,l=t[o],c=n?n(l):l;(u=i(s,c,u,r))>-1;)s!==e&&rt.call(s,u,1),rt.call(e,u,1);return e}function Yr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var i=t[n];if(n==r||i!==o){var o=i;vo(i)?rt.call(e,i,1):li(e,i)}}return e}function Xr(e,t){return e+fn(_n()*(t-e+1))}function Hr(e,t){var n=\"\";if(!e||t<1||t>f)return n;do{t%2&&(n+=e),(t=fn(t/2))&&(e+=e)}while(t);return n}function Gr(e,t){return Po(ko(e,t,iu),e+\"\")}function $r(e){return Kn(zs(e))}function Kr(e,t){var n=zs(e);return No(n,ar(t,0,n.length))}function Zr(e,t,n,r){if(!ts(e))return e;for(var o=-1,a=(t=vi(t,e)).length,s=a-1,u=e;null!=u&&++o<a;){var l=jo(t[o]),c=n;if(\"__proto__\"===l||\"constructor\"===l||\"prototype\"===l)return e;if(o!=s){var f=u[l];(c=r?r(f,l,u):i)===i&&(c=ts(f)?f:vo(t[o+1])?[]:{})}er(u,l,c),u=u[l]}return e}var Jr=Dn?function(e,t){return Dn.set(e,t),e}:iu,Qr=lt?function(e,t){return lt(e,\"toString\",{configurable:!0,enumerable:!1,value:tu(t),writable:!0})}:iu;function ei(e){return No(zs(e))}function ti(e,t,n){var i=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=r(o);++i<o;)a[i]=e[i+t];return a}function ni(e,t){var n;return fr(e,(function(e,r,i){return!(n=t(e,r,i))})),!!n}function ri(e,t,n){var r=0,i=null==e?r:e.length;if(\"number\"==typeof t&&t==t&&i<=2147483647){for(;r<i;){var o=r+i>>>1,a=e[o];null!==a&&!ls(a)&&(n?a<=t:a<t)?r=o+1:i=o}return i}return ii(e,t,iu,n)}function ii(e,t,n,r){var o=0,a=null==e?0:e.length;if(0===a)return 0;for(var s=(t=n(t))!=t,u=null===t,l=ls(t),c=t===i;o<a;){var f=fn((o+a)/2),p=n(e[f]),d=p!==i,h=null===p,m=p==p,y=ls(p);if(s)var v=r||m;else v=c?m&&(r||d):u?m&&d&&(r||!h):l?m&&d&&!h&&(r||!y):!h&&!y&&(r?p<=t:p<t);v?o=f+1:a=f}return gn(a,4294967294)}function oi(e,t){for(var n=-1,r=e.length,i=0,o=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!za(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function ai(e){return\"number\"==typeof e?e:ls(e)?p:+e}function si(e){if(\"string\"==typeof e)return e;if(Ya(e))return kt(e,si)+\"\";if(ls(e))return jn?jn.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function ui(e,t,n){var r=-1,i=Et,o=e.length,a=!0,s=[],u=s;if(n)a=!1,i=St;else if(o>=200){var l=t?null:Hi(e);if(l)return nn(l);a=!1,i=Yt,u=new Hn}else u=t?[]:s;e:for(;++r<o;){var c=e[r],f=t?t(c):c;if(c=n||0!==c?c:0,a&&f==f){for(var p=u.length;p--;)if(u[p]===f)continue e;t&&u.push(f),s.push(c)}else i(u,f,n)||(u!==s&&u.push(f),s.push(c))}return s}function li(e,t){return null==(e=Ao(e,t=vi(t,e)))||delete e[jo(Zo(t))]}function ci(e,t,n,r){return Zr(e,t,n(wr(e,t)),r)}function fi(e,t,n,r){for(var i=e.length,o=r?i:-1;(r?o--:++o<i)&&t(e[o],o,e););return n?ti(e,r?0:o,r?o+1:i):ti(e,r?o+1:0,r?i:o)}function pi(e,t){var n=e;return n instanceof Un&&(n=n.value()),Ct(t,(function(e,t){return t.func.apply(t.thisArg,At([e],t.args))}),n)}function di(e,t,n){var i=e.length;if(i<2)return i?ui(e[0]):[];for(var o=-1,a=r(i);++o<i;)for(var s=e[o],u=-1;++u<i;)u!=o&&(a[o]=cr(a[o]||s,e[u],t,n));return ui(yr(a,1),t,n)}function hi(e,t,n){for(var r=-1,o=e.length,a=t.length,s={};++r<o;){var u=r<a?t[r]:i;n(s,e[r],u)}return s}function mi(e){return Ga(e)?e:[]}function yi(e){return\"function\"==typeof e?e:iu}function vi(e,t){return Ya(e)?e:bo(e,t)?[e]:Io(bs(e))}var gi=Gr;function bi(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:ti(e,t,n)}var xi=ct||function(e){return ot.clearTimeout(e)};function _i(e,t){if(t)return e.slice();var n=e.length,r=Ue?Ue(n):new e.constructor(n);return e.copy(r),r}function wi(e){var t=new e.constructor(e.byteLength);return new Ve(t).set(new Ve(e)),t}function Ei(e,t){var n=t?wi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Si(e,t){if(e!==t){var n=e!==i,r=null===e,o=e==e,a=ls(e),s=t!==i,u=null===t,l=t==t,c=ls(t);if(!u&&!c&&!a&&e>t||a&&s&&l&&!u&&!c||r&&s&&l||!n&&l||!o)return 1;if(!r&&!a&&!c&&e<t||c&&n&&o&&!r&&!a||u&&n&&o||!s&&o||!l)return-1}return 0}function ki(e,t,n,i){for(var o=-1,a=e.length,s=n.length,u=-1,l=t.length,c=vn(a-s,0),f=r(l+c),p=!i;++u<l;)f[u]=t[u];for(;++o<s;)(p||o<a)&&(f[n[o]]=e[o]);for(;c--;)f[u++]=e[o++];return f}function Ai(e,t,n,i){for(var o=-1,a=e.length,s=-1,u=n.length,l=-1,c=t.length,f=vn(a-u,0),p=r(f+c),d=!i;++o<f;)p[o]=e[o];for(var h=o;++l<c;)p[h+l]=t[l];for(;++s<u;)(d||o<a)&&(p[h+n[s]]=e[o++]);return p}function Ci(e,t){var n=-1,i=e.length;for(t||(t=r(i));++n<i;)t[n]=e[n];return t}function Ti(e,t,n,r){var o=!n;n||(n={});for(var a=-1,s=t.length;++a<s;){var u=t[a],l=r?r(n[u],e[u],u,n,e):i;l===i&&(l=e[u]),o?ir(n,u,l):er(n,u,l)}return n}function Di(e,t){return function(n,r){var i=Ya(n)?gt:nr,o=t?t():{};return i(n,e,ao(r,2),o)}}function Mi(e){return Gr((function(t,n){var r=-1,o=n.length,a=o>1?n[o-1]:i,s=o>2?n[2]:i;for(a=e.length>3&&\"function\"==typeof a?(o--,a):i,s&&go(n[0],n[1],s)&&(a=o<3?i:a,o=1),t=Se(t);++r<o;){var u=n[r];u&&e(t,u,r,a)}return t}))}function Pi(e,t){return function(n,r){if(null==n)return n;if(!Ha(n))return e(n,r);for(var i=n.length,o=t?i:-1,a=Se(n);(t?o--:++o<i)&&!1!==r(a[o],o,a););return n}}function Oi(e){return function(t,n,r){for(var i=-1,o=Se(t),a=r(t),s=a.length;s--;){var u=a[e?s:++i];if(!1===n(o[u],u,o))break}return t}}function Li(e){return function(t){var n=Jt(t=bs(t))?an(t):i,r=n?n[0]:t.charAt(0),o=n?bi(n,1).join(\"\"):t.slice(1);return r[e]()+o}}function Ni(e){return function(t){return Ct(Js(Ws(t).replace(We,\"\")),e,\"\")}}function Fi(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=qn(e.prototype),r=e.apply(n,t);return ts(r)?r:n}}function Ri(e){return function(t,n,r){var o=Se(t);if(!Ha(t)){var a=ao(n,3);t=Os(t),n=function(e){return a(o[e],e,o)}}var s=e(t,n,r);return s>-1?o[a?t[s]:s]:i}}function Ii(e){return eo((function(t){var n=t.length,r=n,a=Vn.prototype.thru;for(e&&t.reverse();r--;){var s=t[r];if(\"function\"!=typeof s)throw new Ce(o);if(a&&!u&&\"wrapper\"==io(s))var u=new Vn([],!0)}for(r=u?r:n;++r<n;){var l=io(s=t[r]),c=\"wrapper\"==l?ro(s):i;u=c&&xo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?u[io(c[0])].apply(u,c[3]):1==s.length&&xo(s)?u[l]():u.thru(s)}return function(){var e=arguments,r=e[0];if(u&&1==e.length&&Ya(r))return u.plant(r).value();for(var i=0,o=n?t[i].apply(this,e):r;++i<n;)o=t[i].call(this,o);return o}}))}function ji(e,t,n,o,a,s,u,c,f,p){var d=t&l,h=1&t,m=2&t,y=24&t,v=512&t,g=m?i:Fi(e);return function i(){for(var l=arguments.length,b=r(l),x=l;x--;)b[x]=arguments[x];if(y)var _=oo(i),w=Gt(b,_);if(o&&(b=ki(b,o,a,y)),s&&(b=Ai(b,s,u,y)),l-=w,y&&l<p){var E=tn(b,_);return Yi(e,t,ji,i.placeholder,n,b,E,c,f,p-l)}var S=h?n:this,k=m?S[e]:e;return l=b.length,c?b=Co(b,c):v&&l>1&&b.reverse(),d&&f<l&&(b.length=f),this&&this!==ot&&this instanceof i&&(k=g||Fi(k)),k.apply(S,b)}}function Bi(e,t){return function(n,r){return function(e,t,n,r){return br(e,(function(e,i,o){t(r,n(e),i,o)})),r}(n,e,t(r),{})}}function qi(e,t){return function(n,r){var o;if(n===i&&r===i)return t;if(n!==i&&(o=n),r!==i){if(o===i)return r;\"string\"==typeof n||\"string\"==typeof r?(n=si(n),r=si(r)):(n=ai(n),r=ai(r)),o=e(n,r)}return o}}function zi(e){return eo((function(t){return t=kt(t,Ut(ao())),Gr((function(n){var r=this;return e(t,(function(e){return vt(e,r,n)}))}))}))}function Vi(e,t){var n=(t=t===i?\" \":si(t)).length;if(n<2)return n?Hr(t,e):t;var r=Hr(t,cn(e/on(t)));return Jt(t)?bi(an(r),0,e).join(\"\"):r.slice(0,e)}function Ui(e){return function(t,n,o){return o&&\"number\"!=typeof o&&go(t,n,o)&&(n=o=i),t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n,i){for(var o=-1,a=vn(cn((t-e)/(n||1)),0),s=r(a);a--;)s[i?a:++o]=e,e+=n;return s}(t,n,o=o===i?t<n?1:-1:hs(o),e)}}function Wi(e){return function(t,n){return\"string\"==typeof t&&\"string\"==typeof n||(t=vs(t),n=vs(n)),e(t,n)}}function Yi(e,t,n,r,o,a,s,l,c,f){var p=8&t;t|=p?u:64,4&(t&=~(p?64:u))||(t&=-4);var d=[e,t,o,p?a:i,p?s:i,p?i:a,p?i:s,l,c,f],h=n.apply(i,d);return xo(e)&&Do(h,d),h.placeholder=r,Oo(h,e,t)}function Xi(e){var t=Ee[e];return function(e,n){if(e=vs(e),(n=null==n?0:gn(ms(n),292))&&hn(e)){var r=(bs(e)+\"e\").split(\"e\");return+((r=(bs(t(r[0]+\"e\"+(+r[1]+n)))+\"e\").split(\"e\"))[0]+\"e\"+(+r[1]-n))}return t(e)}}var Hi=An&&1/nn(new An([,-0]))[1]==c?function(e){return new An(e)}:lu;function Gi(e){return function(t){var n=po(t);return n==w?Qt(t):n==C?rn(t):function(e,t){return kt(t,(function(t){return[t,e[t]]}))}(t,e(t))}}function $i(e,t,n,a,c,f,p,d){var h=2&t;if(!h&&\"function\"!=typeof e)throw new Ce(o);var m=a?a.length:0;if(m||(t&=-97,a=c=i),p=p===i?p:vn(ms(p),0),d=d===i?d:ms(d),m-=c?c.length:0,64&t){var y=a,v=c;a=c=i}var g=h?i:ro(e),b=[e,t,n,a,c,y,v,f,p,d];if(g&&function(e,t){var n=e[1],r=t[1],i=n|r,o=i<131,a=r==l&&8==n||r==l&&256==n&&e[7].length<=t[8]||384==r&&t[7].length<=t[8]&&8==n;if(!o&&!a)return e;1&r&&(e[2]=t[2],i|=1&n?0:4);var u=t[3];if(u){var c=e[3];e[3]=c?ki(c,u,t[4]):u,e[4]=c?tn(e[3],s):t[4]}(u=t[5])&&(c=e[5],e[5]=c?Ai(c,u,t[6]):u,e[6]=c?tn(e[5],s):t[6]),(u=t[7])&&(e[7]=u),r&l&&(e[8]=null==e[8]?t[8]:gn(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=i}(b,g),e=b[0],t=b[1],n=b[2],a=b[3],c=b[4],!(d=b[9]=b[9]===i?h?0:e.length:vn(b[9]-m,0))&&24&t&&(t&=-25),t&&1!=t)x=8==t||16==t?function(e,t,n){var o=Fi(e);return function a(){for(var s=arguments.length,u=r(s),l=s,c=oo(a);l--;)u[l]=arguments[l];var f=s<3&&u[0]!==c&&u[s-1]!==c?[]:tn(u,c);return(s-=f.length)<n?Yi(e,t,ji,a.placeholder,i,u,f,i,i,n-s):vt(this&&this!==ot&&this instanceof a?o:e,this,u)}}(e,t,d):t!=u&&33!=t||c.length?ji.apply(i,b):function(e,t,n,i){var o=1&t,a=Fi(e);return function t(){for(var s=-1,u=arguments.length,l=-1,c=i.length,f=r(c+u),p=this&&this!==ot&&this instanceof t?a:e;++l<c;)f[l]=i[l];for(;u--;)f[l++]=arguments[++s];return vt(p,o?n:this,f)}}(e,t,n,a);else var x=function(e,t,n){var r=1&t,i=Fi(e);return function t(){return(this&&this!==ot&&this instanceof t?i:e).apply(r?n:this,arguments)}}(e,t,n);return Oo((g?Jr:Do)(x,b),e,t)}function Ki(e,t,n,r){return e===i||za(e,Me[n])&&!Le.call(r,n)?t:e}function Zi(e,t,n,r,o,a){return ts(e)&&ts(t)&&(a.set(t,e),qr(e,t,i,Zi,a),a.delete(t)),e}function Ji(e){return os(e)?i:e}function Qi(e,t,n,r,o,a){var s=1&n,u=e.length,l=t.length;if(u!=l&&!(s&&l>u))return!1;var c=a.get(e),f=a.get(t);if(c&&f)return c==t&&f==e;var p=-1,d=!0,h=2&n?new Hn:i;for(a.set(e,t),a.set(t,e);++p<u;){var m=e[p],y=t[p];if(r)var v=s?r(y,m,p,t,e,a):r(m,y,p,e,t,a);if(v!==i){if(v)continue;d=!1;break}if(h){if(!Dt(t,(function(e,t){if(!Yt(h,t)&&(m===e||o(m,e,n,r,a)))return h.push(t)}))){d=!1;break}}else if(m!==y&&!o(m,y,n,r,a)){d=!1;break}}return a.delete(e),a.delete(t),d}function eo(e){return Po(ko(e,i,Xo),e+\"\")}function to(e){return Er(e,Os,co)}function no(e){return Er(e,Ls,fo)}var ro=Dn?function(e){return Dn.get(e)}:lu;function io(e){for(var t=e.name+\"\",n=Mn[t],r=Le.call(Mn,t)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==e)return i.name}return t}function oo(e){return(Le.call(Bn,\"placeholder\")?Bn:e).placeholder}function ao(){var e=Bn.iteratee||ou;return e=e===ou?Nr:e,arguments.length?e(arguments[0],arguments[1]):e}function so(e,t){var n,r,i=e.__data__;return(\"string\"==(r=typeof(n=t))||\"number\"==r||\"symbol\"==r||\"boolean\"==r?\"__proto__\"!==n:null===n)?i[\"string\"==typeof t?\"string\":\"hash\"]:i.map}function uo(e){for(var t=Os(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,Eo(i)]}return t}function lo(e,t){var n=function(e,t){return null==e?i:e[t]}(e,t);return Lr(n)?n:i}var co=pn?function(e){return null==e?[]:(e=Se(e),wt(pn(e),(function(t){return et.call(e,t)})))}:yu,fo=pn?function(e){for(var t=[];e;)At(t,co(e)),e=Xe(e);return t}:yu,po=Sr;function ho(e,t,n){for(var r=-1,i=(t=vi(t,e)).length,o=!1;++r<i;){var a=jo(t[r]);if(!(o=null!=e&&n(e,a)))break;e=e[a]}return o||++r!=i?o:!!(i=null==e?0:e.length)&&es(i)&&vo(a,i)&&(Ya(e)||Wa(e))}function mo(e){return\"function\"!=typeof e.constructor||wo(e)?{}:qn(Xe(e))}function yo(e){return Ya(e)||Wa(e)||!!(it&&e&&e[it])}function vo(e,t){var n=typeof e;return!!(t=null==t?f:t)&&(\"number\"==n||\"symbol\"!=n&&ve.test(e))&&e>-1&&e%1==0&&e<t}function go(e,t,n){if(!ts(n))return!1;var r=typeof t;return!!(\"number\"==r?Ha(n)&&vo(t,n.length):\"string\"==r&&t in n)&&za(n[t],e)}function bo(e,t){if(Ya(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!ls(e))||Q.test(e)||!J.test(e)||null!=t&&e in Se(t)}function xo(e){var t=io(e),n=Bn[t];if(\"function\"!=typeof n||!(t in Un.prototype))return!1;if(e===n)return!0;var r=ro(n);return!!r&&e===r[0]}(En&&po(new En(new ArrayBuffer(1)))!=O||Sn&&po(new Sn)!=w||kn&&po(kn.resolve())!=k||An&&po(new An)!=C||Cn&&po(new Cn)!=M)&&(po=function(e){var t=Sr(e),n=t==S?e.constructor:i,r=n?Bo(n):\"\";if(r)switch(r){case Pn:return O;case On:return w;case Ln:return k;case Nn:return C;case Fn:return M}return t});var _o=Pe?Ja:vu;function wo(e){var t=e&&e.constructor;return e===(\"function\"==typeof t&&t.prototype||Me)}function Eo(e){return e==e&&!ts(e)}function So(e,t){return function(n){return null!=n&&n[e]===t&&(t!==i||e in Se(n))}}function ko(e,t,n){return t=vn(t===i?e.length-1:t,0),function(){for(var i=arguments,o=-1,a=vn(i.length-t,0),s=r(a);++o<a;)s[o]=i[t+o];o=-1;for(var u=r(t+1);++o<t;)u[o]=i[o];return u[t]=n(s),vt(e,this,u)}}function Ao(e,t){return t.length<2?e:wr(e,ti(t,0,-1))}function Co(e,t){for(var n=e.length,r=gn(t.length,n),o=Ci(e);r--;){var a=t[r];e[r]=vo(a,n)?o[a]:i}return e}function To(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}var Do=Lo(Jr),Mo=jt||function(e,t){return ot.setTimeout(e,t)},Po=Lo(Qr);function Oo(e,t,n){var r=t+\"\";return Po(e,function(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(oe,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(r,function(e,t){return bt(h,(function(n){var r=\"_.\"+n[0];t&n[1]&&!Et(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(ae);return t?t[1].split(se):[]}(r),n)))}function Lo(e){var t=0,n=0;return function(){var r=bn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(i,arguments)}}function No(e,t){var n=-1,r=e.length,o=r-1;for(t=t===i?r:t;++n<t;){var a=Xr(n,o),s=e[a];e[a]=e[n],e[n]=s}return e.length=t,e}var Fo,Ro,Io=(Fo=Fa((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(ee,(function(e,n,r,i){t.push(r?i.replace(ce,\"$1\"):n||e)})),t}),(function(e){return 500===Ro.size&&Ro.clear(),e})),Ro=Fo.cache,Fo);function jo(e){if(\"string\"==typeof e||ls(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-1/0?\"-0\":t}function Bo(e){if(null!=e){try{return Oe.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function qo(e){if(e instanceof Un)return e.clone();var t=new Vn(e.__wrapped__,e.__chain__);return t.__actions__=Ci(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}var zo=Gr((function(e,t){return Ga(e)?cr(e,yr(t,1,Ga,!0)):[]})),Vo=Gr((function(e,t){var n=Zo(t);return Ga(n)&&(n=i),Ga(e)?cr(e,yr(t,1,Ga,!0),ao(n,2)):[]})),Uo=Gr((function(e,t){var n=Zo(t);return Ga(n)&&(n=i),Ga(e)?cr(e,yr(t,1,Ga,!0),i,n):[]}));function Wo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ms(n);return i<0&&(i=vn(r+i,0)),Ot(e,ao(t,3),i)}function Yo(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==i&&(o=ms(n),o=n<0?vn(r+o,0):gn(o,r-1)),Ot(e,ao(t,3),o,!0)}function Xo(e){return null!=e&&e.length?yr(e,1):[]}function Ho(e){return e&&e.length?e[0]:i}var Go=Gr((function(e){var t=kt(e,mi);return t.length&&t[0]===e[0]?Tr(t):[]})),$o=Gr((function(e){var t=Zo(e),n=kt(e,mi);return t===Zo(n)?t=i:n.pop(),n.length&&n[0]===e[0]?Tr(n,ao(t,2)):[]})),Ko=Gr((function(e){var t=Zo(e),n=kt(e,mi);return(t=\"function\"==typeof t?t:i)&&n.pop(),n.length&&n[0]===e[0]?Tr(n,i,t):[]}));function Zo(e){var t=null==e?0:e.length;return t?e[t-1]:i}var Jo=Gr(Qo);function Qo(e,t){return e&&e.length&&t&&t.length?Wr(e,t):e}var ea=eo((function(e,t){var n=null==e?0:e.length,r=or(e,t);return Yr(e,kt(t,(function(e){return vo(e,n)?+e:e})).sort(Si)),r}));function ta(e){return null==e?e:wn.call(e)}var na=Gr((function(e){return ui(yr(e,1,Ga,!0))})),ra=Gr((function(e){var t=Zo(e);return Ga(t)&&(t=i),ui(yr(e,1,Ga,!0),ao(t,2))})),ia=Gr((function(e){var t=Zo(e);return t=\"function\"==typeof t?t:i,ui(yr(e,1,Ga,!0),i,t)}));function oa(e){if(!e||!e.length)return[];var t=0;return e=wt(e,(function(e){if(Ga(e))return t=vn(e.length,t),!0})),zt(t,(function(t){return kt(e,It(t))}))}function aa(e,t){if(!e||!e.length)return[];var n=oa(e);return null==t?n:kt(n,(function(e){return vt(t,i,e)}))}var sa=Gr((function(e,t){return Ga(e)?cr(e,t):[]})),ua=Gr((function(e){return di(wt(e,Ga))})),la=Gr((function(e){var t=Zo(e);return Ga(t)&&(t=i),di(wt(e,Ga),ao(t,2))})),ca=Gr((function(e){var t=Zo(e);return t=\"function\"==typeof t?t:i,di(wt(e,Ga),i,t)})),fa=Gr(oa),pa=Gr((function(e){var t=e.length,n=t>1?e[t-1]:i;return n=\"function\"==typeof n?(e.pop(),n):i,aa(e,n)}));function da(e){var t=Bn(e);return t.__chain__=!0,t}function ha(e,t){return t(e)}var ma=eo((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return or(t,e)};return!(t>1||this.__actions__.length)&&r instanceof Un&&vo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:ha,args:[o],thisArg:i}),new Vn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(i),e}))):this.thru(o)})),ya=Di((function(e,t,n){Le.call(e,n)?++e[n]:ir(e,n,1)})),va=Ri(Wo),ga=Ri(Yo);function ba(e,t){return(Ya(e)?bt:fr)(e,ao(t,3))}function xa(e,t){return(Ya(e)?xt:pr)(e,ao(t,3))}var _a=Di((function(e,t,n){Le.call(e,n)?e[n].push(t):ir(e,n,[t])})),wa=Gr((function(e,t,n){var i=-1,o=\"function\"==typeof t,a=Ha(e)?r(e.length):[];return fr(e,(function(e){a[++i]=o?vt(t,e,n):Dr(e,t,n)})),a})),Ea=Di((function(e,t,n){ir(e,n,t)}));function Sa(e,t){return(Ya(e)?kt:Ir)(e,ao(t,3))}var ka=Di((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]})),Aa=Gr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&go(e,t[0],t[1])?t=[]:n>2&&go(t[0],t[1],t[2])&&(t=[t[0]]),Vr(e,yr(t,1),[])})),Ca=Mt||function(){return ot.Date.now()};function Ta(e,t,n){return t=n?i:t,t=e&&null==t?e.length:t,$i(e,l,i,i,i,i,t)}function Da(e,t){var n;if(\"function\"!=typeof t)throw new Ce(o);return e=ms(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Ma=Gr((function(e,t,n){var r=1;if(n.length){var i=tn(n,oo(Ma));r|=u}return $i(e,r,t,n,i)})),Pa=Gr((function(e,t,n){var r=3;if(n.length){var i=tn(n,oo(Pa));r|=u}return $i(t,r,e,n,i)}));function Oa(e,t,n){var r,a,s,u,l,c,f=0,p=!1,d=!1,h=!0;if(\"function\"!=typeof e)throw new Ce(o);function m(t){var n=r,o=a;return r=a=i,f=t,u=e.apply(o,n)}function y(e){return f=e,l=Mo(g,t),p?m(e):u}function v(e){var n=e-c;return c===i||n>=t||n<0||d&&e-f>=s}function g(){var e=Ca();if(v(e))return b(e);l=Mo(g,function(e){var n=t-(e-c);return d?gn(n,s-(e-f)):n}(e))}function b(e){return l=i,h&&r?m(e):(r=a=i,u)}function x(){var e=Ca(),n=v(e);if(r=arguments,a=this,c=e,n){if(l===i)return y(c);if(d)return xi(l),l=Mo(g,t),m(c)}return l===i&&(l=Mo(g,t)),u}return t=vs(t)||0,ts(n)&&(p=!!n.leading,s=(d=\"maxWait\"in n)?vn(vs(n.maxWait)||0,t):s,h=\"trailing\"in n?!!n.trailing:h),x.cancel=function(){l!==i&&xi(l),f=0,r=c=a=l=i},x.flush=function(){return l===i?u:b(Ca())},x}var La=Gr((function(e,t){return lr(e,1,t)})),Na=Gr((function(e,t,n){return lr(e,vs(t)||0,n)}));function Fa(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new Ce(o);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(Fa.Cache||Xn),n}function Ra(e){if(\"function\"!=typeof e)throw new Ce(o);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Fa.Cache=Xn;var Ia=gi((function(e,t){var n=(t=1==t.length&&Ya(t[0])?kt(t[0],Ut(ao())):kt(yr(t,1),Ut(ao()))).length;return Gr((function(r){for(var i=-1,o=gn(r.length,n);++i<o;)r[i]=t[i].call(this,r[i]);return vt(e,this,r)}))})),ja=Gr((function(e,t){var n=tn(t,oo(ja));return $i(e,u,i,t,n)})),Ba=Gr((function(e,t){var n=tn(t,oo(Ba));return $i(e,64,i,t,n)})),qa=eo((function(e,t){return $i(e,256,i,i,i,t)}));function za(e,t){return e===t||e!=e&&t!=t}var Va=Wi(kr),Ua=Wi((function(e,t){return e>=t})),Wa=Mr(function(){return arguments}())?Mr:function(e){return ns(e)&&Le.call(e,\"callee\")&&!et.call(e,\"callee\")},Ya=r.isArray,Xa=ft?Ut(ft):function(e){return ns(e)&&Sr(e)==P};function Ha(e){return null!=e&&es(e.length)&&!Ja(e)}function Ga(e){return ns(e)&&Ha(e)}var $a=dn||vu,Ka=pt?Ut(pt):function(e){return ns(e)&&Sr(e)==g};function Za(e){if(!ns(e))return!1;var t=Sr(e);return t==b||\"[object DOMException]\"==t||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!os(e)}function Ja(e){if(!ts(e))return!1;var t=Sr(e);return t==x||t==_||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function Qa(e){return\"number\"==typeof e&&e==ms(e)}function es(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=f}function ts(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function ns(e){return null!=e&&\"object\"==typeof e}var rs=dt?Ut(dt):function(e){return ns(e)&&po(e)==w};function is(e){return\"number\"==typeof e||ns(e)&&Sr(e)==E}function os(e){if(!ns(e)||Sr(e)!=S)return!1;var t=Xe(e);if(null===t)return!0;var n=Le.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&Oe.call(n)==Ie}var as=ht?Ut(ht):function(e){return ns(e)&&Sr(e)==A},ss=mt?Ut(mt):function(e){return ns(e)&&po(e)==C};function us(e){return\"string\"==typeof e||!Ya(e)&&ns(e)&&Sr(e)==T}function ls(e){return\"symbol\"==typeof e||ns(e)&&Sr(e)==D}var cs=yt?Ut(yt):function(e){return ns(e)&&es(e.length)&&!!Je[Sr(e)]},fs=Wi(Rr),ps=Wi((function(e,t){return e<=t}));function ds(e){if(!e)return[];if(Ha(e))return us(e)?an(e):Ci(e);if(at&&e[at])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[at]());var t=po(e);return(t==w?Qt:t==C?nn:zs)(e)}function hs(e){return e?(e=vs(e))===c||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function ms(e){var t=hs(e),n=t%1;return t==t?n?t-n:t:0}function ys(e){return e?ar(ms(e),0,d):0}function vs(e){if(\"number\"==typeof e)return e;if(ls(e))return p;if(ts(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=ts(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=Vt(e);var n=he.test(e);return n||ye.test(e)?nt(e.slice(2),n?2:8):de.test(e)?p:+e}function gs(e){return Ti(e,Ls(e))}function bs(e){return null==e?\"\":si(e)}var xs=Mi((function(e,t){if(wo(t)||Ha(t))Ti(t,Os(t),e);else for(var n in t)Le.call(t,n)&&er(e,n,t[n])})),_s=Mi((function(e,t){Ti(t,Ls(t),e)})),ws=Mi((function(e,t,n,r){Ti(t,Ls(t),e,r)})),Es=Mi((function(e,t,n,r){Ti(t,Os(t),e,r)})),Ss=eo(or),ks=Gr((function(e,t){e=Se(e);var n=-1,r=t.length,o=r>2?t[2]:i;for(o&&go(t[0],t[1],o)&&(r=1);++n<r;)for(var a=t[n],s=Ls(a),u=-1,l=s.length;++u<l;){var c=s[u],f=e[c];(f===i||za(f,Me[c])&&!Le.call(e,c))&&(e[c]=a[c])}return e})),As=Gr((function(e){return e.push(i,Zi),vt(Fs,i,e)}));function Cs(e,t,n){var r=null==e?i:wr(e,t);return r===i?n:r}function Ts(e,t){return null!=e&&ho(e,t,Cr)}var Ds=Bi((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=Re.call(t)),e[t]=n}),tu(iu)),Ms=Bi((function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=Re.call(t)),Le.call(e,t)?e[t].push(n):e[t]=[n]}),ao),Ps=Gr(Dr);function Os(e){return Ha(e)?$n(e):Fr(e)}function Ls(e){return Ha(e)?$n(e,!0):function(e){if(!ts(e))return function(e){var t=[];if(null!=e)for(var n in Se(e))t.push(n);return t}(e);var t=wo(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&Le.call(e,r))&&n.push(r);return n}(e)}var Ns=Mi((function(e,t,n){qr(e,t,n)})),Fs=Mi((function(e,t,n,r){qr(e,t,n,r)})),Rs=eo((function(e,t){var n={};if(null==e)return n;var r=!1;t=kt(t,(function(t){return t=vi(t,e),r||(r=t.length>1),t})),Ti(e,no(e),n),r&&(n=sr(n,7,Ji));for(var i=t.length;i--;)li(n,t[i]);return n})),Is=eo((function(e,t){return null==e?{}:function(e,t){return Ur(e,t,(function(t,n){return Ts(e,n)}))}(e,t)}));function js(e,t){if(null==e)return{};var n=kt(no(e),(function(e){return[e]}));return t=ao(t),Ur(e,n,(function(e,n){return t(e,n[0])}))}var Bs=Gi(Os),qs=Gi(Ls);function zs(e){return null==e?[]:Wt(e,Os(e))}var Vs=Ni((function(e,t,n){return t=t.toLowerCase(),e+(n?Us(t):t)}));function Us(e){return Zs(bs(e).toLowerCase())}function Ws(e){return(e=bs(e))&&e.replace(ge,$t).replace(Ye,\"\")}var Ys=Ni((function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()})),Xs=Ni((function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()})),Hs=Li(\"toLowerCase\"),Gs=Ni((function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()})),$s=Ni((function(e,t,n){return e+(n?\" \":\"\")+Zs(t)})),Ks=Ni((function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()})),Zs=Li(\"toUpperCase\");function Js(e,t,n){return e=bs(e),(t=n?i:t)===i?function(e){return $e.test(e)}(e)?function(e){return e.match(He)||[]}(e):function(e){return e.match(ue)||[]}(e):e.match(t)||[]}var Qs=Gr((function(e,t){try{return vt(e,i,t)}catch(e){return Za(e)?e:new _e(e)}})),eu=eo((function(e,t){return bt(t,(function(t){t=jo(t),ir(e,t,Ma(e[t],e))})),e}));function tu(e){return function(){return e}}var nu=Ii(),ru=Ii(!0);function iu(e){return e}function ou(e){return Nr(\"function\"==typeof e?e:sr(e,1))}var au=Gr((function(e,t){return function(n){return Dr(n,e,t)}})),su=Gr((function(e,t){return function(n){return Dr(e,n,t)}}));function uu(e,t,n){var r=Os(t),i=_r(t,r);null!=n||ts(t)&&(i.length||!r.length)||(n=t,t=e,e=this,i=_r(t,Os(t)));var o=!(ts(n)&&\"chain\"in n&&!n.chain),a=Ja(e);return bt(i,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__),i=n.__actions__=Ci(this.__actions__);return i.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,At([this.value()],arguments))})})),e}function lu(){}var cu=zi(kt),fu=zi(_t),pu=zi(Dt);function du(e){return bo(e)?It(jo(e)):function(e){return function(t){return wr(t,e)}}(e)}var hu=Ui(),mu=Ui(!0);function yu(){return[]}function vu(){return!1}var gu,bu=qi((function(e,t){return e+t}),0),xu=Xi(\"ceil\"),_u=qi((function(e,t){return e/t}),1),wu=Xi(\"floor\"),Eu=qi((function(e,t){return e*t}),1),Su=Xi(\"round\"),ku=qi((function(e,t){return e-t}),0);return Bn.after=function(e,t){if(\"function\"!=typeof t)throw new Ce(o);return e=ms(e),function(){if(--e<1)return t.apply(this,arguments)}},Bn.ary=Ta,Bn.assign=xs,Bn.assignIn=_s,Bn.assignInWith=ws,Bn.assignWith=Es,Bn.at=Ss,Bn.before=Da,Bn.bind=Ma,Bn.bindAll=eu,Bn.bindKey=Pa,Bn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ya(e)?e:[e]},Bn.chain=da,Bn.chunk=function(e,t,n){t=(n?go(e,t,n):t===i)?1:vn(ms(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var a=0,s=0,u=r(cn(o/t));a<o;)u[s++]=ti(e,a,a+=t);return u},Bn.compact=function(e){for(var t=-1,n=null==e?0:e.length,r=0,i=[];++t<n;){var o=e[t];o&&(i[r++]=o)}return i},Bn.concat=function(){var e=arguments.length;if(!e)return[];for(var t=r(e-1),n=arguments[0],i=e;i--;)t[i-1]=arguments[i];return At(Ya(n)?Ci(n):[n],yr(t,1))},Bn.cond=function(e){var t=null==e?0:e.length,n=ao();return e=t?kt(e,(function(e){if(\"function\"!=typeof e[1])throw new Ce(o);return[n(e[0]),e[1]]})):[],Gr((function(n){for(var r=-1;++r<t;){var i=e[r];if(vt(i[0],this,n))return vt(i[1],this,n)}}))},Bn.conforms=function(e){return function(e){var t=Os(e);return function(n){return ur(n,e,t)}}(sr(e,1))},Bn.constant=tu,Bn.countBy=ya,Bn.create=function(e,t){var n=qn(e);return null==t?n:rr(n,t)},Bn.curry=function e(t,n,r){var o=$i(t,8,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.curryRight=function e(t,n,r){var o=$i(t,16,i,i,i,i,i,n=r?i:n);return o.placeholder=e.placeholder,o},Bn.debounce=Oa,Bn.defaults=ks,Bn.defaultsDeep=As,Bn.defer=La,Bn.delay=Na,Bn.difference=zo,Bn.differenceBy=Vo,Bn.differenceWith=Uo,Bn.drop=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=n||t===i?1:ms(t))<0?0:t,r):[]},Bn.dropRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,0,(t=r-(t=n||t===i?1:ms(t)))<0?0:t):[]},Bn.dropRightWhile=function(e,t){return e&&e.length?fi(e,ao(t,3),!0,!0):[]},Bn.dropWhile=function(e,t){return e&&e.length?fi(e,ao(t,3),!0):[]},Bn.fill=function(e,t,n,r){var o=null==e?0:e.length;return o?(n&&\"number\"!=typeof n&&go(e,t,n)&&(n=0,r=o),function(e,t,n,r){var o=e.length;for((n=ms(n))<0&&(n=-n>o?0:o+n),(r=r===i||r>o?o:ms(r))<0&&(r+=o),r=n>r?0:ys(r);n<r;)e[n++]=t;return e}(e,t,n,r)):[]},Bn.filter=function(e,t){return(Ya(e)?wt:mr)(e,ao(t,3))},Bn.flatMap=function(e,t){return yr(Sa(e,t),1)},Bn.flatMapDeep=function(e,t){return yr(Sa(e,t),c)},Bn.flatMapDepth=function(e,t,n){return n=n===i?1:ms(n),yr(Sa(e,t),n)},Bn.flatten=Xo,Bn.flattenDeep=function(e){return null!=e&&e.length?yr(e,c):[]},Bn.flattenDepth=function(e,t){return null!=e&&e.length?yr(e,t=t===i?1:ms(t)):[]},Bn.flip=function(e){return $i(e,512)},Bn.flow=nu,Bn.flowRight=ru,Bn.fromPairs=function(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var i=e[t];r[i[0]]=i[1]}return r},Bn.functions=function(e){return null==e?[]:_r(e,Os(e))},Bn.functionsIn=function(e){return null==e?[]:_r(e,Ls(e))},Bn.groupBy=_a,Bn.initial=function(e){return null!=e&&e.length?ti(e,0,-1):[]},Bn.intersection=Go,Bn.intersectionBy=$o,Bn.intersectionWith=Ko,Bn.invert=Ds,Bn.invertBy=Ms,Bn.invokeMap=wa,Bn.iteratee=ou,Bn.keyBy=Ea,Bn.keys=Os,Bn.keysIn=Ls,Bn.map=Sa,Bn.mapKeys=function(e,t){var n={};return t=ao(t,3),br(e,(function(e,r,i){ir(n,t(e,r,i),e)})),n},Bn.mapValues=function(e,t){var n={};return t=ao(t,3),br(e,(function(e,r,i){ir(n,r,t(e,r,i))})),n},Bn.matches=function(e){return jr(sr(e,1))},Bn.matchesProperty=function(e,t){return Br(e,sr(t,1))},Bn.memoize=Fa,Bn.merge=Ns,Bn.mergeWith=Fs,Bn.method=au,Bn.methodOf=su,Bn.mixin=uu,Bn.negate=Ra,Bn.nthArg=function(e){return e=ms(e),Gr((function(t){return zr(t,e)}))},Bn.omit=Rs,Bn.omitBy=function(e,t){return js(e,Ra(ao(t)))},Bn.once=function(e){return Da(2,e)},Bn.orderBy=function(e,t,n,r){return null==e?[]:(Ya(t)||(t=null==t?[]:[t]),Ya(n=r?i:n)||(n=null==n?[]:[n]),Vr(e,t,n))},Bn.over=cu,Bn.overArgs=Ia,Bn.overEvery=fu,Bn.overSome=pu,Bn.partial=ja,Bn.partialRight=Ba,Bn.partition=ka,Bn.pick=Is,Bn.pickBy=js,Bn.property=du,Bn.propertyOf=function(e){return function(t){return null==e?i:wr(e,t)}},Bn.pull=Jo,Bn.pullAll=Qo,Bn.pullAllBy=function(e,t,n){return e&&e.length&&t&&t.length?Wr(e,t,ao(n,2)):e},Bn.pullAllWith=function(e,t,n){return e&&e.length&&t&&t.length?Wr(e,t,i,n):e},Bn.pullAt=ea,Bn.range=hu,Bn.rangeRight=mu,Bn.rearg=qa,Bn.reject=function(e,t){return(Ya(e)?wt:mr)(e,Ra(ao(t,3)))},Bn.remove=function(e,t){var n=[];if(!e||!e.length)return n;var r=-1,i=[],o=e.length;for(t=ao(t,3);++r<o;){var a=e[r];t(a,r,e)&&(n.push(a),i.push(r))}return Yr(e,i),n},Bn.rest=function(e,t){if(\"function\"!=typeof e)throw new Ce(o);return Gr(e,t=t===i?t:ms(t))},Bn.reverse=ta,Bn.sampleSize=function(e,t,n){return t=(n?go(e,t,n):t===i)?1:ms(t),(Ya(e)?Zn:Kr)(e,t)},Bn.set=function(e,t,n){return null==e?e:Zr(e,t,n)},Bn.setWith=function(e,t,n,r){return r=\"function\"==typeof r?r:i,null==e?e:Zr(e,t,n,r)},Bn.shuffle=function(e){return(Ya(e)?Jn:ei)(e)},Bn.slice=function(e,t,n){var r=null==e?0:e.length;return r?(n&&\"number\"!=typeof n&&go(e,t,n)?(t=0,n=r):(t=null==t?0:ms(t),n=n===i?r:ms(n)),ti(e,t,n)):[]},Bn.sortBy=Aa,Bn.sortedUniq=function(e){return e&&e.length?oi(e):[]},Bn.sortedUniqBy=function(e,t){return e&&e.length?oi(e,ao(t,2)):[]},Bn.split=function(e,t,n){return n&&\"number\"!=typeof n&&go(e,t,n)&&(t=n=i),(n=n===i?d:n>>>0)?(e=bs(e))&&(\"string\"==typeof t||null!=t&&!as(t))&&!(t=si(t))&&Jt(e)?bi(an(e),0,n):e.split(t,n):[]},Bn.spread=function(e,t){if(\"function\"!=typeof e)throw new Ce(o);return t=null==t?0:vn(ms(t),0),Gr((function(n){var r=n[t],i=bi(n,0,t);return r&&At(i,r),vt(e,this,i)}))},Bn.tail=function(e){var t=null==e?0:e.length;return t?ti(e,1,t):[]},Bn.take=function(e,t,n){return e&&e.length?ti(e,0,(t=n||t===i?1:ms(t))<0?0:t):[]},Bn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?ti(e,(t=r-(t=n||t===i?1:ms(t)))<0?0:t,r):[]},Bn.takeRightWhile=function(e,t){return e&&e.length?fi(e,ao(t,3),!1,!0):[]},Bn.takeWhile=function(e,t){return e&&e.length?fi(e,ao(t,3)):[]},Bn.tap=function(e,t){return t(e),e},Bn.throttle=function(e,t,n){var r=!0,i=!0;if(\"function\"!=typeof e)throw new Ce(o);return ts(n)&&(r=\"leading\"in n?!!n.leading:r,i=\"trailing\"in n?!!n.trailing:i),Oa(e,t,{leading:r,maxWait:t,trailing:i})},Bn.thru=ha,Bn.toArray=ds,Bn.toPairs=Bs,Bn.toPairsIn=qs,Bn.toPath=function(e){return Ya(e)?kt(e,jo):ls(e)?[e]:Ci(Io(bs(e)))},Bn.toPlainObject=gs,Bn.transform=function(e,t,n){var r=Ya(e),i=r||$a(e)||cs(e);if(t=ao(t,4),null==n){var o=e&&e.constructor;n=i?r?new o:[]:ts(e)&&Ja(o)?qn(Xe(e)):{}}return(i?bt:br)(e,(function(e,r,i){return t(n,e,r,i)})),n},Bn.unary=function(e){return Ta(e,1)},Bn.union=na,Bn.unionBy=ra,Bn.unionWith=ia,Bn.uniq=function(e){return e&&e.length?ui(e):[]},Bn.uniqBy=function(e,t){return e&&e.length?ui(e,ao(t,2)):[]},Bn.uniqWith=function(e,t){return t=\"function\"==typeof t?t:i,e&&e.length?ui(e,i,t):[]},Bn.unset=function(e,t){return null==e||li(e,t)},Bn.unzip=oa,Bn.unzipWith=aa,Bn.update=function(e,t,n){return null==e?e:ci(e,t,yi(n))},Bn.updateWith=function(e,t,n,r){return r=\"function\"==typeof r?r:i,null==e?e:ci(e,t,yi(n),r)},Bn.values=zs,Bn.valuesIn=function(e){return null==e?[]:Wt(e,Ls(e))},Bn.without=sa,Bn.words=Js,Bn.wrap=function(e,t){return ja(yi(t),e)},Bn.xor=ua,Bn.xorBy=la,Bn.xorWith=ca,Bn.zip=fa,Bn.zipObject=function(e,t){return hi(e||[],t||[],er)},Bn.zipObjectDeep=function(e,t){return hi(e||[],t||[],Zr)},Bn.zipWith=pa,Bn.entries=Bs,Bn.entriesIn=qs,Bn.extend=_s,Bn.extendWith=ws,uu(Bn,Bn),Bn.add=bu,Bn.attempt=Qs,Bn.camelCase=Vs,Bn.capitalize=Us,Bn.ceil=xu,Bn.clamp=function(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=(n=vs(n))==n?n:0),t!==i&&(t=(t=vs(t))==t?t:0),ar(vs(e),t,n)},Bn.clone=function(e){return sr(e,4)},Bn.cloneDeep=function(e){return sr(e,5)},Bn.cloneDeepWith=function(e,t){return sr(e,5,t=\"function\"==typeof t?t:i)},Bn.cloneWith=function(e,t){return sr(e,4,t=\"function\"==typeof t?t:i)},Bn.conformsTo=function(e,t){return null==t||ur(e,t,Os(t))},Bn.deburr=Ws,Bn.defaultTo=function(e,t){return null==e||e!=e?t:e},Bn.divide=_u,Bn.endsWith=function(e,t,n){e=bs(e),t=si(t);var r=e.length,o=n=n===i?r:ar(ms(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Bn.eq=za,Bn.escape=function(e){return(e=bs(e))&&G.test(e)?e.replace(X,Kt):e},Bn.escapeRegExp=function(e){return(e=bs(e))&&ne.test(e)?e.replace(te,\"\\\\$&\"):e},Bn.every=function(e,t,n){var r=Ya(e)?_t:dr;return n&&go(e,t,n)&&(t=i),r(e,ao(t,3))},Bn.find=va,Bn.findIndex=Wo,Bn.findKey=function(e,t){return Pt(e,ao(t,3),br)},Bn.findLast=ga,Bn.findLastIndex=Yo,Bn.findLastKey=function(e,t){return Pt(e,ao(t,3),xr)},Bn.floor=wu,Bn.forEach=ba,Bn.forEachRight=xa,Bn.forIn=function(e,t){return null==e?e:vr(e,ao(t,3),Ls)},Bn.forInRight=function(e,t){return null==e?e:gr(e,ao(t,3),Ls)},Bn.forOwn=function(e,t){return e&&br(e,ao(t,3))},Bn.forOwnRight=function(e,t){return e&&xr(e,ao(t,3))},Bn.get=Cs,Bn.gt=Va,Bn.gte=Ua,Bn.has=function(e,t){return null!=e&&ho(e,t,Ar)},Bn.hasIn=Ts,Bn.head=Ho,Bn.identity=iu,Bn.includes=function(e,t,n,r){e=Ha(e)?e:zs(e),n=n&&!r?ms(n):0;var i=e.length;return n<0&&(n=vn(i+n,0)),us(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&Lt(e,t,n)>-1},Bn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=null==n?0:ms(n);return i<0&&(i=vn(r+i,0)),Lt(e,t,i)},Bn.inRange=function(e,t,n){return t=hs(t),n===i?(n=t,t=0):n=hs(n),function(e,t,n){return e>=gn(t,n)&&e<vn(t,n)}(e=vs(e),t,n)},Bn.invoke=Ps,Bn.isArguments=Wa,Bn.isArray=Ya,Bn.isArrayBuffer=Xa,Bn.isArrayLike=Ha,Bn.isArrayLikeObject=Ga,Bn.isBoolean=function(e){return!0===e||!1===e||ns(e)&&Sr(e)==v},Bn.isBuffer=$a,Bn.isDate=Ka,Bn.isElement=function(e){return ns(e)&&1===e.nodeType&&!os(e)},Bn.isEmpty=function(e){if(null==e)return!0;if(Ha(e)&&(Ya(e)||\"string\"==typeof e||\"function\"==typeof e.splice||$a(e)||cs(e)||Wa(e)))return!e.length;var t=po(e);if(t==w||t==C)return!e.size;if(wo(e))return!Fr(e).length;for(var n in e)if(Le.call(e,n))return!1;return!0},Bn.isEqual=function(e,t){return Pr(e,t)},Bn.isEqualWith=function(e,t,n){var r=(n=\"function\"==typeof n?n:i)?n(e,t):i;return r===i?Pr(e,t,i,n):!!r},Bn.isError=Za,Bn.isFinite=function(e){return\"number\"==typeof e&&hn(e)},Bn.isFunction=Ja,Bn.isInteger=Qa,Bn.isLength=es,Bn.isMap=rs,Bn.isMatch=function(e,t){return e===t||Or(e,t,uo(t))},Bn.isMatchWith=function(e,t,n){return n=\"function\"==typeof n?n:i,Or(e,t,uo(t),n)},Bn.isNaN=function(e){return is(e)&&e!=+e},Bn.isNative=function(e){if(_o(e))throw new _e(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return Lr(e)},Bn.isNil=function(e){return null==e},Bn.isNull=function(e){return null===e},Bn.isNumber=is,Bn.isObject=ts,Bn.isObjectLike=ns,Bn.isPlainObject=os,Bn.isRegExp=as,Bn.isSafeInteger=function(e){return Qa(e)&&e>=-9007199254740991&&e<=f},Bn.isSet=ss,Bn.isString=us,Bn.isSymbol=ls,Bn.isTypedArray=cs,Bn.isUndefined=function(e){return e===i},Bn.isWeakMap=function(e){return ns(e)&&po(e)==M},Bn.isWeakSet=function(e){return ns(e)&&\"[object WeakSet]\"==Sr(e)},Bn.join=function(e,t){return null==e?\"\":mn.call(e,t)},Bn.kebabCase=Ys,Bn.last=Zo,Bn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==i&&(o=(o=ms(n))<0?vn(r+o,0):gn(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):Ot(e,Ft,o,!0)},Bn.lowerCase=Xs,Bn.lowerFirst=Hs,Bn.lt=fs,Bn.lte=ps,Bn.max=function(e){return e&&e.length?hr(e,iu,kr):i},Bn.maxBy=function(e,t){return e&&e.length?hr(e,ao(t,2),kr):i},Bn.mean=function(e){return Rt(e,iu)},Bn.meanBy=function(e,t){return Rt(e,ao(t,2))},Bn.min=function(e){return e&&e.length?hr(e,iu,Rr):i},Bn.minBy=function(e,t){return e&&e.length?hr(e,ao(t,2),Rr):i},Bn.stubArray=yu,Bn.stubFalse=vu,Bn.stubObject=function(){return{}},Bn.stubString=function(){return\"\"},Bn.stubTrue=function(){return!0},Bn.multiply=Eu,Bn.nth=function(e,t){return e&&e.length?zr(e,ms(t)):i},Bn.noConflict=function(){return ot._===this&&(ot._=je),this},Bn.noop=lu,Bn.now=Ca,Bn.pad=function(e,t,n){e=bs(e);var r=(t=ms(t))?on(e):0;if(!t||r>=t)return e;var i=(t-r)/2;return Vi(fn(i),n)+e+Vi(cn(i),n)},Bn.padEnd=function(e,t,n){e=bs(e);var r=(t=ms(t))?on(e):0;return t&&r<t?e+Vi(t-r,n):e},Bn.padStart=function(e,t,n){e=bs(e);var r=(t=ms(t))?on(e):0;return t&&r<t?Vi(t-r,n)+e:e},Bn.parseInt=function(e,t,n){return n||null==t?t=0:t&&(t=+t),xn(bs(e).replace(re,\"\"),t||0)},Bn.random=function(e,t,n){if(n&&\"boolean\"!=typeof n&&go(e,t,n)&&(t=n=i),n===i&&(\"boolean\"==typeof t?(n=t,t=i):\"boolean\"==typeof e&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=hs(e),t===i?(t=e,e=0):t=hs(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=_n();return gn(e+o*(t-e+tt(\"1e-\"+((o+\"\").length-1))),t)}return Xr(e,t)},Bn.reduce=function(e,t,n){var r=Ya(e)?Ct:Bt,i=arguments.length<3;return r(e,ao(t,4),n,i,fr)},Bn.reduceRight=function(e,t,n){var r=Ya(e)?Tt:Bt,i=arguments.length<3;return r(e,ao(t,4),n,i,pr)},Bn.repeat=function(e,t,n){return t=(n?go(e,t,n):t===i)?1:ms(t),Hr(bs(e),t)},Bn.replace=function(){var e=arguments,t=bs(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Bn.result=function(e,t,n){var r=-1,o=(t=vi(t,e)).length;for(o||(o=1,e=i);++r<o;){var a=null==e?i:e[jo(t[r])];a===i&&(r=o,a=n),e=Ja(a)?a.call(e):a}return e},Bn.round=Su,Bn.runInContext=e,Bn.sample=function(e){return(Ya(e)?Kn:$r)(e)},Bn.size=function(e){if(null==e)return 0;if(Ha(e))return us(e)?on(e):e.length;var t=po(e);return t==w||t==C?e.size:Fr(e).length},Bn.snakeCase=Gs,Bn.some=function(e,t,n){var r=Ya(e)?Dt:ni;return n&&go(e,t,n)&&(t=i),r(e,ao(t,3))},Bn.sortedIndex=function(e,t){return ri(e,t)},Bn.sortedIndexBy=function(e,t,n){return ii(e,t,ao(n,2))},Bn.sortedIndexOf=function(e,t){var n=null==e?0:e.length;if(n){var r=ri(e,t);if(r<n&&za(e[r],t))return r}return-1},Bn.sortedLastIndex=function(e,t){return ri(e,t,!0)},Bn.sortedLastIndexBy=function(e,t,n){return ii(e,t,ao(n,2),!0)},Bn.sortedLastIndexOf=function(e,t){if(null!=e&&e.length){var n=ri(e,t,!0)-1;if(za(e[n],t))return n}return-1},Bn.startCase=$s,Bn.startsWith=function(e,t,n){return e=bs(e),n=null==n?0:ar(ms(n),0,e.length),t=si(t),e.slice(n,n+t.length)==t},Bn.subtract=ku,Bn.sum=function(e){return e&&e.length?qt(e,iu):0},Bn.sumBy=function(e,t){return e&&e.length?qt(e,ao(t,2)):0},Bn.template=function(e,t,n){var r=Bn.templateSettings;n&&go(e,t,n)&&(t=i),e=bs(e),t=ws({},t,r,Ki);var o,a,s=ws({},t.imports,r.imports,Ki),u=Os(s),l=Wt(s,u),c=0,f=t.interpolate||be,p=\"__p += '\",d=ke((t.escape||be).source+\"|\"+f.source+\"|\"+(f===Z?fe:be).source+\"|\"+(t.evaluate||be).source+\"|$\",\"g\"),h=\"//# sourceURL=\"+(Le.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Ze+\"]\")+\"\\n\";e.replace(d,(function(t,n,r,i,s,u){return r||(r=i),p+=e.slice(c,u).replace(xe,Zt),n&&(o=!0,p+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(a=!0,p+=\"';\\n\"+s+\";\\n__p += '\"),r&&(p+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=u+t.length,t})),p+=\"';\\n\";var m=Le.call(t,\"variable\")&&t.variable;if(m){if(le.test(m))throw new _e(\"Invalid `variable` option passed into `_.template`\")}else p=\"with (obj) {\\n\"+p+\"\\n}\\n\";p=(a?p.replace(V,\"\"):p).replace(U,\"$1\").replace(W,\"$1;\"),p=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(o?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+p+\"return __p\\n}\";var y=Qs((function(){return we(u,h+\"return \"+p).apply(i,l)}));if(y.source=p,Za(y))throw y;return y},Bn.times=function(e,t){if((e=ms(e))<1||e>f)return[];var n=d,r=gn(e,d);t=ao(t),e-=d;for(var i=zt(r,t);++n<e;)t(n);return i},Bn.toFinite=hs,Bn.toInteger=ms,Bn.toLength=ys,Bn.toLower=function(e){return bs(e).toLowerCase()},Bn.toNumber=vs,Bn.toSafeInteger=function(e){return e?ar(ms(e),-9007199254740991,f):0===e?e:0},Bn.toString=bs,Bn.toUpper=function(e){return bs(e).toUpperCase()},Bn.trim=function(e,t,n){if((e=bs(e))&&(n||t===i))return Vt(e);if(!e||!(t=si(t)))return e;var r=an(e),o=an(t);return bi(r,Xt(r,o),Ht(r,o)+1).join(\"\")},Bn.trimEnd=function(e,t,n){if((e=bs(e))&&(n||t===i))return e.slice(0,sn(e)+1);if(!e||!(t=si(t)))return e;var r=an(e);return bi(r,0,Ht(r,an(t))+1).join(\"\")},Bn.trimStart=function(e,t,n){if((e=bs(e))&&(n||t===i))return e.replace(re,\"\");if(!e||!(t=si(t)))return e;var r=an(e);return bi(r,Xt(r,an(t))).join(\"\")},Bn.truncate=function(e,t){var n=30,r=\"...\";if(ts(t)){var o=\"separator\"in t?t.separator:o;n=\"length\"in t?ms(t.length):n,r=\"omission\"in t?si(t.omission):r}var a=(e=bs(e)).length;if(Jt(e)){var s=an(e);a=s.length}if(n>=a)return e;var u=n-on(r);if(u<1)return r;var l=s?bi(s,0,u).join(\"\"):e.slice(0,u);if(o===i)return l+r;if(s&&(u+=l.length-u),as(o)){if(e.slice(u).search(o)){var c,f=l;for(o.global||(o=ke(o.source,bs(pe.exec(o))+\"g\")),o.lastIndex=0;c=o.exec(f);)var p=c.index;l=l.slice(0,p===i?u:p)}}else if(e.indexOf(si(o),u)!=u){var d=l.lastIndexOf(o);d>-1&&(l=l.slice(0,d))}return l+r},Bn.unescape=function(e){return(e=bs(e))&&H.test(e)?e.replace(Y,un):e},Bn.uniqueId=function(e){var t=++Ne;return bs(e)+t},Bn.upperCase=Ks,Bn.upperFirst=Zs,Bn.each=ba,Bn.eachRight=xa,Bn.first=Ho,uu(Bn,(gu={},br(Bn,(function(e,t){Le.call(Bn.prototype,t)||(gu[t]=e)})),gu),{chain:!1}),Bn.VERSION=\"4.17.21\",bt([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],(function(e){Bn[e].placeholder=Bn})),bt([\"drop\",\"take\"],(function(e,t){Un.prototype[e]=function(n){n=n===i?1:vn(ms(n),0);var r=this.__filtered__&&!t?new Un(this):this.clone();return r.__filtered__?r.__takeCount__=gn(n,r.__takeCount__):r.__views__.push({size:gn(n,d),type:e+(r.__dir__<0?\"Right\":\"\")}),r},Un.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}})),bt([\"filter\",\"map\",\"takeWhile\"],(function(e,t){var n=t+1,r=1==n||3==n;Un.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ao(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),bt([\"head\",\"last\"],(function(e,t){var n=\"take\"+(t?\"Right\":\"\");Un.prototype[e]=function(){return this[n](1).value()[0]}})),bt([\"initial\",\"tail\"],(function(e,t){var n=\"drop\"+(t?\"\":\"Right\");Un.prototype[e]=function(){return this.__filtered__?new Un(this):this[n](1)}})),Un.prototype.compact=function(){return this.filter(iu)},Un.prototype.find=function(e){return this.filter(e).head()},Un.prototype.findLast=function(e){return this.reverse().find(e)},Un.prototype.invokeMap=Gr((function(e,t){return\"function\"==typeof e?new Un(this):this.map((function(n){return Dr(n,e,t)}))})),Un.prototype.reject=function(e){return this.filter(Ra(ao(e)))},Un.prototype.slice=function(e,t){e=ms(e);var n=this;return n.__filtered__&&(e>0||t<0)?new Un(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(n=(t=ms(t))<0?n.dropRight(-t):n.take(t-e)),n)},Un.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},Un.prototype.toArray=function(){return this.take(d)},br(Un.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Bn[r?\"take\"+(\"last\"==t?\"Right\":\"\"):t],a=r||/^find/.test(t);o&&(Bn.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,u=t instanceof Un,l=s[0],c=u||Ya(t),f=function(e){var t=o.apply(Bn,At([e],s));return r&&p?t[0]:t};c&&n&&\"function\"==typeof l&&1!=l.length&&(u=c=!1);var p=this.__chain__,d=!!this.__actions__.length,h=a&&!p,m=u&&!d;if(!a&&c){t=m?t:new Un(this);var y=e.apply(t,s);return y.__actions__.push({func:ha,args:[f],thisArg:i}),new Vn(y,p)}return h&&m?e.apply(this,s):(y=this.thru(f),h?r?y.value()[0]:y.value():y)})})),bt([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],(function(e){var t=Te[e],n=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",r=/^(?:pop|shift)$/.test(e);Bn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(Ya(i)?i:[],e)}return this[n]((function(n){return t.apply(Ya(n)?n:[],e)}))}})),br(Un.prototype,(function(e,t){var n=Bn[t];if(n){var r=n.name+\"\";Le.call(Mn,r)||(Mn[r]=[]),Mn[r].push({name:t,func:n})}})),Mn[ji(i,2).name]=[{name:\"wrapper\",func:i}],Un.prototype.clone=function(){var e=new Un(this.__wrapped__);return e.__actions__=Ci(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ci(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ci(this.__views__),e},Un.prototype.reverse=function(){if(this.__filtered__){var e=new Un(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},Un.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ya(e),r=t<0,i=n?e.length:0,o=function(e,t,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case\"drop\":e+=a;break;case\"dropRight\":t-=a;break;case\"take\":t=gn(t,e+a);break;case\"takeRight\":e=vn(e,t-a)}}return{start:e,end:t}}(0,i,this.__views__),a=o.start,s=o.end,u=s-a,l=r?s:a-1,c=this.__iteratees__,f=c.length,p=0,d=gn(u,this.__takeCount__);if(!n||!r&&i==u&&d==u)return pi(e,this.__actions__);var h=[];e:for(;u--&&p<d;){for(var m=-1,y=e[l+=t];++m<f;){var v=c[m],g=v.iteratee,b=v.type,x=g(y);if(2==b)y=x;else if(!x){if(1==b)continue e;break e}}h[p++]=y}return h},Bn.prototype.at=ma,Bn.prototype.chain=function(){return da(this)},Bn.prototype.commit=function(){return new Vn(this.value(),this.__chain__)},Bn.prototype.next=function(){this.__values__===i&&(this.__values__=ds(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?i:this.__values__[this.__index__++]}},Bn.prototype.plant=function(e){for(var t,n=this;n instanceof zn;){var r=qo(n);r.__index__=0,r.__values__=i,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Bn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof Un){var t=e;return this.__actions__.length&&(t=new Un(this)),(t=t.reverse()).__actions__.push({func:ha,args:[ta],thisArg:i}),new Vn(t,this.__chain__)}return this.thru(ta)},Bn.prototype.toJSON=Bn.prototype.valueOf=Bn.prototype.value=function(){return pi(this.__wrapped__,this.__actions__)},Bn.prototype.first=Bn.prototype.head,at&&(Bn.prototype[at]=function(){return this}),Bn}();ot._=ln,(r=function(){return ln}.call(t,n,t,e))===i||(e.exports=r)}.call(this)},35161:(e,t,n)=>{var r=n(29932),i=n(67206),o=n(69199),a=n(1469);e.exports=function(e,t){return(a(e)?r:o)(e,i(t,3))}},67523:(e,t,n)=>{var r=n(89465),i=n(47816),o=n(67206);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,t(e,i,o),e)})),n}},66604:(e,t,n)=>{var r=n(89465),i=n(47816),o=n(67206);e.exports=function(e,t){var n={};return t=o(t,3),i(e,(function(e,i,o){r(n,i,t(e,i,o))})),n}},6162:(e,t,n)=>{var r=n(56029),i=n(53325),o=n(6557);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},84753:(e,t,n)=>{var r=n(56029),i=n(53325),o=n(67206);e.exports=function(e,t){return e&&e.length?r(e,o(t,2),i):void 0}},88306:(e,t,n)=>{var r=n(83369);function i(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(\"Expected a function\");var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a)||o,a};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},53632:(e,t,n)=>{var r=n(56029),i=n(70433),o=n(6557);e.exports=function(e){return e&&e.length?r(e,o,i):void 0}},22762:(e,t,n)=>{var r=n(56029),i=n(67206),o=n(70433);e.exports=function(e,t){return e&&e.length?r(e,i(t,2),o):void 0}},94885:e=>{e.exports=function(e){if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}},50308:e=>{e.exports=function(){}},57557:(e,t,n)=>{var r=n(29932),i=n(85990),o=n(57406),a=n(71811),s=n(98363),u=n(60696),l=n(99021),c=n(46904),f=l((function(e,t){var n={};if(null==e)return n;var l=!1;t=r(t,(function(t){return t=a(t,e),l||(l=t.length>1),t})),s(e,c(e),n),l&&(n=i(n,7,u));for(var f=t.length;f--;)o(n,t[f]);return n}));e.exports=f},14176:(e,t,n)=>{var r=n(67206),i=n(94885),o=n(35937);e.exports=function(e,t){return o(e,i(r(t)))}},35937:(e,t,n)=>{var r=n(29932),i=n(67206),o=n(63012),a=n(46904);e.exports=function(e,t){if(null==e)return{};var n=r(a(e),(function(e){return[e]}));return t=i(t),o(e,n,(function(e,n){return t(e,n[0])}))}},39601:(e,t,n)=>{var r=n(40371),i=n(79152),o=n(15403),a=n(40327);e.exports=function(e){return o(e)?r(a(e)):i(e)}},96026:(e,t,n)=>{var r=n(47445)();e.exports=r},54061:(e,t,n)=>{var r=n(62663),i=n(89881),o=n(67206),a=n(10107),s=n(1469);e.exports=function(e,t,n){var u=s(e)?r:a,l=arguments.length<3;return u(e,o(t,4),n,l,i)}},70479:e=>{e.exports=function(){return[]}},95062:e=>{e.exports=function(){return!1}},73303:(e,t,n)=>{var r=n(67206),i=n(67762);e.exports=function(e,t){return e&&e.length?i(e,r(t,2)):0}},13217:(e,t,n)=>{var r=n(14259);e.exports=function(e){var t=null==e?0:e.length;return t?r(e,1,t):[]}},98913:(e,t,n)=>{var r=n(22545),i=n(54290),o=n(40554),a=4294967295,s=Math.min;e.exports=function(e,t){if((e=o(e))<1||e>9007199254740991)return[];var n=a,u=s(e,a);t=i(t),e-=a;for(var l=r(u,t);++n<e;)t(n);return l}},18601:(e,t,n)=>{var r=n(14841);e.exports=function(e){return e?Infinity===(e=r(e))||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}},40554:(e,t,n)=>{var r=n(18601);e.exports=function(e){var t=r(e),n=t%1;return t==t?n?t-n:t:0}},14841:(e,t,n)=>{var r=n(27561),i=n(13218),o=n(33448),a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt;e.exports=function(e){if(\"number\"==typeof e)return e;if(o(e))return NaN;if(i(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=r(e);var n=s.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):a.test(e)?NaN:+e}},79833:(e,t,n)=>{var r=n(80531);e.exports=function(e){return null==e?\"\":r(e)}},44908:(e,t,n)=>{var r=n(45652);e.exports=function(e){return e&&e.length?r(e):[]}},45578:(e,t,n)=>{var r=n(67206),i=n(45652);e.exports=function(e,t){return e&&e.length?i(e,r(t,2)):[]}},73955:(e,t,n)=>{var r=n(79833),i=0;e.exports=function(e){var t=++i;return r(e)+t}},11700:(e,t,n)=>{var r=n(98805)(\"toUpperCase\");e.exports=r},58748:(e,t,n)=>{var r=n(49029),i=n(93157),o=n(79833),a=n(2757);e.exports=function(e,t,n){return e=o(e),void 0===(t=n?void 0:t)?i(e)?a(e):r(e):e.match(t)||[]}},70729:e=>{\"use strict\";var t={};function n(e,r,i){var o,a,s,u,l,c=\"\";for(\"string\"!=typeof r&&(i=r,r=n.defaultChars),void 0===i&&(i=!0),l=function(e){var n,r,i=t[e];if(i)return i;for(i=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?i.push(r):i.push(\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n<e.length;n++)i[e.charCodeAt(n)]=e[n];return i}(r),o=0,a=e.length;o<a;o++)if(s=e.charCodeAt(o),i&&37===s&&o+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(o+1,o+3)))c+=e.slice(o,o+3),o+=2;else if(s<128)c+=l[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1<a&&(u=e.charCodeAt(o+1))>=56320&&u<=57343){c+=encodeURIComponent(e[o]+e[o+1]),o++;continue}c+=\"%EF%BF%BD\"}else c+=encodeURIComponent(e[o]);return c}n.defaultChars=\";/?:@&=+$,-_.!~*'()#\",n.componentChars=\"-_.!~*'()\",e.exports=n},27418:e=>{\"use strict\";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;if(\"0123456789\"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(\"\"))return!1;var r={};return\"abcdefghijklmnopqrst\".split(\"\").forEach((function(e){r[e]=e})),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},r)).join(\"\")}catch(e){return!1}}()?Object.assign:function(e,o){for(var a,s,u=i(e),l=1;l<arguments.length;l++){for(var c in a=Object(arguments[l]))n.call(a,c)&&(u[c]=a[c]);if(t){s=t(a);for(var f=0;f<s.length;f++)r.call(a,s[f])&&(u[s[f]]=a[s[f]])}}return u}},14779:(e,t,n)=>{var r=n(96173);e.exports=function e(t,n,i){return r(n)||(i=n||i,n=[]),i=i||{},t instanceof RegExp?function(e,t){var n=e.source.match(/\\((?!\\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(t,n):r(t)?function(t,n,r){for(var i=[],o=0;o<t.length;o++)i.push(e(t[o],n,r).source);return c(new RegExp(\"(?:\"+i.join(\"|\")+\")\",f(r)),n)}(t,n,i):function(e,t,n){return p(o(e,n),t,n)}(t,n,i)},e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var i=new RegExp([\"(\\\\\\\\.)\",\"([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))\"].join(\"|\"),\"g\");function o(e,t){for(var n,r=[],o=0,a=0,s=\"\",c=t&&t.delimiter||\"/\";null!=(n=i.exec(e));){var f=n[0],p=n[1],d=n.index;if(s+=e.slice(a,d),a=d+f.length,p)s+=p[1];else{var h=e[a],m=n[2],y=n[3],v=n[4],g=n[5],b=n[6],x=n[7];s&&(r.push(s),s=\"\");var _=null!=m&&null!=h&&h!==m,w=\"+\"===b||\"*\"===b,E=\"?\"===b||\"*\"===b,S=n[2]||c,k=v||g;r.push({name:y||o++,prefix:m||\"\",delimiter:S,optional:E,repeat:w,partial:_,asterisk:!!x,pattern:k?l(k):x?\".*\":\"[^\"+u(S)+\"]+?\"})}}return a<e.length&&(s+=e.substr(a)),s&&r.push(s),r}function a(e){return encodeURI(e).replace(/[\\/?#]/g,(function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),i=0;i<e.length;i++)\"object\"==typeof e[i]&&(n[i]=new RegExp(\"^(?:\"+e[i].pattern+\")$\",f(t)));return function(t,i){for(var o=\"\",s=t||{},u=(i||{}).pretty?a:encodeURIComponent,l=0;l<e.length;l++){var c=e[l];if(\"string\"!=typeof c){var f,p=s[c.name];if(null==p){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected \"'+c.name+'\" to be defined')}if(r(p)){if(!c.repeat)throw new TypeError('Expected \"'+c.name+'\" to not repeat, but received `'+JSON.stringify(p)+\"`\");if(0===p.length){if(c.optional)continue;throw new TypeError('Expected \"'+c.name+'\" to not be empty')}for(var d=0;d<p.length;d++){if(f=u(p[d]),!n[l].test(f))throw new TypeError('Expected all \"'+c.name+'\" to match \"'+c.pattern+'\", but received `'+JSON.stringify(f)+\"`\");o+=(0===d?c.prefix:c.delimiter)+f}}else{if(f=c.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})):u(p),!n[l].test(f))throw new TypeError('Expected \"'+c.name+'\" to match \"'+c.pattern+'\", but received \"'+f+'\"');o+=c.prefix+f}}else o+=c}return o}}function u(e){return e.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g,\"\\\\$1\")}function l(e){return e.replace(/([=!:$\\/()])/g,\"\\\\$1\")}function c(e,t){return e.keys=t,e}function f(e){return e&&e.sensitive?\"\":\"i\"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var i=(n=n||{}).strict,o=!1!==n.end,a=\"\",s=0;s<e.length;s++){var l=e[s];if(\"string\"==typeof l)a+=u(l);else{var p=u(l.prefix),d=\"(?:\"+l.pattern+\")\";t.push(l),l.repeat&&(d+=\"(?:\"+p+d+\")*\"),a+=d=l.optional?l.partial?p+\"(\"+d+\")?\":\"(?:\"+p+\"(\"+d+\"))?\":p+\"(\"+d+\")\"}}var h=u(n.delimiter||\"/\"),m=a.slice(-h.length)===h;return i||(a=(m?a.slice(0,-h.length):a)+\"(?:\"+h+\"(?=$))?\"),a+=o?\"$\":i&&m?\"\":\"(?=\"+h+\"|$)\",c(new RegExp(\"^\"+a,f(n)),t)}},96173:e=>{e.exports=Array.isArray||function(e){return\"[object Array]\"==Object.prototype.toString.call(e)}},92703:(e,t,n)=>{\"use strict\";var r=n(50414);function i(){}function o(){}o.resetWarningCache=i,e.exports=function(){function e(e,t,n,i,o,a){if(a!==r){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:i};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},51885:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const AreaBarChartExample = (props) => {\\n  return <div>\\n    <XYPlot width={500} height={320}>\\n      <XAxis /><YAxis labelFormats={['0.1f']} />\\n      <AreaBarChart\\n        data={_.range(15)}\\n        x={d => Math.sin(d / 10) * 10}\\n        xEnd={d => Math.sin((d + 1) / 10) * 10}\\n        y={d => Math.cos(d / (Math.PI))}\\n      />\\n    </XYPlot>\\n    <XYPlot width={320} height={500}>\\n      <XAxis /><YAxis />\\n      <AreaBarChart\\n        horizontal\\n        data={_.range(15)}\\n        x={d => Math.cos(d / (Math.PI))}\\n        y={d => Math.sin(d / 10) * 10}\\n        yEnd={d => Math.sin((d + 1) / 10) * 10}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<AreaBarChartExample />, mountNode);\\n\"},17140:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const RatesByAge = (props) => {\\n  return <div>\\n    <h3 style={{textAlign: 'center'}}>US Smoking Rates by Age Group</h3>\\n    <XYPlot width={500} height={320} yDomain={[0, .2]}>\\n      <XAxis title=\\\"Age\\\" ticks={[18, 25, 45, 65]} nice={false}/>\\n      <YAxis title=\\\"Cigarette Use\\\" tickCount={4} labelFormats={['.1%']} />\\n      <AreaBarChart\\n        data={[\\n          {ageMin: 18, ageMax: 25, rate: .13},\\n          {ageMin: 25, ageMax: 45, rate: .177},\\n          {ageMin: 45, ageMax: 65, rate: .17},\\n          {ageMin: 65, ageMax: 85, rate: .084}\\n        ]}\\n        x={d => d.ageMin}\\n        xEnd={d => d.ageMax}\\n        y={d => d.rate}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<RatesByAge />, mountNode);\\n\"},3672:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"class Area2DatasetsExample extends React.Component {\\n  render() {\\n    const data1 = randomWalkTimeSeries(115).map(([x,y]) => ({x, y}));\\n    const data2 = randomWalkTimeSeries(115).map(([x,y]) => ({x, y}));\\n\\n    // we have two datasets, but AreaChart takes one combined dataset\\n    // so combine the two datasets into one using the combineDatasets utility function\\n    // (import from 'Reactochart/utils')\\n    // original datasets are of the shape [{x: ..., y: 20}]\\n    // combined is of the shape [{x: ..., y0: 20, y1: 30}]\\n    const combined = utils.Data.combineDatasets([\\n      {data: data1, combineKey: 'x', dataKeys: {y: 'y0'}},\\n      {data: data2, combineKey: 'x', dataKeys: {y: 'y1'}}\\n    ], 'x');\\n\\n    return <div>\\n      <XYPlot width={500}>\\n        <XAxis tickCount={4}/><YAxis/>\\n        <AreaChart\\n          data={combined}\\n          x={d => d.x}\\n          y={d => d.y0}\\n          yEnd={d => d.y1}\\n        />\\n      </XYPlot>\\n    </div>\\n  }\\n}\\n\\nReactDOM.render(<Area2DatasetsExample/>, mountNode);\\n\"},3307:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const AreaChartExample = (props) => {\\n  return <div>\\n    <XYPlot width={400} height={400}>\\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\\n      <AreaChart\\n        data={_.range(41)}\\n        x={d => d}\\n        y={d => Math.sin(d / 10) * 10}\\n        yEnd={d => Math.cos((d + 1) / 10) * 10}\\n      />\\n    </XYPlot>\\n  </div>\\n}\\n\\nReactDOM.render(<AreaChartExample/>, mountNode);\\n\"},14983:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"class AreaDifferenceExample extends React.Component {\\n  render() {\\n    const data1 = randomWalkTimeSeries(115).map(([x, y]) => ({x, y}));\\n    const data2 = randomWalkTimeSeries(115).map(([x, y]) => ({x, y}));\\n\\n    // we have two datasets, but AreaChart takes one combined dataset\\n    // so combine the two datasets into one using the combineDatasets utility function\\n    // (from 'reactochart/utils/Data')\\n    const combined = utils.Data.combineDatasets([\\n      {data: data1, combineKey: 'x', dataKeys: {y: 'y0'}},\\n      {data: data2, combineKey: 'x', dataKeys: {y: 'y1'}}\\n    ], 'x');\\n\\n    return <div>\\n      <XYPlot width={450}>\\n        <XAxis tickCount={4}/><YAxis/>\\n\\n        <AreaChart\\n          data={combined}\\n          isDifference={true}\\n          pathStyleNegative={{fill: 'lightcoral'}}\\n          pathStylePositive={{fill: 'lightgreen'}}\\n          x={d => d.x}\\n          y={d => d.y0}\\n          yEnd={d => d.y1}\\n        />\\n        <LineChart\\n          data={data1}\\n          x={d => d.x} y={d => d.y}\\n          lineStyle={{strokeWidth: 3}}\\n        />\\n        <LineChart\\n          data={data2}\\n          x={d => d.x} y={d => d.y}\\n        />\\n      </XYPlot>\\n    </div>\\n  }\\n}\\nReactDOM.render(<AreaDifferenceExample />, mountNode);\\n\"},53440:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const AreaHeatmapExample = (props) => {\\n  const gridData = _.range(30).map(m => {\\n    return _.range(30).map(n => {\\n      return {\\n        x: n,\\n        xEnd: n + 1,\\n        y: m,\\n        yEnd: m + 1,\\n        value: Math.sin(m * n * 0.01)\\n      };\\n    });\\n  });\\n\\n  const data = _.flatten(gridData);\\n\\n  return <div>\\n    <XYPlot {...{width: 500, height: 500}}>\\n      <XAxis /><YAxis />\\n\\n      <AreaHeatmap\\n        data={data}\\n        area={d => d.value}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        rectStyle={{fill: 'rebeccapurple'}}\\n      />\\n    </XYPlot>\\n\\n    <XYPlot {...{width: 500, height: 500}}>\\n      <XAxis /><YAxis />\\n\\n      <AreaHeatmap\\n        data={data}\\n        area={d => d.value}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        rectStyle={{fill: '#41ab5d'}}\\n      />\\n      <AreaHeatmap\\n        data={data}\\n        area={d => d.value * -1}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        rectStyle={{fill: '#fc4e2a'}}\\n      />\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<AreaHeatmapExample/>, mountNode);\\n\"},24756:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const AriaLabelContainerExample = (props) => {\\n  const data = _.range(10).map(d => ({\\n    x: d,\\n    y: Math.round(d * Math.random() * 10)\\n  }))\\n  return <XYPlot scaleType=\"linear\" width={600} height={350}>\\n      <XAxis title=\"X Axis\" />\\n      <YAxis title=\"Y Axis\" />\\n      <LineChart\\n        data={data}\\n        x={d => d.x}\\n        y={d => d.y}\\n        lineStyle={{stroke: \\'#ff7f0e\\', strokeWidth: 3}}\\n      />\\n      <AriaLabelContainer\\n        ariaLabelGenerator={(xValue, datasets) => {\\n          const { 0: dataPoint } = datasets;\\n          if(xValue){\\n            return `xValue, ${dataPoint.x}; yValue, ${dataPoint.y}`\\n          }\\n        }}\\n        datasetWithAccessor={\\n          [{\\n            data: data,\\n            accessor: d => d.x\\n          }]\\n        }\\n       />\\n    </XYPlot>;\\n};\\n\\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\\n'},29247:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const AriaLabelContainerExample = (props) => {\\n  const data0 = _.range(10).map(d => ({\\n    x: d,\\n    y: Math.round(d * Math.random() * 10)\\n  }))\\n  const data1 = _.range(7).map(d => ({\\n    x: d,\\n    y: Math.round(d * Math.random() * 10)\\n  }))\\n\\n  const ariaLabelGenerator = (xValue, datasets) => {\\n    const { 0: data0Point, 1: data1Point } = datasets;\\n    let ariaLabelString = `x Value, ${xValue}`;\\n    if(data0Point) {\\n      ariaLabelString += `, data0 y Value ${data0Point.y}`;\\n    }\\n    if(data1Point) {\\n      ariaLabelString += `, data1 y Value ${data1Point.y}`;\\n    }\\n    return ariaLabelString;\\n  }\\n        \\n        \\n  return <XYPlot scaleType=\"linear\" width={600} height={350}>\\n      <XAxis title=\"X Axis\" />\\n      <YAxis title=\"Y Axis\" />\\n      <LineChart\\n        data={data0}\\n        x={d => d.x}\\n        y={d => d.y}\\n        lineStyle={{stroke: \\'#ff7f0e\\', strokeWidth: 3}}\\n      />\\n      <LineChart\\n        data={data1}\\n        x={d => d.x}\\n        y={d => d.y}\\n        lineStyle={{stroke: \\'#2ca02c\\', strokeWidth: 3}}\\n      />\\n      <AriaLabelContainer\\n        ariaLabelGenerator={ariaLabelGenerator}\\n        datasetWithAccessor={[\\n          {\\n            data: data0,\\n            accessor: d => d.x,\\n          },\\n          {\\n            data: data1,\\n            accessor: d => d.x,\\n          }\\n        ]}\\n       />\\n    </XYPlot>;\\n};\\n\\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\\n'},31294:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const AriaLabelContainerExample = (props) => {\\n  const [selectedValue, setSelectedValue] = React.useState();\\n\\n  const data = _.range(10).map(d => ({\\n    x: d,\\n    y: d * 50,\\n  }))\\n\\n  const onMouseMove = ({xValue, yValue}) => {\\n    setSelectedValue({ x: xValue, y: yValue });\\n  }  \\n\\n  const onMouseLeave = () => setSelectedValue();\\n\\n  const onKeyDown = (event, xValue, datasets) => {\\n    const dataPoint = datasets[0];\\n    switch (event.keyCode) {\\n        // enter key code\\n        case 13:\\n          setSelectedValue(dataPoint);\\n          break;\\n        default:\\n          break;\\n      }\\n  }\\n\\n\\n  return (<div>\\n    <XYPlot\\n      scaleType=\"linear\"\\n      width={600}\\n      height={350}\\n      onMouseMove={onMouseMove}\\n      onMouseLeave={onMouseLeave}>\\n        <XAxis title=\"X Axis\" />\\n        <YAxis title=\"Y Axis\" />\\n        <LineChart\\n          data={data}\\n          x={d => d.x}\\n          y={d => d.y}\\n          lineStyle={{stroke: \\'#ff7f0e\\', strokeWidth: 3}}\\n        />\\n        <AriaLabelContainer\\n          ariaLabelGenerator={(xValue, datasets) => {\\n            const dataPoint = datasets[0];\\n            if(dataPoint) {\\n              return `x Value, ${dataPoint.x}; y Value: ${dataPoint.y}`\\n            } \\n          }}\\n          onKeyDown={onKeyDown}\\n          datasetWithAccessor={[\\n            {\\n              data,\\n              accessor: d => d.x\\n            }\\n          ]}\\n        />\\n      </XYPlot>\\n      {selectedValue && <h3>{`(${selectedValue.x}, ${selectedValue.y})`}</h3>}\\n    </div>);\\n};\\n\\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\\n'},97288:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const BarExample = (props) => {\\n  return <div>\\n    <XYPlot\\n      width={500} height={320}\\n      xDomain={['a', 'b', 'c', 'd']} yDomain={[0, 100]}\\n    >\\n      <XAxis /><YAxis />\\n      <Bar\\n        x={'b'}\\n        y={0} yEnd={75}\\n        thickness={15}\\n      />\\n      <Bar\\n        x={'c'}\\n        y={45} yEnd={80}\\n        thickness={30}\\n        style={{fill: 'coral'}}\\n      />\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<BarExample />, mountNode);\\n\"},99676:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const BarChartExample = (props) => {\\n  const count = 30;\\n  const startDate = new Date(1992, 0, 1);\\n\\n  const numbers = _.range(count);\\n  const letters = _.times(count, n => String.fromCharCode(97 + n));\\n  const dates = _.times(count, n => new Date(+(startDate) + (n * 1000 * 60 * 60 * 24 * 100)));\\n\\n  const getNumberValue = (d) => 1.97 + Math.cos(d / 10);\\n  const getDateValue = (d) => getNumberValue(d.getFullYear() + (d.getMonth() / 12));\\n  const getLetterValue = (d) => getNumberValue(d.charCodeAt(0));\\n\\n  const chartDefs = _.zip([numbers, letters, dates], [getNumberValue, getLetterValue, getDateValue]);\\n\\n  return <div>\\n    {([true, false]).map((horizontal, index) => {\\n      return <div key={index}>\\n        <h4>{horizontal ? \"Horizontal\" : \"Vertical\"}</h4>\\n\\n        {chartDefs.map(([data, getValue], index2) => {\\n          return <XYPlot width={320} height={320} key={index2}>\\n            <XAxis /><YAxis />\\n            <BarChart\\n              data={data}\\n              horizontal={horizontal}\\n              x={horizontal ? getValue : d => d}\\n              y={horizontal ? d => d : getValue}\\n            />\\n          </XYPlot>;\\n        })}\\n      </div>;\\n    })}\\n  </div>\\n};\\n\\nReactDOM.render(<BarChartExample/>, mountNode);\\n'},31434:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const BarChartWithDefs = (props) => {\\n  const data = [\\n    {x: 0, y: 80},\\n    {x: 5, y: 60},\\n    {x: 10, y: 90},\\n    {x: 15, y: 30},\\n  ];\\n  return <div>\\n  <svg width=\"0\" height=\"0\" style={{ position: \\'absolute\\' }}>\\n    <defs>\\n      <linearGradient id=\"Gradient\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\\n        <stop offset=\"0%\" stopColor=\"blue\" />\\n        <stop offset=\"50%\" stopColor=\"white\" />\\n        <stop offset=\"100%\" stopColor=\"red\" />\\n      </linearGradient>\\n    </defs>\\n  </svg>\\n  <XYPlot width={400} height={300}>\\n    <XAxis showGrid={false} title=\"Days since Zombiepocalypse\" />\\n    <YAxis title=\"Zombie Attacks\"/>\\n    <BarChart\\n      barStyle={{fill: \"url(#Gradient)\"}}\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.y}\\n      barThickness={40}\\n    />\\n  </XYPlot>\\n</div>\\n};\\n\\nReactDOM.render(<BarChartWithDefs />, mountNode);\\n'},44309:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const CategoricalColorHeatmapExample = (props) => {\\n  // sorry, kinda hacky currently!\\n  // working on a better solution... -d\\n  const playTypes = ['www', 'open', 'play', 'other'];\\n  const platforms = ['desktop', 'mobile', 'webplayer', 'other'];\\n\\n  const gridData = playTypes.map(function(n, i) {\\n    return platforms.map(function(m, j) {\\n      return {\\n        x: i,\\n        xEnd: i + 1,\\n        y: j,\\n        yEnd: j+1,\\n        value: Math.sin(i * j * 0.1)\\n      };\\n    })\\n  });\\n  const data = _.flatten(gridData);\\n\\n  return <div>\\n    <XYPlot width={400} height={400}>\\n      <ColorHeatmap\\n        data={data}\\n        value={d => d.value}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        colors={['rebeccapurple', 'goldenrod']}\\n        interpolator={'lab'}\\n      />\\n      <XAxis\\n        showGrid={false}\\n        ticks={playTypes.map((t, i) => i + 0.5)}\\n        labelFormat={d => playTypes[Math.round(d - 0.5)]}\\n      />\\n      <YAxis\\n        showGrid={false}\\n        ticks={platforms.map((t, i) => i + 0.5)}\\n        labelFormat={d => platforms[Math.round(d - 0.5)]}\\n      />\\n      <XGrid tickCount={4} />\\n      <YGrid tickCount={4} />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<CategoricalColorHeatmapExample />, mountNode);\\n\"},69022:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const ColorHeatMapExample = (props) => {\\n  const gridData = _.range(30).map(m => {\\n    return _.range(30).map(n => {\\n      return {\\n        x: n,\\n        xEnd: n + 1,\\n        y: m,\\n        yEnd: m + 1,\\n        value: Math.sin(m * n * 0.01)\\n      };\\n    });\\n  });\\n\\n  const data = _.flatten(gridData);\\n\\n  return <div>\\n    <XYPlot width={500} height={500}>\\n      <ColorHeatmap\\n        data={data}\\n        value={d => d.value}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        colors={['rebeccapurple', 'goldenrod']}\\n        interpolator={'lab'}\\n      />\\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\\n    </XYPlot>\\n\\n    <XYPlot width={500} height={500}>\\n      <ColorHeatmap\\n        data={data}\\n        value={d => d.value}\\n        x={d => d.x}\\n        xEnd={d => d.xEnd}\\n        y={d => d.y}\\n        yEnd={d => d.yEnd}\\n        valueDomain={[-1, 0, 1]}\\n        colors={['Crimson', '#eee', 'ForestGreen']}\\n        interpolator={'lab'}\\n      />\\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<ColorHeatMapExample />, mountNode);\\n\"},46613:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const FunnelChartExample = (props) => {\\n  const funnelData = [\\n    {observation: 1, value: 100},\\n    {observation: 2, value: 85},\\n    {observation: 3, value: 42},\\n    {observation: 4, value: 37},\\n    {observation: 5, value: 12}\\n  ];\\n\\n  return <div>\\n    <XYPlot width={500} height={500}>\\n      <XAxis />\\n      <YAxis />\\n      <FunnelChart\\n        data={funnelData}\\n        x={d => d.observation}\\n        y={d => d.value}\\n      />\\n    </XYPlot>\\n\\n    <XYPlot width={500} height={500} invertYScale={true}>\\n      <XAxis />\\n      <YAxis />\\n      <FunnelChart\\n        horizontal\\n        data={funnelData}\\n        x={d => d.value}\\n        y={d => d.observation}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<FunnelChartExample />, mountNode);\\n\"},1730:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const HistogramExample = (props) => {\\n  const randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\\n\\n  return <div>\\n    <div>\\n      <XYPlot\\n        width={450}\\n        height={300}\\n      >\\n        <XAxis /><YAxis />\\n        <Histogram\\n          data={randomNormalArr}\\n          value={d => d}\\n        />\\n      </XYPlot>\\n    </div>\\n    <div>\\n      <h4>With nicing applied</h4>\\n      <XYPlot\\n        width={450}\\n        height={300}\\n      >\\n        <XAxis /><YAxis />\\n        <Histogram\\n          data={randomNormalArr}\\n          value={d => d}\\n          nice={true}\\n          thresholds={10}\\n        />\\n      </XYPlot>\\n    </div>\\n    <div>\\n      <h4>With specified binDomain</h4>\\n      <XYPlot\\n        width={450}\\n        height={300}\\n      >\\n        <XAxis /><YAxis />\\n        <Histogram\\n          data={randomNormalArr}\\n          value={d => d}\\n          binDomain={[-6, 6]}\\n        />\\n      </XYPlot>\\n    </div>\\n  </div>;\\n};\\n\\nReactDOM.render(<HistogramExample />, mountNode);\\n\"},70703:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const KernelDensityEstimationExample = (props) => {\\n  const randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\\n\\n  return <div>\\n    <div>\\n      <XYPlot yDomain={[0,200]} marginLeft={40} marginRight={8} width={700} height={300}>\\n        <XAxis /><YAxis />\\n        <Histogram\\n          data={randomNormalArr} value={d => d}\\n        />\\n        <KernelDensityEstimation\\n          data={randomNormalArr} x={d => d} bandwidth={0.5}\\n        />\\n        <KernelDensityEstimation\\n          data={randomNormalArr} x={d => d} bandwidth={0.1}\\n        />\\n        <KernelDensityEstimation\\n          data={randomNormalArr} x={d => d} bandwidth={2}\\n        />\\n      </XYPlot>\\n    </div>\\n    {/*<div>*/}\\n      {/*<XYPlot*/}\\n        {/*margin={{left: 40, right: 8}}*/}\\n        {/*width={700} height={40}*/}\\n        {/*showGrid={false}*/}\\n        {/*showLabels={false}*/}\\n        {/*showTicks={false}*/}\\n      {/*>*/}\\n        {/*<ScatterPlot*/}\\n          {/*data={randomNormalArr}*/}\\n          {/*getX={null}*/}\\n          {/*getY={() => Math.random()}*/}\\n          {/*pointRadius={1}*/}\\n        {/*/>*/}\\n      {/*</XYPlot>*/}\\n    {/*</div>*/}\\n  </div>;\\n};\\n\\nReactDOM.render(<KernelDensityEstimationExample />, mountNode);\\n\"},11196:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const line1 = d => Math.sin(d*.1);\\nconst line2 = d => Math.cos(d*.1);\\nconst line3 = d => Math.sin(d*.2) * 1.5;\\n\\nconst dPlusOne = d => d + 1;\\n\\nconst gridData = _.range(30).map(m => {\\n  return _.range(30).map(n => {\\n    return {\\n      x: n,\\n      xEnd: n + 1,\\n      y: m,\\n      yEnd: m + 1,\\n      value: Math.sin(m * n * 0.01)\\n    };\\n  });\\n});\\n\\nconst randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\\n\\nclass InteractiveLineChartExample extends React.Component {\\n  state = {\\n    activeX: null\\n  };\\n\\n  _onMouseMove = ({xValue, yValue}) => {\\n    this.setState({activeX: xValue});\\n  };\\n\\n  render() {\\n    const {activeX} = this.state;\\n    const colors = d3.scaleOrdinal(d3.schemeCategory10);\\n\\n    return <div>\\n      <XYPlot scaleType=\"linear\" {...{width: 600, height: 350, yDomain: [-2, 2]}} onMouseMove={this._onMouseMove}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n\\n        {/*<ScatterPlot*/}\\n          {/*data={_.range(100)}*/}\\n          {/*x={_.identity}*/}\\n          {/*y={line1}*/}\\n          {/*pointStyle={{stroke: colors(0), strokeWidth: 3}}*/}\\n        {/*/>*/}\\n        <LineChart\\n          data={_.range(100)}\\n          x={_.identity}\\n          y={line1}\\n          lineStyle={{stroke: colors(0), strokeWidth: 3}}\\n        />\\n        <LineChart\\n          data={_.range(100)}\\n          x={_.identity}\\n          y={line2}\\n          lineStyle={{stroke: colors(1), strokeWidth: 2}}\\n        />\\n        <LineChart\\n          data={_.range(100)}\\n          x={_.identity}\\n          y={line3}\\n          lineStyle={{stroke: colors(2), strokeWidth: 1}}\\n        />\\n\\n        <MarkerLineChart\\n          data={_.range(100)}\\n          x={_.identity}\\n          xEnd={dPlusOne}\\n          y={line1}\\n        />\\n\\n        {activeX ?\\n          <XLine value={activeX} style={{stroke: \\'#666\\'}} /> :\\n          null\\n        }\\n\\n        {/*{activeX ?*/}\\n          {/*<ScatterPlot*/}\\n            {/*data={[line1, line2, line3].map(lineFunc => [activeX, lineFunc(activeX)])}*/}\\n            {/*getX={0}*/}\\n            {/*getY={1}*/}\\n            {/*pointRadius={5}*/}\\n          {/*/> :*/}\\n          {/*null*/}\\n        {/*}*/}\\n      </XYPlot>\\n\\n      {activeX ?\\n        <h3>{this.state.activeX.toFixed(3)}</h3> :\\n        null\\n      }\\n    </div>\\n  }\\n}\\n\\nReactDOM.render(<InteractiveLineChartExample/>, mountNode);\\n'},48547:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const LineChartExample = (props) => {\\n  return <div>\\n    <XYPlot scaleType=\\\"linear\\\" width={600} height={350} xDomain={[-20, 120]}>\\n      <XAxis title=\\\"Phase\\\" />\\n      <YAxis title=\\\"Intensity\\\" />\\n      <LineChart\\n        data={_.range(100)}\\n        x={d => d}\\n        y={d => Math.sin(d*.1)}\\n        lineStyle={{stroke: '#ff7f0e', strokeWidth: 3}}\\n      />\\n      <LineChart\\n        data={_.range(100)}\\n        x={d => d}\\n        y={d => Math.cos(d*.1)}\\n        lineStyle={{stroke: '#1f77b4', strokeWidth: 2}}\\n      />\\n      <LineChart\\n        data={_.range(100)}\\n        x={d => d}\\n        y={d => Math.sin(d*.2) * 1.5}\\n        lineStyle={{stroke: '#2ca02c', strokeWidth: 1}}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<LineChartExample/>, mountNode);\\n\"},7082:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const MarkerLineChartExample = (props) => {\\n  return <div>\\n    <div>\\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n        <MarkerLineChart\\n          data={_.range(30)}\\n          x={d => d}\\n          y={d => Math.sin(d / (Math.PI))}\\n        />\\n      </XYPlot>\\n\\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n        <MarkerLineChart\\n          horizontal\\n          data={_.range(30)}\\n          x={d => d}\\n          y={d => Math.sin(d / (Math.PI))}\\n        />\\n      </XYPlot>\\n    </div>\\n\\n    <div>\\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n        <MarkerLineChart\\n          data={_.range(15)}\\n          x={d => Math.sin(d / 10) * 10}\\n          xEnd={d => Math.sin((d + 1) / 10) * 10}\\n          y={d => Math.sin(d / (Math.PI))}\\n        />\\n      </XYPlot>\\n\\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n        <MarkerLineChart\\n          horizontal\\n          data={_.range(15)}\\n          x={d => Math.sin(d / (Math.PI))}\\n          y={d => Math.sin(d / 10) * 10}\\n          yEnd={d => Math.sin((d + 1) / 10) * 10}\\n        />\\n      </XYPlot>\\n    </div>\\n  </div>;\\n};\\n\\nReactDOM.render(<MarkerLineChartExample />, mountNode);\\n'},90992:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const MarkerLineWithBarChartExample = (props) => {\\n  const data1 = [[1, 12], [2, 23], [3, 14], [4, 17], [5, 29], [6, 21]];\\n  const data2 = [[1, 14], [2, 21], [3, 19], [4, 11], [5, 27], [6, 11]];\\n\\n  return <div>\\n    <XYPlot width={300} height={300}>\\n      <XAxis />\\n      <YAxis />\\n      <BarChart\\n        data={data1}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n      />\\n      <MarkerLineChart\\n        data={data2}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n        lineLength={15}\\n      />\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<MarkerLineWithBarChartExample />, mountNode);\\n\"},56684:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const MeasuredValueLabelExample = (props) => {\\n  return <div>insert example here</div>;\\n};\\n\\nReactDOM.render(<MeasuredValueLabelExample />, mountNode);\\n\"},97693:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='class PieChartExample extends React.Component {\\n  state = { sinVal: 0 };\\n\\n  _animateValue = () => {\\n    const sinVal = Math.min(\\n      Math.abs(\\n        Math.cos(new Date() * 0.001) * Math.sin(new Date() * 0.0011) + 1,\\n      ),\\n      2,\\n    );\\n    this.setState({ sinVal });\\n  };\\n\\n  componentDidMount() {\\n    this._interval = setInterval(this._animateValue, 20);\\n  }\\n  componentWillUnmount() {\\n    clearInterval(this._interval);\\n  }\\n\\n  getPieSliceFill = datum => {\\n    const color = d3.interpolateSinebow(datum / 100);\\n    return {\\n      fill: color,\\n    };\\n  };\\n\\n  render() {\\n    const slice = d => d;\\n    return (\\n      <div>\\n        <PieChart\\n          slice={slice}\\n          data={[45, 25, 78]}\\n          pieSliceStyle={this.getPieSliceFill}\\n        />\\n        <PieChart\\n          slice={slice}\\n          data={[10, 20, 30]}\\n          radius={100}\\n          holeRadius={50}\\n          margin={20}\\n          markerLineValue={20}\\n        />\\n        <PieChart\\n          slice={slice}\\n          data={[42]}\\n          total={100}\\n          radius={80}\\n          holeRadius={50}\\n          centerLabel=\"42%\"\\n        />\\n        <PieChart\\n          slice={slice}\\n          data={[this.state.sinVal]}\\n          total={2}\\n          radius={200}\\n          holeRadius={50}\\n          centerLabel={(this.state.sinVal * 50).toFixed(0)}\\n        />\\n        <PieChart\\n          slice={slice}\\n          data={[45, 35, 20]}\\n          getPieSliceLabel={val => `${val}%`}\\n          pieSliceLabelDistance={20}\\n          holeRadius={75}\\n          radius={100}\\n          marginTop={50}\\n          marginBottom={50}\\n          marginLeft={50}\\n          marginRight={50}\\n        />\\n      </div>\\n    );\\n  }\\n}\\n\\nReactDOM.render(<PieChartExample />, mountNode);\\n'},55958:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const RangeBarChartExample = (props) => {\\n  const count = 30;\\n  const dateDomain = [new Date(1992, 0, 1), new Date(2001, 0, 1)];\\n  const numberDomain = [-2, 2];\\n  const ordinalDomain = _.range(count).map(n => String.fromCharCode(97 + n));\\n\\n  const dates = _.range(30).map(n => new Date(+(dateDomain[0]) + (n * 1000 * 60 * 60 * 24 * 100)));\\n\\n  const addDays = (date, n) => new Date(+(date) + (1000 * 60 * 60 * 24 * n));\\n\\n  const numberRanges =\\n    _.range(30).map(n => [Math.sin(n/5), Math.sin(n/8) + Math.cos(n/5)].sort((a, b) => (a - b)));\\n  const dateRanges =\\n    _.range(30).map(n => [dates[n], addDays(dates[n], (Math.sin(n/8) * 100))].sort((a, b) => (a - b)));\\n\\n  const numberNumberRangeData = _.zip(_.range(30), numberRanges);\\n  const dateNumberRangeData = _.zip(dates, numberRanges);\\n  const ordinalNumberRangeData = _.zip(ordinalDomain, numberRanges);\\n\\n  const numberDateRangeData = _.zip(_.range(30), dateRanges);\\n  const dateDateRangeData = _.zip(dates, dateRanges);\\n  const ordinalDateRangeData = _.zip(ordinalDomain, dateRanges);\\n\\n  return <div>\\n\\n    {[true, false].map(horizontal => {\\n      const title = horizontal ? \\\"Horizontal\\\" : \\\"Vertical\\\";\\n      const getters = horizontal ?\\n        {y: d => d[0], x: d => d[1][0], xEnd: d => d[1][1]} :\\n        {x: d => d[0], y: d => d[1][0], yEnd: d => d[1][1]};\\n\\n      const depDomain = horizontal ? 'xDomain' : 'yDomain';\\n      const indepDomain = horizontal ? 'yDomain' : 'xDomain';\\n      const size = {width: 300, height: 350};\\n\\n      return <div key={horizontal}>\\n        <h2>{title}</h2>\\n\\n        <div>\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={numberNumberRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={dateNumberRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={ordinalNumberRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n        </div>\\n\\n        <div>\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={numberDateRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={dateDateRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n\\n          <XYPlot {...size}>\\n            <XAxis/><YAxis/>\\n            <RangeBarChart\\n              horizontal={horizontal}\\n              data={ordinalDateRangeData}\\n              {...getters}\\n            />\\n          </XYPlot>\\n        </div>\\n      </div>\\n    })}\\n\\n    <XYPlot {...{width: 300, height: 350}}>\\n      <XAxis/><YAxis/>\\n      <RangeBarChart\\n        data={_.range(-1, 1, .1)}\\n        x={d => d}\\n        y={d => Math.sin(d*2)}\\n        yEnd={d => Math.sin(d*2) * Math.cos(d*2)}\\n        barThickness={6}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<RangeBarChartExample />, mountNode);\\n\"},22053:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const RangeRectExample = (props) => {\\n  return <div>\\n    <XYPlot\\n      width={500} height={320}\\n      xDomain={[0, 100]} yDomain={[0, 100]}\\n    >\\n      <XAxis /><YAxis />\\n      <RangeRect\\n        x={10} xEnd={40}\\n        y={50} yEnd={80}\\n        style={{fill: 'rebeccapurple'}}\\n      />\\n      <RangeRect\\n        x={65} xEnd={85}\\n        y={15} yEnd={95}\\n        style={{fill: 'coral'}}\\n      />\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<RangeRectExample />, mountNode);\\n\"},15766:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const SankeyDiagramExample = (props) => {\\n  const graph = getSampleData();\\n  return <div>\\n    <SankeyDiagram\\n      width={900}\\n      height={500}\\n      nodes={graph.nodes}\\n      links={graph.links}\\n    />\\n  </div>;\\n};\\n\\nReactDOM.render(<SankeyDiagramExample />, mountNode);\\n\\nfunction getSampleData() {\\n  return {\"nodes\":[\\n    {\"name\":\"Agricultural \\'waste\\'\"},\\n    {\"name\":\"Bio-conversion\"},\\n    {\"name\":\"Liquid\"},\\n    {\"name\":\"Losses\"},\\n    {\"name\":\"Solid\"},\\n    {\"name\":\"Gas\"},\\n    {\"name\":\"Biofuel imports\"},\\n    {\"name\":\"Biomass imports\"},\\n    {\"name\":\"Coal imports\"},\\n    {\"name\":\"Coal\"},\\n    {\"name\":\"Coal reserves\"},\\n    {\"name\":\"District heating\"},\\n    {\"name\":\"Industry\"},\\n    {\"name\":\"Heating and cooling - commercial\"},\\n    {\"name\":\"Heating and cooling - homes\"},\\n    {\"name\":\"Electricity grid\"},\\n    {\"name\":\"Over generation / exports\"},\\n    {\"name\":\"H2 conversion\"},\\n    {\"name\":\"Road transport\"},\\n    {\"name\":\"Agriculture\"},\\n    {\"name\":\"Rail transport\"},\\n    {\"name\":\"Lighting & appliances - commercial\"},\\n    {\"name\":\"Lighting & appliances - homes\"},\\n    {\"name\":\"Gas imports\"},\\n    {\"name\":\"Ngas\"},\\n    {\"name\":\"Gas reserves\"},\\n    {\"name\":\"Thermal generation\"},\\n    {\"name\":\"Geothermal\"},\\n    {\"name\":\"H2\"},\\n    {\"name\":\"Hydro\"},\\n    {\"name\":\"International shipping\"},\\n    {\"name\":\"Domestic aviation\"},\\n    {\"name\":\"International aviation\"},\\n    {\"name\":\"National navigation\"},\\n    {\"name\":\"Marine algae\"},\\n    {\"name\":\"Nuclear\"},\\n    {\"name\":\"Oil imports\"},\\n    {\"name\":\"Oil\"},\\n    {\"name\":\"Oil reserves\"},\\n    {\"name\":\"Other waste\"},\\n    {\"name\":\"Pumped heat\"},\\n    {\"name\":\"Solar PV\"},\\n    {\"name\":\"Solar Thermal\"},\\n    {\"name\":\"Solar\"},\\n    {\"name\":\"Tidal\"},\\n    {\"name\":\"UK land based bioenergy\"},\\n    {\"name\":\"Wave\"},\\n    {\"name\":\"Wind\"}\\n  ],\\n    \"links\":[\\n      {\"source\":0,\"target\":1,\"value\":124.729},\\n      {\"source\":1,\"target\":2,\"value\":0.597},\\n      {\"source\":1,\"target\":3,\"value\":26.862},\\n      {\"source\":1,\"target\":4,\"value\":280.322},\\n      {\"source\":1,\"target\":5,\"value\":81.144},\\n      {\"source\":6,\"target\":2,\"value\":35},\\n      {\"source\":7,\"target\":4,\"value\":35},\\n      {\"source\":8,\"target\":9,\"value\":11.606},\\n      {\"source\":10,\"target\":9,\"value\":63.965},\\n      {\"source\":9,\"target\":4,\"value\":75.571},\\n      {\"source\":11,\"target\":12,\"value\":10.639},\\n      {\"source\":11,\"target\":13,\"value\":22.505},\\n      {\"source\":11,\"target\":14,\"value\":46.184},\\n      {\"source\":15,\"target\":16,\"value\":104.453},\\n      {\"source\":15,\"target\":14,\"value\":113.726},\\n      {\"source\":15,\"target\":17,\"value\":27.14},\\n      {\"source\":15,\"target\":12,\"value\":342.165},\\n      {\"source\":15,\"target\":18,\"value\":37.797},\\n      {\"source\":15,\"target\":19,\"value\":4.412},\\n      {\"source\":15,\"target\":13,\"value\":40.858},\\n      {\"source\":15,\"target\":3,\"value\":56.691},\\n      {\"source\":15,\"target\":20,\"value\":7.863},\\n      {\"source\":15,\"target\":21,\"value\":90.008},\\n      {\"source\":15,\"target\":22,\"value\":93.494},\\n      {\"source\":23,\"target\":24,\"value\":40.719},\\n      {\"source\":25,\"target\":24,\"value\":82.233},\\n      {\"source\":5,\"target\":13,\"value\":0.129},\\n      {\"source\":5,\"target\":3,\"value\":1.401},\\n      {\"source\":5,\"target\":26,\"value\":151.891},\\n      {\"source\":5,\"target\":19,\"value\":2.096},\\n      {\"source\":5,\"target\":12,\"value\":48.58},\\n      {\"source\":27,\"target\":15,\"value\":7.013},\\n      {\"source\":17,\"target\":28,\"value\":20.897},\\n      {\"source\":17,\"target\":3,\"value\":6.242},\\n      {\"source\":28,\"target\":18,\"value\":20.897},\\n      {\"source\":29,\"target\":15,\"value\":6.995},\\n      {\"source\":2,\"target\":12,\"value\":121.066},\\n      {\"source\":2,\"target\":30,\"value\":128.69},\\n      {\"source\":2,\"target\":18,\"value\":135.835},\\n      {\"source\":2,\"target\":31,\"value\":14.458},\\n      {\"source\":2,\"target\":32,\"value\":206.267},\\n      {\"source\":2,\"target\":19,\"value\":3.64},\\n      {\"source\":2,\"target\":33,\"value\":33.218},\\n      {\"source\":2,\"target\":20,\"value\":4.413},\\n      {\"source\":34,\"target\":1,\"value\":4.375},\\n      {\"source\":24,\"target\":5,\"value\":122.952},\\n      {\"source\":35,\"target\":26,\"value\":839.978},\\n      {\"source\":36,\"target\":37,\"value\":504.287},\\n      {\"source\":38,\"target\":37,\"value\":107.703},\\n      {\"source\":37,\"target\":2,\"value\":611.99},\\n      {\"source\":39,\"target\":4,\"value\":56.587},\\n      {\"source\":39,\"target\":1,\"value\":77.81},\\n      {\"source\":40,\"target\":14,\"value\":193.026},\\n      {\"source\":40,\"target\":13,\"value\":70.672},\\n      {\"source\":41,\"target\":15,\"value\":59.901},\\n      {\"source\":42,\"target\":14,\"value\":19.263},\\n      {\"source\":43,\"target\":42,\"value\":19.263},\\n      {\"source\":43,\"target\":41,\"value\":59.901},\\n      {\"source\":4,\"target\":19,\"value\":0.882},\\n      {\"source\":4,\"target\":26,\"value\":400.12},\\n      {\"source\":4,\"target\":12,\"value\":46.477},\\n      {\"source\":26,\"target\":15,\"value\":525.531},\\n      {\"source\":26,\"target\":3,\"value\":787.129},\\n      {\"source\":26,\"target\":11,\"value\":79.329},\\n      {\"source\":44,\"target\":15,\"value\":9.452},\\n      {\"source\":45,\"target\":1,\"value\":182.01},\\n      {\"source\":46,\"target\":15,\"value\":19.013},\\n      {\"source\":47,\"target\":15,\"value\":289.366}\\n    ]};\\n}'},74207:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const graph = getSampleData();\\n\\nclass SankeyInteractiveExample extends React.Component {\\n  state = {\\n    activeNode: undefined,\\n    activeLinkSource: undefined,\\n    activeLinkTarget: undefined\\n  };\\n\\n  render() {\\n    return <div>\\n      <ZoomContainer width={900} height={500}>\\n        <SankeyDiagram\\n          width={900}\\n          height={500}\\n          marginTop={50}\\n          marginRight={50}\\n          stepLabelText={step =>  `Step: ${step}`}\\n          stepLabelPadding={16}\\n          nodes={graph.nodes}\\n          links={graph.links}\\n          nodeId={getNodeId}\\n          nodeAlignment=\\\"left\\\"\\n          nodeLabelPlacement=\\\"after\\\"\\n          nodeLabelText={getNodeLabel}\\n          nodeStyle={(node) => {\\n            const nodeId = getNodeId(node);\\n            if(nodeId === this.state.activeNode)\\n              return {fill: 'red'};\\n            if(nodeId === this.state.activeLinkSource || nodeId === this.state.activeLinkTarget)\\n              return {fill: 'blue'};\\n            return {};\\n          }}\\n          linkStyle={(link) => {\\n            const sourceId = getNodeId(link.source);\\n            const targetId = getNodeId(link.target);\\n            if(this.state.activeLinkSource === sourceId && this.state.activeLinkTarget === targetId)\\n              return {stroke: 'thistle'};\\n            return {};\\n          }}\\n          onMouseEnterNode={(event, info) => {\\n            this.setState({activeNode: getNodeId(info.node)})\\n          }}\\n          onMouseLeaveNode={(event, info) => {\\n            this.setState({activeNode: undefined})\\n          }}\\n          onMouseEnterLink={(event, info) => {\\n            this.setState({\\n              activeLinkSource: getNodeId(info.link.source),\\n              activeLinkTarget: getNodeId(info.link.target),\\n            });\\n          }}\\n          onMouseLeaveLink={(event, info) => {\\n            this.setState({activeLinkSource: undefined, activeLinkTarget: undefined});\\n          }}\\n        />\\n      </ZoomContainer>\\n\\n    </div>;\\n  }\\n}\\n\\nReactDOM.render(<SankeyInteractiveExample />, mountNode);\\n\\nfunction getNodeId(node) { return node.id }\\nfunction getNodeLabel(node) { return node.label; }\\n\\n\\nfunction getSampleData() {\\n  return {\\n    nodes: [\\n      {id: 'week', label: \\\"Week\\\"},\\n      {id: 'weekdays', label: \\\"Weekdays\\\"},\\n      {id: 'weekends', label: \\\"Weekends\\\"},\\n      {id: 'sleep', label: \\\"Sleep\\\"},\\n      {id: 'work', label: \\\"Work\\\"},\\n      {id: 'eating', label: \\\"Eating\\\"},\\n      {id: 'free', label: \\\"Free Time\\\"},\\n      {id: 'meetings', label: \\\"Meetings\\\"},\\n      {id: 'communication', label: \\\"Communication\\\"},\\n      {id: 'programming', label: \\\"Programming\\\"},\\n      {id: 'socializing', label: \\\"Socializing\\\"},\\n      {id: 'media', label: \\\"Media (TV, books, etc.)\\\"},\\n      {id: 'outdoors', label: \\\"Outdoors\\\"},\\n    ],\\n    links: [\\n      {source: 'week', target: 'weekdays', value: 120},\\n      {source: 'week', target: 'weekends', value: 48},\\n      {source: 'weekdays', target: 'sleep', value: 40},\\n      {source: 'weekdays', target: 'work', value: 40},\\n      {source: 'weekdays', target: 'eating', value: 10},\\n      {source: 'weekdays', target: 'free', value: 30},\\n      {source: 'weekends', target: 'sleep', value: 16},\\n      {source: 'weekends', target: 'eating', value: 4},\\n      {source: 'weekends', target: 'free', value: 28},\\n      {source: 'free', target: 'socializing', value: 20},\\n      {source: 'free', target: 'media', value: 20},\\n      {source: 'free', target: 'outdoors', value: 10},\\n      {source: 'work', target: 'meetings', value: 10},\\n      {source: 'work', target: 'communication', value: 8},\\n      {source: 'work', target: 'programming', value: 22}\\n    ]\\n  }\\n}\"},57827:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const randomScatter = [\\n  _.zip(randomWalk(20, 100), randomWalk(20, 100)),\\n  _.zip(randomWalk(3000, 10000), randomWalk(3000, 10000)),\\n  _.zip(randomWalk(50, 100), randomWalk(50, 100)),\\n  _.zip(randomWalk(100, 100), randomWalk(100, 100)),\\n  _.zip(randomWalk(200, 100), randomWalk(200, 100))\\n];\\n\\nconst emojis = [\"😀\", \"😁\", \"😂\", \"😅\", \"😆\", \"😇\", \"😈\", \"👿\", \"😉\", \"😊\", \"😐\", \"😑\", \"😒\", \"😓\", \"😔\", \"😕\", \"😖\", \"😗\", \"😘\", \"😙\", \"😚\", \"😛\", \"😜\", \"😝\", \"👻\", \"👹\", \"👺\", \"💩\", \"💀\", \"👽\", \"👾\", \"🙇\", \"💁\", \"🙅\", \"🙆\", \"🙋\", \"🙎\", \"🙍\", \"💆\", \"💇\"];\\n\\nconst ScatterPlotExample = () => {\\n  const rectangleSymbol = <rect width={5} height={5} fill=\"rebeccapurple\" />;\\n  const triangleSymbol = <svg><polygon points=\"0,0 8,0 4,8\" style={{fill: \\'darkgreen\\'}} /></svg>;\\n  const randomEmoji = (d, i) => _.sample(emojis);\\n\\n  return <div>\\n    <XYPlot width={500} height={500}>\\n      <XAxis title=\"Phase\" />\\n      <YAxis title=\"Intensity\" />\\n\\n      <ScatterPlot\\n        data={randomScatter[3]}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n        pointSymbol={rectangleSymbol}\\n      />\\n      <ScatterPlot\\n        data={randomScatter[4]}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n        pointSymbol={randomEmoji}\\n        pointOffset={[0, 2]}\\n      />\\n\\n      <ScatterPlot\\n        data={randomScatter[0]}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n        pointSymbol={(d, i) => i}\\n      />\\n      <ScatterPlot\\n        data={randomScatter[2]}\\n        x={d => d[0]}\\n        y={d => d[1]}\\n        pointSymbol={triangleSymbol}\\n        pointOffset={[-4, -3]}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<ScatterPlotExample/>, mountNode);\\n'},78877:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='class AnimatedTreeMapExample extends React.Component {\\n  constructor(props) {\\n    super(props);\\n\\n    const data = {\\n      children: _.range(1, 5).map(n => ({\\n        children: _.times(n * n, m => ({\\n          size:  (n +1) * (m + 1) + (100 * Math.random()),\\n          size2: (n +1) * (m + 1) + (100 * Math.random())\\n        }))\\n      }))\\n    };\\n\\n    this.state = { getValue: \"size\", data };\\n  }\\n\\n  _animateValue = () => {\\n    if(this.state.getValue === \"size\")\\n      this.setState({getValue: \"size2\"});\\n    else\\n      this.setState({getValue: \"size\"});\\n  };\\n\\n  componentDidMount() {\\n    this._interval = setInterval(this._animateValue, 1000);\\n  }\\n\\n  componentWillUnmount() {\\n    clearInterval(this._interval);\\n  }\\n\\n  render() {\\n    const {getValue, data} = this.state;\\n\\n    const colorScale = d3.scaleLinear()\\n      .domain([0, 65])\\n      .range([\\'#6b6ecf\\', \\'#8ca252\\'])\\n      .interpolate(d3.interpolateHcl);\\n\\n    return <div>\\n      <TreeMap\\n        data={data}\\n        getValue={getValue}\\n        getLabel=\"size\"\\n        nodeStyle={(node) => ({\\n          backgroundColor: colorScale(parseInt(node.data.size)),\\n          border: \\'1px solid #333\\'\\n        })}\\n        sticky\\n        width={400}\\n        height={500}\\n      />\\n    </div>\\n  }\\n}\\n\\nReactDOM.render(<AnimatedTreeMapExample />, mountNode);\\n'},82872:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const TreeMapExample = props => {\\n  const data = {\\n    children: _.range(1, 5).map(n => ({\\n      children: _.times(n * n, m => ({\\n        size: n * (m + 1)\\n      }))\\n    }))\\n  };\\n\\n  const colorScale = d3\\n    .scaleLinear()\\n    .domain([0, 65])\\n    .range([\"#6b6ecf\", \"#8ca252\"])\\n    .interpolate(d3.interpolateHcl);\\n\\n  return (\\n    <div>\\n      <TreeMap\\n        data={data}\\n        getValue={d => d.size}\\n        getLabel={d => d.value}\\n        nodeStyle={node => ({\\n          backgroundColor: colorScale(parseInt(node.data.size)),\\n          border: \"1px solid #333\"\\n        })}\\n        width={400}\\n        height={500}\\n      />\\n    </div>\\n  );\\n};\\n\\nReactDOM.render(<TreeMapExample />, mountNode);\\n'},91186:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const XAxisExample = (props) => {\\n  const dateDomain = [new Date(2008, 0, 1), new Date(2017, 0, 1)];\\n  const numberDomain = [-20, 20];\\n  const categoricalDomain = ['puppies', 'kitties', 'ponies'];\\n  const smallSize = {width: 300, height: 100};\\n\\n  return <div>\\n    <div style={{marginBottom: '10px'}}>\\n      <XYPlot xDomain={numberDomain} yDomain={numberDomain} {...smallSize}>\\n        <XAxis title=\\\"Number Axis\\\"/>\\n      </XYPlot>\\n    </div>\\n    <div style={{marginBottom: '10px'}}>\\n      <XYPlot xDomain={dateDomain} yDomain={dateDomain} {...smallSize}>\\n        <XAxis title=\\\"Date Axis\\\"/>\\n      </XYPlot>\\n    </div>\\n    <div style={{marginBottom: '10px'}}>\\n      <XYPlot xDomain={categoricalDomain} yDomain={dateDomain} {...smallSize}>\\n        <XAxis title=\\\"Categorical Axis\\\"/>\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\nReactDOM.render(<XAxisExample />, mountNode);\\n\"},44266:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XAxisExample = (props) => {\\n  const size = {width: 350, height: 100};\\n\\n  return <div>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <XAxis title=\"Custom Ticks\" ticks={[-12, -5, -2, 0, 2, 5, 12]}/>\\n      </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<XAxisExample />, mountNode);\\n'},19433:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XAxisLabelsExample = (props) => {\\n  const chartStyle = {marginBottom: \\'10px\\'};\\n\\n  return <div>\\n    <div style={chartStyle}>\\n      <XYPlot\\n        width={400} height={150}\\n        xDomain={[-20, 20]} yDomain={[-20, 20]}\\n      >\\n        <XAxisLabels\\n          formats={[\"+\"]}\\n        />\\n        <XAxisLabels\\n          format={label => label + \"%\"}\\n          position=\"top\"\\n          distance={2}\\n          tickCount={5}\\n          labelStyle={(label) => {\\n              return {\\n                fontSize: \\'10px\\',\\n                fill: label.text === \"20%\" ? \"red\" : \"black\"\\n              };\\n            }\\n          } />\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\nReactDOM.render(<XAxisLabelsExample />, mountNode);\\n'},86881:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XAxisTitleExample = (props) => {\\n  const xyProps = {\\n    width: 500, height: 200,\\n    xDomain: [0, 100], yDomain: [0, 100]\\n  };\\n\\n  return <XYPlot {...xyProps}>\\n    <XAxisTitle title=\"Basic X Axis Title\" />\\n  </XYPlot>;\\n};\\n\\nReactDOM.render(<XAxisTitleExample />, mountNode);\\n'},7620:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XAxisTitleExample = (props) => {\\n  const xyProps = {\\n    width: 500, height: 360,\\n    xDomain: [0, 100], yDomain: [0, 100]\\n  };\\n\\n  return <XYPlot {...xyProps}>\\n    <XAxisTitle title=\"AAAA\" alignment=\"left\" />\\n    <XAxisTitle title=\"BBBB\" alignment=\"center\" />\\n    <XAxisTitle title=\"CCCC\" alignment=\"right\" />\\n\\n    <XAxisTitle title=\"DDDD\" alignment=\"left\" placement=\"above\" />\\n    <XAxisTitle title=\"EEEE\" alignment=\"center\" placement=\"above\" />\\n    <XAxisTitle title=\"FFFF\" alignment=\"right\" placement=\"above\" />\\n\\n\\n    <XAxisTitle title=\"GGGG\" alignment=\"left\" rotate={true} />\\n    <XAxisTitle title=\"HHHH\" alignment=\"center\" rotate={true} />\\n    <XAxisTitle title=\"IIII\" alignment=\"right\" rotate={true} />\\n\\n    <XAxisTitle title=\"JJJJ\" alignment=\"left\" placement=\"above\" rotate={true} />\\n    <XAxisTitle title=\"KKKK\" alignment=\"center\" placement=\"above\" rotate={true} />\\n    <XAxisTitle title=\"LLLL\" alignment=\"right\" placement=\"above\" rotate={true} />\\n\\n\\n    <XAxisTitle title=\"MMMM\" position=\"top\" alignment=\"left\" />\\n    <XAxisTitle title=\"NNNN\" position=\"top\" alignment=\"center\" />\\n    <XAxisTitle title=\"OOOO\" position=\"top\" alignment=\"right\" />\\n\\n    <XAxisTitle title=\"PPPP\" position=\"top\" alignment=\"left\" placement=\"below\" />\\n    <XAxisTitle title=\"QQQQ\" position=\"top\" alignment=\"center\" placement=\"below\" />\\n    <XAxisTitle title=\"RRRR\" position=\"top\" alignment=\"right\" placement=\"below\" />\\n\\n\\n    <XAxisTitle title=\"SSSS\" position=\"top\" alignment=\"left\" rotate={true} />\\n    <XAxisTitle title=\"TTTT\" position=\"top\" alignment=\"center\" rotate={true} />\\n    <XAxisTitle title=\"UUUU\" position=\"top\" alignment=\"right\" rotate={true} />\\n\\n    <XAxisTitle title=\"VVVV\" position=\"top\" alignment=\"left\" placement=\"below\" rotate={true} />\\n    <XAxisTitle title=\"WWWW\" position=\"top\" alignment=\"center\" placement=\"below\" rotate={true} />\\n    <XAxisTitle title=\"XXXX\" position=\"top\" alignment=\"right\" placement=\"below\" rotate={true} />\\n  </XYPlot>;\\n};\\n\\nReactDOM.render(<XAxisTitleExample />, mountNode);\\n'},50648:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const XGridExample = (props) => {\\n  const size = {width: 400, height: 300};\\n\\n  return <div>\\n    <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n      <XGrid tickCount={50} />\\n      <XGrid tickCount={5} lineStyle={{stroke: 'blue', strokeWidth: 2}} />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<XGridExample />, mountNode);\\n\"},58703:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const XLineExample = (props) => {\\n  return <div>\\n    <XYPlot width={400} height={300} xDomain={[-20, 20]} yDomain={[-20, 20]} spacingTop={10}>\\n      <XAxis/><YAxis/>\\n      <XLine value={-12} style={{stroke: 'red'}} />\\n      <XLine value={15} style={{stroke: 'blue', strokeWidth: 3}} />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<XLineExample />, mountNode);\\n\"},50128:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XTicksExample = (props) => {\\n  const size = {width: 300, height: 100};\\n  const chartStyle = {marginBottom: \\'10px\\'};\\n\\n  return <div>\\n    <div style={chartStyle}>\\n      Default: <br/>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <XTicks />\\n      </XYPlot>\\n    </div>\\n    <div style={chartStyle}>\\n      Multiple sets of ticks, with options: <br/>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <XTicks placement=\"above\" tickCount={10} />\\n        <XTicks position=\"top\" placement=\"below\" tickCount={5} tickLength={20} />\\n        <XTicks position=\"top\" tickCount={30} tickLength={15} tickStyle={{stroke: \\'red\\'}} />\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\n\\nReactDOM.render(<XTicksExample />, mountNode);\\n'},1884:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const SpacingExample = (props) => {\\n  const spacing = {spacingLeft: 10, spacingTop: 53, spacingRight: 16, spacingBottom: 9};\\n\\n  return <div>\\n    <XYPlot {...{width: 400, height: 350}} {...spacing}>\\n      <XAxis />\\n      <YAxis />\\n      <LineChart\\n        data={_.range(100)}\\n        x={d => d}\\n        y={d => Math.sin(d*.1)}\\n      />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<SpacingExample />, mountNode);\\n\"},36138:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const MultipleXYExample = (props) => {\\n  return <div>\\n    <XYPlot xyPlotContainerStyle={{ transform: \\\"translateX(50px)\\\" }} xyPlotStyle={{fill: \\\"white\\\"}} xDomain={[-2, 2]} yDomain={[-2, 2]} {...{width: 400, height: 400}}>\\n      <XAxis title=\\\"Phase\\\" />\\n      <YAxis title=\\\"Intensity\\\" />\\n\\n      <RangeBarChart\\n        data={_.range(0, 2, .03)}\\n        x={d => d}\\n        y={d => (Math.sin(d*3) * .7) + 1.2}\\n        yEnd={d => (Math.sin(d*3) * Math.cos(d*3) * .7) + 1.2}\\n        barThickness={2}\\n        barStyle={{fill: '#3690c0'}}\\n      />\\n\\n      <LineChart\\n        data={_.range(-2, 0, .005)}\\n        x={d => d}\\n        y={d => Math.pow(Math.abs(Math.sin(d*5)), Math.abs(Math.sin(d*.25))) * 1.8}\\n        lineStyle={{stroke: '#02818a', strokeWidth: 3}}\\n      />\\n\\n      <ScatterPlot\\n        data={_.range(-2, 0, .05)}\\n        x={d => d}\\n        y={d => Math.pow(2, (d + 2) * 1.8) * 0.1}\\n        pointSymbol={<rect width={5} height={5} fill=\\\"#3690c0\\\" />}\\n      />\\n\\n      <BarChart\\n        data={_.range(0, 2, .03)}\\n        x={d => d}\\n        y={d => -Math.abs(Math.sin(d*4) * Math.cos(d*3))}\\n        barThickness={3}\\n        barStyle={{fill: '#67a9cf'}}\\n      />\\n\\n      <MarkerLineChart\\n        data={_.range(0, 1.5, .1)}\\n        x={d => d}\\n        y={d => Math.cos(d)}\\n        lineStyle={{stroke: '#ec7014', strokeWidth: 3}}\\n      />\\n\\n      <ColorHeatmap\\n        data={_.flatten(_.range(-2, 0, .1).map(i => _.range(-2, 0, .1).map(j => [i, j])))}\\n        value={([i, j]) => Math.sin(i * j * 5)}\\n        x={([i, j]) => i}\\n        xEnd={([i, j]) => i + .1}\\n        y={([i, j]) => j}\\n        yEnd={([i, j]) => j + .1}\\n        colors={['#d0d1e6', '#016450']}\\n        interpolator={'lab'}\\n      />\\n\\n      <AreaHeatmap\\n        data={_.flatten(_.range(0, 2, .1).map(i => _.range(-2, -1, .1).map(j => [i, j])))}\\n        area={([i, j]) => -Math.sin(i * j * 5)}\\n        x={([i, j]) => i}\\n        xEnd={([i, j]) => i + .1}\\n        y={([i, j]) => j}\\n        yEnd={([i, j]) => j + .1}\\n        rectStyle={{fill: '#016450'}}\\n      />\\n    </XYPlot>\\n  </div>;\\n};\\n\\nReactDOM.render(<MultipleXYExample />, mountNode);\\n\"},99038:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const YAxisExample = (props) => {\\n  const dateDomain = [new Date(2008, 0, 1), new Date(2017, 0, 1)];\\n  const numberDomain = [-20, 20];\\n  const categoricalDomain = ['puppies', 'kitties', 'ponies'];\\n  const size = {width: 100, height: 300};\\n  const chartStyle = {display: 'inline-block', marginRight: '10px'};\\n\\n  return <div>\\n    <div style={chartStyle}>\\n      <XYPlot xDomain={numberDomain} yDomain={numberDomain} {...size}>\\n        <YAxis title=\\\"Number\\\"/>\\n      </XYPlot>\\n    </div>\\n    <div style={chartStyle}>\\n      <XYPlot xDomain={numberDomain} yDomain={dateDomain} {...size}>\\n        <YAxis title=\\\"Date\\\"/>\\n      </XYPlot>\\n    </div>\\n    <div style={chartStyle}>\\n      <XYPlot xDomain={numberDomain} yDomain={categoricalDomain} {...size}>\\n        <YAxis title=\\\"Categorical\\\"/>\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\n\\nReactDOM.render(<YAxisExample />, mountNode);\\n\"},61341:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const YAxisCustomTicksExample = (props) => {\\n  const size = {width: 150, height: 300};\\n\\n  return <div>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <YAxis title=\"Custom Ticks\" ticks={[-12, -5, -2, 0, 2, 5, 12]}/>\\n      </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<YAxisCustomTicksExample />, mountNode);\\n'},47447:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const YAxisLabelsExample = (props) => {\\n  const chartStyle = {marginBottom: \\'10px\\'};\\n\\n  return <div>\\n    <div style={chartStyle}>\\n      <XYPlot\\n        width={300} height={300}\\n        xDomain={[-20, 20]} yDomain={[-20, 20]}\\n      >\\n        <YAxisLabels\\n          formats={[\"+\"]}\\n        />\\n        <YAxisLabels\\n          format={label => label + \"%\"}\\n          position=\"right\"\\n          tickCount={5}\\n          labelStyle={(label) => {\\n            const is20 = Math.abs(label.value) === 20;\\n            return {\\n              fill: is20 ? \"green\" : \"black\",\\n              fontWeight: is20 ? 900 : 400\\n            };\\n          }}\\n        />\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\nReactDOM.render(<YAxisLabelsExample />, mountNode);\\n'},14044:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const YAxisTitleExample = (props) => {\\n  const xyProps = {\\n    width: 400, height: 300,\\n    xDomain: [0, 100], yDomain: [0, 100]\\n  };\\n\\n  return <XYPlot {...xyProps}>\\n    <YAxisTitle title=\"Basic Y Axis Title\" />\\n  </XYPlot>;\\n};\\n\\nReactDOM.render(<YAxisTitleExample />, mountNode);\\n'},26538:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const YAxisTitleExample = (props) => {\\n  const xyProps = {\\n    width: 500, height: 360,\\n    xDomain: [0, 100], yDomain: [0, 100]\\n  };\\n\\n  return <XYPlot {...xyProps}>\\n    <YAxisTitle title=\"AAAA\" alignment=\"top\"  />\\n    <YAxisTitle title=\"BBBB\" alignment=\"middle\" />\\n    <YAxisTitle title=\"CCCC\" alignment=\"bottom\" />\\n\\n    <YAxisTitle title=\"DDDD\" alignment=\"top\" rotate={false} />\\n    <YAxisTitle title=\"EEEE\" alignment=\"middle\" rotate={false} />\\n    <YAxisTitle title=\"FFFF\" alignment=\"bottom\" rotate={false} />\\n\\n\\n    <YAxisTitle title=\"GGGG\" alignment=\"top\" placement=\"after\" />\\n    <YAxisTitle title=\"HHHH\" alignment=\"middle\" placement=\"after\" />\\n    <YAxisTitle title=\"IIII\" alignment=\"bottom\" placement=\"after\" />\\n\\n    <YAxisTitle title=\"JJJJ\" alignment=\"top\" placement=\"after\" rotate={false} />\\n    <YAxisTitle title=\"KKKK\" alignment=\"middle\" placement=\"after\" rotate={false} />\\n    <YAxisTitle title=\"LLLL\" alignment=\"bottom\" placement=\"after\" rotate={false} />\\n\\n\\n    <YAxisTitle title=\"MMMM\" alignment=\"top\" position=\"right\" />\\n    <YAxisTitle title=\"NNNN\" alignment=\"middle\" position=\"right\" />\\n    <YAxisTitle title=\"OOOO\" alignment=\"bottom\" position=\"right\" />\\n\\n    <YAxisTitle title=\"PPPP\" alignment=\"top\" position=\"right\" rotate={false} />\\n    <YAxisTitle title=\"QQQQ\" alignment=\"middle\" position=\"right\" rotate={false} />\\n    <YAxisTitle title=\"RRRR\" alignment=\"bottom\" position=\"right\" rotate={false} />\\n\\n\\n    <YAxisTitle title=\"SSSS\" alignment=\"top\" placement=\"before\" position=\"right\" />\\n    <YAxisTitle title=\"TTTT\" alignment=\"middle\" placement=\"before\" position=\"right\" />\\n    <YAxisTitle title=\"UUUU\" alignment=\"bottom\" placement=\"before\" position=\"right\" />\\n\\n    <YAxisTitle title=\"VVVV\" alignment=\"top\" position=\"right\" placement=\"before\" rotate={false} />\\n    <YAxisTitle title=\"WWWW\" alignment=\"middle\" position=\"right\" placement=\"before\" rotate={false} />\\n    <YAxisTitle title=\"XXXX\" alignment=\"bottom\" position=\"right\" placement=\"before\" rotate={false} />\\n  </XYPlot>;\\n};\\n\\nReactDOM.render(<YAxisTitleExample />, mountNode);\\n'},85822:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const YGridExample = (props) => {\\n  const size = {width: 400, height: 300};\\n\\n  return <div>\\n    <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n      <YGrid tickCount={50} />\\n      <YGrid tickCount={5} lineStyle={{stroke: 'blue', strokeWidth: 2}} />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<YGridExample />, mountNode);\\n\"},95877:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const YLineExample = (props) => {\\n  return <div>\\n    <XYPlot width={400} height={300} xDomain={[-20, 20]} yDomain={[-20, 20]} spacingRight={10}>\\n      <XAxis/><YAxis/>\\n      <YLine value={-12} style={{stroke: 'red'}} />\\n      <YLine value={15} style={{stroke: 'blue', strokeWidth: 3}} />\\n    </XYPlot>\\n  </div>\\n};\\n\\nReactDOM.render(<YLineExample />, mountNode);\\n\"},97289:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const YTicksExample = (props) => {\\n  const size = {width: 100, height: 300};\\n  const chartStyle = {display: \\'inline-block\\', marginRight: \\'10px\\'};\\n\\n  return <div>\\n    <div>\\n      Left: default params<br />\\n      Right: Multiple sets of ticks, with options\\n    </div>\\n    <div style={chartStyle}>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <YTicks />\\n      </XYPlot>\\n    </div>\\n    <div style={chartStyle}>\\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\\n        <YTicks placement=\"after\" tickCount={10} />\\n        <YTicks position=\"right\" placement=\"before\" tickCount={5} tickLength={20} />\\n        <YTicks position=\"right\" tickCount={30} tickLength={15} tickStyle={{stroke: \\'red\\'}} />\\n      </XYPlot>\\n    </div>\\n  </div>\\n};\\n\\n\\nReactDOM.render(<YTicksExample />, mountNode);\\n'},883:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const ZoomContainerExample = (props) => {\\n  return <div>\\n    <ZoomContainer width={600} height={350}>\\n      <XYPlot scaleType=\"linear\" width={600} height={350}>\\n        <XAxis title=\"Phase\" />\\n        <YAxis title=\"Intensity\" />\\n        <LineChart\\n          data={_.range(100)}\\n          x={d => d}\\n          y={d => Math.sin(d*.1)}\\n        />\\n      </XYPlot>\\n    </ZoomContainer>\\n  </div>\\n};\\n\\nReactDOM.render(<ZoomContainerExample />, mountNode);\\n'},82768:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const width = 600;\\nconst height = 350;\\n\\nfunction getNewZoomProps(newZoomScale, oldZoomScale, oldZoomX, oldZoomY, width, height) {\\n  // Some math is required here in order to ensure that whatever is in the center of the viewport\\n  // remains in the center of the viewport after zooming in/out.\\n  // It\\'s possible to only update zoomScale (and not zoomX & zoomY), but doing so will zoom relative to the\\n  // top left corner of the chart, rather than viewport center.\\n\\n  return {\\n    zoomX: width / 2 - newZoomScale / oldZoomScale * (width / 2 - oldZoomX),\\n    zoomY: height / 2 - newZoomScale / oldZoomScale * (height / 2 - oldZoomY),\\n    zoomScale: newZoomScale\\n  };\\n}\\n\\nclass ZoomControlledExample extends React.Component {\\n  state = {\\n    zoomTransform: {k: 1, x: 0, y: 0},\\n    zoomX: 0,\\n    zoomY: 0,\\n    zoomScale: 1\\n  };\\n\\n  handleZoom = nextZoomTransform => {\\n    // callback called when user has zoomed (or panned)\\n    // pass the new zoom transform from callback back down as props\\n    if (!nextZoomTransform) return;\\n    this.setState({\\n      zoomX: nextZoomTransform.x,\\n      zoomY: nextZoomTransform.y,\\n      zoomScale: nextZoomTransform.k\\n    });\\n  };\\n  handleClickZoomIn = () => {\\n    const {zoomScale, zoomX, zoomY} = this.state;\\n    const newZoomScale = this.state.zoomScale * 1.25;\\n    this.setState(getNewZoomProps(newZoomScale, zoomScale, zoomX, zoomY, width, height));\\n  };\\n  handleClickZoomOut = () => {\\n    const {zoomScale, zoomX, zoomY} = this.state;\\n    const newZoomScale = this.state.zoomScale / 1.25;\\n    this.setState(getNewZoomProps(newZoomScale, zoomScale, zoomX, zoomY, width, height));\\n  };\\n\\n  render() {\\n    return (\\n      <div>\\n        <ZoomContainer\\n          width={width}\\n          height={height}\\n          onZoom={this.handleZoom}\\n          controlled={true}\\n          zoomX={this.state.zoomX}\\n          zoomY={this.state.zoomY}\\n          zoomScale={this.state.zoomScale}\\n          disableMouseWheelZoom={true}\\n        >\\n          <XYPlot scaleType=\"linear\" width={600} height={350}>\\n            <XAxis title=\"Phase\" />\\n            <YAxis title=\"Intensity\" />\\n            <LineChart data={_.range(100)} x={d => d} y={d => Math.sin(d * 0.1)} />\\n          </XYPlot>\\n        </ZoomContainer>\\n        <div>\\n          <button onClick={this.handleClickZoomIn}>[+] Zoom In</button>\\n          <button onClick={this.handleClickZoomOut}>[-] Zoom Out</button>\\n        </div>\\n      </div>\\n    );\\n  }\\n}\\n\\nReactDOM.render(<ZoomControlledExample />, mountNode);\\n'},24788:(e,t,n)=>{\"use strict\";n.r(t),n.d(t,{default:()=>r});const r=\"const GettersAndAccessorsExample = (props) => {\\n  // sample data in a few different shapes\\n  const arrData = [\\n    [0, 4], [5, 20], [10, 13], [15, 19]\\n  ];\\n  const objData = [\\n    {count: 4, friends: [{id: 'a', age: 24}, {id: 'b', age: 19}]},\\n    {count: 7, friends: [{id: 'a', age: 28}, {id: 'b', age: 29}]},\\n    {count: 19, friends: [{id: 'a', age: 22}, {id: 'b', age: 44}]},\\n    {count: 22, friends: [{id: 'a', age: 41}, {id: 'b', age: 22}]},\\n  ];\\n\\n  return <XYPlot width={400} height={300}>\\n    <XAxis />\\n    <YAxis />\\n    {/* array getters: line X is d[0] and line Y is d[1] */}\\n    <LineChart\\n      data={arrData}\\n      getX={0} getY={1}\\n      lineStyle={{stroke: 'royalblue'}}\\n    />\\n    {/* use strings for deep object access */}\\n    <LineChart\\n      data={objData}\\n      getX=\\\"count\\\"\\n      getY=\\\"friends[0].age\\\"\\n      lineStyle={{stroke: 'orange'}}\\n    />\\n    {/* or use functions if you prefer */}\\n    <LineChart\\n      data={objData}\\n      getX={(d) => d.count}\\n      getY={(d) => d.friends[1].age}\\n      lineStyle={{stroke: 'purple'}}\\n    />\\n  </XYPlot>\\n};\\n\\n\\nReactDOM.render(<GettersAndAccessorsExample />, mountNode);\\n\"},78918:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const GraphingCalculatorExample = (props) => {\\n  // generate an array of numbers using _.range\\n  // returns [0, 1, 2, 3, ..., 99]\\n  const data = _.range(100);\\n\\n  return <XYPlot width={400} height={300}>\\n    <XAxis />\\n    <YAxis />\\n    <LineChart\\n      data={data}\\n      // null getX - use the number itself as X value\\n      getX={null}\\n      // we want to plot a sine wave, so use Math.sin in our Y getter\\n      getY={(d) => Math.sin(d*0.1)}\\n    />\\n  </XYPlot>\\n};\\n\\n\\nReactDOM.render(<GraphingCalculatorExample />, mountNode);\\n\"},98334:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"// const InteractionExample = React.createClass({\\nclass InteractionExample extends React.Component {\\n  getInitialState() {\\n    return {\\n      activeValue: null\\n    }\\n  }\\n  onEnterBar(e, d) {\\n    this.setState({activeValue: d});\\n  }\\n  onLeaveBar(e, d) {\\n    this.setState({activeValue: null})\\n  }\\n  render() {\\n    const {activeValue} = this.state;\\n\\n    return <div>\\n      {_.isNumber(activeValue) ?\\n        <div>\\n          {activeValue.toFixed(2)}\\n        </div> :\\n        <div>Hover over the chart to show values</div>\\n      }\\n      <XYPlot width={500} height={320}>\\n        <XAxis /><YAxis />\\n        <AreaBarChart\\n          data={_.range(15)}\\n          getX={d => Math.sin(d / 10) * 10}\\n          getXEnd={d => Math.sin((d + 1) / 10) * 10}\\n          getY={d => Math.cos(d / (Math.PI))}\\n          onMouseEnterBar={this.onEnterBar}\\n          onMouseLeaveBar={this.onLeaveBar}\\n        />\\n      </XYPlot>;\\n    </div>\\n  }\\n}\\n\\nReactDOM.render(<InteractionExample />, mountNode);\\n\"},87886:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const QuickStartExample = (props) => {\\n  return <XYPlot width={400} height={300}>\\n    <XAxis />\\n    <YAxis />\\n    <LineChart\\n      data={[\\n        {x: 0, y: 20},\\n        {x: 5, y: 30},\\n        {x: 10, y: 35},\\n        {x: 15, y: 30},\\n      ]}\\n      x={d => d.x}\\n      y={d => d.y}\\n    />\\n  </XYPlot>\\n};\\n\\nReactDOM.render(<QuickStartExample />, mountNode);\\n\"},28489:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const XYLineChartExample = (props) => {\\n  const data = [\\n    {x: 0, y: 20},\\n    {x: 5, y: 30},\\n    {x: 10, y: 35},\\n    {x: 15, y: 30},\\n  ];\\n  return <XYPlot width={400} height={300}>\\n    <LineChart\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.y}\\n    />\\n  </XYPlot>\\n};\\n\\nReactDOM.render(<XYLineChartExample />, mountNode);\\n\"},57365:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r='const XYLineChartExample = (props) => {\\n  const data = [\\n    {x: 0, y: 2},\\n    {x: 5, y: 22},\\n    {x: 10, y: 32},\\n    {x: 15, y: 36},\\n  ];\\n  return <XYPlot width={400} height={300}>\\n    <XAxis showGrid={false} title=\"Days since Zombiepocalypse\" />\\n    <YAxis title=\"Zombie Attacks\"/>\\n    <LineChart\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.y}\\n    />\\n  </XYPlot>\\n};\\n\\nReactDOM.render(<XYLineChartExample />, mountNode);\\n'},34617:(e,t,n)=>{\"use strict\";n.d(t,{Z:()=>r});const r=\"const MultiChartExample = (props) => {\\n  const data = [\\n    {x: 0, y: 2, z: 3},\\n    {x: 5, y: 22, z: 12},\\n    {x: 10, y: 32, z: 15},\\n    {x: 15, y: 36, z: 25},\\n  ];\\n  return <XYPlot width={400} height={300}>\\n    <XAxis showGrid={false} title=\\\"Days since Zombiepocalypse\\\" />\\n    <YAxis title=\\\"Zombie Attacks\\\"/>\\n    <BarChart\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.y}\\n      barThickness={35}\\n      barStyle={{fill: '#888'}}\\n    />\\n    <LineChart\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.y}\\n      lineStyle={{stroke: 'royalblue', strokeWidth: 5}}\\n    />\\n    <LineChart\\n      data={data}\\n      x={d => d.x}\\n      y={d => d.z}\\n      lineStyle={{stroke: 'coral', strokeWidth: 3}}\\n    />\\n  </XYPlot>\\n};\\n\\nReactDOM.render(<MultiChartExample />, mountNode);\\n\"},29656:(e,t,n)=>{\"use strict\";var r,i,o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=\"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},s=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=n(67294),l=\"undefined\"==typeof navigator||!0===n.g.PREVENT_CODEMIRROR_RENDER;l||(i=n(4631));var c=function(){function e(){}return e.equals=function(e,t){var n=this,r=Object.keys,i=void 0===e?\"undefined\":a(e),o=void 0===t?\"undefined\":a(t);return e&&t&&\"object\"===i&&i===o?r(e).length===r(t).length&&r(e).every((function(r){return n.equals(e[r],t[r])})):e===t},e}(),f=function(){function e(e,t){this.editor=e,this.props=t}return e.prototype.delegateCursor=function(e,t,n){var r=this.editor.getDoc();n&&this.editor.focus(),t?r.setCursor(e):r.setCursor(e,null,{scroll:!1})},e.prototype.delegateScroll=function(e){this.editor.scrollTo(e.x,e.y)},e.prototype.delegateSelection=function(e,t){this.editor.setSelections(e),t&&this.editor.focus()},e.prototype.apply=function(e){e&&e.selection&&e.selection.ranges&&this.delegateSelection(e.selection.ranges,e.selection.focus||!1),e&&e.cursor&&this.delegateCursor(e.cursor,e.autoScroll||!1,this.editor.getOption(\"autofocus\")||!1),e&&e.scroll&&this.delegateScroll(e.scroll)},e.prototype.applyNext=function(e,t,n){e&&e.selection&&e.selection.ranges&&t&&t.selection&&t.selection.ranges&&!c.equals(e.selection.ranges,t.selection.ranges)&&this.delegateSelection(t.selection.ranges,t.selection.focus||!1),e&&e.cursor&&t&&t.cursor&&!c.equals(e.cursor,t.cursor)&&this.delegateCursor(n.cursor||t.cursor,t.autoScroll||!1,t.autoCursor||!1),e&&e.scroll&&t&&t.scroll&&!c.equals(e.scroll,t.scroll)&&this.delegateScroll(t.scroll)},e.prototype.applyUserDefined=function(e,t){t&&t.cursor&&this.delegateCursor(t.cursor,e.autoScroll||!1,this.editor.getOption(\"autofocus\")||!1)},e.prototype.wire=function(e){var t=this;Object.keys(e||{}).filter((function(e){return/^on/.test(e)})).forEach((function(e){switch(e){case\"onBlur\":t.editor.on(\"blur\",(function(e,n){t.props.onBlur(t.editor,n)}));break;case\"onContextMenu\":t.editor.on(\"contextmenu\",(function(e,n){t.props.onContextMenu(t.editor,n)}));break;case\"onCopy\":t.editor.on(\"copy\",(function(e,n){t.props.onCopy(t.editor,n)}));break;case\"onCursor\":t.editor.on(\"cursorActivity\",(function(e){t.props.onCursor(t.editor,t.editor.getCursor())}));break;case\"onCursorActivity\":t.editor.on(\"cursorActivity\",(function(e){t.props.onCursorActivity(t.editor)}));break;case\"onCut\":t.editor.on(\"cut\",(function(e,n){t.props.onCut(t.editor,n)}));break;case\"onDblClick\":t.editor.on(\"dblclick\",(function(e,n){t.props.onDblClick(t.editor,n)}));break;case\"onDragEnter\":t.editor.on(\"dragenter\",(function(e,n){t.props.onDragEnter(t.editor,n)}));break;case\"onDragLeave\":t.editor.on(\"dragleave\",(function(e,n){t.props.onDragLeave(t.editor,n)}));break;case\"onDragOver\":t.editor.on(\"dragover\",(function(e,n){t.props.onDragOver(t.editor,n)}));break;case\"onDragStart\":t.editor.on(\"dragstart\",(function(e,n){t.props.onDragStart(t.editor,n)}));break;case\"onDrop\":t.editor.on(\"drop\",(function(e,n){t.props.onDrop(t.editor,n)}));break;case\"onFocus\":t.editor.on(\"focus\",(function(e,n){t.props.onFocus(t.editor,n)}));break;case\"onGutterClick\":t.editor.on(\"gutterClick\",(function(e,n,r,i){t.props.onGutterClick(t.editor,n,r,i)}));break;case\"onKeyDown\":t.editor.on(\"keydown\",(function(e,n){t.props.onKeyDown(t.editor,n)}));break;case\"onKeyPress\":t.editor.on(\"keypress\",(function(e,n){t.props.onKeyPress(t.editor,n)}));break;case\"onKeyUp\":t.editor.on(\"keyup\",(function(e,n){t.props.onKeyUp(t.editor,n)}));break;case\"onMouseDown\":t.editor.on(\"mousedown\",(function(e,n){t.props.onMouseDown(t.editor,n)}));break;case\"onPaste\":t.editor.on(\"paste\",(function(e,n){t.props.onPaste(t.editor,n)}));break;case\"onRenderLine\":t.editor.on(\"renderLine\",(function(e,n,r){t.props.onRenderLine(t.editor,n,r)}));break;case\"onScroll\":t.editor.on(\"scroll\",(function(e){t.props.onScroll(t.editor,t.editor.getScrollInfo())}));break;case\"onSelection\":t.editor.on(\"beforeSelectionChange\",(function(e,n){t.props.onSelection(t.editor,n)}));break;case\"onTouchStart\":t.editor.on(\"touchstart\",(function(e,n){t.props.onTouchStart(t.editor,n)}));break;case\"onUpdate\":t.editor.on(\"update\",(function(e){t.props.onUpdate(t.editor)}));break;case\"onViewportChange\":t.editor.on(\"viewportChange\",(function(e,n,r){t.props.onViewportChange(t.editor,n,r)}))}}))},e}();!function(e){function t(t){var n=e.call(this,t)||this;return l||(n.applied=!1,n.appliedNext=!1,n.appliedUserDefined=!1,n.deferred=null,n.emulating=!1,n.hydrated=!1,n.initCb=function(){n.props.editorDidConfigure&&n.props.editorDidConfigure(n.editor)},n.mounted=!1),n}s(t,e),t.prototype.hydrate=function(e){var t=this,n=o({},i.defaults,this.editor.options,e.options||{});Object.keys(n).some((function(e){return t.editor.getOption(e)!==n[e]}))&&Object.keys(n).forEach((function(r){e.options.hasOwnProperty(r)&&t.editor.getOption(r)!==n[r]&&(t.editor.setOption(r,n[r]),t.mirror.setOption(r,n[r]))})),this.hydrated||(this.mounted&&this.deferred?this.resolveChange():this.initChange(e.value||\"\")),this.hydrated=!0},t.prototype.initChange=function(e){this.emulating=!0;var t=this.editor.lastLine(),n=this.editor.getLine(this.editor.lastLine()).length;this.editor.replaceRange(e||\"\",{line:0,ch:0},{line:t,ch:n}),this.mirror.setValue(e),this.editor.clearHistory(),this.mirror.clearHistory(),this.emulating=!1},t.prototype.resolveChange=function(){this.emulating=!0,\"undo\"===this.deferred.origin?this.editor.undo():\"redo\"===this.deferred.origin?this.editor.redo():this.editor.replaceRange(this.deferred.text,this.deferred.from,this.deferred.to,this.deferred.origin),this.emulating=!1,this.deferred=null},t.prototype.mirrorChange=function(e){return\"undo\"===e.origin?(this.editor.setHistory(this.mirror.getHistory()),this.mirror.undo()):\"redo\"===e.origin?(this.editor.setHistory(this.mirror.getHistory()),this.mirror.redo()):this.mirror.replaceRange(e.text,e.from,e.to,e.origin),this.mirror.getValue()},t.prototype.componentWillMount=function(){l||this.props.editorWillMount&&this.props.editorWillMount()},t.prototype.componentDidMount=function(){var e=this;l||(this.props.defineMode&&this.props.defineMode.name&&this.props.defineMode.fn&&i.defineMode(this.props.defineMode.name,this.props.defineMode.fn),this.editor=i(this.ref),this.shared=new f(this.editor,this.props),this.mirror=i((function(){})),this.editor.on(\"electricInput\",(function(){e.mirror.setHistory(e.editor.getHistory())})),this.editor.on(\"cursorActivity\",(function(){e.mirror.setCursor(e.editor.getCursor())})),this.editor.on(\"beforeChange\",(function(t,n){if(!e.emulating){n.cancel(),e.deferred=n;var r=e.mirrorChange(e.deferred);e.props.onBeforeChange&&e.props.onBeforeChange(e.editor,e.deferred,r)}})),this.editor.on(\"change\",(function(t,n){e.mounted&&e.props.onChange&&e.props.onChange(e.editor,n,e.editor.getValue())})),this.hydrate(this.props),this.shared.apply(this.props),this.applied=!0,this.mounted=!0,this.shared.wire(this.props),this.editor.getOption(\"autofocus\")&&this.editor.focus(),this.props.editorDidMount&&this.props.editorDidMount(this.editor,this.editor.getValue(),this.initCb))},t.prototype.componentWillReceiveProps=function(e){if(!l){var t={cursor:null};e.value!==this.props.value&&(this.hydrated=!1),this.props.autoCursor||void 0===this.props.autoCursor||(t.cursor=this.editor.getCursor()),this.hydrate(e),this.appliedNext||(this.shared.applyNext(this.props,e,t),this.appliedNext=!0),this.shared.applyUserDefined(this.props,t),this.appliedUserDefined=!0}},t.prototype.componentWillUnmount=function(){l||this.props.editorWillUnmount&&this.props.editorWillUnmount(i)},t.prototype.shouldComponentUpdate=function(e,t){return!l},t.prototype.render=function(){var e=this;if(l)return null;var t=this.props.className?\"react-codemirror2 \"+this.props.className:\"react-codemirror2\";return u.createElement(\"div\",{className:t,ref:function(t){return e.ref=t}})}}(u.Component);var p=function(e){function t(t){var n=e.call(this,t)||this;return l||(n.applied=!1,n.appliedUserDefined=!1,n.continueChange=!1,n.detached=!1,n.hydrated=!1,n.initCb=function(){n.props.editorDidConfigure&&n.props.editorDidConfigure(n.editor)},n.mounted=!1,n.onBeforeChangeCb=function(){n.continueChange=!0}),n}return s(t,e),t.prototype.hydrate=function(e){var t=this,n=o({},i.defaults,this.editor.options,e.options||{});if(Object.keys(n).some((function(e){return t.editor.getOption(e)!==n[e]}))&&Object.keys(n).forEach((function(r){e.options.hasOwnProperty(r)&&t.editor.getOption(r)!==n[r]&&t.editor.setOption(r,n[r])})),!this.hydrated){var r=this.editor.lastLine(),a=this.editor.getLine(this.editor.lastLine()).length;this.editor.replaceRange(e.value||\"\",{line:0,ch:0},{line:r,ch:a})}this.hydrated=!0},t.prototype.componentWillMount=function(){l||this.props.editorWillMount&&this.props.editorWillMount()},t.prototype.componentDidMount=function(){var e=this;l||(this.detached=!0===this.props.detach,this.props.defineMode&&this.props.defineMode.name&&this.props.defineMode.fn&&i.defineMode(this.props.defineMode.name,this.props.defineMode.fn),this.editor=i(this.ref),this.shared=new f(this.editor,this.props),this.editor.on(\"beforeChange\",(function(t,n){e.props.onBeforeChange&&e.props.onBeforeChange(e.editor,n,e.editor.getValue(),e.onBeforeChangeCb)})),this.editor.on(\"change\",(function(t,n){e.mounted&&e.props.onChange&&(e.props.onBeforeChange?e.continueChange&&e.props.onChange(e.editor,n,e.editor.getValue()):e.props.onChange(e.editor,n,e.editor.getValue()))})),this.hydrate(this.props),this.shared.apply(this.props),this.applied=!0,this.mounted=!0,this.shared.wire(this.props),this.editor.clearHistory(),this.props.editorDidMount&&this.props.editorDidMount(this.editor,this.editor.getValue(),this.initCb))},t.prototype.componentWillReceiveProps=function(e){if(this.detached&&!1===e.detach&&(this.detached=!1,this.props.editorDidAttach&&this.props.editorDidAttach(this.editor)),this.detached||!0!==e.detach||(this.detached=!0,this.props.editorDidDetach&&this.props.editorDidDetach(this.editor)),!l&&!this.detached){var t={cursor:null};e.value!==this.props.value&&(this.hydrated=!1,this.applied=!1,this.appliedUserDefined=!1),this.props.autoCursor||void 0===this.props.autoCursor||(t.cursor=this.editor.getCursor()),this.hydrate(e),this.applied||(this.shared.apply(this.props),this.applied=!0),this.appliedUserDefined||(this.shared.applyUserDefined(this.props,t),this.appliedUserDefined=!0)}},t.prototype.componentWillUnmount=function(){l||this.props.editorWillUnmount&&this.props.editorWillUnmount(i)},t.prototype.shouldComponentUpdate=function(e,t){var n=!0;return l&&(n=!1),this.detached&&(n=!1),n},t.prototype.render=function(){var e=this;if(l)return null;var t=this.props.className?\"react-codemirror2 \"+this.props.className:\"react-codemirror2\";return u.createElement(\"div\",{className:t,ref:function(t){return e.ref=t}})},t}(u.Component);t.Rt=p},38698:(e,t,n)=>{\"use strict\";var r=n(27418),i=n(67294);function o(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var a=\"function\"==typeof Symbol&&Symbol.for,s=a?Symbol.for(\"react.portal\"):60106,u=a?Symbol.for(\"react.fragment\"):60107,l=a?Symbol.for(\"react.strict_mode\"):60108,c=a?Symbol.for(\"react.profiler\"):60114,f=a?Symbol.for(\"react.provider\"):60109,p=a?Symbol.for(\"react.context\"):60110,d=a?Symbol.for(\"react.concurrent_mode\"):60111,h=a?Symbol.for(\"react.forward_ref\"):60112,m=a?Symbol.for(\"react.suspense\"):60113,y=a?Symbol.for(\"react.suspense_list\"):60120,v=a?Symbol.for(\"react.memo\"):60115,g=a?Symbol.for(\"react.lazy\"):60116,b=a?Symbol.for(\"react.block\"):60121,x=a?Symbol.for(\"react.fundamental\"):60117,_=a?Symbol.for(\"react.scope\"):60119;function w(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case u:return\"Fragment\";case s:return\"Portal\";case c:return\"Profiler\";case l:return\"StrictMode\";case m:return\"Suspense\";case y:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case p:return\"Context.Consumer\";case f:return\"Context.Provider\";case h:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case v:return w(e.type);case b:return w(e.render);case g:if(e=1===e._status?e._result:null)return w(e)}return null}var E=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;E.hasOwnProperty(\"ReactCurrentDispatcher\")||(E.ReactCurrentDispatcher={current:null}),E.hasOwnProperty(\"ReactCurrentBatchConfig\")||(E.ReactCurrentBatchConfig={suspense:null});var S={};function k(e,t){for(var n=0|e._threadCount;n<=t;n++)e[n]=e._currentValue2,e._threadCount=n+1}for(var A=new Uint16Array(16),C=0;15>C;C++)A[C]=C+1;A[15]=0;var T=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,D=Object.prototype.hasOwnProperty,M={},P={};function O(e){return!!D.call(P,e)||!D.call(M,e)&&(T.test(e)?P[e]=!0:(M[e]=!0,!1))}function L(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var N={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){N[e]=new L(e,0,!1,e,null,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];N[t]=new L(t,1,!1,e[1],null,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){N[e]=new L(e,2,!1,e.toLowerCase(),null,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){N[e]=new L(e,2,!1,e,null,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){N[e]=new L(e,3,!1,e.toLowerCase(),null,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){N[e]=new L(e,3,!0,e,null,!1)})),[\"capture\",\"download\"].forEach((function(e){N[e]=new L(e,4,!1,e,null,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){N[e]=new L(e,6,!1,e,null,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){N[e]=new L(e,5,!1,e.toLowerCase(),null,!1)}));var F=/[\\-:]([a-z])/g;function R(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(F,R);N[t]=new L(t,1,!1,e,null,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(F,R);N[t]=new L(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(F,R);N[t]=new L(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){N[e]=new L(e,1,!1,e.toLowerCase(),null,!1)})),N.xlinkHref=new L(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){N[e]=new L(e,1,!1,e.toLowerCase(),null,!0)}));var I=/[\"'&<>]/;function j(e){if(\"boolean\"==typeof e||\"number\"==typeof e)return\"\"+e;e=\"\"+e;var t=I.exec(e);if(t){var n,r=\"\",i=0;for(n=t.index;n<e.length;n++){switch(e.charCodeAt(n)){case 34:t=\"&quot;\";break;case 38:t=\"&amp;\";break;case 39:t=\"&#x27;\";break;case 60:t=\"&lt;\";break;case 62:t=\"&gt;\";break;default:continue}i!==n&&(r+=e.substring(i,n)),i=n+1,r+=t}e=i!==n?r+e.substring(i,n):r}return e}function B(e,t){var n,r=N.hasOwnProperty(e)?N[e]:null;return(n=\"style\"!==e)&&(n=null!==r?0===r.type:2<e.length&&(\"o\"===e[0]||\"O\"===e[0])&&(\"n\"===e[1]||\"N\"===e[1])),n||function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e;default:return!1}}(e,t,n))return!0;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(e,t,r)?\"\":null!==r?(e=r.attributeName,3===(n=r.type)||4===n&&!0===t?e+'=\"\"':(r.sanitizeURL&&(t=\"\"+t),e+'=\"'+j(t)+'\"')):O(e)?e+'=\"'+j(t)+'\"':\"\"}var q=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},z=null,V=null,U=null,W=!1,Y=!1,X=null,H=0;function G(){if(null===z)throw Error(o(321));return z}function $(){if(0<H)throw Error(o(312));return{memoizedState:null,queue:null,next:null}}function K(){return null===U?null===V?(W=!1,V=U=$()):(W=!0,U=V):null===U.next?(W=!1,U=U.next=$()):(W=!0,U=U.next),U}function Z(e,t,n,r){for(;Y;)Y=!1,H+=1,U=null,n=e(t,r);return V=z=null,H=0,U=X=null,n}function J(e,t){return\"function\"==typeof t?t(e):t}function Q(e,t,n){if(z=G(),U=K(),W){var r=U.queue;if(t=r.dispatch,null!==X&&void 0!==(n=X.get(r))){X.delete(r),r=U.memoizedState;do{r=e(r,n.action),n=n.next}while(null!==n);return U.memoizedState=r,[r,t]}return[U.memoizedState,t]}return e=e===J?\"function\"==typeof t?t():t:void 0!==n?n(t):t,U.memoizedState=e,e=(e=U.queue={last:null,dispatch:null}).dispatch=ee.bind(null,z,e),[U.memoizedState,e]}function ee(e,t,n){if(!(25>H))throw Error(o(301));if(e===z)if(Y=!0,e={action:n,next:null},null===X&&(X=new Map),void 0===(n=X.get(t)))X.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}}function te(){}var ne=0,re={readContext:function(e){var t=ne;return k(e,t),e[t]},useContext:function(e){G();var t=ne;return k(e,t),e[t]},useMemo:function(e,t){if(z=G(),t=void 0===t?null:t,null!==(U=K())){var n=U.memoizedState;if(null!==n&&null!==t){e:{var r=n[1];if(null===r)r=!1;else{for(var i=0;i<r.length&&i<t.length;i++)if(!q(t[i],r[i])){r=!1;break e}r=!0}}if(r)return n[0]}}return e=e(),U.memoizedState=[e,t],e},useReducer:Q,useRef:function(e){z=G();var t=(U=K()).memoizedState;return null===t?(e={current:e},U.memoizedState=e):t},useState:function(e){return Q(J,e)},useLayoutEffect:function(){},useCallback:function(e){return e},useImperativeHandle:te,useEffect:te,useDebugValue:te,useResponder:function(e,t){return{props:t,responder:e}},useDeferredValue:function(e){return G(),e},useTransition:function(){return G(),[function(e){e()},!1]}},ie=\"http://www.w3.org/1999/xhtml\";function oe(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}var ae={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},se=r({menuitem:!0},ae),ue={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},le=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ue).forEach((function(e){le.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ue[t]=ue[e]}))}));var ce=/([A-Z])/g,fe=/^ms-/,pe=i.Children.toArray,de=E.ReactCurrentDispatcher,he={listing:!0,pre:!0,textarea:!0},me=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,ye={},ve={},ge=Object.prototype.hasOwnProperty,be={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null,suppressHydrationWarning:null};function xe(e,t){if(void 0===e)throw Error(o(152,w(t)||\"Component\"))}var _e=function(){function e(e,t){i.isValidElement(e)?e.type!==u?e=[e]:(e=e.props.children,e=i.isValidElement(e)?[e]:pe(e)):e=pe(e),e={type:null,domNamespace:ie,children:e,childIndex:0,context:S,footer:\"\"};var n=A[0];if(0===n){var r=A,a=2*(n=r.length);if(!(65536>=a))throw Error(o(304));var s=new Uint16Array(a);for(s.set(r),(A=s)[0]=n+1,r=n;r<a-1;r++)A[r]=r+1;A[a-1]=0}else A[0]=A[n];this.threadID=n,this.stack=[e],this.exhausted=!1,this.currentSelectValue=null,this.previousWasTextNode=!1,this.makeStaticMarkup=t,this.suspenseDepth=0,this.contextIndex=-1,this.contextStack=[],this.contextValueStack=[]}var t=e.prototype;return t.destroy=function(){if(!this.exhausted){this.exhausted=!0,this.clearProviders();var e=this.threadID;A[e]=A[0],A[0]=e}},t.pushProvider=function(e){var t=++this.contextIndex,n=e.type._context,r=this.threadID;k(n,r);var i=n[r];this.contextStack[t]=n,this.contextValueStack[t]=i,n[r]=e.props.value},t.popProvider=function(){var e=this.contextIndex,t=this.contextStack[e],n=this.contextValueStack[e];this.contextStack[e]=null,this.contextValueStack[e]=null,this.contextIndex--,t[this.threadID]=n},t.clearProviders=function(){for(var e=this.contextIndex;0<=e;e--)this.contextStack[e][this.threadID]=this.contextValueStack[e]},t.read=function(e){if(this.exhausted)return null;var t=ne;ne=this.threadID;var n=de.current;de.current=re;try{for(var r=[\"\"],i=!1;r[0].length<e;){if(0===this.stack.length){this.exhausted=!0;var a=this.threadID;A[a]=A[0],A[0]=a;break}var s=this.stack[this.stack.length-1];if(i||s.childIndex>=s.children.length){var u=s.footer;if(\"\"!==u&&(this.previousWasTextNode=!1),this.stack.pop(),\"select\"===s.type)this.currentSelectValue=null;else if(null!=s.type&&null!=s.type.type&&s.type.type.$$typeof===f)this.popProvider(s.type);else if(s.type===m){this.suspenseDepth--;var l=r.pop();if(i){i=!1;var c=s.fallbackFrame;if(!c)throw Error(o(303));this.stack.push(c),r[this.suspenseDepth]+=\"\\x3c!--$!--\\x3e\";continue}r[this.suspenseDepth]+=l}r[this.suspenseDepth]+=u}else{var p=s.children[s.childIndex++],d=\"\";try{d+=this.render(p,s.context,s.domNamespace)}catch(e){if(null!=e&&\"function\"==typeof e.then)throw Error(o(294));throw e}r.length<=this.suspenseDepth&&r.push(\"\"),r[this.suspenseDepth]+=d}}return r[0]}finally{de.current=n,ne=t}},t.render=function(e,t,n){if(\"string\"==typeof e||\"number\"==typeof e)return\"\"==(n=\"\"+e)?\"\":this.makeStaticMarkup?j(n):this.previousWasTextNode?\"\\x3c!-- --\\x3e\"+j(n):(this.previousWasTextNode=!0,j(n));if(e=(t=function(e,t,n){function a(i,a){var s=a.prototype&&a.prototype.isReactComponent,u=function(e,t,n,r){if(r&&\"object\"==typeof(r=e.contextType)&&null!==r)return k(r,n),r[n];if(e=e.contextTypes){for(var i in n={},e)n[i]=t[i];t=n}else t=S;return t}(a,t,n,s),l=[],c=!1,f={isMounted:function(){return!1},enqueueForceUpdate:function(){if(null===l)return null},enqueueReplaceState:function(e,t){c=!0,l=[t]},enqueueSetState:function(e,t){if(null===l)return null;l.push(t)}};if(s){if(s=new a(i.props,u,f),\"function\"==typeof a.getDerivedStateFromProps){var p=a.getDerivedStateFromProps.call(null,i.props,s.state);null!=p&&(s.state=r({},s.state,p))}}else if(z={},s=a(i.props,u,f),null==(s=Z(a,i.props,s,u))||null==s.render)return void xe(e=s,a);if(s.props=i.props,s.context=u,s.updater=f,void 0===(f=s.state)&&(s.state=f=null),\"function\"==typeof s.UNSAFE_componentWillMount||\"function\"==typeof s.componentWillMount)if(\"function\"==typeof s.componentWillMount&&\"function\"!=typeof a.getDerivedStateFromProps&&s.componentWillMount(),\"function\"==typeof s.UNSAFE_componentWillMount&&\"function\"!=typeof a.getDerivedStateFromProps&&s.UNSAFE_componentWillMount(),l.length){f=l;var d=c;if(l=null,c=!1,d&&1===f.length)s.state=f[0];else{p=d?f[0]:s.state;var h=!0;for(d=d?1:0;d<f.length;d++){var m=f[d];null!=(m=\"function\"==typeof m?m.call(s,p,i.props,u):m)&&(h?(h=!1,p=r({},p,m)):r(p,m))}s.state=p}}else l=null;if(xe(e=s.render(),a),\"function\"==typeof s.getChildContext&&\"object\"==typeof(i=a.childContextTypes)){var y=s.getChildContext();for(var v in y)if(!(v in i))throw Error(o(108,w(a)||\"Unknown\",v))}y&&(t=r({},t,y))}for(;i.isValidElement(e);){var s=e,u=s.type;if(\"function\"!=typeof u)break;a(s,u)}return{child:e,context:t}}(e,t,this.threadID)).child,t=t.context,null===e||!1===e)return\"\";if(!i.isValidElement(e)){if(null!=e&&null!=e.$$typeof){if((n=e.$$typeof)===s)throw Error(o(257));throw Error(o(258,n.toString()))}return e=pe(e),this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:\"\"}),\"\"}var a=e.type;if(\"string\"==typeof a)return this.renderDOM(e,t,n);switch(a){case l:case d:case c:case y:case u:return e=pe(e.props.children),this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:\"\"}),\"\";case m:throw Error(o(294))}if(\"object\"==typeof a&&null!==a)switch(a.$$typeof){case h:z={};var b=a.render(e.props,e.ref);return b=Z(a.render,e.props,b,e.ref),b=pe(b),this.stack.push({type:null,domNamespace:n,children:b,childIndex:0,context:t,footer:\"\"}),\"\";case v:return e=[i.createElement(a.type,r({ref:e.ref},e.props))],this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:\"\"}),\"\";case f:return n={type:e,domNamespace:n,children:a=pe(e.props.children),childIndex:0,context:t,footer:\"\"},this.pushProvider(e),this.stack.push(n),\"\";case p:a=e.type,b=e.props;var E=this.threadID;return k(a,E),a=pe(b.children(a[E])),this.stack.push({type:e,domNamespace:n,children:a,childIndex:0,context:t,footer:\"\"}),\"\";case x:throw Error(o(338));case g:switch(function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(a=e.type),a._status){case 1:return e=[i.createElement(a._result,r({ref:e.ref},e.props))],this.stack.push({type:null,domNamespace:n,children:e,childIndex:0,context:t,footer:\"\"}),\"\";case 2:throw a._result;default:throw Error(o(295))}case _:throw Error(o(343))}throw Error(o(130,null==a?a:typeof a,\"\"))},t.renderDOM=function(e,t,n){var a=e.type.toLowerCase();if(n===ie&&oe(a),!ye.hasOwnProperty(a)){if(!me.test(a))throw Error(o(65,a));ye[a]=!0}var s=e.props;if(\"input\"===a)s=r({type:void 0},s,{defaultChecked:void 0,defaultValue:void 0,value:null!=s.value?s.value:s.defaultValue,checked:null!=s.checked?s.checked:s.defaultChecked});else if(\"textarea\"===a){var u=s.value;if(null==u){u=s.defaultValue;var l=s.children;if(null!=l){if(null!=u)throw Error(o(92));if(Array.isArray(l)){if(!(1>=l.length))throw Error(o(93));l=l[0]}u=\"\"+l}null==u&&(u=\"\")}s=r({},s,{value:void 0,children:\"\"+u})}else if(\"select\"===a)this.currentSelectValue=null!=s.value?s.value:s.defaultValue,s=r({},s,{value:void 0});else if(\"option\"===a){l=this.currentSelectValue;var c=function(e){if(null==e)return e;var t=\"\";return i.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(s.children);if(null!=l){var f=null!=s.value?s.value+\"\":c;if(u=!1,Array.isArray(l)){for(var p=0;p<l.length;p++)if(\"\"+l[p]===f){u=!0;break}}else u=\"\"+l===f;s=r({selected:void 0,children:void 0},s,{selected:u,children:c})}}if(u=s){if(se[a]&&(null!=u.children||null!=u.dangerouslySetInnerHTML))throw Error(o(137,a,\"\"));if(null!=u.dangerouslySetInnerHTML){if(null!=u.children)throw Error(o(60));if(\"object\"!=typeof u.dangerouslySetInnerHTML||!(\"__html\"in u.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=u.style&&\"object\"!=typeof u.style)throw Error(o(62,\"\"))}for(x in u=s,l=this.makeStaticMarkup,c=1===this.stack.length,f=\"<\"+e.type,u)if(ge.call(u,x)){var d=u[x];if(null!=d){if(\"style\"===x){p=void 0;var h=\"\",m=\"\";for(p in d)if(d.hasOwnProperty(p)){var y=0===p.indexOf(\"--\"),v=d[p];if(null!=v){if(y)var g=p;else if(g=p,ve.hasOwnProperty(g))g=ve[g];else{var b=g.replace(ce,\"-$1\").toLowerCase().replace(fe,\"-ms-\");g=ve[g]=b}h+=m+g+\":\",m=p,h+=y=null==v||\"boolean\"==typeof v||\"\"===v?\"\":y||\"number\"!=typeof v||0===v||ue.hasOwnProperty(m)&&ue[m]?(\"\"+v).trim():v+\"px\",m=\";\"}}d=h||null}p=null;e:if(y=a,v=u,-1===y.indexOf(\"-\"))y=\"string\"==typeof v.is;else switch(y){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":y=!1;break e;default:y=!0}y?be.hasOwnProperty(x)||(p=O(p=x)&&null!=d?p+'=\"'+j(d)+'\"':\"\"):p=B(x,d),p&&(f+=\" \"+p)}}l||c&&(f+=' data-reactroot=\"\"');var x=f;u=\"\",ae.hasOwnProperty(a)?x+=\"/>\":(x+=\">\",u=\"</\"+e.type+\">\");e:{if(null!=(l=s.dangerouslySetInnerHTML)){if(null!=l.__html){l=l.__html;break e}}else if(\"string\"==typeof(l=s.children)||\"number\"==typeof l){l=j(l);break e}l=null}return null!=l?(s=[],he.hasOwnProperty(a)&&\"\\n\"===l.charAt(0)&&(x+=\"\\n\"),x+=l):s=pe(s.children),e=e.type,n=null==n||\"http://www.w3.org/1999/xhtml\"===n?oe(e):\"http://www.w3.org/2000/svg\"===n&&\"foreignObject\"===e?\"http://www.w3.org/1999/xhtml\":n,this.stack.push({domNamespace:n,type:a,children:s,childIndex:0,context:t,footer:u}),this.previousWasTextNode=!1,x},e}(),we={renderToString:function(e){e=new _e(e,!1);try{return e.read(1/0)}finally{e.destroy()}},renderToStaticMarkup:function(e){e=new _e(e,!0);try{return e.read(1/0)}finally{e.destroy()}},renderToNodeStream:function(){throw Error(o(207))},renderToStaticNodeStream:function(){throw Error(o(208))},version:\"16.14.0\"};e.exports=we.default||we},64448:(e,t,n)=>{\"use strict\";var r=n(67294),i=n(27418),o=n(63840);function a(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}if(!r)throw Error(a(227));function s(e,t,n,r,i,o,a,s,u){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var u=!1,l=null,c=!1,f=null,p={onError:function(e){u=!0,l=e}};function d(e,t,n,r,i,o,a,c,f){u=!1,l=null,s.apply(p,arguments)}var h=null,m=null,y=null;function v(e,t,n){var r=e.type||\"unknown-event\";e.currentTarget=y(n),function(e,t,n,r,i,o,s,p,h){if(d.apply(this,arguments),u){if(!u)throw Error(a(198));var m=l;u=!1,l=null,c||(c=!0,f=m)}}(r,t,void 0,e),e.currentTarget=null}var g=null,b={};function x(){if(g)for(var e in b){var t=b[e],n=g.indexOf(e);if(!(-1<n))throw Error(a(96,e));if(!w[n]){if(!t.extractEvents)throw Error(a(97,e));for(var r in w[n]=t,n=t.eventTypes){var i=void 0,o=n[r],s=t,u=r;if(E.hasOwnProperty(u))throw Error(a(99,u));E[u]=o;var l=o.phasedRegistrationNames;if(l){for(i in l)l.hasOwnProperty(i)&&_(l[i],s,u);i=!0}else o.registrationName?(_(o.registrationName,s,u),i=!0):i=!1;if(!i)throw Error(a(98,r,e))}}}}function _(e,t,n){if(S[e])throw Error(a(100,e));S[e]=t,k[e]=t.eventTypes[n].dependencies}var w=[],E={},S={},k={};function A(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!b.hasOwnProperty(t)||b[t]!==r){if(b[t])throw Error(a(102,t));b[t]=r,n=!0}}n&&x()}var C=!(\"undefined\"==typeof window||void 0===window.document||void 0===window.document.createElement),T=null,D=null,M=null;function P(e){if(e=m(e)){if(\"function\"!=typeof T)throw Error(a(280));var t=e.stateNode;t&&(t=h(t),T(e.stateNode,e.type,t))}}function O(e){D?M?M.push(e):M=[e]:D=e}function L(){if(D){var e=D,t=M;if(M=D=null,P(e),t)for(e=0;e<t.length;e++)P(t[e])}}function N(e,t){return e(t)}function F(e,t,n,r,i){return e(t,n,r,i)}function R(){}var I=N,j=!1,B=!1;function q(){null===D&&null===M||(R(),L())}function z(e,t,n){if(B)return e(t,n);B=!0;try{return I(e,t,n)}finally{B=!1,q()}}var V=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,U=Object.prototype.hasOwnProperty,W={},Y={};function X(e,t,n,r,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o}var H={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach((function(e){H[e]=new X(e,0,!1,e,null,!1)})),[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach((function(e){var t=e[0];H[t]=new X(t,1,!1,e[1],null,!1)})),[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach((function(e){H[e]=new X(e,2,!1,e.toLowerCase(),null,!1)})),[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach((function(e){H[e]=new X(e,2,!1,e,null,!1)})),\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach((function(e){H[e]=new X(e,3,!1,e.toLowerCase(),null,!1)})),[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach((function(e){H[e]=new X(e,3,!0,e,null,!1)})),[\"capture\",\"download\"].forEach((function(e){H[e]=new X(e,4,!1,e,null,!1)})),[\"cols\",\"rows\",\"size\",\"span\"].forEach((function(e){H[e]=new X(e,6,!1,e,null,!1)})),[\"rowSpan\",\"start\"].forEach((function(e){H[e]=new X(e,5,!1,e.toLowerCase(),null,!1)}));var G=/[\\-:]([a-z])/g;function $(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach((function(e){var t=e.replace(G,$);H[t]=new X(t,1,!1,e,null,!1)})),\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach((function(e){var t=e.replace(G,$);H[t]=new X(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1)})),[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach((function(e){var t=e.replace(G,$);H[t]=new X(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1)})),[\"tabIndex\",\"crossOrigin\"].forEach((function(e){H[e]=new X(e,1,!1,e.toLowerCase(),null,!1)})),H.xlinkHref=new X(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0),[\"src\",\"href\",\"action\",\"formAction\"].forEach((function(e){H[e]=new X(e,1,!1,e.toLowerCase(),null,!0)}));var K=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function Z(e,t,n,r){var i=H.hasOwnProperty(t)?H[t]:null;(null!==i?0===i.type:!r&&2<t.length&&(\"o\"===t[0]||\"O\"===t[0])&&(\"n\"===t[1]||\"N\"===t[1]))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case\"function\":case\"symbol\":return!0;case\"boolean\":return!r&&(null!==n?!n.acceptsBooleans:\"data-\"!==(e=e.toLowerCase().slice(0,5))&&\"aria-\"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!U.call(Y,e)||!U.call(W,e)&&(V.test(e)?Y[e]=!0:(W[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&\"\":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?\"\":\"\"+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}K.hasOwnProperty(\"ReactCurrentDispatcher\")||(K.ReactCurrentDispatcher={current:null}),K.hasOwnProperty(\"ReactCurrentBatchConfig\")||(K.ReactCurrentBatchConfig={suspense:null});var J=/^(.*)[\\\\\\/]/,Q=\"function\"==typeof Symbol&&Symbol.for,ee=Q?Symbol.for(\"react.element\"):60103,te=Q?Symbol.for(\"react.portal\"):60106,ne=Q?Symbol.for(\"react.fragment\"):60107,re=Q?Symbol.for(\"react.strict_mode\"):60108,ie=Q?Symbol.for(\"react.profiler\"):60114,oe=Q?Symbol.for(\"react.provider\"):60109,ae=Q?Symbol.for(\"react.context\"):60110,se=Q?Symbol.for(\"react.concurrent_mode\"):60111,ue=Q?Symbol.for(\"react.forward_ref\"):60112,le=Q?Symbol.for(\"react.suspense\"):60113,ce=Q?Symbol.for(\"react.suspense_list\"):60120,fe=Q?Symbol.for(\"react.memo\"):60115,pe=Q?Symbol.for(\"react.lazy\"):60116,de=Q?Symbol.for(\"react.block\"):60121,he=\"function\"==typeof Symbol&&Symbol.iterator;function me(e){return null===e||\"object\"!=typeof e?null:\"function\"==typeof(e=he&&e[he]||e[\"@@iterator\"])?e:null}function ye(e){if(null==e)return null;if(\"function\"==typeof e)return e.displayName||e.name||null;if(\"string\"==typeof e)return e;switch(e){case ne:return\"Fragment\";case te:return\"Portal\";case ie:return\"Profiler\";case re:return\"StrictMode\";case le:return\"Suspense\";case ce:return\"SuspenseList\"}if(\"object\"==typeof e)switch(e.$$typeof){case ae:return\"Context.Consumer\";case oe:return\"Context.Provider\";case ue:var t=e.render;return t=t.displayName||t.name||\"\",e.displayName||(\"\"!==t?\"ForwardRef(\"+t+\")\":\"ForwardRef\");case fe:return ye(e.type);case de:return ye(e.render);case pe:if(e=1===e._status?e._result:null)return ye(e)}return null}function ve(e){var t=\"\";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n=\"\";break e;default:var r=e._debugOwner,i=e._debugSource,o=ye(e.type);n=null,r&&(n=ye(r.type)),r=o,o=\"\",i?o=\" (at \"+i.fileName.replace(J,\"\")+\":\"+i.lineNumber+\")\":n&&(o=\" (created by \"+n+\")\"),n=\"\\n    in \"+(r||\"Unknown\")+o}t+=n,e=e.return}while(e);return t}function ge(e){switch(typeof e){case\"boolean\":case\"number\":case\"object\":case\"string\":case\"undefined\":return e;default:return\"\"}}function be(e){var t=e.type;return(e=e.nodeName)&&\"input\"===e.toLowerCase()&&(\"checkbox\"===t||\"radio\"===t)}function xe(e){e._valueTracker||(e._valueTracker=function(e){var t=be(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&\"function\"==typeof n.get&&\"function\"==typeof n.set){var i=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){r=\"\"+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=\"\"+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function _e(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=be(e)?e.checked?\"true\":\"false\":e.value),(e=r)!==n&&(t.setValue(e),!0)}function we(e,t){var n=t.checked;return i({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Ee(e,t){var n=null==t.defaultValue?\"\":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=ge(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:\"checkbox\"===t.type||\"radio\"===t.type?null!=t.checked:null!=t.value}}function Se(e,t){null!=(t=t.checked)&&Z(e,\"checked\",t,!1)}function ke(e,t){Se(e,t);var n=ge(t.value),r=t.type;if(null!=n)\"number\"===r?(0===n&&\"\"===e.value||e.value!=n)&&(e.value=\"\"+n):e.value!==\"\"+n&&(e.value=\"\"+n);else if(\"submit\"===r||\"reset\"===r)return void e.removeAttribute(\"value\");t.hasOwnProperty(\"value\")?Ce(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Ce(e,t.type,ge(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Ae(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(\"submit\"!==r&&\"reset\"!==r||void 0!==t.value&&null!==t.value))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}\"\"!==(n=e.name)&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,\"\"!==n&&(e.name=n)}function Ce(e,t,n){\"number\"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n))}function Te(e,t){return e=i({children:void 0},t),(t=function(e){var t=\"\";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function De(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[\"$\"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(\"$\"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=\"\"+ge(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function Me(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return i({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue})}function Pe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=\"\"),n=t}e._wrapperState={initialValue:ge(n)}}function Oe(e,t){var n=ge(t.value),r=ge(t.defaultValue);null!=n&&((n=\"\"+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=\"\"+r)}function Le(e){var t=e.textContent;t===e._wrapperState.initialValue&&\"\"!==t&&null!==t&&(e.value=t)}function Ne(e){switch(e){case\"svg\":return\"http://www.w3.org/2000/svg\";case\"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Fe(e,t){return null==e||\"http://www.w3.org/1999/xhtml\"===e?Ne(t):\"http://www.w3.org/2000/svg\"===e&&\"foreignObject\"===t?\"http://www.w3.org/1999/xhtml\":e}var Re,Ie,je=(Ie=function(e,t){if(\"http://www.w3.org/2000/svg\"!==e.namespaceURI||\"innerHTML\"in e)e.innerHTML=t;else{for((Re=Re||document.createElement(\"div\")).innerHTML=\"<svg>\"+t.valueOf().toString()+\"</svg>\",t=Re.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return Ie(e,t)}))}:Ie);function Be(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function qe(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n}var ze={animationend:qe(\"Animation\",\"AnimationEnd\"),animationiteration:qe(\"Animation\",\"AnimationIteration\"),animationstart:qe(\"Animation\",\"AnimationStart\"),transitionend:qe(\"Transition\",\"TransitionEnd\")},Ve={},Ue={};function We(e){if(Ve[e])return Ve[e];if(!ze[e])return e;var t,n=ze[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ue)return Ve[e]=n[t];return e}C&&(Ue=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete ze.animationend.animation,delete ze.animationiteration.animation,delete ze.animationstart.animation),\"TransitionEvent\"in window||delete ze.transitionend.transition);var Ye=We(\"animationend\"),Xe=We(\"animationiteration\"),He=We(\"animationstart\"),Ge=We(\"transitionend\"),$e=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),Ke=new(\"function\"==typeof WeakMap?WeakMap:Map);function Ze(e){var t=Ke.get(e);return void 0===t&&(t=new Map,Ke.set(e,t)),t}function Je(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function et(e){if(Je(e)!==e)throw Error(a(188))}function tt(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Je(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var o=i.alternate;if(null===o){if(null!==(r=i.return)){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return et(i),e;if(o===r)return et(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,u=i.child;u;){if(u===n){s=!0,n=i,r=o;break}if(u===r){s=!0,r=i,n=o;break}u=u.sibling}if(!s){for(u=o.child;u;){if(u===n){s=!0,n=o,r=i;break}if(u===r){s=!0,r=o,n=i;break}u=u.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function nt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function rt(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var it=null;function ot(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)v(e,t[r],n[r]);else t&&v(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}function at(e){if(null!==e&&(it=nt(it,e)),e=it,it=null,e){if(rt(e,ot),it)throw Error(a(95));if(c)throw e=f,c=!1,f=null,e}}function st(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}function ut(e){if(!C)return!1;var t=(e=\"on\"+e)in document;return t||((t=document.createElement(\"div\")).setAttribute(e,\"return;\"),t=\"function\"==typeof t[e]),t}var lt=[];function ct(e){e.topLevelType=null,e.nativeEvent=null,e.targetInst=null,e.ancestors.length=0,10>lt.length&&lt.push(e)}function ft(e,t,n,r){if(lt.length){var i=lt.pop();return i.topLevelType=e,i.eventSystemFlags=r,i.nativeEvent=t,i.targetInst=n,i}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function pt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=Dn(r)}while(n);for(n=0;n<e.ancestors.length;n++){t=e.ancestors[n];var i=st(e.nativeEvent);r=e.topLevelType;var o=e.nativeEvent,a=e.eventSystemFlags;0===n&&(a|=64);for(var s=null,u=0;u<w.length;u++){var l=w[u];l&&(l=l.extractEvents(r,t,o,i,a))&&(s=nt(s,l))}at(s)}}function dt(e,t,n){if(!n.has(e)){switch(e){case\"scroll\":Ht(t,\"scroll\",!0);break;case\"focus\":case\"blur\":Ht(t,\"focus\",!0),Ht(t,\"blur\",!0),n.set(\"blur\",null),n.set(\"focus\",null);break;case\"cancel\":case\"close\":ut(e)&&Ht(t,e,!0);break;case\"invalid\":case\"submit\":case\"reset\":break;default:-1===$e.indexOf(e)&&Xt(e,t)}n.set(e,null)}}var ht,mt,yt,vt=!1,gt=[],bt=null,xt=null,_t=null,wt=new Map,Et=new Map,St=[],kt=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput close cancel copy cut paste click change contextmenu reset submit\".split(\" \"),At=\"focus blur dragenter dragleave mouseover mouseout pointerover pointerout gotpointercapture lostpointercapture\".split(\" \");function Ct(e,t,n,r,i){return{blockedOn:e,topLevelType:t,eventSystemFlags:32|n,nativeEvent:i,container:r}}function Tt(e,t){switch(e){case\"focus\":case\"blur\":bt=null;break;case\"dragenter\":case\"dragleave\":xt=null;break;case\"mouseover\":case\"mouseout\":_t=null;break;case\"pointerover\":case\"pointerout\":wt.delete(t.pointerId);break;case\"gotpointercapture\":case\"lostpointercapture\":Et.delete(t.pointerId)}}function Dt(e,t,n,r,i,o){return null===e||e.nativeEvent!==o?(e=Ct(t,n,r,i,o),null!==t&&null!==(t=Mn(t))&&mt(t),e):(e.eventSystemFlags|=r,e)}function Mt(e){var t=Dn(e.target);if(null!==t){var n=Je(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Qe(n)))return e.blockedOn=t,void o.unstable_runWithPriority(e.priority,(function(){yt(n)}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Pt(e){if(null!==e.blockedOn)return!1;var t=Zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);if(null!==t){var n=Mn(t);return null!==n&&mt(n),e.blockedOn=t,!1}return!0}function Ot(e,t,n){Pt(e)&&n.delete(t)}function Lt(){for(vt=!1;0<gt.length;){var e=gt[0];if(null!==e.blockedOn){null!==(e=Mn(e.blockedOn))&&ht(e);break}var t=Zt(e.topLevelType,e.eventSystemFlags,e.container,e.nativeEvent);null!==t?e.blockedOn=t:gt.shift()}null!==bt&&Pt(bt)&&(bt=null),null!==xt&&Pt(xt)&&(xt=null),null!==_t&&Pt(_t)&&(_t=null),wt.forEach(Ot),Et.forEach(Ot)}function Nt(e,t){e.blockedOn===t&&(e.blockedOn=null,vt||(vt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Lt)))}function Ft(e){function t(t){return Nt(t,e)}if(0<gt.length){Nt(gt[0],e);for(var n=1;n<gt.length;n++){var r=gt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==bt&&Nt(bt,e),null!==xt&&Nt(xt,e),null!==_t&&Nt(_t,e),wt.forEach(t),Et.forEach(t),n=0;n<St.length;n++)(r=St[n]).blockedOn===e&&(r.blockedOn=null);for(;0<St.length&&null===(n=St[0]).blockedOn;)Mt(n),null===n.blockedOn&&St.shift()}var Rt={},It=new Map,jt=new Map,Bt=[\"abort\",\"abort\",Ye,\"animationEnd\",Xe,\"animationIteration\",He,\"animationStart\",\"canplay\",\"canPlay\",\"canplaythrough\",\"canPlayThrough\",\"durationchange\",\"durationChange\",\"emptied\",\"emptied\",\"encrypted\",\"encrypted\",\"ended\",\"ended\",\"error\",\"error\",\"gotpointercapture\",\"gotPointerCapture\",\"load\",\"load\",\"loadeddata\",\"loadedData\",\"loadedmetadata\",\"loadedMetadata\",\"loadstart\",\"loadStart\",\"lostpointercapture\",\"lostPointerCapture\",\"playing\",\"playing\",\"progress\",\"progress\",\"seeking\",\"seeking\",\"stalled\",\"stalled\",\"suspend\",\"suspend\",\"timeupdate\",\"timeUpdate\",Ge,\"transitionEnd\",\"waiting\",\"waiting\"];function qt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o=\"on\"+(i[0].toUpperCase()+i.slice(1));o={phasedRegistrationNames:{bubbled:o,captured:o+\"Capture\"},dependencies:[r],eventPriority:t},jt.set(r,t),It.set(r,o),Rt[i]=o}}qt(\"blur blur cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focus focus input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange\".split(\" \"),0),qt(\"drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel\".split(\" \"),1),qt(Bt,2);for(var zt=\"change selectionchange textInput compositionstart compositionend compositionupdate\".split(\" \"),Vt=0;Vt<zt.length;Vt++)jt.set(zt[Vt],0);var Ut=o.unstable_UserBlockingPriority,Wt=o.unstable_runWithPriority,Yt=!0;function Xt(e,t){Ht(t,e,!1)}function Ht(e,t,n){var r=jt.get(t);switch(void 0===r?2:r){case 0:r=Gt.bind(null,t,1,e);break;case 1:r=$t.bind(null,t,1,e);break;default:r=Kt.bind(null,t,1,e)}n?e.addEventListener(t,r,!0):e.addEventListener(t,r,!1)}function Gt(e,t,n,r){j||R();var i=Kt,o=j;j=!0;try{F(i,e,t,n,r)}finally{(j=o)||q()}}function $t(e,t,n,r){Wt(Ut,Kt.bind(null,e,t,n,r))}function Kt(e,t,n,r){if(Yt)if(0<gt.length&&-1<kt.indexOf(e))e=Ct(null,e,t,n,r),gt.push(e);else{var i=Zt(e,t,n,r);if(null===i)Tt(e,r);else if(-1<kt.indexOf(e))e=Ct(i,e,t,n,r),gt.push(e);else if(!function(e,t,n,r,i){switch(t){case\"focus\":return bt=Dt(bt,e,t,n,r,i),!0;case\"dragenter\":return xt=Dt(xt,e,t,n,r,i),!0;case\"mouseover\":return _t=Dt(_t,e,t,n,r,i),!0;case\"pointerover\":var o=i.pointerId;return wt.set(o,Dt(wt.get(o)||null,e,t,n,r,i)),!0;case\"gotpointercapture\":return o=i.pointerId,Et.set(o,Dt(Et.get(o)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r)){Tt(e,r),e=ft(e,r,null,t);try{z(pt,e)}finally{ct(e)}}}}function Zt(e,t,n,r){if(null!==(n=Dn(n=st(r)))){var i=Je(n);if(null===i)n=null;else{var o=i.tag;if(13===o){if(null!==(n=Qe(i)))return n;n=null}else if(3===o){if(i.stateNode.hydrate)return 3===i.tag?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null)}}e=ft(e,r,n,t);try{z(pt,e)}finally{ct(e)}return null}var Jt={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qt=[\"Webkit\",\"ms\",\"Moz\",\"O\"];function en(e,t,n){return null==t||\"boolean\"==typeof t||\"\"===t?\"\":n||\"number\"!=typeof t||0===t||Jt.hasOwnProperty(e)&&Jt[e]?(\"\"+t).trim():t+\"px\"}function tn(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf(\"--\"),i=en(n,t[n],r);\"float\"===n&&(n=\"cssFloat\"),r?e.setProperty(n,i):e[n]=i}}Object.keys(Jt).forEach((function(e){Qt.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Jt[t]=Jt[e]}))}));var nn=i({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function rn(e,t){if(t){if(nn[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e,\"\"));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if(\"object\"!=typeof t.dangerouslySetInnerHTML||!(\"__html\"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&\"object\"!=typeof t.style)throw Error(a(62,\"\"))}}function on(e,t){if(-1===e.indexOf(\"-\"))return\"string\"==typeof t.is;switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var an=\"http://www.w3.org/1999/xhtml\";function sn(e,t){var n=Ze(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=k[t];for(var r=0;r<t.length;r++)dt(t[r],e,n)}function un(){}function ln(e){if(void 0===(e=e||(\"undefined\"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function cn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function fn(e,t){var n,r=cn(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cn(r)}}function pn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?pn(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function dn(){for(var e=window,t=ln();t instanceof e.HTMLIFrameElement;){try{var n=\"string\"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=ln((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===t||\"true\"===e.contentEditable)}var mn=\"$?\",yn=\"$!\",vn=null,gn=null;function bn(e,t){switch(e){case\"button\":case\"input\":case\"select\":case\"textarea\":return!!t.autoFocus}return!1}function xn(e,t){return\"textarea\"===e||\"option\"===e||\"noscript\"===e||\"string\"==typeof t.children||\"number\"==typeof t.children||\"object\"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var _n=\"function\"==typeof setTimeout?setTimeout:void 0,wn=\"function\"==typeof clearTimeout?clearTimeout:void 0;function En(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function Sn(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if(\"$\"===n||n===yn||n===mn){if(0===t)return e;t--}else\"/$\"===n&&t++}e=e.previousSibling}return null}var kn=Math.random().toString(36).slice(2),An=\"__reactInternalInstance$\"+kn,Cn=\"__reactEventHandlers$\"+kn,Tn=\"__reactContainere$\"+kn;function Dn(e){var t=e[An];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Tn]||n[An]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Sn(e);null!==e;){if(n=e[An])return n;e=Sn(e)}return t}n=(e=n).parentNode}return null}function Mn(e){return!(e=e[An]||e[Tn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function Pn(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function On(e){return e[Cn]||null}function Ln(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Nn(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)return null;n=r[t];e:switch(t){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":case\"onMouseEnter\":(r=!r.disabled)||(r=!(\"button\"===(e=e.type)||\"input\"===e||\"select\"===e||\"textarea\"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&\"function\"!=typeof n)throw Error(a(231,t,typeof n));return n}function Fn(e,t,n){(t=Nn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=nt(n._dispatchListeners,t),n._dispatchInstances=nt(n._dispatchInstances,e))}function Rn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Ln(t);for(t=n.length;0<t--;)Fn(n[t],\"captured\",e);for(t=0;t<n.length;t++)Fn(n[t],\"bubbled\",e)}}function In(e,t,n){e&&n&&n.dispatchConfig.registrationName&&(t=Nn(e,n.dispatchConfig.registrationName))&&(n._dispatchListeners=nt(n._dispatchListeners,t),n._dispatchInstances=nt(n._dispatchInstances,e))}function jn(e){e&&e.dispatchConfig.registrationName&&In(e._targetInst,null,e)}function Bn(e){rt(e,Rn)}var qn=null,zn=null,Vn=null;function Un(){if(Vn)return Vn;var e,t,n=zn,r=n.length,i=\"value\"in qn?qn.value:qn.textContent,o=i.length;for(e=0;e<r&&n[e]===i[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===i[o-t];t++);return Vn=i.slice(e,1<t?1-t:void 0)}function Wn(){return!0}function Yn(){return!1}function Xn(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):\"target\"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?Wn:Yn,this.isPropagationStopped=Yn,this}function Hn(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function Gn(e){if(!(e instanceof this))throw Error(a(279));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function $n(e){e.eventPool=[],e.getPooled=Hn,e.release=Gn}i(Xn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Wn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Wn)},persist:function(){this.isPersistent=Wn},isPersistent:Yn,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Yn,this._dispatchInstances=this._dispatchListeners=null}}),Xn.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},Xn.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var o=new t;return i(o,n.prototype),n.prototype=o,n.prototype.constructor=n,n.Interface=i({},r.Interface,e),n.extend=r.extend,$n(n),n},$n(Xn);var Kn=Xn.extend({data:null}),Zn=Xn.extend({data:null}),Jn=[9,13,27,32],Qn=C&&\"CompositionEvent\"in window,er=null;C&&\"documentMode\"in document&&(er=document.documentMode);var tr=C&&\"TextEvent\"in window&&!er,nr=C&&(!Qn||er&&8<er&&11>=er),rr=String.fromCharCode(32),ir={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},or=!1;function ar(e,t){switch(e){case\"keyup\":return-1!==Jn.indexOf(t.keyCode);case\"keydown\":return 229!==t.keyCode;case\"keypress\":case\"mousedown\":case\"blur\":return!0;default:return!1}}function sr(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var ur=!1,lr={eventTypes:ir,extractEvents:function(e,t,n,r){var i;if(Qn)e:{switch(e){case\"compositionstart\":var o=ir.compositionStart;break e;case\"compositionend\":o=ir.compositionEnd;break e;case\"compositionupdate\":o=ir.compositionUpdate;break e}o=void 0}else ur?ar(e,n)&&(o=ir.compositionEnd):\"keydown\"===e&&229===n.keyCode&&(o=ir.compositionStart);return o?(nr&&\"ko\"!==n.locale&&(ur||o!==ir.compositionStart?o===ir.compositionEnd&&ur&&(i=Un()):(zn=\"value\"in(qn=r)?qn.value:qn.textContent,ur=!0)),o=Kn.getPooled(o,t,n,r),(i||null!==(i=sr(n)))&&(o.data=i),Bn(o),i=o):i=null,(e=tr?function(e,t){switch(e){case\"compositionend\":return sr(t);case\"keypress\":return 32!==t.which?null:(or=!0,rr);case\"textInput\":return(e=t.data)===rr&&or?null:e;default:return null}}(e,n):function(e,t){if(ur)return\"compositionend\"===e||!Qn&&ar(e,t)?(e=Un(),Vn=zn=qn=null,ur=!1,e):null;switch(e){case\"paste\":default:return null;case\"keypress\":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case\"compositionend\":return nr&&\"ko\"!==t.locale?null:t.data}}(e,n))?((t=Zn.getPooled(ir.beforeInput,t,n,r)).data=e,Bn(t)):t=null,null===i?t:null===t?i:[i,t]}},cr={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!cr[e.type]:\"textarea\"===t}var pr={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"blur change click focus input keydown keyup selectionchange\".split(\" \")}};function dr(e,t,n){return(e=Xn.getPooled(pr.change,e,t,n)).type=\"change\",O(n),Bn(e),e}var hr=null,mr=null;function yr(e){at(e)}function vr(e){if(_e(Pn(e)))return e}function gr(e,t){if(\"change\"===e)return t}var br=!1;function xr(){hr&&(hr.detachEvent(\"onpropertychange\",_r),mr=hr=null)}function _r(e){if(\"value\"===e.propertyName&&vr(mr))if(e=dr(mr,e,st(e)),j)at(e);else{j=!0;try{N(yr,e)}finally{j=!1,q()}}}function wr(e,t,n){\"focus\"===e?(xr(),mr=n,(hr=t).attachEvent(\"onpropertychange\",_r)):\"blur\"===e&&xr()}function Er(e){if(\"selectionchange\"===e||\"keyup\"===e||\"keydown\"===e)return vr(mr)}function Sr(e,t){if(\"click\"===e)return vr(t)}function kr(e,t){if(\"input\"===e||\"change\"===e)return vr(t)}C&&(br=ut(\"input\")&&(!document.documentMode||9<document.documentMode));var Ar={eventTypes:pr,_isInputEventSupported:br,extractEvents:function(e,t,n,r){var i=t?Pn(t):window,o=i.nodeName&&i.nodeName.toLowerCase();if(\"select\"===o||\"input\"===o&&\"file\"===i.type)var a=gr;else if(fr(i))if(br)a=kr;else{a=Er;var s=wr}else(o=i.nodeName)&&\"input\"===o.toLowerCase()&&(\"checkbox\"===i.type||\"radio\"===i.type)&&(a=Sr);if(a&&(a=a(e,t)))return dr(a,n,r);s&&s(e,i,t),\"blur\"===e&&(e=i._wrapperState)&&e.controlled&&\"number\"===i.type&&Ce(i,\"number\",i.value)}},Cr=Xn.extend({view:null,detail:null}),Tr={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Dr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Tr[e])&&!!t[e]}function Mr(){return Dr}var Pr=0,Or=0,Lr=!1,Nr=!1,Fr=Cr.extend({screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:Mr,button:null,buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},movementX:function(e){if(\"movementX\"in e)return e.movementX;var t=Pr;return Pr=e.screenX,Lr?\"mousemove\"===e.type?e.screenX-t:0:(Lr=!0,0)},movementY:function(e){if(\"movementY\"in e)return e.movementY;var t=Or;return Or=e.screenY,Nr?\"mousemove\"===e.type?e.screenY-t:0:(Nr=!0,0)}}),Rr=Fr.extend({pointerId:null,width:null,height:null,pressure:null,tangentialPressure:null,tiltX:null,tiltY:null,twist:null,pointerType:null,isPrimary:null}),Ir={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"mouseout\",\"mouseover\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"mouseout\",\"mouseover\"]},pointerEnter:{registrationName:\"onPointerEnter\",dependencies:[\"pointerout\",\"pointerover\"]},pointerLeave:{registrationName:\"onPointerLeave\",dependencies:[\"pointerout\",\"pointerover\"]}},jr={eventTypes:Ir,extractEvents:function(e,t,n,r,i){var o=\"mouseover\"===e||\"pointerover\"===e,a=\"mouseout\"===e||\"pointerout\"===e;if(o&&0==(32&i)&&(n.relatedTarget||n.fromElement)||!a&&!o)return null;if(o=r.window===r?r:(o=r.ownerDocument)?o.defaultView||o.parentWindow:window,a?(a=t,null!==(t=(t=n.relatedTarget||n.toElement)?Dn(t):null)&&(t!==Je(t)||5!==t.tag&&6!==t.tag)&&(t=null)):a=null,a===t)return null;if(\"mouseout\"===e||\"mouseover\"===e)var s=Fr,u=Ir.mouseLeave,l=Ir.mouseEnter,c=\"mouse\";else\"pointerout\"!==e&&\"pointerover\"!==e||(s=Rr,u=Ir.pointerLeave,l=Ir.pointerEnter,c=\"pointer\");if(e=null==a?o:Pn(a),o=null==t?o:Pn(t),(u=s.getPooled(u,a,n,r)).type=c+\"leave\",u.target=e,u.relatedTarget=o,(n=s.getPooled(l,t,n,r)).type=c+\"enter\",n.target=o,n.relatedTarget=e,c=t,(r=a)&&c)e:{for(l=c,a=0,e=s=r;e;e=Ln(e))a++;for(e=0,t=l;t;t=Ln(t))e++;for(;0<a-e;)s=Ln(s),a--;for(;0<e-a;)l=Ln(l),e--;for(;a--;){if(s===l||s===l.alternate)break e;s=Ln(s),l=Ln(l)}s=null}else s=null;for(l=s,s=[];r&&r!==l&&(null===(a=r.alternate)||a!==l);)s.push(r),r=Ln(r);for(r=[];c&&c!==l&&(null===(a=c.alternate)||a!==l);)r.push(c),c=Ln(c);for(c=0;c<s.length;c++)In(s[c],\"bubbled\",u);for(c=r.length;0<c--;)In(r[c],\"captured\",n);return 0==(64&i)?[u]:[u,n]}},Br=\"function\"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},qr=Object.prototype.hasOwnProperty;function zr(e,t){if(Br(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!qr.call(t,n[r])||!Br(e[n[r]],t[n[r]]))return!1;return!0}var Vr=C&&\"documentMode\"in document&&11>=document.documentMode,Ur={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Wr=null,Yr=null,Xr=null,Hr=!1;function Gr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Hr||null==Wr||Wr!==ln(n)?null:(n=\"selectionStart\"in(n=Wr)&&hn(n)?{start:n.selectionStart,end:n.selectionEnd}:{anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},Xr&&zr(Xr,n)?null:(Xr=n,(e=Xn.getPooled(Ur.select,Yr,e,t)).type=\"select\",e.target=Wr,Bn(e),e))}var $r={eventTypes:Ur,extractEvents:function(e,t,n,r,i,o){if(!(o=!(i=o||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{i=Ze(i),o=k.onSelect;for(var a=0;a<o.length;a++)if(!i.has(o[a])){i=!1;break e}i=!0}o=!i}if(o)return null;switch(i=t?Pn(t):window,e){case\"focus\":(fr(i)||\"true\"===i.contentEditable)&&(Wr=i,Yr=t,Xr=null);break;case\"blur\":Xr=Yr=Wr=null;break;case\"mousedown\":Hr=!0;break;case\"contextmenu\":case\"mouseup\":case\"dragend\":return Hr=!1,Gr(n,r);case\"selectionchange\":if(Vr)break;case\"keydown\":case\"keyup\":return Gr(n,r)}return null}},Kr=Xn.extend({animationName:null,elapsedTime:null,pseudoElement:null}),Zr=Xn.extend({clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),Jr=Cr.extend({relatedTarget:null});function Qr(e){var t=e.keyCode;return\"charCode\"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}var ei={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},ti={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},ni=Cr.extend({key:function(e){if(e.key){var t=ei[e.key]||e.key;if(\"Unidentified\"!==t)return t}return\"keypress\"===e.type?13===(e=Qr(e))?\"Enter\":String.fromCharCode(e):\"keydown\"===e.type||\"keyup\"===e.type?ti[e.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:Mr,charCode:function(e){return\"keypress\"===e.type?Qr(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?Qr(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}}),ri=Fr.extend({dataTransfer:null}),ii=Cr.extend({touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:Mr}),oi=Xn.extend({propertyName:null,elapsedTime:null,pseudoElement:null}),ai=Fr.extend({deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),si={eventTypes:Rt,extractEvents:function(e,t,n,r){var i=It.get(e);if(!i)return null;switch(e){case\"keypress\":if(0===Qr(n))return null;case\"keydown\":case\"keyup\":e=ni;break;case\"blur\":case\"focus\":e=Jr;break;case\"click\":if(2===n.button)return null;case\"auxclick\":case\"dblclick\":case\"mousedown\":case\"mousemove\":case\"mouseup\":case\"mouseout\":case\"mouseover\":case\"contextmenu\":e=Fr;break;case\"drag\":case\"dragend\":case\"dragenter\":case\"dragexit\":case\"dragleave\":case\"dragover\":case\"dragstart\":case\"drop\":e=ri;break;case\"touchcancel\":case\"touchend\":case\"touchmove\":case\"touchstart\":e=ii;break;case Ye:case Xe:case He:e=Kr;break;case Ge:e=oi;break;case\"scroll\":e=Cr;break;case\"wheel\":e=ai;break;case\"copy\":case\"cut\":case\"paste\":e=Zr;break;case\"gotpointercapture\":case\"lostpointercapture\":case\"pointercancel\":case\"pointerdown\":case\"pointermove\":case\"pointerout\":case\"pointerover\":case\"pointerup\":e=Rr;break;default:e=Xn}return Bn(t=e.getPooled(i,t,n,r)),t}};if(g)throw Error(a(101));g=Array.prototype.slice.call(\"ResponderEventPlugin SimpleEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \")),x(),h=On,m=Mn,y=Pn,A({SimpleEventPlugin:si,EnterLeaveEventPlugin:jr,ChangeEventPlugin:Ar,SelectEventPlugin:$r,BeforeInputEventPlugin:lr});var ui=[],li=-1;function ci(e){0>li||(e.current=ui[li],ui[li]=null,li--)}function fi(e,t){li++,ui[li]=e.current,e.current=t}var pi={},di={current:pi},hi={current:!1},mi=pi;function yi(e,t){var n=e.type.contextTypes;if(!n)return pi;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in n)o[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function vi(e){return null!=e.childContextTypes}function gi(){ci(hi),ci(di)}function bi(e,t,n){if(di.current!==pi)throw Error(a(168));fi(di,t),fi(hi,n)}function xi(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,\"function\"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(a(108,ye(t)||\"Unknown\",o));return i({},n,{},r)}function _i(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pi,mi=di.current,fi(di,e),fi(hi,hi.current),!0}function wi(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=xi(e,t,mi),r.__reactInternalMemoizedMergedChildContext=e,ci(hi),ci(di),fi(di,e)):ci(hi),fi(hi,n)}var Ei=o.unstable_runWithPriority,Si=o.unstable_scheduleCallback,ki=o.unstable_cancelCallback,Ai=o.unstable_requestPaint,Ci=o.unstable_now,Ti=o.unstable_getCurrentPriorityLevel,Di=o.unstable_ImmediatePriority,Mi=o.unstable_UserBlockingPriority,Pi=o.unstable_NormalPriority,Oi=o.unstable_LowPriority,Li=o.unstable_IdlePriority,Ni={},Fi=o.unstable_shouldYield,Ri=void 0!==Ai?Ai:function(){},Ii=null,ji=null,Bi=!1,qi=Ci(),zi=1e4>qi?Ci:function(){return Ci()-qi};function Vi(){switch(Ti()){case Di:return 99;case Mi:return 98;case Pi:return 97;case Oi:return 96;case Li:return 95;default:throw Error(a(332))}}function Ui(e){switch(e){case 99:return Di;case 98:return Mi;case 97:return Pi;case 96:return Oi;case 95:return Li;default:throw Error(a(332))}}function Wi(e,t){return e=Ui(e),Ei(e,t)}function Yi(e,t,n){return e=Ui(e),Si(e,t,n)}function Xi(e){return null===Ii?(Ii=[e],ji=Si(Di,Gi)):Ii.push(e),Ni}function Hi(){if(null!==ji){var e=ji;ji=null,ki(e)}Gi()}function Gi(){if(!Bi&&null!==Ii){Bi=!0;var e=0;try{var t=Ii;Wi(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ii=null}catch(t){throw null!==Ii&&(Ii=Ii.slice(e+1)),Si(Di,Hi),t}finally{Bi=!1}}}function $i(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n}function Ki(e,t){if(e&&e.defaultProps)for(var n in t=i({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}var Zi={current:null},Ji=null,Qi=null,eo=null;function to(){eo=Qi=Ji=null}function no(e){var t=Zi.current;ci(Zi),e.type._context._currentValue=t}function ro(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function io(e,t){Ji=e,eo=Qi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(Oa=!0),e.firstContext=null)}function oo(e,t){if(eo!==e&&!1!==t&&0!==t)if(\"number\"==typeof t&&1073741823!==t||(eo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Qi){if(null===Ji)throw Error(a(308));Qi=t,Ji.dependencies={expirationTime:0,firstContext:t,responders:null}}else Qi=Qi.next=t;return e._currentValue}var ao=!1;function so(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function uo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function lo(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function co(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function fo(e,t){var n=e.alternate;null!==n&&uo(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function po(e,t,n,r){var o=e.updateQueue;ao=!1;var a=o.baseQueue,s=o.shared.pending;if(null!==s){if(null!==a){var u=a.next;a.next=s.next,s.next=u}a=s,o.shared.pending=null,null!==(u=e.alternate)&&null!==(u=u.updateQueue)&&(u.baseQueue=s)}if(null!==a){u=a.next;var l=o.baseState,c=0,f=null,p=null,d=null;if(null!==u)for(var h=u;;){if((s=h.expirationTime)<r){var m={expirationTime:h.expirationTime,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null};null===d?(p=d=m,f=l):d=d.next=m,s>c&&(c=s)}else{null!==d&&(d=d.next={expirationTime:1073741823,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null}),lu(s,h.suspenseConfig);e:{var y=e,v=h;switch(s=t,m=n,v.tag){case 1:if(\"function\"==typeof(y=v.payload)){l=y.call(m,l,s);break e}l=y;break e;case 3:y.effectTag=-4097&y.effectTag|64;case 0:if(null==(s=\"function\"==typeof(y=v.payload)?y.call(m,l,s):y))break e;l=i({},l,s);break e;case 2:ao=!0}}null!==h.callback&&(e.effectTag|=32,null===(s=o.effects)?o.effects=[h]:s.push(h))}if(null===(h=h.next)||h===u){if(null===(s=o.shared.pending))break;h=a.next=s.next,s.next=u,o.baseQueue=a=s,o.shared.pending=null}}null===d?f=l:d.next=p,o.baseState=f,o.baseQueue=d,cu(c),e.expirationTime=c,e.memoizedState=l}}function ho(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=i,i=n,\"function\"!=typeof r)throw Error(a(191,r));r.call(i)}}}var mo=K.ReactCurrentBatchConfig,yo=(new r.Component).refs;function vo(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:i({},t,n),e.memoizedState=n,0===e.expirationTime&&(e.updateQueue.baseState=n)}var go={isMounted:function(e){return!!(e=e._reactInternalFiber)&&Je(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=Ks(),i=mo.suspense;(i=lo(r=Zs(r,e,i),i)).payload=t,null!=n&&(i.callback=n),co(e,i),Js(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=Ks(),i=mo.suspense;(i=lo(r=Zs(r,e,i),i)).tag=1,i.payload=t,null!=n&&(i.callback=n),co(e,i),Js(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=Ks(),r=mo.suspense;(r=lo(n=Zs(n,e,r),r)).tag=2,null!=t&&(r.callback=t),co(e,r),Js(e,n)}};function bo(e,t,n,r,i,o,a){return\"function\"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,a):!(t.prototype&&t.prototype.isPureReactComponent&&zr(n,r)&&zr(i,o))}function xo(e,t,n){var r=!1,i=pi,o=t.contextType;return\"object\"==typeof o&&null!==o?o=oo(o):(i=vi(t)?mi:di.current,o=(r=null!=(r=t.contextTypes))?yi(e,i):pi),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=go,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function _o(e,t,n,r){e=t.state,\"function\"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&go.enqueueReplaceState(t,t.state,null)}function wo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=yo,so(e);var o=t.contextType;\"object\"==typeof o&&null!==o?i.context=oo(o):(o=vi(t)?mi:di.current,i.context=yi(e,o)),po(e,n,i,r),i.state=e.memoizedState,\"function\"==typeof(o=t.getDerivedStateFromProps)&&(vo(e,t,o,n),i.state=e.memoizedState),\"function\"==typeof t.getDerivedStateFromProps||\"function\"==typeof i.getSnapshotBeforeUpdate||\"function\"!=typeof i.UNSAFE_componentWillMount&&\"function\"!=typeof i.componentWillMount||(t=i.state,\"function\"==typeof i.componentWillMount&&i.componentWillMount(),\"function\"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&go.enqueueReplaceState(i,i.state,null),po(e,n,i,r),i.state=e.memoizedState),\"function\"==typeof i.componentDidMount&&(e.effectTag|=4)}var Eo=Array.isArray;function So(e,t,n){if(null!==(e=n.ref)&&\"function\"!=typeof e&&\"object\"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=\"\"+e;return null!==t&&null!==t.ref&&\"function\"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=r.refs;t===yo&&(t=r.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if(\"string\"!=typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function ko(e,t){if(\"textarea\"!==e.type)throw Error(a(31,\"[object Object]\"===Object.prototype.toString.call(t)?\"object with keys {\"+Object.keys(t).join(\", \")+\"}\":t,\"\"))}function Ao(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Mu(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function s(t){return e&&null===t.alternate&&(t.effectTag=2),t}function u(e,t,n,r){return null===t||6!==t.tag?((t=Lu(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function l(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=So(e,t,n),r.return=e,r):((r=Pu(n.type,n.key,n.props,null,e.mode,r)).ref=So(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Nu(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function f(e,t,n,r,o){return null===t||7!==t.tag?((t=Ou(n,e.mode,r,o)).return=e,t):((t=i(t,n)).return=e,t)}function p(e,t,n){if(\"string\"==typeof t||\"number\"==typeof t)return(t=Lu(\"\"+t,e.mode,n)).return=e,t;if(\"object\"==typeof t&&null!==t){switch(t.$$typeof){case ee:return(n=Pu(t.type,t.key,t.props,null,e.mode,n)).ref=So(e,null,t),n.return=e,n;case te:return(t=Nu(t,e.mode,n)).return=e,t}if(Eo(t)||me(t))return(t=Ou(t,e.mode,n,null)).return=e,t;ko(e,t)}return null}function d(e,t,n,r){var i=null!==t?t.key:null;if(\"string\"==typeof n||\"number\"==typeof n)return null!==i?null:u(e,t,\"\"+n,r);if(\"object\"==typeof n&&null!==n){switch(n.$$typeof){case ee:return n.key===i?n.type===ne?f(e,t,n.props.children,r,i):l(e,t,n,r):null;case te:return n.key===i?c(e,t,n,r):null}if(Eo(n)||me(n))return null!==i?null:f(e,t,n,r,null);ko(e,n)}return null}function h(e,t,n,r,i){if(\"string\"==typeof r||\"number\"==typeof r)return u(t,e=e.get(n)||null,\"\"+r,i);if(\"object\"==typeof r&&null!==r){switch(r.$$typeof){case ee:return e=e.get(null===r.key?n:r.key)||null,r.type===ne?f(t,e,r.props.children,i,r.key):l(t,e,r,i);case te:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(Eo(r)||me(r))return f(t,e=e.get(n)||null,r,i,null);ko(t,r)}return null}function m(i,a,s,u){for(var l=null,c=null,f=a,m=a=0,y=null;null!==f&&m<s.length;m++){f.index>m?(y=f,f=null):y=f.sibling;var v=d(i,f,s[m],u);if(null===v){null===f&&(f=y);break}e&&f&&null===v.alternate&&t(i,f),a=o(v,a,m),null===c?l=v:c.sibling=v,c=v,f=y}if(m===s.length)return n(i,f),l;if(null===f){for(;m<s.length;m++)null!==(f=p(i,s[m],u))&&(a=o(f,a,m),null===c?l=f:c.sibling=f,c=f);return l}for(f=r(i,f);m<s.length;m++)null!==(y=h(f,i,m,s[m],u))&&(e&&null!==y.alternate&&f.delete(null===y.key?m:y.key),a=o(y,a,m),null===c?l=y:c.sibling=y,c=y);return e&&f.forEach((function(e){return t(i,e)})),l}function y(i,s,u,l){var c=me(u);if(\"function\"!=typeof c)throw Error(a(150));if(null==(u=c.call(u)))throw Error(a(151));for(var f=c=null,m=s,y=s=0,v=null,g=u.next();null!==m&&!g.done;y++,g=u.next()){m.index>y?(v=m,m=null):v=m.sibling;var b=d(i,m,g.value,l);if(null===b){null===m&&(m=v);break}e&&m&&null===b.alternate&&t(i,m),s=o(b,s,y),null===f?c=b:f.sibling=b,f=b,m=v}if(g.done)return n(i,m),c;if(null===m){for(;!g.done;y++,g=u.next())null!==(g=p(i,g.value,l))&&(s=o(g,s,y),null===f?c=g:f.sibling=g,f=g);return c}for(m=r(i,m);!g.done;y++,g=u.next())null!==(g=h(m,i,y,g.value,l))&&(e&&null!==g.alternate&&m.delete(null===g.key?y:g.key),s=o(g,s,y),null===f?c=g:f.sibling=g,f=g);return e&&m.forEach((function(e){return t(i,e)})),c}return function(e,r,o,u){var l=\"object\"==typeof o&&null!==o&&o.type===ne&&null===o.key;l&&(o=o.props.children);var c=\"object\"==typeof o&&null!==o;if(c)switch(o.$$typeof){case ee:e:{for(c=o.key,l=r;null!==l;){if(l.key===c){if(7===l.tag){if(o.type===ne){n(e,l.sibling),(r=i(l,o.props.children)).return=e,e=r;break e}}else if(l.elementType===o.type){n(e,l.sibling),(r=i(l,o.props)).ref=So(e,l,o),r.return=e,e=r;break e}n(e,l);break}t(e,l),l=l.sibling}o.type===ne?((r=Ou(o.props.children,e.mode,u,o.key)).return=e,e=r):((u=Pu(o.type,o.key,o.props,null,e.mode,u)).ref=So(e,r,o),u.return=e,e=u)}return s(e);case te:e:{for(l=o.key;null!==r;){if(r.key===l){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=i(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Nu(o,e.mode,u)).return=e,e=r}return s(e)}if(\"string\"==typeof o||\"number\"==typeof o)return o=\"\"+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,o)).return=e,e=r):(n(e,r),(r=Lu(o,e.mode,u)).return=e,e=r),s(e);if(Eo(o))return m(e,r,o,u);if(me(o))return y(e,r,o,u);if(c&&ko(e,o),void 0===o&&!l)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||\"Component\"))}return n(e,r)}}var Co=Ao(!0),To=Ao(!1),Do={},Mo={current:Do},Po={current:Do},Oo={current:Do};function Lo(e){if(e===Do)throw Error(a(174));return e}function No(e,t){switch(fi(Oo,t),fi(Po,e),fi(Mo,Do),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Fe(null,\"\");break;default:t=Fe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ci(Mo),fi(Mo,t)}function Fo(){ci(Mo),ci(Po),ci(Oo)}function Ro(e){Lo(Oo.current);var t=Lo(Mo.current),n=Fe(t,e.type);t!==n&&(fi(Po,e),fi(Mo,n))}function Io(e){Po.current===e&&(ci(Mo),ci(Po))}var jo={current:0};function Bo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||n.data===mn||n.data===yn))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function qo(e,t){return{responder:e,props:t}}var zo=K.ReactCurrentDispatcher,Vo=K.ReactCurrentBatchConfig,Uo=0,Wo=null,Yo=null,Xo=null,Ho=!1;function Go(){throw Error(a(321))}function $o(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Br(e[n],t[n]))return!1;return!0}function Ko(e,t,n,r,i,o){if(Uo=o,Wo=t,t.memoizedState=null,t.updateQueue=null,t.expirationTime=0,zo.current=null===e||null===e.memoizedState?ba:xa,e=n(r,i),t.expirationTime===Uo){o=0;do{if(t.expirationTime=0,!(25>o))throw Error(a(301));o+=1,Xo=Yo=null,t.updateQueue=null,zo.current=_a,e=n(r,i)}while(t.expirationTime===Uo)}if(zo.current=ga,t=null!==Yo&&null!==Yo.next,Uo=0,Xo=Yo=Wo=null,Ho=!1,t)throw Error(a(300));return e}function Zo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Xo?Wo.memoizedState=Xo=e:Xo=Xo.next=e,Xo}function Jo(){if(null===Yo){var e=Wo.alternate;e=null!==e?e.memoizedState:null}else e=Yo.next;var t=null===Xo?Wo.memoizedState:Xo.next;if(null!==t)Xo=t,Yo=e;else{if(null===e)throw Error(a(310));e={memoizedState:(Yo=e).memoizedState,baseState:Yo.baseState,baseQueue:Yo.baseQueue,queue:Yo.queue,next:null},null===Xo?Wo.memoizedState=Xo=e:Xo=Xo.next=e}return Xo}function Qo(e,t){return\"function\"==typeof t?t(e):t}function ea(e){var t=Jo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=Yo,i=r.baseQueue,o=n.pending;if(null!==o){if(null!==i){var s=i.next;i.next=o.next,o.next=s}r.baseQueue=i=o,n.pending=null}if(null!==i){i=i.next,r=r.baseState;var u=s=o=null,l=i;do{var c=l.expirationTime;if(c<Uo){var f={expirationTime:l.expirationTime,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null};null===u?(s=u=f,o=r):u=u.next=f,c>Wo.expirationTime&&(Wo.expirationTime=c,cu(c))}else null!==u&&(u=u.next={expirationTime:1073741823,suspenseConfig:l.suspenseConfig,action:l.action,eagerReducer:l.eagerReducer,eagerState:l.eagerState,next:null}),lu(c,l.suspenseConfig),r=l.eagerReducer===e?l.eagerState:e(r,l.action);l=l.next}while(null!==l&&l!==i);null===u?o=r:u.next=s,Br(r,t.memoizedState)||(Oa=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=u,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function ta(e){var t=Jo(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(null!==i){n.pending=null;var s=i=i.next;do{o=e(o,s.action),s=s.next}while(s!==i);Br(o,t.memoizedState)||(Oa=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function na(e){var t=Zo();return\"function\"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Qo,lastRenderedState:e}).dispatch=va.bind(null,Wo,e),[t.memoizedState,e]}function ra(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Wo.updateQueue)?(t={lastEffect:null},Wo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ia(){return Jo().memoizedState}function oa(e,t,n,r){var i=Zo();Wo.effectTag|=e,i.memoizedState=ra(1|t,n,void 0,void 0===r?null:r)}function aa(e,t,n,r){var i=Jo();r=void 0===r?null:r;var o=void 0;if(null!==Yo){var a=Yo.memoizedState;if(o=a.destroy,null!==r&&$o(r,a.deps))return void ra(t,n,o,r)}Wo.effectTag|=e,i.memoizedState=ra(1|t,n,o,r)}function sa(e,t){return oa(516,4,e,t)}function ua(e,t){return aa(516,4,e,t)}function la(e,t){return aa(4,2,e,t)}function ca(e,t){return\"function\"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function fa(e,t,n){return n=null!=n?n.concat([e]):null,aa(4,2,ca.bind(null,t,e),n)}function pa(){}function da(e,t){return Zo().memoizedState=[e,void 0===t?null:t],e}function ha(e,t){var n=Jo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&$o(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ma(e,t){var n=Jo();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&$o(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ya(e,t,n){var r=Vi();Wi(98>r?98:r,(function(){e(!0)})),Wi(97<r?97:r,(function(){var r=Vo.suspense;Vo.suspense=void 0===t?null:t;try{e(!1),n()}finally{Vo.suspense=r}}))}function va(e,t,n){var r=Ks(),i=mo.suspense;i={expirationTime:r=Zs(r,e,i),suspenseConfig:i,action:n,eagerReducer:null,eagerState:null,next:null};var o=t.pending;if(null===o?i.next=i:(i.next=o.next,o.next=i),t.pending=i,o=e.alternate,e===Wo||null!==o&&o===Wo)Ho=!0,i.expirationTime=Uo,Wo.expirationTime=Uo;else{if(0===e.expirationTime&&(null===o||0===o.expirationTime)&&null!==(o=t.lastRenderedReducer))try{var a=t.lastRenderedState,s=o(a,n);if(i.eagerReducer=o,i.eagerState=s,Br(s,a))return}catch(e){}Js(e,r)}}var ga={readContext:oo,useCallback:Go,useContext:Go,useEffect:Go,useImperativeHandle:Go,useLayoutEffect:Go,useMemo:Go,useReducer:Go,useRef:Go,useState:Go,useDebugValue:Go,useResponder:Go,useDeferredValue:Go,useTransition:Go},ba={readContext:oo,useCallback:da,useContext:oo,useEffect:sa,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,oa(4,2,ca.bind(null,t,e),n)},useLayoutEffect:function(e,t){return oa(4,2,e,t)},useMemo:function(e,t){var n=Zo();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Zo();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=va.bind(null,Wo,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Zo().memoizedState=e},useState:na,useDebugValue:pa,useResponder:qo,useDeferredValue:function(e,t){var n=na(e),r=n[0],i=n[1];return sa((function(){var n=Vo.suspense;Vo.suspense=void 0===t?null:t;try{i(e)}finally{Vo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=na(!1),n=t[0];return t=t[1],[da(ya.bind(null,t,e),[t,e]),n]}},xa={readContext:oo,useCallback:ha,useContext:oo,useEffect:ua,useImperativeHandle:fa,useLayoutEffect:la,useMemo:ma,useReducer:ea,useRef:ia,useState:function(){return ea(Qo)},useDebugValue:pa,useResponder:qo,useDeferredValue:function(e,t){var n=ea(Qo),r=n[0],i=n[1];return ua((function(){var n=Vo.suspense;Vo.suspense=void 0===t?null:t;try{i(e)}finally{Vo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=ea(Qo),n=t[0];return t=t[1],[ha(ya.bind(null,t,e),[t,e]),n]}},_a={readContext:oo,useCallback:ha,useContext:oo,useEffect:ua,useImperativeHandle:fa,useLayoutEffect:la,useMemo:ma,useReducer:ta,useRef:ia,useState:function(){return ta(Qo)},useDebugValue:pa,useResponder:qo,useDeferredValue:function(e,t){var n=ta(Qo),r=n[0],i=n[1];return ua((function(){var n=Vo.suspense;Vo.suspense=void 0===t?null:t;try{i(e)}finally{Vo.suspense=n}}),[e,t]),r},useTransition:function(e){var t=ta(Qo),n=t[0];return t=t[1],[ha(ya.bind(null,t,e),[t,e]),n]}},wa=null,Ea=null,Sa=!1;function ka(e,t){var n=Tu(5,null,null,0);n.elementType=\"DELETED\",n.type=\"DELETED\",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Aa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=\"\"===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ca(e){if(Sa){var t=Ea;if(t){var n=t;if(!Aa(e,t)){if(!(t=En(n.nextSibling))||!Aa(e,t))return e.effectTag=-1025&e.effectTag|2,Sa=!1,void(wa=e);ka(wa,n)}wa=e,Ea=En(t.firstChild)}else e.effectTag=-1025&e.effectTag|2,Sa=!1,wa=e}}function Ta(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;wa=e}function Da(e){if(e!==wa)return!1;if(!Sa)return Ta(e),Sa=!0,!1;var t=e.type;if(5!==e.tag||\"head\"!==t&&\"body\"!==t&&!xn(t,e.memoizedProps))for(t=Ea;t;)ka(e,t),t=En(t.nextSibling);if(Ta(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if(\"/$\"===n){if(0===t){Ea=En(e.nextSibling);break e}t--}else\"$\"!==n&&n!==yn&&n!==mn||t++}e=e.nextSibling}Ea=null}}else Ea=wa?En(e.stateNode.nextSibling):null;return!0}function Ma(){Ea=wa=null,Sa=!1}var Pa=K.ReactCurrentOwner,Oa=!1;function La(e,t,n,r){t.child=null===e?To(t,null,n,r):Co(t,e.child,n,r)}function Na(e,t,n,r,i){n=n.render;var o=t.ref;return io(t,i),r=Ko(e,t,n,r,o,i),null===e||Oa?(t.effectTag|=1,La(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ka(e,t,i))}function Fa(e,t,n,r,i,o){if(null===e){var a=n.type;return\"function\"!=typeof a||Du(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Pu(n.type,null,r,null,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Ra(e,t,a,r,i,o))}return a=e.child,i<o&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:zr)(i,r)&&e.ref===t.ref)?Ka(e,t,o):(t.effectTag|=1,(e=Mu(a,r)).ref=t.ref,e.return=t,t.child=e)}function Ra(e,t,n,r,i,o){return null!==e&&zr(e.memoizedProps,r)&&e.ref===t.ref&&(Oa=!1,i<o)?(t.expirationTime=e.expirationTime,Ka(e,t,o)):ja(e,t,n,r,o)}function Ia(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function ja(e,t,n,r,i){var o=vi(n)?mi:di.current;return o=yi(t,o),io(t,i),n=Ko(e,t,n,r,o,i),null===e||Oa?(t.effectTag|=1,La(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),Ka(e,t,i))}function Ba(e,t,n,r,i){if(vi(n)){var o=!0;_i(t)}else o=!1;if(io(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),xo(t,n,r),wo(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,s=t.memoizedProps;a.props=s;var u=a.context,l=n.contextType;l=\"object\"==typeof l&&null!==l?oo(l):yi(t,l=vi(n)?mi:di.current);var c=n.getDerivedStateFromProps,f=\"function\"==typeof c||\"function\"==typeof a.getSnapshotBeforeUpdate;f||\"function\"!=typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&_o(t,a,r,l),ao=!1;var p=t.memoizedState;a.state=p,po(t,r,a,i),u=t.memoizedState,s!==r||p!==u||hi.current||ao?(\"function\"==typeof c&&(vo(t,n,c,r),u=t.memoizedState),(s=ao||bo(t,n,s,r,p,u,l))?(f||\"function\"!=typeof a.UNSAFE_componentWillMount&&\"function\"!=typeof a.componentWillMount||(\"function\"==typeof a.componentWillMount&&a.componentWillMount(),\"function\"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),\"function\"==typeof a.componentDidMount&&(t.effectTag|=4)):(\"function\"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=l,r=s):(\"function\"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,uo(e,t),s=t.memoizedProps,a.props=t.type===t.elementType?s:Ki(t.type,s),u=a.context,l=\"object\"==typeof(l=n.contextType)&&null!==l?oo(l):yi(t,l=vi(n)?mi:di.current),(f=\"function\"==typeof(c=n.getDerivedStateFromProps)||\"function\"==typeof a.getSnapshotBeforeUpdate)||\"function\"!=typeof a.UNSAFE_componentWillReceiveProps&&\"function\"!=typeof a.componentWillReceiveProps||(s!==r||u!==l)&&_o(t,a,r,l),ao=!1,u=t.memoizedState,a.state=u,po(t,r,a,i),p=t.memoizedState,s!==r||u!==p||hi.current||ao?(\"function\"==typeof c&&(vo(t,n,c,r),p=t.memoizedState),(c=ao||bo(t,n,s,r,u,p,l))?(f||\"function\"!=typeof a.UNSAFE_componentWillUpdate&&\"function\"!=typeof a.componentWillUpdate||(\"function\"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,p,l),\"function\"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,p,l)),\"function\"==typeof a.componentDidUpdate&&(t.effectTag|=4),\"function\"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):(\"function\"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=l,r=c):(\"function\"!=typeof a.componentDidUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),\"function\"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return qa(e,t,n,r,o,i)}function qa(e,t,n,r,i,o){Ia(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&wi(t,n,!1),Ka(e,t,o);r=t.stateNode,Pa.current=t;var s=a&&\"function\"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,s,o)):La(e,t,s,o),t.memoizedState=r.state,i&&wi(t,n,!0),t.child}function za(e){var t=e.stateNode;t.pendingContext?bi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&bi(0,t.context,!1),No(e,t.containerInfo)}var Va,Ua,Wa,Ya={dehydrated:null,retryTime:0};function Xa(e,t,n){var r,i=t.mode,o=t.pendingProps,a=jo.current,s=!1;if((r=0!=(64&t.effectTag))||(r=0!=(2&a)&&(null===e||null!==e.memoizedState)),r?(s=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===o.fallback||!0===o.unstable_avoidThisFallback||(a|=1),fi(jo,1&a),null===e){if(void 0!==o.fallback&&Ca(t),s){if(s=o.fallback,(o=Ou(null,i,0,null)).return=t,0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Ou(s,i,n,null)).return=t,o.sibling=n,t.memoizedState=Ya,t.child=o,n}return i=o.children,t.memoizedState=null,t.child=To(t,null,i,n)}if(null!==e.memoizedState){if(i=(e=e.child).sibling,s){if(o=o.fallback,(n=Mu(e,e.pendingProps)).return=t,0==(2&t.mode)&&(s=null!==t.memoizedState?t.child.child:t.child)!==e.child)for(n.child=s;null!==s;)s.return=n,s=s.sibling;return(i=Mu(i,o)).return=t,n.sibling=i,n.childExpirationTime=0,t.memoizedState=Ya,t.child=n,i}return n=Co(t,e.child,o.children,n),t.memoizedState=null,t.child=n}if(e=e.child,s){if(s=o.fallback,(o=Ou(null,i,0,null)).return=t,o.child=e,null!==e&&(e.return=o),0==(2&t.mode))for(e=null!==t.memoizedState?t.child.child:t.child,o.child=e;null!==e;)e.return=o,e=e.sibling;return(n=Ou(s,i,n,null)).return=t,o.sibling=n,n.effectTag|=2,o.childExpirationTime=0,t.memoizedState=Ya,t.child=o,n}return t.memoizedState=null,t.child=Co(t,e,o.children,n)}function Ha(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t),ro(e.return,t)}function Ga(e,t,n,r,i,o){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailExpiration:0,tailMode:i,lastEffect:o}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailExpiration=0,a.tailMode=i,a.lastEffect=o)}function $a(e,t,n){var r=t.pendingProps,i=r.revealOrder,o=r.tail;if(La(e,t,r.children,n),0!=(2&(r=jo.current)))r=1&r|2,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ha(e,n);else if(19===e.tag)Ha(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(fi(jo,r),0==(2&t.mode))t.memoizedState=null;else switch(i){case\"forwards\":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===Bo(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Ga(t,!1,i,n,o,t.lastEffect);break;case\"backwards\":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===Bo(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Ga(t,!0,n,null,o,t.lastEffect);break;case\"together\":Ga(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function Ka(e,t,n){null!==e&&(t.dependencies=e.dependencies);var r=t.expirationTime;if(0!==r&&cu(r),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=Mu(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Mu(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Za(e,t){switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Ja(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return vi(t.type)&&gi(),null;case 3:return Fo(),ci(hi),ci(di),(n=t.stateNode).pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||!Da(t)||(t.effectTag|=4),null;case 5:Io(t),n=Lo(Oo.current);var o=t.type;if(null!==e&&null!=t.stateNode)Ua(e,t,o,r,n),e.ref!==t.ref&&(t.effectTag|=128);else{if(!r){if(null===t.stateNode)throw Error(a(166));return null}if(e=Lo(Mo.current),Da(t)){r=t.stateNode,o=t.type;var s=t.memoizedProps;switch(r[An]=t,r[Cn]=s,o){case\"iframe\":case\"object\":case\"embed\":Xt(\"load\",r);break;case\"video\":case\"audio\":for(e=0;e<$e.length;e++)Xt($e[e],r);break;case\"source\":Xt(\"error\",r);break;case\"img\":case\"image\":case\"link\":Xt(\"error\",r),Xt(\"load\",r);break;case\"form\":Xt(\"reset\",r),Xt(\"submit\",r);break;case\"details\":Xt(\"toggle\",r);break;case\"input\":Ee(r,s),Xt(\"invalid\",r),sn(n,\"onChange\");break;case\"select\":r._wrapperState={wasMultiple:!!s.multiple},Xt(\"invalid\",r),sn(n,\"onChange\");break;case\"textarea\":Pe(r,s),Xt(\"invalid\",r),sn(n,\"onChange\")}for(var u in rn(o,s),e=null,s)if(s.hasOwnProperty(u)){var l=s[u];\"children\"===u?\"string\"==typeof l?r.textContent!==l&&(e=[\"children\",l]):\"number\"==typeof l&&r.textContent!==\"\"+l&&(e=[\"children\",\"\"+l]):S.hasOwnProperty(u)&&null!=l&&sn(n,u)}switch(o){case\"input\":xe(r),Ae(r,s,!0);break;case\"textarea\":xe(r),Le(r);break;case\"select\":case\"option\":break;default:\"function\"==typeof s.onClick&&(r.onclick=un)}n=e,t.updateQueue=n,null!==n&&(t.effectTag|=4)}else{switch(u=9===n.nodeType?n:n.ownerDocument,e===an&&(e=Ne(o)),e===an?\"script\"===o?((e=u.createElement(\"div\")).innerHTML=\"<script><\\/script>\",e=e.removeChild(e.firstChild)):\"string\"==typeof r.is?e=u.createElement(o,{is:r.is}):(e=u.createElement(o),\"select\"===o&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,o),e[An]=t,e[Cn]=r,Va(e,t),t.stateNode=e,u=on(o,r),o){case\"iframe\":case\"object\":case\"embed\":Xt(\"load\",e),l=r;break;case\"video\":case\"audio\":for(l=0;l<$e.length;l++)Xt($e[l],e);l=r;break;case\"source\":Xt(\"error\",e),l=r;break;case\"img\":case\"image\":case\"link\":Xt(\"error\",e),Xt(\"load\",e),l=r;break;case\"form\":Xt(\"reset\",e),Xt(\"submit\",e),l=r;break;case\"details\":Xt(\"toggle\",e),l=r;break;case\"input\":Ee(e,r),l=we(e,r),Xt(\"invalid\",e),sn(n,\"onChange\");break;case\"option\":l=Te(e,r);break;case\"select\":e._wrapperState={wasMultiple:!!r.multiple},l=i({},r,{value:void 0}),Xt(\"invalid\",e),sn(n,\"onChange\");break;case\"textarea\":Pe(e,r),l=Me(e,r),Xt(\"invalid\",e),sn(n,\"onChange\");break;default:l=r}rn(o,l);var c=l;for(s in c)if(c.hasOwnProperty(s)){var f=c[s];\"style\"===s?tn(e,f):\"dangerouslySetInnerHTML\"===s?null!=(f=f?f.__html:void 0)&&je(e,f):\"children\"===s?\"string\"==typeof f?(\"textarea\"!==o||\"\"!==f)&&Be(e,f):\"number\"==typeof f&&Be(e,\"\"+f):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(S.hasOwnProperty(s)?null!=f&&sn(n,s):null!=f&&Z(e,s,f,u))}switch(o){case\"input\":xe(e),Ae(e,r,!1);break;case\"textarea\":xe(e),Le(e);break;case\"option\":null!=r.value&&e.setAttribute(\"value\",\"\"+ge(r.value));break;case\"select\":e.multiple=!!r.multiple,null!=(n=r.value)?De(e,!!r.multiple,n,!1):null!=r.defaultValue&&De(e,!!r.multiple,r.defaultValue,!0);break;default:\"function\"==typeof l.onClick&&(e.onclick=un)}bn(o,r)&&(t.effectTag|=4)}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)Wa(0,t,e.memoizedProps,r);else{if(\"string\"!=typeof r&&null===t.stateNode)throw Error(a(166));n=Lo(Oo.current),Lo(Mo.current),Da(t)?(n=t.stateNode,r=t.memoizedProps,n[An]=t,n.nodeValue!==r&&(t.effectTag|=4)):((n=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[An]=t,t.stateNode=n)}return null;case 13:return ci(jo),r=t.memoizedState,0!=(64&t.effectTag)?(t.expirationTime=n,t):(n=null!==r,r=!1,null===e?void 0!==t.memoizedProps.fallback&&Da(t):(r=null!==(o=e.memoizedState),n||null===o||null!==(o=e.child.sibling)&&(null!==(s=t.firstEffect)?(t.firstEffect=o,o.nextEffect=s):(t.firstEffect=t.lastEffect=o,o.nextEffect=null),o.effectTag=8)),n&&!r&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&jo.current)?Ps===Ss&&(Ps=ks):(Ps!==Ss&&Ps!==ks||(Ps=As),0!==Rs&&null!==Ts&&(Iu(Ts,Ms),ju(Ts,Rs)))),(n||r)&&(t.effectTag|=4),null);case 4:return Fo(),null;case 10:return no(t),null;case 19:if(ci(jo),null===(r=t.memoizedState))return null;if(o=0!=(64&t.effectTag),null===(s=r.rendering)){if(o)Za(r,!1);else if(Ps!==Ss||null!==e&&0!=(64&e.effectTag))for(s=t.child;null!==s;){if(null!==(e=Bo(s))){for(t.effectTag|=64,Za(r,!1),null!==(o=e.updateQueue)&&(t.updateQueue=o,t.effectTag|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=t.child;null!==r;)s=n,(o=r).effectTag&=2,o.nextEffect=null,o.firstEffect=null,o.lastEffect=null,null===(e=o.alternate)?(o.childExpirationTime=0,o.expirationTime=s,o.child=null,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null):(o.childExpirationTime=e.childExpirationTime,o.expirationTime=e.expirationTime,o.child=e.child,o.memoizedProps=e.memoizedProps,o.memoizedState=e.memoizedState,o.updateQueue=e.updateQueue,s=e.dependencies,o.dependencies=null===s?null:{expirationTime:s.expirationTime,firstContext:s.firstContext,responders:s.responders}),r=r.sibling;return fi(jo,1&jo.current|2),t.child}s=s.sibling}}else{if(!o)if(null!==(e=Bo(s))){if(t.effectTag|=64,o=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),Za(r,!0),null===r.tail&&\"hidden\"===r.tailMode&&!s.alternate)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*zi()-r.renderingStartTime>r.tailExpiration&&1<n&&(t.effectTag|=64,o=!0,Za(r,!1),t.expirationTime=t.childExpirationTime=n-1);r.isBackwards?(s.sibling=t.child,t.child=s):(null!==(n=r.last)?n.sibling=s:t.child=s,r.last=s)}return null!==r.tail?(0===r.tailExpiration&&(r.tailExpiration=zi()+500),n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=zi(),n.sibling=null,t=jo.current,fi(jo,o?1&t|2:1&t),n):null}throw Error(a(156,t.tag))}function Qa(e){switch(e.tag){case 1:vi(e.type)&&gi();var t=e.effectTag;return 4096&t?(e.effectTag=-4097&t|64,e):null;case 3:if(Fo(),ci(hi),ci(di),0!=(64&(t=e.effectTag)))throw Error(a(285));return e.effectTag=-4097&t|64,e;case 5:return Io(e),null;case 13:return ci(jo),4096&(t=e.effectTag)?(e.effectTag=-4097&t|64,e):null;case 19:return ci(jo),null;case 4:return Fo(),null;case 10:return no(e),null;default:return null}}function es(e,t){return{value:e,source:t,stack:ve(t)}}Va=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ua=function(e,t,n,r,o){var a=e.memoizedProps;if(a!==r){var s,u,l=t.stateNode;switch(Lo(Mo.current),e=null,n){case\"input\":a=we(l,a),r=we(l,r),e=[];break;case\"option\":a=Te(l,a),r=Te(l,r),e=[];break;case\"select\":a=i({},a,{value:void 0}),r=i({},r,{value:void 0}),e=[];break;case\"textarea\":a=Me(l,a),r=Me(l,r),e=[];break;default:\"function\"!=typeof a.onClick&&\"function\"==typeof r.onClick&&(l.onclick=un)}for(s in rn(n,r),n=null,a)if(!r.hasOwnProperty(s)&&a.hasOwnProperty(s)&&null!=a[s])if(\"style\"===s)for(u in l=a[s])l.hasOwnProperty(u)&&(n||(n={}),n[u]=\"\");else\"dangerouslySetInnerHTML\"!==s&&\"children\"!==s&&\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&\"autoFocus\"!==s&&(S.hasOwnProperty(s)?e||(e=[]):(e=e||[]).push(s,null));for(s in r){var c=r[s];if(l=null!=a?a[s]:void 0,r.hasOwnProperty(s)&&c!==l&&(null!=c||null!=l))if(\"style\"===s)if(l){for(u in l)!l.hasOwnProperty(u)||c&&c.hasOwnProperty(u)||(n||(n={}),n[u]=\"\");for(u in c)c.hasOwnProperty(u)&&l[u]!==c[u]&&(n||(n={}),n[u]=c[u])}else n||(e||(e=[]),e.push(s,n)),n=c;else\"dangerouslySetInnerHTML\"===s?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(e=e||[]).push(s,c)):\"children\"===s?l===c||\"string\"!=typeof c&&\"number\"!=typeof c||(e=e||[]).push(s,\"\"+c):\"suppressContentEditableWarning\"!==s&&\"suppressHydrationWarning\"!==s&&(S.hasOwnProperty(s)?(null!=c&&sn(o,s),e||l===c||(e=[])):(e=e||[]).push(s,c))}n&&(e=e||[]).push(\"style\",n),o=e,(t.updateQueue=o)&&(t.effectTag|=4)}},Wa=function(e,t,n,r){n!==r&&(t.effectTag|=4)};var ts=\"function\"==typeof WeakSet?WeakSet:Set;function ns(e,t){var n=t.source,r=t.stack;null===r&&null!==n&&(r=ve(n)),null!==n&&ye(n.type),t=t.value,null!==e&&1===e.tag&&ye(e.type);try{console.error(t)}catch(e){setTimeout((function(){throw e}))}}function rs(e){var t=e.ref;if(null!==t)if(\"function\"==typeof t)try{t(null)}catch(t){wu(e,t)}else t.current=null}function is(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 3:case 5:case 6:case 4:case 17:return;case 1:if(256&t.effectTag&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ki(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return}throw Error(a(163))}function os(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.destroy;n.destroy=void 0,void 0!==r&&r()}n=n.next}while(n!==t)}}function as(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ss(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:return void as(3,n);case 1:if(e=n.stateNode,4&n.effectTag)if(null===t)e.componentDidMount();else{var r=n.elementType===n.type?t.memoizedProps:Ki(n.type,t.memoizedProps);e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate)}return void(null!==(t=n.updateQueue)&&ho(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}ho(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.effectTag&&bn(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&Ft(n)))))}throw Error(a(163))}function us(e,t,n){switch(\"function\"==typeof Au&&Au(t),t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e.next;Wi(97<n?97:n,(function(){var e=r;do{var n=e.destroy;if(void 0!==n){var i=t;try{n()}catch(e){wu(i,e)}}e=e.next}while(e!==r)}))}break;case 1:rs(t),\"function\"==typeof(n=t.stateNode).componentWillUnmount&&function(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){wu(e,t)}}(t,n);break;case 5:rs(t);break;case 4:hs(e,t,n)}}function ls(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,e.stateNode=null,null!==t&&ls(t)}function cs(e){return 5===e.tag||3===e.tag||4===e.tag}function fs(e){e:{for(var t=e.return;null!==t;){if(cs(t)){var n=t;break e}t=t.return}throw Error(a(160))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(a(161))}16&n.effectTag&&(Be(t,\"\"),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||cs(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}r?ps(e,n,t):ds(e,n,t)}function ps(e,t,n){var r=e.tag,i=5===r||6===r;if(i)e=i?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=un));else if(4!==r&&null!==(e=e.child))for(ps(e,t,n),e=e.sibling;null!==e;)ps(e,t,n),e=e.sibling}function ds(e,t,n){var r=e.tag,i=5===r||6===r;if(i)e=i?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(ds(e,t,n),e=e.sibling;null!==e;)ds(e,t,n),e=e.sibling}function hs(e,t,n){for(var r,i,o=t,s=!1;;){if(!s){s=o.return;e:for(;;){if(null===s)throw Error(a(160));switch(r=s.stateNode,s.tag){case 5:i=!1;break e;case 3:case 4:r=r.containerInfo,i=!0;break e}s=s.return}s=!0}if(5===o.tag||6===o.tag){e:for(var u=e,l=o,c=n,f=l;;)if(us(u,f,c),null!==f.child&&4!==f.tag)f.child.return=f,f=f.child;else{if(f===l)break e;for(;null===f.sibling;){if(null===f.return||f.return===l)break e;f=f.return}f.sibling.return=f.return,f=f.sibling}i?(u=r,l=o.stateNode,8===u.nodeType?u.parentNode.removeChild(l):u.removeChild(l)):r.removeChild(o.stateNode)}else if(4===o.tag){if(null!==o.child){r=o.stateNode.containerInfo,i=!0,o.child.return=o,o=o.child;continue}}else if(us(e,o,n),null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)return;4===(o=o.return).tag&&(s=!1)}o.sibling.return=o.return,o=o.sibling}}function ms(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:return void os(3,t);case 1:case 12:case 17:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps,i=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Cn]=r,\"input\"===e&&\"radio\"===r.type&&null!=r.name&&Se(n,r),on(e,i),t=on(e,r),i=0;i<o.length;i+=2){var s=o[i],u=o[i+1];\"style\"===s?tn(n,u):\"dangerouslySetInnerHTML\"===s?je(n,u):\"children\"===s?Be(n,u):Z(n,s,u,t)}switch(e){case\"input\":ke(n,r);break;case\"textarea\":Oe(n,r);break;case\"select\":t=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(e=r.value)?De(n,!!r.multiple,e,!1):t!==!!r.multiple&&(null!=r.defaultValue?De(n,!!r.multiple,r.defaultValue,!0):De(n,!!r.multiple,r.multiple?[]:\"\",!1))}}}return;case 6:if(null===t.stateNode)throw Error(a(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((t=t.stateNode).hydrate&&(t.hydrate=!1,Ft(t.containerInfo)));case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,js=zi()),null!==n)e:for(e=n;;){if(5===e.tag)o=e.stateNode,r?\"function\"==typeof(o=o.style).setProperty?o.setProperty(\"display\",\"none\",\"important\"):o.display=\"none\":(o=e.stateNode,i=null!=(i=e.memoizedProps.style)&&i.hasOwnProperty(\"display\")?i.display:null,o.style.display=en(\"display\",i));else if(6===e.tag)e.stateNode.nodeValue=r?\"\":e.memoizedProps;else{if(13===e.tag&&null!==e.memoizedState&&null===e.memoizedState.dehydrated){(o=e.child.sibling).return=e,e=o;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}return void ys(t);case 19:return void ys(t)}throw Error(a(163))}function ys(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ts),t.forEach((function(t){var r=Su.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}var vs=\"function\"==typeof WeakMap?WeakMap:Map;function gs(e,t,n){(n=lo(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){qs||(qs=!0,zs=r),ns(e,t)},n}function bs(e,t,n){(n=lo(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if(\"function\"==typeof r){var i=t.value;n.payload=function(){return ns(e,t),r(i)}}var o=e.stateNode;return null!==o&&\"function\"==typeof o.componentDidCatch&&(n.callback=function(){\"function\"!=typeof r&&(null===Vs?Vs=new Set([this]):Vs.add(this),ns(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:\"\"})}),n}var xs,_s=Math.ceil,ws=K.ReactCurrentDispatcher,Es=K.ReactCurrentOwner,Ss=0,ks=3,As=4,Cs=0,Ts=null,Ds=null,Ms=0,Ps=Ss,Os=null,Ls=1073741823,Ns=1073741823,Fs=null,Rs=0,Is=!1,js=0,Bs=null,qs=!1,zs=null,Vs=null,Us=!1,Ws=null,Ys=90,Xs=null,Hs=0,Gs=null,$s=0;function Ks(){return 0!=(48&Cs)?1073741821-(zi()/10|0):0!==$s?$s:$s=1073741821-(zi()/10|0)}function Zs(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=Vi();if(0==(4&t))return 99===r?1073741823:1073741822;if(0!=(16&Cs))return Ms;if(null!==n)e=$i(e,0|n.timeoutMs||5e3,250);else switch(r){case 99:e=1073741823;break;case 98:e=$i(e,150,100);break;case 97:case 96:e=$i(e,5e3,250);break;case 95:e=2;break;default:throw Error(a(326))}return null!==Ts&&e===Ms&&--e,e}function Js(e,t){if(50<Hs)throw Hs=0,Gs=null,Error(a(185));if(null!==(e=Qs(e,t))){var n=Vi();1073741823===t?0!=(8&Cs)&&0==(48&Cs)?ru(e):(tu(e),0===Cs&&Hi()):tu(e),0==(4&Cs)||98!==n&&99!==n||(null===Xs?Xs=new Map([[e,t]]):(void 0===(n=Xs.get(e))||n>t)&&Xs.set(e,t))}}function Qs(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return null!==i&&(Ts===i&&(cu(t),Ps===As&&Iu(i,Ms)),ju(i,t)),i}function eu(e){var t=e.lastExpiredTime;if(0!==t)return t;if(!Ru(e,t=e.firstPendingTime))return t;var n=e.lastPingedTime;return 2>=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function tu(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Xi(ru.bind(null,e));else{var t=eu(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=Ks();if(r=1073741823===t?99:1===t||2===t?95:0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var i=e.callbackPriority;if(e.callbackExpirationTime===t&&i>=r)return;n!==Ni&&ki(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Xi(ru.bind(null,e)):Yi(r,nu.bind(null,e),{timeout:10*(1073741821-t)-zi()}),e.callbackNode=t}}}function nu(e,t){if($s=0,t)return Bu(e,t=Ks()),tu(e),null;var n=eu(e);if(0!==n){if(t=e.callbackNode,0!=(48&Cs))throw Error(a(327));if(bu(),e===Ts&&n===Ms||au(e,n),null!==Ds){var r=Cs;Cs|=16;for(var i=uu();;)try{pu();break}catch(t){su(e,t)}if(to(),Cs=r,ws.current=i,1===Ps)throw t=Os,au(e,n),Iu(e,n),tu(e),t;if(null===Ds)switch(i=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=Ps,Ts=null,r){case Ss:case 1:throw Error(a(345));case 2:Bu(e,2<n?2:n);break;case ks:if(Iu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=mu(i)),1073741823===Ls&&10<(i=js+500-zi())){if(Is){var o=e.lastPingedTime;if(0===o||o>=n){e.lastPingedTime=n,au(e,n);break}}if(0!==(o=eu(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=_n(yu.bind(null,e),i);break}yu(e);break;case As:if(Iu(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=mu(i)),Is&&(0===(i=e.lastPingedTime)||i>=n)){e.lastPingedTime=n,au(e,n);break}if(0!==(i=eu(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Ns?r=10*(1073741821-Ns)-zi():1073741823===Ls?r=0:(r=10*(1073741821-Ls)-5e3,0>(r=(i=zi())-r)&&(r=0),(n=10*(1073741821-n)-i)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_s(r/1960))-r)&&(r=n)),10<r){e.timeoutHandle=_n(yu.bind(null,e),r);break}yu(e);break;case 5:if(1073741823!==Ls&&null!==Fs){o=Ls;var s=Fs;if(0>=(r=0|s.busyMinDurationMs)?r=0:(i=0|s.busyDelayMs,r=(o=zi()-(10*(1073741821-o)-(0|s.timeoutMs||5e3)))<=i?0:i+r-o),10<r){Iu(e,n),e.timeoutHandle=_n(yu.bind(null,e),r);break}}yu(e);break;default:throw Error(a(329))}if(tu(e),e.callbackNode===t)return nu.bind(null,e)}}return null}function ru(e){var t=e.lastExpiredTime;if(t=0!==t?t:1073741823,0!=(48&Cs))throw Error(a(327));if(bu(),e===Ts&&t===Ms||au(e,t),null!==Ds){var n=Cs;Cs|=16;for(var r=uu();;)try{fu();break}catch(t){su(e,t)}if(to(),Cs=n,ws.current=r,1===Ps)throw n=Os,au(e,t),Iu(e,t),tu(e),n;if(null!==Ds)throw Error(a(261));e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Ts=null,yu(e),tu(e)}return null}function iu(e,t){var n=Cs;Cs|=1;try{return e(t)}finally{0===(Cs=n)&&Hi()}}function ou(e,t){var n=Cs;Cs&=-2,Cs|=8;try{return e(t)}finally{0===(Cs=n)&&Hi()}}function au(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,wn(n)),null!==Ds)for(n=Ds.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&gi();break;case 3:Fo(),ci(hi),ci(di);break;case 5:Io(r);break;case 4:Fo();break;case 13:case 19:ci(jo);break;case 10:no(r)}n=n.return}Ts=e,Ds=Mu(e.current,null),Ms=t,Ps=Ss,Os=null,Ns=Ls=1073741823,Fs=null,Rs=0,Is=!1}function su(e,t){for(;;){try{if(to(),zo.current=ga,Ho)for(var n=Wo.memoizedState;null!==n;){var r=n.queue;null!==r&&(r.pending=null),n=n.next}if(Uo=0,Xo=Yo=Wo=null,Ho=!1,null===Ds||null===Ds.return)return Ps=1,Os=t,Ds=null;e:{var i=e,o=Ds.return,a=Ds,s=t;if(t=Ms,a.effectTag|=2048,a.firstEffect=a.lastEffect=null,null!==s&&\"object\"==typeof s&&\"function\"==typeof s.then){var u=s;if(0==(2&a.mode)){var l=a.alternate;l?(a.updateQueue=l.updateQueue,a.memoizedState=l.memoizedState,a.expirationTime=l.expirationTime):(a.updateQueue=null,a.memoizedState=null)}var c=0!=(1&jo.current),f=o;do{var p;if(p=13===f.tag){var d=f.memoizedState;if(null!==d)p=null!==d.dehydrated;else{var h=f.memoizedProps;p=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!c)}}if(p){var m=f.updateQueue;if(null===m){var y=new Set;y.add(u),f.updateQueue=y}else m.add(u);if(0==(2&f.mode)){if(f.effectTag|=64,a.effectTag&=-2981,1===a.tag)if(null===a.alternate)a.tag=17;else{var v=lo(1073741823,null);v.tag=2,co(a,v)}a.expirationTime=1073741823;break e}s=void 0,a=t;var g=i.pingCache;if(null===g?(g=i.pingCache=new vs,s=new Set,g.set(u,s)):void 0===(s=g.get(u))&&(s=new Set,g.set(u,s)),!s.has(a)){s.add(a);var b=Eu.bind(null,i,u,a);u.then(b,b)}f.effectTag|=4096,f.expirationTime=t;break e}f=f.return}while(null!==f);s=Error((ye(a.type)||\"A React component\")+\" suspended while rendering, but no fallback UI was specified.\\n\\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.\"+ve(a))}5!==Ps&&(Ps=2),s=es(s,a),f=o;do{switch(f.tag){case 3:u=s,f.effectTag|=4096,f.expirationTime=t,fo(f,gs(f,u,t));break e;case 1:u=s;var x=f.type,_=f.stateNode;if(0==(64&f.effectTag)&&(\"function\"==typeof x.getDerivedStateFromError||null!==_&&\"function\"==typeof _.componentDidCatch&&(null===Vs||!Vs.has(_)))){f.effectTag|=4096,f.expirationTime=t,fo(f,bs(f,u,t));break e}}f=f.return}while(null!==f)}Ds=hu(Ds)}catch(e){t=e;continue}break}}function uu(){var e=ws.current;return ws.current=ga,null===e?ga:e}function lu(e,t){e<Ls&&2<e&&(Ls=e),null!==t&&e<Ns&&2<e&&(Ns=e,Fs=t)}function cu(e){e>Rs&&(Rs=e)}function fu(){for(;null!==Ds;)Ds=du(Ds)}function pu(){for(;null!==Ds&&!Fi();)Ds=du(Ds)}function du(e){var t=xs(e.alternate,e,Ms);return e.memoizedProps=e.pendingProps,null===t&&(t=hu(e)),Es.current=null,t}function hu(e){Ds=e;do{var t=Ds.alternate;if(e=Ds.return,0==(2048&Ds.effectTag)){if(t=Ja(t,Ds,Ms),1===Ms||1!==Ds.childExpirationTime){for(var n=0,r=Ds.child;null!==r;){var i=r.expirationTime,o=r.childExpirationTime;i>n&&(n=i),o>n&&(n=o),r=r.sibling}Ds.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Ds.firstEffect),null!==Ds.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Ds.firstEffect),e.lastEffect=Ds.lastEffect),1<Ds.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=Ds:e.firstEffect=Ds,e.lastEffect=Ds))}else{if(null!==(t=Qa(Ds)))return t.effectTag&=2047,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=2048)}if(null!==(t=Ds.sibling))return t;Ds=e}while(null!==Ds);return Ps===Ss&&(Ps=5),null}function mu(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)?t:e}function yu(e){var t=Vi();return Wi(99,vu.bind(null,e,t)),null}function vu(e,t){do{bu()}while(null!==Ws);if(0!=(48&Cs))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var i=mu(n);if(e.firstPendingTime=i,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Ts&&(Ds=Ts=null,Ms=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){var o=Cs;Cs|=32,Es.current=null,vn=Yt;var s=dn();if(hn(s)){if(\"selectionStart\"in s)var u={start:s.selectionStart,end:s.selectionEnd};else e:{var l=(u=(u=s.ownerDocument)&&u.defaultView||window).getSelection&&u.getSelection();if(l&&0!==l.rangeCount){u=l.anchorNode;var c=l.anchorOffset,f=l.focusNode;l=l.focusOffset;try{u.nodeType,f.nodeType}catch(e){u=null;break e}var p=0,d=-1,h=-1,m=0,y=0,v=s,g=null;t:for(;;){for(var b;v!==u||0!==c&&3!==v.nodeType||(d=p+c),v!==f||0!==l&&3!==v.nodeType||(h=p+l),3===v.nodeType&&(p+=v.nodeValue.length),null!==(b=v.firstChild);)g=v,v=b;for(;;){if(v===s)break t;if(g===u&&++m===c&&(d=p),g===f&&++y===l&&(h=p),null!==(b=v.nextSibling))break;g=(v=g).parentNode}v=b}u=-1===d||-1===h?null:{start:d,end:h}}else u=null}u=u||{start:0,end:0}}else u=null;gn={activeElementDetached:null,focusedElem:s,selectionRange:u},Yt=!1,Bs=i;do{try{gu()}catch(e){if(null===Bs)throw Error(a(330));wu(Bs,e),Bs=Bs.nextEffect}}while(null!==Bs);Bs=i;do{try{for(s=e,u=t;null!==Bs;){var x=Bs.effectTag;if(16&x&&Be(Bs.stateNode,\"\"),128&x){var _=Bs.alternate;if(null!==_){var w=_.ref;null!==w&&(\"function\"==typeof w?w(null):w.current=null)}}switch(1038&x){case 2:fs(Bs),Bs.effectTag&=-3;break;case 6:fs(Bs),Bs.effectTag&=-3,ms(Bs.alternate,Bs);break;case 1024:Bs.effectTag&=-1025;break;case 1028:Bs.effectTag&=-1025,ms(Bs.alternate,Bs);break;case 4:ms(Bs.alternate,Bs);break;case 8:hs(s,c=Bs,u),ls(c)}Bs=Bs.nextEffect}}catch(e){if(null===Bs)throw Error(a(330));wu(Bs,e),Bs=Bs.nextEffect}}while(null!==Bs);if(w=gn,_=dn(),x=w.focusedElem,u=w.selectionRange,_!==x&&x&&x.ownerDocument&&pn(x.ownerDocument.documentElement,x)){null!==u&&hn(x)&&(_=u.start,void 0===(w=u.end)&&(w=_),\"selectionStart\"in x?(x.selectionStart=_,x.selectionEnd=Math.min(w,x.value.length)):(w=(_=x.ownerDocument||document)&&_.defaultView||window).getSelection&&(w=w.getSelection(),c=x.textContent.length,s=Math.min(u.start,c),u=void 0===u.end?s:Math.min(u.end,c),!w.extend&&s>u&&(c=u,u=s,s=c),c=fn(x,s),f=fn(x,u),c&&f&&(1!==w.rangeCount||w.anchorNode!==c.node||w.anchorOffset!==c.offset||w.focusNode!==f.node||w.focusOffset!==f.offset)&&((_=_.createRange()).setStart(c.node,c.offset),w.removeAllRanges(),s>u?(w.addRange(_),w.extend(f.node,f.offset)):(_.setEnd(f.node,f.offset),w.addRange(_))))),_=[];for(w=x;w=w.parentNode;)1===w.nodeType&&_.push({element:w,left:w.scrollLeft,top:w.scrollTop});for(\"function\"==typeof x.focus&&x.focus(),x=0;x<_.length;x++)(w=_[x]).element.scrollLeft=w.left,w.element.scrollTop=w.top}Yt=!!vn,gn=vn=null,e.current=n,Bs=i;do{try{for(x=e;null!==Bs;){var E=Bs.effectTag;if(36&E&&ss(x,Bs.alternate,Bs),128&E){_=void 0;var S=Bs.ref;if(null!==S){var k=Bs.stateNode;Bs.tag,_=k,\"function\"==typeof S?S(_):S.current=_}}Bs=Bs.nextEffect}}catch(e){if(null===Bs)throw Error(a(330));wu(Bs,e),Bs=Bs.nextEffect}}while(null!==Bs);Bs=null,Ri(),Cs=o}else e.current=n;if(Us)Us=!1,Ws=e,Ys=t;else for(Bs=i;null!==Bs;)t=Bs.nextEffect,Bs.nextEffect=null,Bs=t;if(0===(t=e.firstPendingTime)&&(Vs=null),1073741823===t?e===Gs?Hs++:(Hs=0,Gs=e):Hs=0,\"function\"==typeof ku&&ku(n.stateNode,r),tu(e),qs)throw qs=!1,e=zs,zs=null,e;return 0!=(8&Cs)||Hi(),null}function gu(){for(;null!==Bs;){var e=Bs.effectTag;0!=(256&e)&&is(Bs.alternate,Bs),0==(512&e)||Us||(Us=!0,Yi(97,(function(){return bu(),null}))),Bs=Bs.nextEffect}}function bu(){if(90!==Ys){var e=97<Ys?97:Ys;return Ys=90,Wi(e,xu)}}function xu(){if(null===Ws)return!1;var e=Ws;if(Ws=null,0!=(48&Cs))throw Error(a(331));var t=Cs;for(Cs|=32,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:case 22:os(5,n),as(5,n)}}catch(t){if(null===e)throw Error(a(330));wu(e,t)}n=e.nextEffect,e.nextEffect=null,e=n}return Cs=t,Hi(),!0}function _u(e,t,n){co(e,t=gs(e,t=es(n,t),1073741823)),null!==(e=Qs(e,1073741823))&&tu(e)}function wu(e,t){if(3===e.tag)_u(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){_u(n,e,t);break}if(1===n.tag){var r=n.stateNode;if(\"function\"==typeof n.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===Vs||!Vs.has(r))){co(n,e=bs(n,e=es(t,e),1073741823)),null!==(n=Qs(n,1073741823))&&tu(n);break}}n=n.return}}function Eu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),Ts===e&&Ms===n?Ps===As||Ps===ks&&1073741823===Ls&&zi()-js<500?au(e,Ms):Is=!0:Ru(e,n)&&(0!==(t=e.lastPingedTime)&&t<n||(e.lastPingedTime=n,tu(e)))}function Su(e,t){var n=e.stateNode;null!==n&&n.delete(t),0==(t=0)&&(t=Zs(t=Ks(),e,null)),null!==(e=Qs(e,t))&&tu(e)}xs=function(e,t,n){var r=t.expirationTime;if(null!==e){var i=t.pendingProps;if(e.memoizedProps!==i||hi.current)Oa=!0;else{if(r<n){switch(Oa=!1,t.tag){case 3:za(t),Ma();break;case 5:if(Ro(t),4&t.mode&&1!==n&&i.hidden)return t.expirationTime=t.childExpirationTime=1,null;break;case 1:vi(t.type)&&_i(t);break;case 4:No(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value,i=t.type._context,fi(Zi,i._currentValue),i._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?Xa(e,t,n):(fi(jo,1&jo.current),null!==(t=Ka(e,t,n))?t.sibling:null);fi(jo,1&jo.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return $a(e,t,n);t.effectTag|=64}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null),fi(jo,jo.current),!r)return null}return Ka(e,t,n)}Oa=!1}}else Oa=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=yi(t,di.current),io(t,n),i=Ko(null,t,r,e,i,n),t.effectTag|=1,\"object\"==typeof i&&null!==i&&\"function\"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,vi(r)){var o=!0;_i(t)}else o=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,so(t);var s=r.getDerivedStateFromProps;\"function\"==typeof s&&vo(t,r,s,e),i.updater=go,t.stateNode=i,i._reactInternalFiber=t,wo(t,r,e,n),t=qa(null,t,r,!0,o,n)}else t.tag=0,La(null,t,i,n),t=t.child;return t;case 16:e:{if(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(i),1!==i._status)throw i._result;switch(i=i._result,t.type=i,o=t.tag=function(e){if(\"function\"==typeof e)return Du(e)?1:0;if(null!=e){if((e=e.$$typeof)===ue)return 11;if(e===fe)return 14}return 2}(i),e=Ki(i,e),o){case 0:t=ja(null,t,i,e,n);break e;case 1:t=Ba(null,t,i,e,n);break e;case 11:t=Na(null,t,i,e,n);break e;case 14:t=Fa(null,t,i,Ki(i.type,e),r,n);break e}throw Error(a(306,i,\"\"))}return t;case 0:return r=t.type,i=t.pendingProps,ja(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 1:return r=t.type,i=t.pendingProps,Ba(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 3:if(za(t),r=t.updateQueue,null===e||null===r)throw Error(a(282));if(r=t.pendingProps,i=null!==(i=t.memoizedState)?i.element:null,uo(e,t),po(t,r,null,n),(r=t.memoizedState.element)===i)Ma(),t=Ka(e,t,n);else{if((i=t.stateNode.hydrate)&&(Ea=En(t.stateNode.containerInfo.firstChild),wa=t,i=Sa=!0),i)for(n=To(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else La(e,t,r,n),Ma();t=t.child}return t;case 5:return Ro(t),null===e&&Ca(t),r=t.type,i=t.pendingProps,o=null!==e?e.memoizedProps:null,s=i.children,xn(r,i)?s=null:null!==o&&xn(r,o)&&(t.effectTag|=16),Ia(e,t),4&t.mode&&1!==n&&i.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(La(e,t,s,n),t=t.child),t;case 6:return null===e&&Ca(t),null;case 13:return Xa(e,t,n);case 4:return No(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,n):La(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,Na(e,t,r,i=t.elementType===r?i:Ki(r,i),n);case 7:return La(e,t,t.pendingProps,n),t.child;case 8:case 12:return La(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,i=t.pendingProps,s=t.memoizedProps,o=i.value;var u=t.type._context;if(fi(Zi,u._currentValue),u._currentValue=o,null!==s)if(u=s.value,0==(o=Br(u,o)?0:0|(\"function\"==typeof r._calculateChangedBits?r._calculateChangedBits(u,o):1073741823))){if(s.children===i.children&&!hi.current){t=Ka(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var l=u.dependencies;if(null!==l){s=u.child;for(var c=l.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===u.tag&&((c=lo(n,null)).tag=2,co(u,c)),u.expirationTime<n&&(u.expirationTime=n),null!==(c=u.alternate)&&c.expirationTime<n&&(c.expirationTime=n),ro(u.return,n),l.expirationTime<n&&(l.expirationTime=n);break}c=c.next}}else s=10===u.tag&&u.type===t.type?null:u.child;if(null!==s)s.return=u;else for(s=u;null!==s;){if(s===t){s=null;break}if(null!==(u=s.sibling)){u.return=s.return,s=u;break}s=s.return}u=s}La(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(o=t.pendingProps).children,io(t,n),r=r(i=oo(i,o.unstable_observedBits)),t.effectTag|=1,La(e,t,r,n),t.child;case 14:return o=Ki(i=t.type,t.pendingProps),Fa(e,t,i,o=Ki(i.type,o),r,n);case 15:return Ra(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ki(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,vi(r)?(e=!0,_i(t)):e=!1,io(t,n),xo(t,r,i),wo(t,r,i,n),qa(null,t,r,!0,e,n);case 19:return $a(e,t,n)}throw Error(a(156,t.tag))};var ku=null,Au=null;function Cu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Tu(e,t,n,r){return new Cu(e,t,n,r)}function Du(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Mu(e,t){var n=e.alternate;return null===n?((n=Tu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Pu(e,t,n,r,i,o){var s=2;if(r=e,\"function\"==typeof e)Du(e)&&(s=1);else if(\"string\"==typeof e)s=5;else e:switch(e){case ne:return Ou(n.children,i,o,t);case se:s=8,i|=7;break;case re:s=8,i|=1;break;case ie:return(e=Tu(12,n,t,8|i)).elementType=ie,e.type=ie,e.expirationTime=o,e;case le:return(e=Tu(13,n,t,i)).type=le,e.elementType=le,e.expirationTime=o,e;case ce:return(e=Tu(19,n,t,i)).elementType=ce,e.expirationTime=o,e;default:if(\"object\"==typeof e&&null!==e)switch(e.$$typeof){case oe:s=10;break e;case ae:s=9;break e;case ue:s=11;break e;case fe:s=14;break e;case pe:s=16,r=null;break e;case de:s=22;break e}throw Error(a(130,null==e?e:typeof e,\"\"))}return(t=Tu(s,n,t,i)).elementType=e,t.type=r,t.expirationTime=o,t}function Ou(e,t,n,r){return(e=Tu(7,e,r,t)).expirationTime=n,e}function Lu(e,t,n){return(e=Tu(6,e,null,t)).expirationTime=n,e}function Nu(e,t,n){return(t=Tu(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fu(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function Ru(e,t){var n=e.firstSuspendedTime;return e=e.lastSuspendedTime,0!==n&&n>=t&&e<=t}function Iu(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;n<t&&(e.firstSuspendedTime=t),(r>t||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function ju(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Bu(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function qu(e,t,n,r){var i=t.current,o=Ks(),s=mo.suspense;o=Zs(o,i,s);e:if(n){t:{if(Je(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(vi(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(a(171))}if(1===n.tag){var l=n.type;if(vi(l)){n=xi(n,l,u);break e}}n=u}else n=pi;return null===t.context?t.context=n:t.pendingContext=n,(t=lo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),co(i,t),Js(i,o),o}function zu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Vu(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime<t&&(e.retryTime=t)}function Uu(e,t){Vu(e,t),(e=e.alternate)&&Vu(e,t)}function Wu(e,t,n){var r=new Fu(e,t,n=null!=n&&!0===n.hydrate),i=Tu(3,null,null,2===t?7:1===t?3:0);r.current=i,i.stateNode=r,so(i),e[Tn]=r.current,n&&0!==t&&function(e,t){var n=Ze(t);kt.forEach((function(e){dt(e,t,n)})),At.forEach((function(e){dt(e,t,n)}))}(0,9===e.nodeType?e:e.ownerDocument),this._internalRoot=r}function Yu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||\" react-mount-point-unstable \"!==e.nodeValue))}function Xu(e,t,n,r,i){var o=n._reactRootContainer;if(o){var a=o._internalRoot;if(\"function\"==typeof i){var s=i;i=function(){var e=zu(a);s.call(e)}}qu(t,a,e,i)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute(\"data-reactroot\"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new Wu(e,0,t?{hydrate:!0}:void 0)}(n,r),a=o._internalRoot,\"function\"==typeof i){var u=i;i=function(){var e=zu(a);u.call(e)}}ou((function(){qu(t,a,e,i)}))}return zu(a)}function Hu(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:te,key:null==r?null:\"\"+r,children:e,containerInfo:t,implementation:n}}function Gu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yu(t))throw Error(a(200));return Hu(e,t,null,n)}Wu.prototype.render=function(e){qu(e,this._internalRoot,null,null)},Wu.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;qu(null,e,null,(function(){t[Tn]=null}))},ht=function(e){if(13===e.tag){var t=$i(Ks(),150,100);Js(e,t),Uu(e,t)}},mt=function(e){13===e.tag&&(Js(e,3),Uu(e,3))},yt=function(e){if(13===e.tag){var t=Ks();Js(e,t=Zs(t,e,null)),Uu(e,t)}},T=function(e,t,n){switch(t){case\"input\":if(ke(e,n),t=n.name,\"radio\"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+t)+'][type=\"radio\"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=On(r);if(!i)throw Error(a(90));_e(r),ke(r,i)}}}break;case\"textarea\":Oe(e,n);break;case\"select\":null!=(t=n.value)&&De(e,!!n.multiple,t,!1)}},N=iu,F=function(e,t,n,r,i){var o=Cs;Cs|=4;try{return Wi(98,e.bind(null,t,n,r,i))}finally{0===(Cs=o)&&Hi()}},R=function(){0==(49&Cs)&&(function(){if(null!==Xs){var e=Xs;Xs=null,e.forEach((function(e,t){Bu(t,e),tu(t)})),Hi()}}(),bu())},I=function(e,t){var n=Cs;Cs|=2;try{return e(t)}finally{0===(Cs=n)&&Hi()}};var $u={Events:[Mn,Pn,On,A,E,Bn,function(e){rt(e,jn)},O,L,Kt,at,bu,{current:!1}]};!function(e){var t=e.findFiberByHostInstance;!function(e){if(\"undefined\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);ku=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(e){}},Au=function(e){try{t.onCommitFiberUnmount(n,e)}catch(e){}}}catch(e){}}(i({},e,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:K.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=tt(e))?null:e.stateNode},findFiberByHostInstance:function(e){return t?t(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}))}({findFiberByHostInstance:Dn,bundleType:0,version:\"16.14.0\",rendererPackageName:\"react-dom\"}),t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$u,t.createPortal=Gu,t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternalFiber;if(void 0===t){if(\"function\"==typeof e.render)throw Error(a(188));throw Error(a(268,Object.keys(e)))}return null===(e=tt(t))?null:e.stateNode},t.flushSync=function(e,t){if(0!=(48&Cs))throw Error(a(187));var n=Cs;Cs|=1;try{return Wi(99,e.bind(null,t))}finally{Cs=n,Hi()}},t.hydrate=function(e,t,n){if(!Yu(t))throw Error(a(200));return Xu(null,e,t,!0,n)},t.render=function(e,t,n){if(!Yu(t))throw Error(a(200));return Xu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Yu(e))throw Error(a(40));return!!e._reactRootContainer&&(ou((function(){Xu(null,null,e,!1,(function(){e._reactRootContainer=null,e[Tn]=null}))})),!0)},t.unstable_batchedUpdates=iu,t.unstable_createPortal=function(e,t){return Gu(e,t,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Yu(n))throw Error(a(200));if(null==e||void 0===e._reactInternalFiber)throw Error(a(38));return Xu(e,t,n,!1,r)},t.version=\"16.14.0\"},73935:(e,t,n)=>{\"use strict\";!function e(){if(\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(64448)},97762:(e,t,n)=>{\"use strict\";e.exports=n(38698)},69921:(e,t)=>{\"use strict\";var n=\"function\"==typeof Symbol&&Symbol.for,r=n?Symbol.for(\"react.element\"):60103,i=n?Symbol.for(\"react.portal\"):60106,o=n?Symbol.for(\"react.fragment\"):60107,a=n?Symbol.for(\"react.strict_mode\"):60108,s=n?Symbol.for(\"react.profiler\"):60114,u=n?Symbol.for(\"react.provider\"):60109,l=n?Symbol.for(\"react.context\"):60110,c=n?Symbol.for(\"react.async_mode\"):60111,f=n?Symbol.for(\"react.concurrent_mode\"):60111,p=n?Symbol.for(\"react.forward_ref\"):60112,d=n?Symbol.for(\"react.suspense\"):60113,h=n?Symbol.for(\"react.suspense_list\"):60120,m=n?Symbol.for(\"react.memo\"):60115,y=n?Symbol.for(\"react.lazy\"):60116,v=n?Symbol.for(\"react.block\"):60121,g=n?Symbol.for(\"react.fundamental\"):60117,b=n?Symbol.for(\"react.responder\"):60118,x=n?Symbol.for(\"react.scope\"):60119;function _(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case f:case o:case s:case a:case d:return e;default:switch(e=e&&e.$$typeof){case l:case p:case y:case m:case u:return e;default:return t}}case i:return t}}}function w(e){return _(e)===f}t.AsyncMode=c,t.ConcurrentMode=f,t.ContextConsumer=l,t.ContextProvider=u,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=y,t.Memo=m,t.Portal=i,t.Profiler=s,t.StrictMode=a,t.Suspense=d,t.isAsyncMode=function(e){return w(e)||_(e)===c},t.isConcurrentMode=w,t.isContextConsumer=function(e){return _(e)===l},t.isContextProvider=function(e){return _(e)===u},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return _(e)===p},t.isFragment=function(e){return _(e)===o},t.isLazy=function(e){return _(e)===y},t.isMemo=function(e){return _(e)===m},t.isPortal=function(e){return _(e)===i},t.isProfiler=function(e){return _(e)===s},t.isStrictMode=function(e){return _(e)===a},t.isSuspense=function(e){return _(e)===d},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===o||e===f||e===s||e===a||e===d||e===h||\"object\"==typeof e&&null!==e&&(e.$$typeof===y||e.$$typeof===m||e.$$typeof===u||e.$$typeof===l||e.$$typeof===p||e.$$typeof===g||e.$$typeof===b||e.$$typeof===x||e.$$typeof===v)},t.typeOf=_},59864:(e,t,n)=>{\"use strict\";e.exports=n(69921)},72408:(e,t,n)=>{\"use strict\";var r=n(27418),i=\"function\"==typeof Symbol&&Symbol.for,o=i?Symbol.for(\"react.element\"):60103,a=i?Symbol.for(\"react.portal\"):60106,s=i?Symbol.for(\"react.fragment\"):60107,u=i?Symbol.for(\"react.strict_mode\"):60108,l=i?Symbol.for(\"react.profiler\"):60114,c=i?Symbol.for(\"react.provider\"):60109,f=i?Symbol.for(\"react.context\"):60110,p=i?Symbol.for(\"react.forward_ref\"):60112,d=i?Symbol.for(\"react.suspense\"):60113,h=i?Symbol.for(\"react.memo\"):60115,m=i?Symbol.for(\"react.lazy\"):60116,y=\"function\"==typeof Symbol&&Symbol.iterator;function v(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n<arguments.length;n++)t+=\"&args[]=\"+encodeURIComponent(arguments[n]);return\"Minified React error #\"+e+\"; visit \"+t+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b={};function x(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}function _(){}function w(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||g}x.prototype.isReactComponent={},x.prototype.setState=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e)throw Error(v(85));this.updater.enqueueSetState(this,e,t,\"setState\")},x.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")},_.prototype=x.prototype;var E=w.prototype=new _;E.constructor=w,r(E,x.prototype),E.isPureReactComponent=!0;var S={current:null},k=Object.prototype.hasOwnProperty,A={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var r,i={},a=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(a=\"\"+t.key),t)k.call(t,r)&&!A.hasOwnProperty(r)&&(i[r]=t[r]);var u=arguments.length-2;if(1===u)i.children=n;else if(1<u){for(var l=Array(u),c=0;c<u;c++)l[c]=arguments[c+2];i.children=l}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===i[r]&&(i[r]=u[r]);return{$$typeof:o,type:e,key:a,ref:s,props:i,_owner:S.current}}function T(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===o}var D=/\\/+/g,M=[];function P(e,t,n,r){if(M.length){var i=M.pop();return i.result=e,i.keyPrefix=t,i.func=n,i.context=r,i.count=0,i}return{result:e,keyPrefix:t,func:n,context:r,count:0}}function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>M.length&&M.push(e)}function L(e,t,n,r){var i=typeof e;\"undefined\"!==i&&\"boolean\"!==i||(e=null);var s=!1;if(null===e)s=!0;else switch(i){case\"string\":case\"number\":s=!0;break;case\"object\":switch(e.$$typeof){case o:case a:s=!0}}if(s)return n(r,e,\"\"===t?\".\"+F(e,0):t),1;if(s=0,t=\"\"===t?\".\":t+\":\",Array.isArray(e))for(var u=0;u<e.length;u++){var l=t+F(i=e[u],u);s+=L(i,l,n,r)}else if(\"function\"==typeof(l=null===e||\"object\"!=typeof e?null:\"function\"==typeof(l=y&&e[y]||e[\"@@iterator\"])?l:null))for(e=l.call(e),u=0;!(i=e.next()).done;)s+=L(i=i.value,l=t+F(i,u++),n,r);else if(\"object\"===i)throw n=\"\"+e,Error(v(31,\"[object Object]\"===n?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":n,\"\"));return s}function N(e,t,n){return null==e?0:L(e,\"\",t,n)}function F(e,t){return\"object\"==typeof e&&null!==e&&null!=e.key?function(e){var t={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+(\"\"+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function R(e,t){e.func.call(e.context,t,e.count++)}function I(e,t,n){var r=e.result,i=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?j(e,r,n,(function(e){return e})):null!=e&&(T(e)&&(e=function(e,t){return{$$typeof:o,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,i+(!e.key||t&&t.key===e.key?\"\":(\"\"+e.key).replace(D,\"$&/\")+\"/\")+n)),r.push(e))}function j(e,t,n,r,i){var o=\"\";null!=n&&(o=(\"\"+n).replace(D,\"$&/\")+\"/\"),N(e,I,t=P(t,o,r,i)),O(t)}var B={current:null};function q(){var e=B.current;if(null===e)throw Error(v(321));return e}var z={ReactCurrentDispatcher:B,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:S,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:function(e,t,n){if(null==e)return e;var r=[];return j(e,r,null,t,n),r},forEach:function(e,t,n){if(null==e)return e;N(e,R,t=P(null,null,t,n)),O(t)},count:function(e){return N(e,(function(){return null}),null)},toArray:function(e){var t=[];return j(e,t,null,(function(e){return e})),t},only:function(e){if(!T(e))throw Error(v(143));return e}},t.Component=x,t.Fragment=s,t.Profiler=l,t.PureComponent=w,t.StrictMode=u,t.Suspense=d,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=z,t.cloneElement=function(e,t,n){if(null==e)throw Error(v(267,e));var i=r({},e.props),a=e.key,s=e.ref,u=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,u=S.current),void 0!==t.key&&(a=\"\"+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)k.call(t,c)&&!A.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=n;else if(1<c){l=Array(c);for(var f=0;f<c;f++)l[f]=arguments[f+2];i.children=l}return{$$typeof:o,type:e.type,key:a,ref:s,props:i,_owner:u}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:c,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:p,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:m,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return q().useCallback(e,t)},t.useContext=function(e,t){return q().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return q().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return q().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return q().useLayoutEffect(e,t)},t.useMemo=function(e,t){return q().useMemo(e,t)},t.useReducer=function(e,t,n){return q().useReducer(e,t,n)},t.useRef=function(e){return q().useRef(e)},t.useState=function(e){return q().useState(e)},t.version=\"16.14.0\"},67294:(e,t,n)=>{\"use strict\";e.exports=n(72408)},60053:(e,t)=>{\"use strict\";var n,r,i,o,a;if(\"undefined\"==typeof window||\"function\"!=typeof MessageChannel){var s=null,u=null,l=function(){if(null!==s)try{var e=t.unstable_now();s(!0,e),s=null}catch(e){throw setTimeout(l,0),e}},c=Date.now();t.unstable_now=function(){return Date.now()-c},n=function(e){null!==s?setTimeout(n,0,e):(s=e,setTimeout(l,0))},r=function(e,t){u=setTimeout(e,t)},i=function(){clearTimeout(u)},o=function(){return!1},a=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,p=window.Date,d=window.setTimeout,h=window.clearTimeout;if(\"undefined\"!=typeof console){var m=window.cancelAnimationFrame;\"function\"!=typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\"function\"!=typeof m&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"==typeof f&&\"function\"==typeof f.now)t.unstable_now=function(){return f.now()};else{var y=p.now();t.unstable_now=function(){return p.now()-y}}var v=!1,g=null,b=-1,x=5,_=0;o=function(){return t.unstable_now()>=_},a=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported\"):x=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,E=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();_=e+x;try{g(!0,e)?E.postMessage(null):(v=!1,g=null)}catch(e){throw E.postMessage(null),e}}else v=!1},n=function(e){g=e,v||(v=!0,E.postMessage(null))},r=function(e,n){b=d((function(){e(t.unstable_now())}),n)},i=function(){h(b),b=-1}}function S(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,i=e[r];if(!(void 0!==i&&0<C(i,t)))break e;e[r]=t,e[n]=i,n=r}}function k(e){return void 0===(e=e[0])?null:e}function A(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length;r<i;){var o=2*(r+1)-1,a=e[o],s=o+1,u=e[s];if(void 0!==a&&0>C(a,n))void 0!==u&&0>C(u,a)?(e[r]=u,e[s]=n,r=s):(e[r]=a,e[o]=n,r=o);else{if(!(void 0!==u&&0>C(u,n)))break e;e[r]=u,e[s]=n,r=s}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var T=[],D=[],M=1,P=null,O=3,L=!1,N=!1,F=!1;function R(e){for(var t=k(D);null!==t;){if(null===t.callback)A(D);else{if(!(t.startTime<=e))break;A(D),t.sortIndex=t.expirationTime,S(T,t)}t=k(D)}}function I(e){if(F=!1,R(e),!N)if(null!==k(T))N=!0,n(j);else{var t=k(D);null!==t&&r(I,t.startTime-e)}}function j(e,n){N=!1,F&&(F=!1,i()),L=!0;var a=O;try{for(R(n),P=k(T);null!==P&&(!(P.expirationTime>n)||e&&!o());){var s=P.callback;if(null!==s){P.callback=null,O=P.priorityLevel;var u=s(P.expirationTime<=n);n=t.unstable_now(),\"function\"==typeof u?P.callback=u:P===k(T)&&A(T),R(n)}else A(T);P=k(T)}if(null!==P)var l=!0;else{var c=k(D);null!==c&&r(I,c.startTime-n),l=!1}return l}finally{P=null,O=a,L=!1}}function B(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var q=a;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){N||L||(N=!0,n(j))},t.unstable_getCurrentPriorityLevel=function(){return O},t.unstable_getFirstCallbackNode=function(){return k(T)},t.unstable_next=function(e){switch(O){case 1:case 2:case 3:var t=3;break;default:t=O}var n=O;O=t;try{return e()}finally{O=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=q,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=O;O=e;try{return t()}finally{O=n}},t.unstable_scheduleCallback=function(e,o,a){var s=t.unstable_now();if(\"object\"==typeof a&&null!==a){var u=a.delay;u=\"number\"==typeof u&&0<u?s+u:s,a=\"number\"==typeof a.timeout?a.timeout:B(e)}else a=B(e),u=s;return e={id:M++,callback:o,priorityLevel:e,startTime:u,expirationTime:a=u+a,sortIndex:-1},u>s?(e.sortIndex=u,S(D,e),null===k(T)&&e===k(D)&&(F?i():F=!0,r(I,u-s))):(e.sortIndex=a,S(T,e),N||L||(N=!0,n(j))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();R(e);var n=k(T);return n!==P&&null!==P&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime<P.expirationTime||o()},t.unstable_wrapCallback=function(e){var t=O;return function(){var n=O;O=t;try{return e.apply(this,arguments)}finally{O=n}}}},63840:(e,t,n)=>{\"use strict\";e.exports=n(60053)},94921:(e,t,n)=>{var r=n(93379),i=n(5867);\"string\"==typeof(i=i.__esModule?i.default:i)&&(i=[[e.id,i,\"\"]]);r(i,{insert:\"head\",singleton:!1}),e.exports=i.locals||{}},93379:(e,t,n)=>{\"use strict\";var r,i=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function a(e){for(var t=-1,n=0;n<o.length;n++)if(o[n].identifier===e){t=n;break}return t}function s(e,t){for(var n={},r=[],i=0;i<e.length;i++){var s=e[i],u=t.base?s[0]+t.base:s[0],l=n[u]||0,c=\"\".concat(u,\" \").concat(l);n[u]=l+1;var f=a(c),p={css:s[1],media:s[2],sourceMap:s[3]};-1!==f?(o[f].references++,o[f].updater(p)):o.push({identifier:c,updater:m(p,t),references:1}),r.push(c)}return r}function u(e){var t=document.createElement(\"style\"),r=e.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),\"function\"==typeof e.insert)e.insert(t);else{var a=i(e.insert||\"head\");if(!a)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");a.appendChild(t)}return t}var l,c=(l=[],function(e,t){return l[e]=t,l.filter(Boolean).join(\"\\n\")});function f(e,t,n,r){var i=n?\"\":r.media?\"@media \".concat(r.media,\" {\").concat(r.css,\"}\"):r.css;if(e.styleSheet)e.styleSheet.cssText=c(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function p(e,t,n){var r=n.css,i=n.media,o=n.sourceMap;if(i?e.setAttribute(\"media\",i):e.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var d=null,h=0;function m(e,t){var n,r,i;if(t.singleton){var o=h++;n=d||(d=u(t)),r=f.bind(null,n,o,!1),i=f.bind(null,n,o,!0)}else n=u(t),r=p.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||\"boolean\"==typeof t.singleton||(t.singleton=(void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r));var n=s(e=e||[],t);return function(e){if(e=e||[],\"[object Array]\"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var i=a(n[r]);o[i].references--}for(var u=s(e,t),l=0;l<n.length;l++){var c=a(n[l]);0===o[c].references&&(o[c].updater(),o.splice(c,1))}n=u}}}},57848:(e,t,n)=>{var r=n(18139);e.exports=function(e,t){var n,i=null;if(!e||\"string\"!=typeof e)return i;for(var o,a,s=r(e),u=\"function\"==typeof t,l=0,c=s.length;l<c;l++)o=(n=s[l]).property,a=n.value,u?t(o,a,n):a&&(i||(i={}),i[o]=a);return i}},73469:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},99294:(e,t,n)=>{\"use strict\";e.exports=a;var r=n(31743),i=\"skip\",o=!1;function a(e,t,n,a){var u;\"function\"==typeof t&&\"function\"!=typeof n&&(a=n,n=t,t=null),u=r(t),function e(r,l,c){var f,p=[];return(t&&!u(r,l,c[c.length-1]||null)||(p=s(n(r,c)))[0]!==o)&&r.children&&p[0]!==i?(f=s(function(t,n){for(var r,i=a?-1:1,s=(a?t.length:-1)+i;s>-1&&s<t.length;){if((r=e(t[s],s,n))[0]===o)return r;s=\"number\"==typeof r[1]?r[1]:s+i}}(r.children,c.concat(r))),f[0]===o?f:p):p}(e,null,[])}function s(e){return null!==e&&\"object\"==typeof e&&\"length\"in e?e:\"number\"==typeof e?[!0,e]:[e]}a.CONTINUE=!0,a.SKIP=i,a.EXIT=o},31743:e=>{\"use strict\";function t(e){if(\"string\"==typeof e)return function(e){return function(t){return Boolean(t&&t.type===e)}}(e);if(null==e)return i;if(\"object\"==typeof e)return(\"length\"in e?r:n)(e);if(\"function\"==typeof e)return e;throw new Error(\"Expected function, string, or object as test\")}function n(e){return function(t){var n;for(n in e)if(t[n]!==e[n])return!1;return!0}}function r(e){var n=function(e){for(var n=[],r=e.length,i=-1;++i<r;)n[i]=t(e[i]);return n}(e),r=n.length;return function(){for(var e=-1;++e<r;)if(n[e].apply(this,arguments))return!0;return!1}}function i(){return!0}e.exports=t},62854:(e,t,n)=>{\"use strict\";e.exports=s;var r=n(99294),i=r.CONTINUE,o=r.SKIP,a=r.EXIT;function s(e,t,n,i){\"function\"==typeof t&&\"function\"!=typeof n&&(i=n,n=t,t=null),r(e,t,(function(e,t){var r=t[t.length-1],i=r?r.children.indexOf(e):null;return n(e,i,r)}),i)}s.CONTINUE=i,s.SKIP=o,s.EXIT=a},87378:(e,t,n)=>{\"use strict\";e.exports=n(61152)},97340:e=>{\"use strict\";var t={_default:\"deg\"};t.deg={grad:function(e){return e/.9},rad:function(e){return e*(Math.PI/180)},turn:function(e){return e/360}},t.grad={deg:function(e){return.9*e}},t.rad={deg:function(e){return e/(Math.PI/180)}},t.turn={deg:function(e){return 360*e}},e.exports=t},32214:(e,t,n)=>{\"use strict\";e.exports={angle:n(97340),length:n(73812),resolution:n(77975)}},73812:(e,t,n)=>{\"use strict\";var r=n(73360),i=n(24160),o={_default:\"px\"};o[\"\"]={px:function(e,t){return parseFloat(getComputedStyle(t,\"\").fontSize)*e}},o[\"%\"]={px:function(e,t,n){return e*r.getRelativeElementDimension(t,n)/100}},o.ch={px:function(e,t){return e*r.ifZeroThenOne(r.getCreatedElementWidth(t,null,\"0\"))}},o.cm={px:function(e){return e/2.54*r.ifZeroThenOne(r.DPI)}},o.em={px:function(e,t){return e*r.getElementFontSize(t)}},o.ex={px:function(e,t){return e*r.getCreatedElementHeight(t,null,\"x\")}},o.in={px:function(e){return e*r.DPI}},o.mm={px:function(e){return e/2.54*r.ifZeroThenOne(r.DPI)/10}},o.pc={px:function(e){return e*(r.DPI/72*12)}},o.pt={px:function(e){return e*r.DPI/72}},o.px={\"\":function(e,t){return e/parseFloat(getComputedStyle(t,\"\").fontSize)},\"%\":function(e,t,n){return e/r.ifZeroThenOne(r.getRelativeElementDimension(t,n))*100},ch:function(e,t){return e/r.ifZeroThenOne(r.getCreatedElementWidth(t,null,\"0\"))},cm:function(e){return e/r.ifZeroThenOne(r.DPI)*2.54},em:function(e,t){return e/r.ifZeroThenOne(r.getElementFontSize(t))},ex:function(e,t){return e/r.ifZeroThenOne(r.getCreatedElementHeight(t,null,\"x\"))},in:function(e){return e/r.ifZeroThenOne(r.DPI)},mm:function(e){return 2.54*e/r.ifZeroThenOne(r.DPI)*10},pc:function(e){return e/(r.DPI/72*12)},pt:function(e){return 72*e/r.DPI},rem:function(e){return e/r.ifZeroThenOne(r.getElementFontSize(document.documentElement))},vh:function(e){return e/r.ifZeroThenOne(i.height()/100)},vmax:function(e){return e/r.ifZeroThenOne(i.max()/100)},vmin:function(e){return e/r.ifZeroThenOne(i.min()/100)},vw:function(e){return e/r.ifZeroThenOne(i.width()/100)}},o.rem={px:function(e){return e*r.getElementFontSize(document.documentElement)}},o.vh={px:function(e){return e*(i.height()/100)}},o.vmax={px:function(e){return e*(i.max()/100)}},o.vmin={px:function(e){return e*(i.min()/100)}},o.vw={px:function(e){return e*(i.width()/100)}},e.exports=o},77975:(e,t,n)=>{\"use strict\";var r=n(73360),i={_default:\"dpi\"};i.dpi={dpcm:function(e){return e/2.54},dppx:function(e){return e/r.DPI}},i.dpcm={dpi:function(e){return 2.54*e}},i.dppx={dpi:function(e){return e*r.DPI}},e.exports=i},61152:(e,t,n)=>{\"use strict\";var r=n(32214),i=n(58069),o={};o.conversions=r;var a=o.properties={};a.lineHeight=a.opacity=a.scale=a.scale3d=a.scaleX=a.scaleY=a.scaleZ={defaultUnit:\"\",defaultValue:1},a.rotate=a.rotate3d=a.rotateX=a.rotateY=a.rotateZ=a.skew=a.skewX=a.skewY={defaultUnit:\"deg\"},a.resolution={defaultUnit:\"dpi\",defaultValue:96},o.convert=function(e,t,n,r){var i=o.parse(t,r);return\"_default\"===e&&(e=o.getDefaultUnit(r)),e===i.unit?i.value:o.processConversion(i.unit,e,i.value,n,r)},o.parse=function(e,t){var n,r={};return i(e)?(r.value=e,r.unit=t?o.getDefaultUnit(t):\"\"):null!==(n=e.toString().trim().match(/^(-?[\\d+\\.\\-]+)([a-z]+|%)$/i))?(r.value=n[1],r.unit=n[2]):(r.unit=e,r.value=t?o.getDefaultValue(t):0),r.value=parseFloat(r.value),r},o.getDefaultValue=function(e){return void 0!==a[e]&&void 0!==a[e].defaultValue?a[e].defaultValue:0},o.getDefaultUnit=function(e){return void 0!==a[e]&&void 0!==a[e].defaultUnit?a[e].defaultUnit:\"px\"},o.processConversion=function(e,t,n,r,i){var a,s=o.getConversionType(e);return\"function\"==typeof s[e][t]?a=s[e][t]:(a=s[s._default][t],n=s[e][s._default](n,r,i)),a(n,r,i)},o.getConversionType=function(e){var t,n=null;for(t in r)if(r.hasOwnProperty(t)&&void 0!==r[t][e]){n=r[t];break}return n},e.exports=o},73360:e=>{\"use strict\";var t={getElementFontSize:function(e){return\"undefined\"!=typeof getComputedStyle?parseFloat(getComputedStyle(e,\"\").fontSize):16},getCreatedElementDimensions:function(e,t,n){var r,i,o=document.createElement(\"div\"),a=o.style;if(a.position=\"absolute\",a.zIndex=-2147483648,a.left=0,a.top=0,a.visibility=\"hidden\",t)for(i in t)t.hasOwnProperty(i)&&(a[i]=t[i]);return n&&(o.innerHTML=n),e.appendChild(o),r=[o.offsetWidth,o.offsetHeight],e.removeChild(o),r},getCreatedElementWidth:function(e,n,r){return t.getCreatedElementDimensions(e,n,r)[0]},getCreatedElementHeight:function(e,n,r){return t.getCreatedElementDimensions(e,n,r)[1]}},n=[\"perspective\",\"translate\",\"translate3d\",\"translateX\",\"translateY\",\"translateZ\",\"transformOrigin\"],r=[\"height\",\"top\",\"translateY\"],i=[\"absolute\",\"fixed\"];t.getRelativeElementDimension=function(e,t){var o,a,s,u=r.indexOf(t)>-1,l=n.indexOf(t)>-1,c=i.indexOf(getComputedStyle(e,\"\").position)>-1;return o=l?e:c?e.offsetParent:e.parentNode,a=u?o.offsetHeight:o.offsetWidth,!l&&c&&(s=getComputedStyle(o,\"\"),a-=u?parseFloat(s.paddingTop)+parseFloat(s.paddingBottom):parseFloat(s.paddingRight)+parseFloat(s.paddingLeft)),a},t.DPI=\"undefined\"==typeof window?96:t.getCreatedElementWidth(document.body,{width:\"1in\"}),t.ifZeroThenOne=function(e){return 0===e?1:e},e.exports=t},70529:e=>{e.exports=function(e){return null!=e&&null!=e.constructor&&\"function\"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}},24160:e=>{\"use strict\";var t={},n=-1,r=-1;t.width=function(){return n},t.height=function(){return r},t.max=function(){return Math.max(n,r)},t.min=function(){return Math.min(n,r)},t.setDimensions=function(){\"undefined\"!=typeof document&&(n=document.documentElement.clientWidth,r=document.documentElement.clientHeight)},t.onWindowResize=function(){t.setDimensions()},\"undefined\"!=typeof window&&(window.addEventListener(\"resize\",t.onWindowResize,!1),window.addEventListener(\"orientationchange\",t.onWindowResize,!1),t.setDimensions()),e.exports=t}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var __webpack_exports__={};(()=>{\"use strict\";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{attentionMarkers:()=>bn,contentInitial:()=>dn,disable:()=>xn,document:()=>pn,flow:()=>mn,flowInitial:()=>hn,insideSpan:()=>gn,string:()=>yn,text:()=>vn});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{boolean:()=>ui,booleanish:()=>li,commaOrSpaceSeparated:()=>hi,commaSeparated:()=>di,number:()=>fi,overloadedBoolean:()=>ci,spaceSeparated:()=>pi});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{Adder:()=>xo,Delaunay:()=>Yd,FormatSpecifier:()=>Gm,InternMap:()=>Eo,InternSet:()=>So,Node:()=>m_,Voronoi:()=>Bd,ZoomTransform:()=>tO,active:()=>nf,arc:()=>BD,area:()=>HD,areaRadial:()=>nM,ascending:()=>to,autoType:()=>_h,axisBottom:()=>rs,axisLeft:()=>is,axisRight:()=>ns,axisTop:()=>ts,bin:()=>ra,bisect:()=>uo,bisectCenter:()=>so,bisectLeft:()=>ao,bisectRight:()=>oo,bisector:()=>no,blob:()=>tm,brush:()=>Nf,brushSelection:()=>Pf,brushX:()=>Of,brushY:()=>Lf,buffer:()=>rm,chord:()=>Xf,chordDirected:()=>Gf,chordTranspose:()=>Hf,cluster:()=>u_,color:()=>Ju,contourDensity:()=>yd,contours:()=>ud,count:()=>lo,create:()=>pD,creator:()=>pu,cross:()=>ho,csv:()=>um,csvFormat:()=>uh,csvFormatBody:()=>lh,csvFormatRow:()=>fh,csvFormatRows:()=>ch,csvFormatValue:()=>ph,csvParse:()=>ah,csvParseRows:()=>sh,cubehelix:()=>Wp,cumsum:()=>mo,curveBasis:()=>XM,curveBasisClosed:()=>GM,curveBasisOpen:()=>KM,curveBumpX:()=>aM,curveBumpY:()=>sM,curveBundle:()=>JM,curveCardinal:()=>tP,curveCardinalClosed:()=>rP,curveCardinalOpen:()=>oP,curveCatmullRom:()=>uP,curveCatmullRomClosed:()=>cP,curveCatmullRomOpen:()=>pP,curveLinear:()=>UD,curveLinearClosed:()=>hP,curveMonotoneX:()=>wP,curveMonotoneY:()=>EP,curveNatural:()=>AP,curveStep:()=>TP,curveStepAfter:()=>MP,curveStepBefore:()=>DP,descending:()=>yo,deviation:()=>go,difference:()=>Ba,disjoint:()=>qa,dispatch:()=>fs,drag:()=>Jd,dragDisable:()=>Ou,dragEnable:()=>Lu,dsv:()=>sm,dsvFormat:()=>ih,easeBack:()=>$h,easeBackIn:()=>Hh,easeBackInOut:()=>$h,easeBackOut:()=>Gh,easeBounce:()=>Wh,easeBounceIn:()=>Uh,easeBounceInOut:()=>Yh,easeBounceOut:()=>Wh,easeCircle:()=>zh,easeCircleIn:()=>Bh,easeCircleInOut:()=>zh,easeCircleOut:()=>qh,easeCubic:()=>Jc,easeCubicIn:()=>Kc,easeCubicInOut:()=>Jc,easeCubicOut:()=>Zc,easeElastic:()=>Jh,easeElasticIn:()=>Zh,easeElasticInOut:()=>Qh,easeElasticOut:()=>Jh,easeExp:()=>jh,easeExpIn:()=>Rh,easeExpInOut:()=>jh,easeExpOut:()=>Ih,easeLinear:()=>Eh,easePoly:()=>Dh,easePolyIn:()=>Ch,easePolyInOut:()=>Dh,easePolyOut:()=>Th,easeQuad:()=>Ah,easeQuadIn:()=>Sh,easeQuadInOut:()=>Ah,easeQuadOut:()=>kh,easeSin:()=>Nh,easeSinIn:()=>Oh,easeSinInOut:()=>Nh,easeSinOut:()=>Lh,every:()=>La,extent:()=>bo,fcumsum:()=>wo,filter:()=>Fa,flatGroup:()=>Lo,flatRollup:()=>No,forceCenter:()=>vm,forceCollide:()=>Mm,forceLink:()=>Lm,forceManyBody:()=>Bm,forceRadial:()=>qm,forceSimulation:()=>jm,forceX:()=>zm,forceY:()=>Vm,format:()=>Qm,formatDefaultLocale:()=>iy,formatLocale:()=>ry,formatPrefix:()=>ey,formatSpecifier:()=>Hm,fsum:()=>_o,geoAlbers:()=>Ex,geoAlbersUsa:()=>Sx,geoArea:()=>lv,geoAzimuthalEqualArea:()=>Tx,geoAzimuthalEqualAreaRaw:()=>Cx,geoAzimuthalEquidistant:()=>Mx,geoAzimuthalEquidistantRaw:()=>Dx,geoBounds:()=>Wv,geoCentroid:()=>ng,geoCircle:()=>dg,geoClipAntimeridian:()=>kg,geoClipCircle:()=>Ag,geoClipExtent:()=>Ng,geoClipRectangle:()=>Lg,geoConicConformal:()=>Rx,geoConicConformalRaw:()=>Fx,geoConicEqualArea:()=>wx,geoConicEqualAreaRaw:()=>_x,geoConicEquidistant:()=>qx,geoConicEquidistantRaw:()=>Bx,geoContains:()=>Zg,geoDistance:()=>Vg,geoEqualEarth:()=>Hx,geoEqualEarthRaw:()=>Xx,geoEquirectangular:()=>jx,geoEquirectangularRaw:()=>Ix,geoGnomonic:()=>$x,geoGnomonicRaw:()=>Gx,geoGraticule:()=>eb,geoGraticule10:()=>tb,geoIdentity:()=>Kx,geoInterpolate:()=>nb,geoLength:()=>Bg,geoMercator:()=>Ox,geoMercatorRaw:()=>Px,geoNaturalEarth1:()=>Jx,geoNaturalEarth1Raw:()=>Zx,geoOrthographic:()=>e_,geoOrthographicRaw:()=>Qx,geoPath:()=>ox,geoProjection:()=>gx,geoProjectionMutator:()=>bx,geoRotation:()=>cg,geoStereographic:()=>n_,geoStereographicRaw:()=>t_,geoStream:()=>By,geoTransform:()=>ax,geoTransverseMercator:()=>i_,geoTransverseMercatorRaw:()=>r_,gray:()=>Ep,greatest:()=>Sa,greatestIndex:()=>ka,group:()=>Mo,groupSort:()=>Yo,groups:()=>Po,hcl:()=>Op,hierarchy:()=>c_,histogram:()=>ra,hsl:()=>fl,html:()=>mm,image:()=>cm,index:()=>Io,indexes:()=>jo,interpolate:()=>Il,interpolateArray:()=>Dl,interpolateBasis:()=>vl,interpolateBasisClosed:()=>gl,interpolateBlues:()=>BT,interpolateBrBG:()=>ZC,interpolateBuGn:()=>mT,interpolateBuPu:()=>vT,interpolateCividis:()=>KT,interpolateCool:()=>QT,interpolateCubehelix:()=>Sw,interpolateCubehelixDefault:()=>ZT,interpolateCubehelixLong:()=>kw,interpolateDate:()=>Pl,interpolateDiscrete:()=>fw,interpolateGnBu:()=>bT,interpolateGreens:()=>zT,interpolateGreys:()=>UT,interpolateHcl:()=>_w,interpolateHclLong:()=>ww,interpolateHsl:()=>vw,interpolateHslLong:()=>gw,interpolateHue:()=>pw,interpolateInferno:()=>cD,interpolateLab:()=>bw,interpolateMagma:()=>lD,interpolateNumber:()=>Ol,interpolateNumberArray:()=>Cl,interpolateObject:()=>Ll,interpolateOrRd:()=>_T,interpolateOranges:()=>$T,interpolatePRGn:()=>QC,interpolatePiYG:()=>tT,interpolatePlasma:()=>fD,interpolatePuBu:()=>kT,interpolatePuBuGn:()=>ET,interpolatePuOr:()=>rT,interpolatePuRd:()=>CT,interpolatePurples:()=>YT,interpolateRainbow:()=>tD,interpolateRdBu:()=>oT,interpolateRdGy:()=>sT,interpolateRdPu:()=>DT,interpolateRdYlBu:()=>lT,interpolateRdYlGn:()=>fT,interpolateReds:()=>HT,interpolateRgb:()=>El,interpolateRgbBasis:()=>kl,interpolateRgbBasisClosed:()=>Al,interpolateRound:()=>dw,interpolateSinebow:()=>oD,interpolateSpectral:()=>dT,interpolateString:()=>Rl,interpolateTransformCss:()=>vc,interpolateTransformSvg:()=>gc,interpolateTurbo:()=>aD,interpolateViridis:()=>uD,interpolateWarm:()=>JT,interpolateYlGn:()=>LT,interpolateYlGnBu:()=>PT,interpolateYlOrBr:()=>FT,interpolateYlOrRd:()=>IT,interpolateZoom:()=>mw,interrupt:()=>fc,intersection:()=>za,interval:()=>JP,isoFormat:()=>$P,isoParse:()=>ZP,json:()=>pm,lab:()=>Sp,lch:()=>Pp,least:()=>wa,leastIndex:()=>Ea,line:()=>XD,lineRadial:()=>tM,link:()=>fM,linkHorizontal:()=>pM,linkRadial:()=>hM,linkVertical:()=>dM,local:()=>hD,map:()=>Ra,matcher:()=>vs,max:()=>ia,maxIndex:()=>pa,mean:()=>da,median:()=>ha,merge:()=>ma,min:()=>oa,minIndex:()=>ya,mode:()=>va,namespace:()=>Ls,namespaces:()=>Os,nice:()=>ta,now:()=>Kl,pack:()=>F_,packEnclose:()=>y_,packSiblings:()=>D_,pairs:()=>ga,partition:()=>z_,path:()=>Nw,permute:()=>zo,pie:()=>KD,piecewise:()=>Aw,pointRadial:()=>rM,pointer:()=>Bl,pointers:()=>yD,polygonArea:()=>Fw,polygonCentroid:()=>Rw,polygonContains:()=>qw,polygonHull:()=>Bw,polygonLength:()=>zw,precisionFixed:()=>oy,precisionPrefix:()=>ay,precisionRound:()=>sy,quadtree:()=>wm,quantile:()=>ua,quantileSorted:()=>la,quantize:()=>Cw,quickselect:()=>aa,radialArea:()=>nM,radialLine:()=>tM,randomBates:()=>Gw,randomBernoulli:()=>Zw,randomBeta:()=>eE,randomBinomial:()=>tE,randomCauchy:()=>rE,randomExponential:()=>$w,randomGamma:()=>Qw,randomGeometric:()=>Jw,randomInt:()=>Ww,randomIrwinHall:()=>Hw,randomLcg:()=>sE,randomLogNormal:()=>Xw,randomLogistic:()=>iE,randomNormal:()=>Yw,randomPareto:()=>Kw,randomPoisson:()=>oE,randomUniform:()=>Uw,randomWeibull:()=>nE,range:()=>xa,rank:()=>_a,reduce:()=>Ia,reverse:()=>ja,rgb:()=>nl,ribbon:()=>dp,ribbonArrow:()=>hp,rollup:()=>Fo,rollups:()=>Ro,scaleBand:()=>dE,scaleDiverging:()=>LC,scaleDivergingLog:()=>NC,scaleDivergingPow:()=>RC,scaleDivergingSqrt:()=>IC,scaleDivergingSymlog:()=>FC,scaleIdentity:()=>BE,scaleImplicit:()=>fE,scaleLinear:()=>jE,scaleLog:()=>GE,scaleOrdinal:()=>pE,scalePoint:()=>mE,scalePow:()=>rS,scaleQuantile:()=>mS,scaleQuantize:()=>yS,scaleRadial:()=>sS,scaleSequential:()=>AC,scaleSequentialLog:()=>CC,scaleSequentialPow:()=>DC,scaleSequentialQuantile:()=>PC,scaleSequentialSqrt:()=>MC,scaleSequentialSymlog:()=>TC,scaleSqrt:()=>iS,scaleSymlog:()=>JE,scaleThreshold:()=>vS,scaleTime:()=>wC,scaleUtc:()=>EC,scan:()=>Aa,schemeAccent:()=>qC,schemeBlues:()=>jT,schemeBrBG:()=>KC,schemeBuGn:()=>hT,schemeBuPu:()=>yT,schemeCategory10:()=>BC,schemeDark2:()=>zC,schemeGnBu:()=>gT,schemeGreens:()=>qT,schemeGreys:()=>VT,schemeOrRd:()=>xT,schemeOranges:()=>GT,schemePRGn:()=>JC,schemePaired:()=>VC,schemePastel1:()=>UC,schemePastel2:()=>WC,schemePiYG:()=>eT,schemePuBu:()=>ST,schemePuBuGn:()=>wT,schemePuOr:()=>nT,schemePuRd:()=>AT,schemePurples:()=>WT,schemeRdBu:()=>iT,schemeRdGy:()=>aT,schemeRdPu:()=>TT,schemeRdYlBu:()=>uT,schemeRdYlGn:()=>cT,schemeReds:()=>XT,schemeSet1:()=>YC,schemeSet2:()=>XC,schemeSet3:()=>HC,schemeSpectral:()=>pT,schemeTableau10:()=>GC,schemeYlGn:()=>OT,schemeYlGnBu:()=>MT,schemeYlOrBr:()=>NT,schemeYlOrRd:()=>RT,select:()=>Cu,selectAll:()=>vD,selection:()=>Au,selector:()=>ds,selectorAll:()=>ys,shuffle:()=>Ca,shuffler:()=>Ta,some:()=>Na,sort:()=>Vo,stack:()=>FP,stackOffsetDiverging:()=>IP,stackOffsetExpand:()=>RP,stackOffsetNone:()=>PP,stackOffsetSilhouette:()=>jP,stackOffsetWiggle:()=>BP,stackOrderAppearance:()=>qP,stackOrderAscending:()=>VP,stackOrderDescending:()=>WP,stackOrderInsideOut:()=>YP,stackOrderNone:()=>OP,stackOrderReverse:()=>XP,stratify:()=>H_,style:()=>Ws,subset:()=>Ya,sum:()=>Da,superset:()=>Ua,svg:()=>ym,symbol:()=>VM,symbolAsterisk:()=>yM,symbolCircle:()=>vM,symbolCross:()=>gM,symbolDiamond:()=>_M,symbolDiamond2:()=>wM,symbolPlus:()=>EM,symbolSquare:()=>SM,symbolSquare2:()=>kM,symbolStar:()=>DM,symbolTriangle:()=>PM,symbolTriangle2:()=>LM,symbolWye:()=>jM,symbolX:()=>BM,symbols:()=>qM,symbolsFill:()=>qM,symbolsStroke:()=>zM,text:()=>om,thresholdFreedmanDiaconis:()=>ca,thresholdScott:()=>fa,thresholdSturges:()=>na,tickFormat:()=>RE,tickIncrement:()=>Qo,tickStep:()=>ea,ticks:()=>Jo,timeDay:()=>VS,timeDays:()=>US,timeFormat:()=>Zk,timeFormatDefaultLocale:()=>gC,timeFormatLocale:()=>$k,timeFriday:()=>KS,timeFridays:()=>rk,timeHour:()=>BS,timeHours:()=>qS,timeInterval:()=>TS,timeMillisecond:()=>MS,timeMilliseconds:()=>PS,timeMinute:()=>RS,timeMinutes:()=>IS,timeMonday:()=>XS,timeMondays:()=>QS,timeMonth:()=>ak,timeMonths:()=>sk,timeParse:()=>Jk,timeSaturday:()=>ZS,timeSaturdays:()=>ik,timeSecond:()=>LS,timeSeconds:()=>NS,timeSunday:()=>YS,timeSundays:()=>JS,timeThursday:()=>$S,timeThursdays:()=>nk,timeTickInterval:()=>Yk,timeTicks:()=>Wk,timeTuesday:()=>HS,timeTuesdays:()=>ek,timeWednesday:()=>GS,timeWednesdays:()=>tk,timeWeek:()=>YS,timeWeeks:()=>JS,timeYear:()=>lk,timeYears:()=>ck,timeout:()=>ic,timer:()=>Ql,timerFlush:()=>ec,transition:()=>Hc,transpose:()=>Ma,tree:()=>nw,treemap:()=>sw,treemapBinary:()=>uw,treemapDice:()=>q_,treemapResquarify:()=>cw,treemapSlice:()=>rw,treemapSliceDice:()=>lw,treemapSquarify:()=>aw,tsv:()=>lm,tsvFormat:()=>yh,tsvFormatBody:()=>vh,tsvFormatRow:()=>bh,tsvFormatRows:()=>gh,tsvFormatValue:()=>xh,tsvParse:()=>hh,tsvParseRows:()=>mh,union:()=>Xa,utcDay:()=>gk,utcDays:()=>bk,utcFormat:()=>Qk,utcFriday:()=>Ak,utcFridays:()=>Lk,utcHour:()=>mk,utcHours:()=>yk,utcMillisecond:()=>MS,utcMilliseconds:()=>PS,utcMinute:()=>pk,utcMinutes:()=>dk,utcMonday:()=>wk,utcMondays:()=>Dk,utcMonth:()=>Rk,utcMonths:()=>Ik,utcParse:()=>eA,utcSaturday:()=>Ck,utcSaturdays:()=>Nk,utcSecond:()=>LS,utcSeconds:()=>NS,utcSunday:()=>_k,utcSundays:()=>Tk,utcThursday:()=>kk,utcThursdays:()=>Ok,utcTickInterval:()=>Uk,utcTicks:()=>Vk,utcTuesday:()=>Ek,utcTuesdays:()=>Mk,utcWednesday:()=>Sk,utcWednesdays:()=>Pk,utcWeek:()=>_k,utcWeeks:()=>Tk,utcYear:()=>Bk,utcYears:()=>qk,variance:()=>vo,window:()=>qs,xml:()=>hm,zip:()=>Oa,zoom:()=>pO,zoomIdentity:()=>nO,zoomTransform:()=>rO});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{combineBorderObjects:()=>CL,combineDatasets:()=>OL,combineDomains:()=>AL,datasetsFromPropsOrDescendants:()=>wL,domainFromData:()=>TL,domainFromDatasets:()=>ML,domainFromRangeData:()=>PL,getDataDomainByAxis:()=>DL,getValue:()=>_L,inferDataType:()=>EL,inferDatasetsType:()=>SL,isValidDomain:()=>kL,makeAccessor:()=>bL,makeAccessor2:()=>xL});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{AreaBarChart:()=>pR,AreaChart:()=>xR,AreaHeatmap:()=>PR,AriaLabelContainer:()=>JR,Bar:()=>tR,BarChart:()=>uR,ColorHeatmap:()=>TR,FunnelChart:()=>ZR,Histogram:()=>zR,KernelDensityEstimation:()=>$R,LineChart:()=>zF,MarkerLineChart:()=>mR,PieChart:()=>RL,RangeBarChart:()=>rR,RangeRect:()=>cR,SankeyDiagram:()=>TN,ScatterPlot:()=>YF,TreeMap:()=>qN,XAxis:()=>GI,XAxisLabels:()=>II,XAxisTitle:()=>zI,XGrid:()=>UI,XLine:()=>eI,XTicks:()=>YI,XYPlot:()=>OF,YAxis:()=>lj,YAxisLabels:()=>JI,YAxisTitle:()=>nj,YGrid:()=>ij,YLine:()=>nI,YTicks:()=>aj,ZoomContainer:()=>pj,resolveXYScales:()=>AF,utils:()=>dj}),__webpack_require__(94921);var o=__webpack_require__(67294),a=__webpack_require__(73935),s=__webpack_require__(45697),u=__webpack_require__.n(s);function l(e,t){return l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},l(e,t)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e){return\"/\"===e.charAt(0)}function d(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}function h(e,t){if(!e)throw new Error(\"Invariant failed\")}function m(e){return\"/\"===e.charAt(0)?e:\"/\"+e}function y(e){return\"/\"===e.charAt(0)?e.substr(1):e}function v(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!==\"/?#\".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function g(e){return\"/\"===e.charAt(e.length-1)?e.slice(0,-1):e}function b(e){var t=e.pathname,n=e.search,r=e.hash,i=t||\"/\";return n&&\"?\"!==n&&(i+=\"?\"===n.charAt(0)?n:\"?\"+n),r&&\"#\"!==r&&(i+=\"#\"===r.charAt(0)?r:\"#\"+r),i}function x(e,t,n,r){var i;\"string\"==typeof e?(i=function(e){var t=e||\"/\",n=\"\",r=\"\",i=t.indexOf(\"#\");-1!==i&&(r=t.substr(i),t=t.substr(0,i));var o=t.indexOf(\"?\");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:\"?\"===n?\"\":n,hash:\"#\"===r?\"\":r}}(e),i.state=t):(void 0===(i=f({},e)).pathname&&(i.pathname=\"\"),i.search?\"?\"!==i.search.charAt(0)&&(i.search=\"?\"+i.search):i.search=\"\",i.hash?\"#\"!==i.hash.charAt(0)&&(i.hash=\"#\"+i.hash):i.hash=\"\",void 0!==t&&void 0===i.state&&(i.state=t));try{i.pathname=decodeURI(i.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname \"'+i.pathname+'\" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(i.key=n),r?i.pathname?\"/\"!==i.pathname.charAt(0)&&(i.pathname=function(e,t){void 0===t&&(t=\"\");var n,r=e&&e.split(\"/\")||[],i=t&&t.split(\"/\")||[],o=e&&p(e),a=t&&p(t),s=o||a;if(e&&p(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return\"/\";if(i.length){var u=i[i.length-1];n=\".\"===u||\"..\"===u||\"\"===u}else n=!1;for(var l=0,c=i.length;c>=0;c--){var f=i[c];\".\"===f?d(i,c):\"..\"===f?(d(i,c),l++):l&&(d(i,c),l--)}if(!s)for(;l--;l)i.unshift(\"..\");!s||\"\"===i[0]||i[0]&&p(i[0])||i.unshift(\"\");var h=i.join(\"/\");return n&&\"/\"!==h.substr(-1)&&(h+=\"/\"),h}(i.pathname,r.pathname)):i.pathname=r.pathname:i.pathname||(i.pathname=\"/\"),i}function _(){var e=null,t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,i){if(null!=e){var o=\"function\"==typeof e?e(t,n):e;\"string\"==typeof o?\"function\"==typeof r?r(o,i):i(!0):i(!1!==o)}else i(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var w=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);function E(e,t){t(window.confirm(e))}var S=\"hashchange\",k={hashbang:{encodePath:function(e){return\"!\"===e.charAt(0)?e:\"!/\"+y(e)},decodePath:function(e){return\"!\"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:y,decodePath:m},slash:{encodePath:m,decodePath:m}};function A(e){var t=e.indexOf(\"#\");return-1===t?e:e.slice(0,t)}function C(){var e=window.location.href,t=e.indexOf(\"#\");return-1===t?\"\":e.substring(t+1)}function T(e){window.location.replace(A(window.location.href)+\"#\"+e)}function D(e){void 0===e&&(e={}),w||h(!1);var t=window.history,n=(window.navigator.userAgent.indexOf(\"Firefox\"),e),r=n.getUserConfirmation,i=void 0===r?E:r,o=n.hashType,a=void 0===o?\"slash\":o,s=e.basename?g(m(e.basename)):\"\",u=k[a],l=u.encodePath,c=u.decodePath;function p(){var e=c(C());return s&&(e=v(e,s)),x(e)}var d=_();function y(e){f(q,e),q.length=t.length,d.notifyListeners(q.location,q.action)}var D=!1,M=null;function P(){var e,t,n=C(),r=l(n);if(n!==r)T(r);else{var o=p(),a=q.location;if(!D&&(t=o,(e=a).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(M===b(o))return;M=null,function(e){if(D)D=!1,y();else{d.confirmTransitionTo(e,\"POP\",i,(function(t){t?y({action:\"POP\",location:e}):function(e){var t=q.location,n=F.lastIndexOf(b(t));-1===n&&(n=0);var r=F.lastIndexOf(b(e));-1===r&&(r=0);var i=n-r;i&&(D=!0,R(i))}(e)}))}}(o)}}var O=C(),L=l(O);O!==L&&T(L);var N=p(),F=[b(N)];function R(e){t.go(e)}var I=0;function j(e){1===(I+=e)&&1===e?window.addEventListener(S,P):0===I&&window.removeEventListener(S,P)}var B=!1,q={length:t.length,action:\"POP\",location:N,createHref:function(e){var t=document.querySelector(\"base\"),n=\"\";return t&&t.getAttribute(\"href\")&&(n=A(window.location.href)),n+\"#\"+l(s+b(e))},push:function(e,t){var n=\"PUSH\",r=x(e,void 0,void 0,q.location);d.confirmTransitionTo(r,n,i,(function(e){if(e){var t=b(r),i=l(s+t);if(C()!==i){M=t,function(e){window.location.hash=e}(i);var o=F.lastIndexOf(b(q.location)),a=F.slice(0,o+1);a.push(t),F=a,y({action:n,location:r})}else y()}}))},replace:function(e,t){var n=\"REPLACE\",r=x(e,void 0,void 0,q.location);d.confirmTransitionTo(r,n,i,(function(e){if(e){var t=b(r),i=l(s+t);C()!==i&&(M=t,T(i));var o=F.indexOf(b(q.location));-1!==o&&(F[o]=t),y({action:n,location:r})}}))},go:R,goBack:function(){R(-1)},goForward:function(){R(1)},block:function(e){void 0===e&&(e=!1);var t=d.setPrompt(e);return B||(j(1),B=!0),function(){return B&&(B=!1,j(-1)),t()}},listen:function(e){var t=d.appendListener(e);return j(1),function(){j(-1),t()}}};return q}function M(e,t){return M=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},M(e,t)}function P(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,M(e,t)}var O=1073741823,L=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:{};function N(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var F=o.createContext||function(e,t){var n,r,i,a=\"__create-react-context-\"+((L[i=\"__global_unique_id__\"]=(L[i]||0)+1)+\"__\"),s=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=N(t.props.value),t}P(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[a]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,i=e.value;((o=r)===(a=i)?0!==o||1/o==1/a:o!=o&&a!=a)?n=0:(n=\"function\"==typeof t?t(r,i):O,0!=(n|=0)&&this.emitter.set(e.value,n))}var o,a},r.render=function(){return this.props.children},n}(o.Component);s.childContextTypes=((n={})[a]=u().object.isRequired,n);var l=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}P(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?O:t},r.componentDidMount=function(){this.context[a]&&this.context[a].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?O:e},r.componentWillUnmount=function(){this.context[a]&&this.context[a].off(this.onUpdate)},r.getValue=function(){return this.context[a]?this.context[a].get():e},r.render=function(){return function(e){return Array.isArray(e)?e[0]:e}(this.props.children)(this.state.value)},n}(o.Component);return l.contextTypes=((r={})[a]=u().object,r),{Provider:s,Consumer:l}};const R=F;function I(){return I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},I.apply(this,arguments)}var j=__webpack_require__(14779),B=__webpack_require__.n(j);__webpack_require__(59864),__webpack_require__(8679);var q=function(e){var t=R();return t.displayName=e,t},z=q(\"Router-History\"),V=q(\"Router\"),U=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}c(t,e),t.computeRootMatch=function(e){return{path:\"/\",url:\"/\",params:{},isExact:\"/\"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return o.createElement(V.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.createElement(z.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.Component);o.Component,o.Component;var W={},Y=0;function X(e,t){void 0===t&&(t={}),(\"string\"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,i=n.exact,o=void 0!==i&&i,a=n.strict,s=void 0!==a&&a,u=n.sensitive,l=void 0!==u&&u;return[].concat(r).reduce((function(t,n){if(!n&&\"\"!==n)return null;if(t)return t;var r=function(e,t){var n=\"\"+t.end+t.strict+t.sensitive,r=W[n]||(W[n]={});if(r[e])return r[e];var i=[],o={regexp:B()(e,i,t),keys:i};return Y<1e4&&(r[e]=o,Y++),o}(n,{end:o,strict:s,sensitive:l}),i=r.regexp,a=r.keys,u=i.exec(e);if(!u)return null;var c=u[0],f=u.slice(1),p=e===c;return o&&!p?null:{path:n,url:\"/\"===n&&\"\"===c?\"/\":c,isExact:p,params:a.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var H=function(e){function t(){return e.apply(this,arguments)||this}return c(t,e),t.prototype.render=function(){var e=this;return o.createElement(V.Consumer,null,(function(t){t||h(!1);var n=e.props.location||t.location,r=I({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?X(n.pathname,e.props):t.match}),i=e.props,a=i.children,s=i.component,u=i.render;return Array.isArray(a)&&function(e){return 0===o.Children.count(e)}(a)&&(a=null),o.createElement(V.Provider,{value:r},r.match?a?\"function\"==typeof a?a(r):a:s?o.createElement(s,r):u?u(r):null:\"function\"==typeof a?a(r):null)}))},t}(o.Component);function G(e,t){return G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},G(e,t)}function $(){return $=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$.apply(this,arguments)}function K(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}o.Component,o.Component,o.useContext,o.Component;var Z=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(t=e.call.apply(e,[this].concat(r))||this).history=D(t.props),t}return r=e,(n=t).prototype=Object.create(r.prototype),n.prototype.constructor=n,G(n,r),t.prototype.render=function(){return o.createElement(U,{history:this.history,children:this.props.children})},t;var n,r}(o.Component),J=function(e,t){return\"function\"==typeof e?e(t):e},Q=function(e,t){return\"string\"==typeof e?x(e,null,null,t):e},ee=function(e){return e},te=o.forwardRef;void 0===te&&(te=ee);var ne=te((function(e,t){var n=e.innerRef,r=e.navigate,i=e.onClick,a=K(e,[\"innerRef\",\"navigate\",\"onClick\"]),s=a.target,u=$({},a,{onClick:function(e){try{i&&i(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||s&&\"_self\"!==s||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=ee!==te&&t||n,o.createElement(\"a\",u)})),re=te((function(e,t){var n=e.component,r=void 0===n?ne:n,i=e.replace,a=e.to,s=e.innerRef,u=K(e,[\"component\",\"replace\",\"to\",\"innerRef\"]);return o.createElement(V.Consumer,null,(function(e){e||h(!1);var n=e.history,l=Q(J(a,e.location),e.location),c=l?n.createHref(l):\"\",f=$({},u,{href:c,navigate:function(){var t=J(a,e.location),r=b(e.location)===b(Q(t));(i||r?n.replace:n.push)(t)}});return ee!==te?f.ref=t||s:f.innerRef=s,o.createElement(r,f)}))})),ie=function(e){return e},oe=o.forwardRef;void 0===oe&&(oe=ie),oe((function(e,t){var n=e[\"aria-current\"],r=void 0===n?\"page\":n,i=e.activeClassName,a=void 0===i?\"active\":i,s=e.activeStyle,u=e.className,l=e.exact,c=e.isActive,f=e.location,p=e.sensitive,d=e.strict,m=e.style,y=e.to,v=e.innerRef,g=K(e,[\"aria-current\",\"activeClassName\",\"activeStyle\",\"className\",\"exact\",\"isActive\",\"location\",\"sensitive\",\"strict\",\"style\",\"to\",\"innerRef\"]);return o.createElement(V.Consumer,null,(function(e){e||h(!1);var n=f||e.location,i=Q(J(y,n),n),b=i.pathname,x=b&&b.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g,\"\\\\$1\"),_=x?X(n.pathname,{path:x,exact:l,sensitive:p,strict:d}):null,w=!!(c?c(_,n):_),E=\"function\"==typeof u?u(w):u,S=\"function\"==typeof m?m(w):m;w&&(E=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(\" \")}(E,a),S=$({},S,s));var k=$({\"aria-current\":w&&r||null,className:E,style:S,to:i},g);return ie!==oe?k.ref=t||v:k.innerRef=v,o.createElement(re,k)}))}));var ae=__webpack_require__(96486),se=__webpack_require__.n(ae);function ue(e){if(e)throw e}var le=__webpack_require__(73469),ce=__webpack_require__(94470);function fe(e){if(\"[object Object]\"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var pe=__webpack_require__(70529),de={}.hasOwnProperty;function he(e){return e&&\"object\"==typeof e?de.call(e,\"position\")||de.call(e,\"type\")?ye(e.position):de.call(e,\"start\")||de.call(e,\"end\")?ye(e):de.call(e,\"line\")||de.call(e,\"column\")?me(e):\"\":\"\"}function me(e){return ve(e&&e.line)+\":\"+ve(e&&e.column)}function ye(e){return me(e&&e.start)+\"-\"+me(e&&e.end)}function ve(e){return e&&\"number\"==typeof e?e:1}class ge extends Error{constructor(e,t,n){var r,i=[null,null],o={start:{line:null,column:null},end:{line:null,column:null}};super(),\"string\"==typeof t&&(n=t,t=null),\"string\"==typeof n&&(-1===(r=n.indexOf(\":\"))?i[1]=n:(i[0]=n.slice(0,r),i[1]=n.slice(r+1))),t&&(\"type\"in t||\"position\"in t?t.position&&(o=t.position):\"start\"in t||\"end\"in t?o=t:(\"line\"in t||\"column\"in t)&&(o.start=t)),this.name=he(t)||\"1:1\",this.message=\"object\"==typeof e?e.message:e,this.stack=\"object\"==typeof e?e.stack:\"\",this.reason=this.message,this.fatal,this.line=o.start.line,this.column=o.start.column,this.source=i[0],this.ruleId=i[1],this.position=o,this.actual,this.expected,this.file,this.url,this.note}}ge.prototype.file=\"\",ge.prototype.name=\"\",ge.prototype.reason=\"\",ge.prototype.message=\"\",ge.prototype.stack=\"\",ge.prototype.fatal=null,ge.prototype.column=null,ge.prototype.line=null,ge.prototype.source=null,ge.prototype.ruleId=null,ge.prototype.position=null;const be=function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');Se(e);let n,r=0,i=-1,o=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else i<0&&(n=!0,i=o+1);return i<0?\"\":e.slice(r,i)}if(t===e)return\"\";let a=-1,s=t.length-1;for(;o--;)if(47===e.charCodeAt(o)){if(n){r=o+1;break}}else a<0&&(n=!0,a=o+1),s>-1&&(e.charCodeAt(o)===t.charCodeAt(s--)?s<0&&(i=o):(s=-1,i=a));return r===i?i=a:i<0&&(i=e.length),e.slice(r,i)},xe=function(e){if(Se(e),0===e.length)return\".\";let t,n=-1,r=e.length;for(;--r;)if(47===e.charCodeAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.charCodeAt(0)?\"/\":\".\":1===n&&47===e.charCodeAt(0)?\"//\":e.slice(0,n)},_e=function(e){Se(e);let t,n=e.length,r=-1,i=0,o=-1,a=0;for(;n--;){const s=e.charCodeAt(n);if(47!==s)r<0&&(t=!0,r=n+1),46===s?o<0?o=n:1!==a&&(a=1):o>-1&&(a=-1);else if(t){i=n+1;break}}return o<0||r<0||0===a||1===a&&o===r-1&&o===i+1?\"\":e.slice(o,r)},we=function(...e){let t,n=-1;for(;++n<e.length;)Se(e[n]),e[n]&&(t=void 0===t?e[n]:t+\"/\"+e[n]);return void 0===t?\".\":function(e){Se(e);const t=47===e.charCodeAt(0);let n=function(e,t){let n,r,i=\"\",o=0,a=-1,s=0,u=-1;for(;++u<=e.length;){if(u<e.length)n=e.charCodeAt(u);else{if(47===n)break;n=47}if(47===n){if(a===u-1||1===s);else if(a!==u-1&&2===s){if(i.length<2||2!==o||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){if(r=i.lastIndexOf(\"/\"),r!==i.length-1){r<0?(i=\"\",o=0):(i=i.slice(0,r),o=i.length-1-i.lastIndexOf(\"/\")),a=u,s=0;continue}}else if(i.length>0){i=\"\",o=0,a=u,s=0;continue}t&&(i=i.length>0?i+\"/..\":\"..\",o=2)}else i.length>0?i+=\"/\"+e.slice(a+1,u):i=e.slice(a+1,u),o=u-a-1;a=u,s=0}else 46===n&&s>-1?s++:s=-1}return i}(e,!t);return 0!==n.length||t||(n=\".\"),n.length>0&&47===e.charCodeAt(e.length-1)&&(n+=\"/\"),t?\"/\"+n:n}(t)},Ee=\"/\";function Se(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}const ke=function(){return\"/\"};function Ae(e){return null!==e&&\"object\"==typeof e&&e.href&&e.origin}const Ce=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];class Te{constructor(e){let t;t=e?\"string\"==typeof e||pe(e)?{value:e}:Ae(e)?{path:e}:e:{},this.data={},this.messages=[],this.history=[],this.cwd=ke(),this.value,this.stored,this.result,this.map;let n,r=-1;for(;++r<Ce.length;){const e=Ce[r];e in t&&void 0!==t[e]&&(this[e]=\"history\"===e?[...t[e]]:t[e])}for(n in t)Ce.includes(n)||(this[n]=t[n])}get path(){return this.history[this.history.length-1]}set path(e){Ae(e)&&(e=function(e){if(\"string\"==typeof e)e=new URL(e);else if(!Ae(e)){const t=new TypeError('The \"path\" argument must be of type string or an instance of URL. Received `'+e+\"`\");throw t.code=\"ERR_INVALID_ARG_TYPE\",t}if(\"file:\"!==e.protocol){const e=new TypeError(\"The URL must be of scheme file\");throw e.code=\"ERR_INVALID_URL_SCHEME\",e}return function(e){if(\"\"!==e.hostname){const e=new TypeError('File URL host must be \"localhost\" or empty on darwin');throw e.code=\"ERR_INVALID_FILE_URL_HOST\",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.charCodeAt(n)&&50===t.charCodeAt(n+1)){const e=t.charCodeAt(n+2);if(70===e||102===e){const e=new TypeError(\"File URL path must not include encoded / characters\");throw e.code=\"ERR_INVALID_FILE_URL_PATH\",e}}return decodeURIComponent(t)}(e)}(e)),Me(e,\"path\"),this.path!==e&&this.history.push(e)}get dirname(){return\"string\"==typeof this.path?xe(this.path):void 0}set dirname(e){Pe(this.basename,\"dirname\"),this.path=we(e||\"\",this.basename)}get basename(){return\"string\"==typeof this.path?be(this.path):void 0}set basename(e){Me(e,\"basename\"),De(e,\"basename\"),this.path=we(this.dirname||\"\",e)}get extname(){return\"string\"==typeof this.path?_e(this.path):void 0}set extname(e){if(De(e,\"extname\"),Pe(this.dirname,\"extname\"),e){if(46!==e.charCodeAt(0))throw new Error(\"`extname` must start with `.`\");if(e.includes(\".\",1))throw new Error(\"`extname` cannot contain multiple dots\")}this.path=we(this.dirname,this.stem+(e||\"\"))}get stem(){return\"string\"==typeof this.path?be(this.path,this.extname):void 0}set stem(e){Me(e,\"stem\"),De(e,\"stem\"),this.path=we(this.dirname||\"\",e+(this.extname||\"\"))}toString(e){return(this.value||\"\").toString(e)}message(e,t,n){const r=new ge(e,t,n);return this.path&&(r.name=this.path+\":\"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=null,r}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}}function De(e,t){if(e&&e.includes(Ee))throw new Error(\"`\"+t+\"` cannot be a path: did not expect `\"+Ee+\"`\")}function Me(e,t){if(!e)throw new Error(\"`\"+t+\"` cannot be empty\")}function Pe(e,t){if(!e)throw new Error(\"Setting `\"+t+\"` requires `path` to be set too\")}const Oe=function e(){const t=function(){const e=[],t={run:function(...t){let n=-1;const r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"Expected function as last argument, not \"+r);!function i(o,...a){const s=e[++n];let u=-1;if(o)r(o);else{for(;++u<t.length;)null!==a[u]&&void 0!==a[u]||(a[u]=t[u]);t=a,s?function(e,t){let n;return function(...t){const o=e.length>t.length;let a;o&&t.push(r);try{a=e.apply(this,t)}catch(e){const t=e;if(o&&n)throw t;return r(t)}o||(a instanceof Promise?a.then(i,r):a instanceof Error?r(a):i(a))};function r(e,...r){n||(n=!0,t(e,...r))}function i(e){r(null,e)}}(s,i)(...a):r(null,...a)}}(null,...t)},use:function(n){if(\"function\"!=typeof n)throw new TypeError(\"Expected `middelware` to be a function, not \"+n);return e.push(n),t}};return t}(),n=[];let r,i={},o=-1;return a.data=function(e,t){return\"string\"==typeof e?2===arguments.length?(Ie(\"data\",r),i[e]=t,a):Le.call(i,e)&&i[e]||null:e?(Ie(\"data\",r),i=e,a):i},a.Parser=void 0,a.Compiler=void 0,a.freeze=function(){if(r)return a;for(;++o<n.length;){const[e,...r]=n[o];if(!1===r[0])continue;!0===r[0]&&(r[1]=void 0);const i=e.call(a,...r);\"function\"==typeof i&&t.use(i)}return r=!0,o=Number.POSITIVE_INFINITY,a},a.attachers=n,a.use=function(e,...t){let o;if(Ie(\"use\",r),null==e);else if(\"function\"==typeof e)c(e,...t);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");Array.isArray(e)?l(e):u(e)}return o&&(i.settings=Object.assign(i.settings||{},o)),a;function s(e){if(\"function\"==typeof e)c(e);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");if(Array.isArray(e)){const[t,...n]=e;c(t,...n)}else u(e)}}function u(e){l(e.plugins),e.settings&&(o=Object.assign(o||{},e.settings))}function l(e){let t=-1;if(null==e);else{if(!Array.isArray(e))throw new TypeError(\"Expected a list of plugins, not `\"+e+\"`\");for(;++t<e.length;)s(e[t])}}function c(e,t){let r,i=-1;for(;++i<n.length;)if(n[i][0]===e){r=n[i];break}r?(fe(r[1])&&fe(t)&&(t=ce(!0,r[1],t)),r[1]=t):n.push([...arguments])}},a.parse=function(e){a.freeze();const t=qe(e),n=a.Parser;return Fe(\"parse\",n),Ne(n,\"parse\")?new n(String(t),t).parse():n(String(t),t)},a.stringify=function(e,t){a.freeze();const n=qe(t),r=a.Compiler;return Re(\"stringify\",r),je(e),Ne(r,\"compile\")?new r(e,n).compile():r(e,n)},a.run=function(e,n,r){if(je(e),a.freeze(),r||\"function\"!=typeof n||(r=n,n=void 0),!r)return new Promise(i);function i(i,o){t.run(e,qe(n),(function(t,n,a){n=n||e,t?o(t):i?i(n):r(null,n,a)}))}i(null,r)},a.runSync=function(e,t){let n,r;return a.run(e,t,(function(e,t){ue(e),n=t,r=!0})),Be(\"runSync\",\"run\",r),n},a.process=function(e,t){if(a.freeze(),Fe(\"process\",a.Parser),Re(\"process\",a.Compiler),!t)return new Promise(n);function n(n,r){const i=qe(e);function o(e,i){e||!i?r(e):n?n(i):t(null,i)}a.run(a.parse(i),i,((e,t,n)=>{if(!e&&t&&n){const r=a.stringify(t,n);null==r||(function(e){return\"string\"==typeof e||le(e)}(r)?n.value=r:n.result=r),o(e,n)}else o(e)}))}n(null,t)},a.processSync=function(e){let t;a.freeze(),Fe(\"processSync\",a.Parser),Re(\"processSync\",a.Compiler);const n=qe(e);return a.process(n,(function(e){t=!0,ue(e)})),Be(\"processSync\",\"process\",t),n},a;function a(){const t=e();let r=-1;for(;++r<n.length;)t.use(...n[r]);return t.data(ce(!0,{},i)),t}}().freeze(),Le={}.hasOwnProperty;function Ne(e,t){return\"function\"==typeof e&&e.prototype&&(function(e){let t;for(t in e)if(Le.call(e,t))return!0;return!1}(e.prototype)||t in e.prototype)}function Fe(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `Parser`\")}function Re(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `Compiler`\")}function Ie(e,t){if(t)throw new Error(\"Cannot call `\"+e+\"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\")}function je(e){if(!fe(e)||\"string\"!=typeof e.type)throw new TypeError(\"Expected node, got `\"+e+\"`\")}function Be(e,t,n){if(!n)throw new Error(\"`\"+e+\"` finished async. Use `\"+t+\"` instead\")}function qe(e){return function(e){return Boolean(e&&\"object\"==typeof e&&\"message\"in e&&\"messages\"in e)}(e)?e:new Te(e)}function ze(e,t){var{includeImageAlt:n=!0}=t||{};return Ve(e,n)}function Ve(e,t){return e&&\"object\"==typeof e&&(e.value||(t?e.alt:\"\")||\"children\"in e&&Ue(e.children,t)||Array.isArray(e)&&Ue(e,t))||\"\"}function Ue(e,t){for(var n=[],r=-1;++r<e.length;)n[r]=Ve(e[r],t);return n.join(\"\")}function We(e,t,n,r){const i=e.length;let o,a=0;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),[].splice.apply(e,o);else for(n&&[].splice.apply(e,[t,n]);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),[].splice.apply(e,o),a+=1e4,t+=1e4}function Ye(e,t){return e.length>0?(We(e,e.length,0,t),e):t}const Xe={}.hasOwnProperty;function He(e,t){let n;for(n in t){const r=(Xe.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n];let o;for(o in i){Xe.call(r,o)||(r[o]=[]);const e=i[o];Ge(r[o],Array.isArray(e)?e:e?[e]:[])}}}function Ge(e,t){let n=-1;const r=[];for(;++n<t.length;)(\"after\"===t[n].add?e:r).push(t[n]);We(e,0,0,r)}const $e=st(/[A-Za-z]/),Ke=st(/\\d/),Ze=st(/[\\dA-Fa-f]/),Je=st(/[\\dA-Za-z]/),Qe=st(/[!-/:-@[-`{-~]/),et=st(/[#-'*+\\--9=?A-Z^-~]/);function tt(e){return null!==e&&(e<32||127===e)}function nt(e){return null!==e&&(e<0||32===e)}function rt(e){return null!==e&&e<-2}function it(e){return-2===e||-1===e||32===e}const ot=st(/\\s/),at=st(/[!-/:-@[-`{-~\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/);function st(e){return function(t){return null!==t&&e.test(String.fromCharCode(t))}}function ut(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let o=0;return function(r){return it(r)?(e.enter(n),a(r)):t(r)};function a(r){return it(r)&&o++<i?(e.consume(r),a):(e.exit(n),t(r))}}const lt={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,(function(n){if(null!==n)return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),ut(e,t,\"linePrefix\");e.consume(n)}),(function(t){return e.enter(\"paragraph\"),r(t)}));let n;return t;function r(t){const r=e.enter(\"chunkText\",{contentType:\"text\",previous:n});return n&&(n.next=r),n=r,i(t)}function i(t){return null===t?(e.exit(\"chunkText\"),e.exit(\"paragraph\"),void e.consume(t)):rt(t)?(e.consume(t),e.exit(\"chunkText\"),r):(e.consume(t),i)}}},ct={tokenize:function(e){const t=this,n=[];let r,i,o,a=0;return s;function s(r){if(a<n.length){const i=n[a];return t.containerState=i[1],e.attempt(i[0].continuation,u,l)(r)}return l(r)}function u(e){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&g();const n=t.events.length;let i,o=n;for(;o--;)if(\"exit\"===t.events[o][0]&&\"chunkFlow\"===t.events[o][1].type){i=t.events[o][1].end;break}v(a);let s=n;for(;s<t.events.length;)t.events[s][1].end=Object.assign({},i),s++;return We(t.events,o+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(i){if(a===n.length){if(!r)return p(i);if(r.currentConstruct&&r.currentConstruct.concrete)return h(i);t.interrupt=Boolean(r.currentConstruct&&!r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(ft,c,f)(i)}function c(e){return r&&g(),v(a),p(e)}function f(e){return t.parser.lazy[t.now().line]=a!==n.length,o=t.now().offset,h(e)}function p(n){return t.containerState={},e.attempt(ft,d,h)(n)}function d(e){return a++,n.push([t.currentConstruct,t.containerState]),p(e)}function h(n){return null===n?(r&&g(),v(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter(\"chunkFlow\",{contentType:\"flow\",previous:i,_tokenizer:r}),m(n))}function m(n){return null===n?(y(e.exit(\"chunkFlow\"),!0),v(0),void e.consume(n)):rt(n)?(e.consume(n),y(e.exit(\"chunkFlow\")),a=0,t.interrupt=void 0,s):(e.consume(n),m)}function y(e,n){const s=t.sliceStream(e);if(n&&s.push(null),e.previous=i,i&&(i.next=e),i=e,r.defineSkip(e.start),r.write(s),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<o&&(!r.events[e][1].end||r.events[e][1].end.offset>o))return;const n=t.events.length;let i,s,u=n;for(;u--;)if(\"exit\"===t.events[u][0]&&\"chunkFlow\"===t.events[u][1].type){if(i){s=t.events[u][1].end;break}i=!0}for(v(a),e=n;e<t.events.length;)t.events[e][1].end=Object.assign({},s),e++;We(t.events,u+1,0,t.events.slice(n)),t.events.length=e}}function v(r){let i=n.length;for(;i-- >r;){const r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function g(){r.write([null]),i=void 0,r=void 0,t.containerState._closeFlow=void 0}}},ft={tokenize:function(e,t,n){return ut(e,e.attempt(this.parser.constructs.document,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}},pt={tokenize:function(e,t,n){return ut(e,(function(e){return null===e||rt(e)?t(e):n(e)}),\"linePrefix\")},partial:!0};function dt(e){const t={};let n,r,i,o,a,s,u,l=-1;for(;++l<e.length;){for(;l in t;)l=t[l];if(n=e[l],l&&\"chunkFlow\"===n[1].type&&\"listItemPrefix\"===e[l-1][1].type&&(s=n[1]._tokenizer.events,i=0,i<s.length&&\"lineEndingBlank\"===s[i][1].type&&(i+=2),i<s.length&&\"content\"===s[i][1].type))for(;++i<s.length&&\"content\"!==s[i][1].type;)\"chunkText\"===s[i][1].type&&(s[i][1]._isInFirstContentOfListItem=!0,i++);if(\"enter\"===n[0])n[1].contentType&&(Object.assign(t,ht(e,l)),l=t[l],u=!0);else if(n[1]._container){for(i=l,r=void 0;i--&&(o=e[i],\"lineEnding\"===o[1].type||\"lineEndingBlank\"===o[1].type);)\"enter\"===o[0]&&(r&&(e[r][1].type=\"lineEndingBlank\"),o[1].type=\"lineEnding\",r=i);r&&(n[1].end=Object.assign({},e[r][1].start),a=e.slice(r,l),a.unshift(n),We(e,r,l-r+1,a))}}return!u}function ht(e,t){const n=e[t][1],r=e[t][2];let i=t-1;const o=[],a=n._tokenizer||r.parser[n.contentType](n.start),s=a.events,u=[],l={};let c,f,p=-1,d=n,h=0,m=0;const y=[m];for(;d;){for(;e[++i][1]!==d;);o.push(i),d._tokenizer||(c=r.sliceStream(d),d.next||c.push(null),f&&a.defineSkip(d.start),d._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=!0),a.write(c),d._isInFirstContentOfListItem&&(a._gfmTasklistFirstContentOfListItem=void 0)),f=d,d=d.next}for(d=n;++p<s.length;)\"exit\"===s[p][0]&&\"enter\"===s[p-1][0]&&s[p][1].type===s[p-1][1].type&&s[p][1].start.line!==s[p][1].end.line&&(m=p+1,y.push(m),d._tokenizer=void 0,d.previous=void 0,d=d.next);for(a.events=[],d?(d._tokenizer=void 0,d.previous=void 0):y.pop(),p=y.length;p--;){const t=s.slice(y[p],y[p+1]),n=o.pop();u.unshift([n,n+t.length-1]),We(e,n,2,t)}for(p=-1;++p<u.length;)l[h+u[p][0]]=h+u[p][1],h+=u[p][1]-u[p][0]-1;return l}const mt={tokenize:function(e,t){let n;return function(t){return e.enter(\"content\"),n=e.enter(\"chunkContent\",{contentType:\"content\"}),r(t)};function r(t){return null===t?i(t):rt(t)?e.check(yt,o,i)(t):(e.consume(t),r)}function i(n){return e.exit(\"chunkContent\"),e.exit(\"content\"),t(n)}function o(t){return e.consume(t),e.exit(\"chunkContent\"),n.next=e.enter(\"chunkContent\",{contentType:\"content\",previous:n}),n=n.next,r}},resolve:function(e){return dt(e),e}},yt={tokenize:function(e,t,n){const r=this;return function(t){return e.exit(\"chunkContent\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),ut(e,i,\"linePrefix\")};function i(i){if(null===i||rt(i))return n(i);const o=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(\"codeIndented\")&&o&&\"linePrefix\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}},partial:!0},vt={tokenize:function(e){const t=this,n=e.attempt(pt,(function(r){if(null!==r)return e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),t.currentConstruct=void 0,n;e.consume(r)}),e.attempt(this.parser.constructs.flowInitial,r,ut(e,e.attempt(this.parser.constructs.flow,r,e.attempt(mt,r)),\"linePrefix\")));return n;function r(r){if(null!==r)return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),t.currentConstruct=void 0,n;e.consume(r)}}},gt={resolveAll:wt()},bt=_t(\"string\"),xt=_t(\"text\");function _t(e){return{tokenize:function(t){const n=this,r=this.parser.constructs[e],i=t.attempt(r,o,a);return o;function o(e){return u(e)?i(e):a(e)}function a(e){if(null!==e)return t.enter(\"data\"),t.consume(e),s;t.consume(e)}function s(e){return u(e)?(t.exit(\"data\"),i(e)):(t.consume(e),s)}function u(e){if(null===e)return!0;const t=r[e];let i=-1;if(t)for(;++i<t.length;){const e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}},resolveAll:wt(\"text\"===e?Et:void 0)}}function wt(e){return function(t,n){let r,i=-1;for(;++i<=t.length;)void 0===r?t[i]&&\"data\"===t[i][1].type&&(r=i,i++):t[i]&&\"data\"===t[i][1].type||(i!==r+2&&(t[r][1].end=t[i-1][1].end,t.splice(r+2,i-r-2),i=r+2),r=void 0);return e?e(t,n):t}}function Et(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||\"lineEnding\"===e[n][1].type)&&\"data\"===e[n-1][1].type){const r=e[n-1][1],i=t.sliceStream(r);let o,a=i.length,s=-1,u=0;for(;a--;){const e=i[a];if(\"string\"==typeof e){for(s=e.length;32===e.charCodeAt(s-1);)u++,s--;if(s)break;s=-1}else if(-2===e)o=!0,u++;else if(-1!==e){a++;break}}if(u){const i={type:n===e.length||o||u<2?\"lineSuffix\":\"hardBreakTrailing\",start:{line:r.end.line,column:r.end.column-u,offset:r.end.offset-u,_index:r.start._index+a,_bufferIndex:a?s:r.start._bufferIndex+s},end:Object.assign({},r.end)};r.end=Object.assign({},i.start),r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[\"enter\",i,t],[\"exit\",i,t]),n+=2)}n++}return e}function St(e,t,n){const r=[];let i=-1;for(;++i<e.length;){const o=e[i].resolveAll;o&&!r.includes(o)&&(t=o(t,n),r.push(o))}return t}function kt(e,t,n){let r=Object.assign(n?Object.assign({},n):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const i={},o=[];let a=[],s=[],u=!0;const l={consume:function(e){rt(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,b()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===a[r._index].length&&(r._bufferIndex=-1,r._index++)),c.previous=e,u=!0},enter:function(e,t){const n=t||{};return n.type=e,n.start=h(),c.events.push([\"enter\",n,c]),s.push(n),n},exit:function(e){const t=s.pop();return t.end=h(),c.events.push([\"exit\",t,c]),t},attempt:v((function(e,t){g(e,t.from)})),check:v(y),interrupt:v(y,{interrupt:!0})},c={previous:null,code:null,containerState:{},events:[],parser:e,sliceStream:d,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let i;for(;++n<e.length;){const o=e[n];let a;if(\"string\"==typeof o)a=o;else switch(o){case-5:a=\"\\r\";break;case-4:a=\"\\n\";break;case-3:a=\"\\r\\n\";break;case-2:a=t?\" \":\"\\t\";break;case-1:if(!t&&i)continue;a=\" \";break;default:a=String.fromCharCode(o)}i=-2===o,r.push(a)}return r.join(\"\")}(d(e),t)},now:h,defineSkip:function(e){i[e.line]=e.column,b()},write:function(e){return a=Ye(a,e),function(){let e;for(;r._index<a.length;){const t=a[r._index];if(\"string\"==typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)m(t.charCodeAt(r._bufferIndex));else m(t)}}(),null!==a[a.length-1]?[]:(g(t,0),c.events=St(o,c.events,c),c.events)}};let f,p=t.tokenize.call(c,l);return t.resolveAll&&o.push(t),c;function d(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,i=t.end._index,o=t.end._bufferIndex;let a;return n===i?a=[e[n].slice(r,o)]:(a=e.slice(n,i),r>-1&&(a[0]=a[0].slice(r)),o>0&&a.push(e[i].slice(0,o))),a}(a,e)}function h(){return Object.assign({},r)}function m(e){u=void 0,f=e,p=p(e)}function y(e,t){t.restore()}function v(e,t){return function(n,i,o){let a,f,p,d;return Array.isArray(n)?m(n):\"tokenize\"in n?m([n]):function(e){return function(t){const n=null!==t&&e[t],r=null!==t&&e.null;return m([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function m(e){return a=e,f=0,0===e.length?o:y(e[f])}function y(e){return function(n){return d=function(){const e=h(),t=c.previous,n=c.currentConstruct,i=c.events.length,o=Array.from(s);return{restore:function(){r=e,c.previous=t,c.currentConstruct=n,c.events.length=i,s=o,b()},from:i}}(),p=e,e.partial||(c.currentConstruct=e),e.name&&c.parser.constructs.disable.null.includes(e.name)?g():e.tokenize.call(t?Object.assign(Object.create(c),t):c,l,v,g)(n)}}function v(t){return u=!0,e(p,d),i}function g(e){return u=!0,d.restore(),++f<a.length?y(a[f]):o}}}function g(e,t){e.resolveAll&&!o.includes(e)&&o.push(e),e.resolve&&We(c.events,t,c.events.length-t,e.resolve(c.events.slice(t),c)),e.resolveTo&&(c.events=e.resolveTo(c.events,c))}function b(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}const At={name:\"thematicBreak\",tokenize:function(e,t,n){let r,i=0;return function(t){return e.enter(\"thematicBreak\"),r=t,o(t)};function o(s){return s===r?(e.enter(\"thematicBreakSequence\"),a(s)):it(s)?ut(e,o,\"whitespace\")(s):i<3||null!==s&&!rt(s)?n(s):(e.exit(\"thematicBreak\"),t(s))}function a(t){return t===r?(e.consume(t),i++,a):(e.exit(\"thematicBreakSequence\"),o(t))}}},Ct={name:\"list\",tokenize:function(e,t,n){const r=this,i=r.events[r.events.length-1];let o=i&&\"linePrefix\"===i[1].type?i[2].sliceSerialize(i[1],!0).length:0,a=0;return function(t){const i=r.containerState.type||(42===t||43===t||45===t?\"listUnordered\":\"listOrdered\");if(\"listUnordered\"===i?!r.containerState.marker||t===r.containerState.marker:Ke(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),\"listUnordered\"===i)return e.enter(\"listItemPrefix\"),42===t||45===t?e.check(At,n,u)(t):u(t);if(!r.interrupt||49===t)return e.enter(\"listItemPrefix\"),e.enter(\"listItemValue\"),s(t)}return n(t)};function s(t){return Ke(t)&&++a<10?(e.consume(t),s):(!r.interrupt||a<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit(\"listItemValue\"),u(t)):n(t)}function u(t){return e.enter(\"listItemMarker\"),e.consume(t),e.exit(\"listItemMarker\"),r.containerState.marker=r.containerState.marker||t,e.check(pt,r.interrupt?n:l,e.attempt(Tt,f,c))}function l(e){return r.containerState.initialBlankLine=!0,o++,f(e)}function c(t){return it(t)?(e.enter(\"listItemPrefixWhitespace\"),e.consume(t),e.exit(\"listItemPrefixWhitespace\"),f):n(t)}function f(n){return r.containerState.size=o+r.sliceSerialize(e.exit(\"listItemPrefix\"),!0).length,t(n)}},continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(pt,(function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ut(e,t,\"listItemIndent\",r.containerState.size+1)(n)}),(function(n){return r.containerState.furtherBlankLines||!it(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,i(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(Dt,t,i)(n))}));function i(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,ut(e,e.attempt(Ct,t,n),\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(i)}}},exit:function(e){e.exit(this.containerState.type)}},Tt={tokenize:function(e,t,n){const r=this;return ut(e,(function(e){const i=r.events[r.events.length-1];return!it(e)&&i&&\"listItemPrefixWhitespace\"===i[1].type?t(e):n(e)}),\"listItemPrefixWhitespace\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:5)},partial:!0},Dt={tokenize:function(e,t,n){const r=this;return ut(e,(function(e){const i=r.events[r.events.length-1];return i&&\"listItemIndent\"===i[1].type&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}),\"listItemIndent\",r.containerState.size+1)},partial:!0},Mt={name:\"blockQuote\",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter(\"blockQuote\",{_container:!0}),n.open=!0),e.enter(\"blockQuotePrefix\"),e.enter(\"blockQuoteMarker\"),e.consume(t),e.exit(\"blockQuoteMarker\"),i}return n(t)};function i(n){return it(n)?(e.enter(\"blockQuotePrefixWhitespace\"),e.consume(n),e.exit(\"blockQuotePrefixWhitespace\"),e.exit(\"blockQuotePrefix\"),t):(e.exit(\"blockQuotePrefix\"),t(n))}},continuation:{tokenize:function(e,t,n){return ut(e,e.attempt(Mt,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}},exit:function(e){e.exit(\"blockQuote\")}};function Pt(e,t,n,r,i,o,a,s,u){const l=u||Number.POSITIVE_INFINITY;let c=0;return function(t){return 60===t?(e.enter(r),e.enter(i),e.enter(o),e.consume(t),e.exit(o),f):null===t||41===t||tt(t)?n(t):(e.enter(r),e.enter(a),e.enter(s),e.enter(\"chunkString\",{contentType:\"string\"}),h(t))};function f(n){return 62===n?(e.enter(o),e.consume(n),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(\"chunkString\",{contentType:\"string\"}),p(n))}function p(t){return 62===t?(e.exit(\"chunkString\"),e.exit(s),f(t)):null===t||60===t||rt(t)?n(t):(e.consume(t),92===t?d:p)}function d(t){return 60===t||62===t||92===t?(e.consume(t),p):p(t)}function h(i){return 40===i?++c>l?n(i):(e.consume(i),h):41===i?c--?(e.consume(i),h):(e.exit(\"chunkString\"),e.exit(s),e.exit(a),e.exit(r),t(i)):null===i||nt(i)?c?n(i):(e.exit(\"chunkString\"),e.exit(s),e.exit(a),e.exit(r),t(i)):tt(i)?n(i):(e.consume(i),92===i?m:h)}function m(t){return 40===t||41===t||92===t?(e.consume(t),h):h(t)}}function Ot(e,t,n,r,i,o){const a=this;let s,u=0;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(o),l};function l(f){return null===f||91===f||93===f&&!s||94===f&&!u&&\"_hiddenFootnoteSupport\"in a.parser.constructs||u>999?n(f):93===f?(e.exit(o),e.enter(i),e.consume(f),e.exit(i),e.exit(r),t):rt(f)?(e.enter(\"lineEnding\"),e.consume(f),e.exit(\"lineEnding\"),l):(e.enter(\"chunkString\",{contentType:\"string\"}),c(f))}function c(t){return null===t||91===t||93===t||rt(t)||u++>999?(e.exit(\"chunkString\"),l(t)):(e.consume(t),s=s||!it(t),92===t?f:c)}function f(t){return 91===t||92===t||93===t?(e.consume(t),u++,c):c(t)}}function Lt(e,t,n,r,i,o){let a;return function(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),a=40===t?41:t,s};function s(n){return n===a?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(o),u(n))}function u(t){return t===a?(e.exit(o),s(a)):null===t?n(t):rt(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),ut(e,u,\"linePrefix\")):(e.enter(\"chunkString\",{contentType:\"string\"}),l(t))}function l(t){return t===a||null===t||rt(t)?(e.exit(\"chunkString\"),u(t)):(e.consume(t),92===t?c:l)}function c(t){return t===a||92===t?(e.consume(t),l):l(t)}}function Nt(e,t){let n;return function r(i){return rt(i)?(e.enter(\"lineEnding\"),e.consume(i),e.exit(\"lineEnding\"),n=!0,r):it(i)?ut(e,r,n?\"linePrefix\":\"lineSuffix\")(i):t(i)}}function Ft(e){return e.replace(/[\\t\\n\\r ]+/g,\" \").replace(/^ | $/g,\"\").toLowerCase().toUpperCase()}const Rt={name:\"definition\",tokenize:function(e,t,n){const r=this;let i;return function(t){return e.enter(\"definition\"),Ot.call(r,e,o,n,\"definitionLabel\",\"definitionLabelMarker\",\"definitionLabelString\")(t)};function o(t){return i=Ft(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter(\"definitionMarker\"),e.consume(t),e.exit(\"definitionMarker\"),Nt(e,Pt(e,e.attempt(It,ut(e,a,\"whitespace\"),ut(e,a,\"whitespace\")),n,\"definitionDestination\",\"definitionDestinationLiteral\",\"definitionDestinationLiteralMarker\",\"definitionDestinationRaw\",\"definitionDestinationString\"))):n(t)}function a(o){return null===o||rt(o)?(e.exit(\"definition\"),r.parser.defined.includes(i)||r.parser.defined.push(i),t(o)):n(o)}}},It={tokenize:function(e,t,n){return function(t){return nt(t)?Nt(e,r)(t):n(t)};function r(t){return 34===t||39===t||40===t?Lt(e,ut(e,i,\"whitespace\"),n,\"definitionTitle\",\"definitionTitleMarker\",\"definitionTitleString\")(t):n(t)}function i(e){return null===e||rt(e)?t(e):n(e)}},partial:!0},jt={name:\"codeIndented\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"codeIndented\"),ut(e,i,\"linePrefix\",5)(t)};function i(e){const t=r.events[r.events.length-1];return t&&\"linePrefix\"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return null===t?s(t):rt(t)?e.attempt(Bt,o,s)(t):(e.enter(\"codeFlowValue\"),a(t))}function a(t){return null===t||rt(t)?(e.exit(\"codeFlowValue\"),o(t)):(e.consume(t),a)}function s(n){return e.exit(\"codeIndented\"),t(n)}}},Bt={tokenize:function(e,t,n){const r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):rt(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),i):ut(e,o,\"linePrefix\",5)(t)}function o(e){const o=r.events[r.events.length-1];return o&&\"linePrefix\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length>=4?t(e):rt(e)?i(e):n(e)}},partial:!0},qt={name:\"headingAtx\",tokenize:function(e,t,n){const r=this;let i=0;return function(t){return e.enter(\"atxHeading\"),e.enter(\"atxHeadingSequence\"),o(t)};function o(s){return 35===s&&i++<6?(e.consume(s),o):null===s||nt(s)?(e.exit(\"atxHeadingSequence\"),r.interrupt?t(s):a(s)):n(s)}function a(n){return 35===n?(e.enter(\"atxHeadingSequence\"),s(n)):null===n||rt(n)?(e.exit(\"atxHeading\"),t(n)):it(n)?ut(e,a,\"whitespace\")(n):(e.enter(\"atxHeadingText\"),u(n))}function s(t){return 35===t?(e.consume(t),s):(e.exit(\"atxHeadingSequence\"),a(t))}function u(t){return null===t||35===t||nt(t)?(e.exit(\"atxHeadingText\"),a(t)):(e.consume(t),u)}},resolve:function(e,t){let n,r,i=e.length-2,o=3;return\"whitespace\"===e[o][1].type&&(o+=2),i-2>o&&\"whitespace\"===e[i][1].type&&(i-=2),\"atxHeadingSequence\"===e[i][1].type&&(o===i-1||i-4>o&&\"whitespace\"===e[i-2][1].type)&&(i-=o+1===i?2:4),i>o&&(n={type:\"atxHeadingText\",start:e[o][1].start,end:e[i][1].end},r={type:\"chunkText\",start:e[o][1].start,end:e[i][1].end,contentType:\"text\"},We(e,o,i-o+1,[[\"enter\",n,t],[\"enter\",r,t],[\"exit\",r,t],[\"exit\",n,t]])),e}},zt={name:\"setextUnderline\",tokenize:function(e,t,n){const r=this;let i,o,a=r.events.length;for(;a--;)if(\"lineEnding\"!==r.events[a][1].type&&\"linePrefix\"!==r.events[a][1].type&&\"content\"!==r.events[a][1].type){o=\"paragraph\"===r.events[a][1].type;break}return function(t){return r.parser.lazy[r.now().line]||!r.interrupt&&!o?n(t):(e.enter(\"setextHeadingLine\"),e.enter(\"setextHeadingLineSequence\"),i=t,s(t))};function s(t){return t===i?(e.consume(t),s):(e.exit(\"setextHeadingLineSequence\"),ut(e,u,\"lineSuffix\")(t))}function u(r){return null===r||rt(r)?(e.exit(\"setextHeadingLine\"),t(r)):n(r)}},resolveTo:function(e,t){let n,r,i,o=e.length;for(;o--;)if(\"enter\"===e[o][0]){if(\"content\"===e[o][1].type){n=o;break}\"paragraph\"===e[o][1].type&&(r=o)}else\"content\"===e[o][1].type&&e.splice(o,1),i||\"definition\"!==e[o][1].type||(i=o);const a={type:\"setextHeading\",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[r][1].type=\"setextHeadingText\",i?(e.splice(r,0,[\"enter\",a,t]),e.splice(i+1,0,[\"exit\",e[n][1],t]),e[n][1].end=Object.assign({},e[i][1].end)):e[n][1]=a,e.push([\"exit\",a,t]),e}},Vt=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"section\",\"source\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"],Ut=[\"pre\",\"script\",\"style\",\"textarea\"],Wt={name:\"htmlFlow\",tokenize:function(e,t,n){const r=this;let i,o,a,s,u;return function(t){return e.enter(\"htmlFlow\"),e.enter(\"htmlFlowData\"),e.consume(t),l};function l(s){return 33===s?(e.consume(s),c):47===s?(e.consume(s),d):63===s?(e.consume(s),i=3,r.interrupt?t:N):$e(s)?(e.consume(s),a=String.fromCharCode(s),o=!0,h):n(s)}function c(o){return 45===o?(e.consume(o),i=2,f):91===o?(e.consume(o),i=5,a=\"CDATA[\",s=0,p):$e(o)?(e.consume(o),i=4,r.interrupt?t:N):n(o)}function f(i){return 45===i?(e.consume(i),r.interrupt?t:N):n(i)}function p(i){return i===a.charCodeAt(s++)?(e.consume(i),s===a.length?r.interrupt?t:A:p):n(i)}function d(t){return $e(t)?(e.consume(t),a=String.fromCharCode(t),h):n(t)}function h(s){return null===s||47===s||62===s||nt(s)?47!==s&&o&&Ut.includes(a.toLowerCase())?(i=1,r.interrupt?t(s):A(s)):Vt.includes(a.toLowerCase())?(i=6,47===s?(e.consume(s),m):r.interrupt?t(s):A(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):o?v(s):y(s)):45===s||Je(s)?(e.consume(s),a+=String.fromCharCode(s),h):n(s)}function m(i){return 62===i?(e.consume(i),r.interrupt?t:A):n(i)}function y(t){return it(t)?(e.consume(t),y):S(t)}function v(t){return 47===t?(e.consume(t),S):58===t||95===t||$e(t)?(e.consume(t),g):it(t)?(e.consume(t),v):S(t)}function g(t){return 45===t||46===t||58===t||95===t||Je(t)?(e.consume(t),g):b(t)}function b(t){return 61===t?(e.consume(t),x):it(t)?(e.consume(t),b):v(t)}function x(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),u=t,_):it(t)?(e.consume(t),x):(u=null,w(t))}function _(t){return null===t||rt(t)?n(t):t===u?(e.consume(t),E):(e.consume(t),_)}function w(t){return null===t||34===t||39===t||60===t||61===t||62===t||96===t||nt(t)?b(t):(e.consume(t),w)}function E(e){return 47===e||62===e||it(e)?v(e):n(e)}function S(t){return 62===t?(e.consume(t),k):n(t)}function k(t){return it(t)?(e.consume(t),k):null===t||rt(t)?A(t):n(t)}function A(t){return 45===t&&2===i?(e.consume(t),M):60===t&&1===i?(e.consume(t),P):62===t&&4===i?(e.consume(t),F):63===t&&3===i?(e.consume(t),N):93===t&&5===i?(e.consume(t),L):!rt(t)||6!==i&&7!==i?null===t||rt(t)?C(t):(e.consume(t),A):e.check(Yt,F,C)(t)}function C(t){return e.exit(\"htmlFlowData\"),T(t)}function T(t){return null===t?R(t):rt(t)?e.attempt({tokenize:D,partial:!0},T,R)(t):(e.enter(\"htmlFlowData\"),A(t))}function D(e,t,n){return function(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),i};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function M(t){return 45===t?(e.consume(t),N):A(t)}function P(t){return 47===t?(e.consume(t),a=\"\",O):A(t)}function O(t){return 62===t&&Ut.includes(a.toLowerCase())?(e.consume(t),F):$e(t)&&a.length<8?(e.consume(t),a+=String.fromCharCode(t),O):A(t)}function L(t){return 93===t?(e.consume(t),N):A(t)}function N(t){return 62===t?(e.consume(t),F):45===t&&2===i?(e.consume(t),N):A(t)}function F(t){return null===t||rt(t)?(e.exit(\"htmlFlowData\"),R(t)):(e.consume(t),F)}function R(n){return e.exit(\"htmlFlow\"),t(n)}},resolveTo:function(e){let t=e.length;for(;t--&&(\"enter\"!==e[t][0]||\"htmlFlow\"!==e[t][1].type););return t>1&&\"linePrefix\"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},concrete:!0},Yt={tokenize:function(e,t,n){return function(r){return e.exit(\"htmlFlowData\"),e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),e.attempt(pt,t,n)}},partial:!0},Xt={name:\"codeFenced\",tokenize:function(e,t,n){const r=this,i={tokenize:function(e,t,n){let r=0;return ut(e,(function(t){return e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),i(t)}),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4);function i(t){return t===u?(e.consume(t),r++,i):r<l?n(t):(e.exit(\"codeFencedFenceSequence\"),ut(e,o,\"whitespace\")(t))}function o(r){return null===r||rt(r)?(e.exit(\"codeFencedFence\"),t(r)):n(r)}},partial:!0},o={tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),i};function i(e){return r.parser.lazy[r.now().line]?n(e):t(e)}},partial:!0},a=this.events[this.events.length-1],s=a&&\"linePrefix\"===a[1].type?a[2].sliceSerialize(a[1],!0).length:0;let u,l=0;return function(t){return e.enter(\"codeFenced\"),e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),u=t,c(t)};function c(t){return t===u?(e.consume(t),l++,c):(e.exit(\"codeFencedFenceSequence\"),l<3?n(t):ut(e,f,\"whitespace\")(t))}function f(t){return null===t||rt(t)?m(t):(e.enter(\"codeFencedFenceInfo\"),e.enter(\"chunkString\",{contentType:\"string\"}),p(t))}function p(t){return null===t||nt(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),ut(e,d,\"whitespace\")(t)):96===t&&t===u?n(t):(e.consume(t),p)}function d(t){return null===t||rt(t)?m(t):(e.enter(\"codeFencedFenceMeta\"),e.enter(\"chunkString\",{contentType:\"string\"}),h(t))}function h(t){return null===t||rt(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceMeta\"),m(t)):96===t&&t===u?n(t):(e.consume(t),h)}function m(n){return e.exit(\"codeFencedFence\"),r.interrupt?t(n):y(n)}function y(t){return null===t?g(t):rt(t)?e.attempt(o,e.attempt(i,g,s?ut(e,y,\"linePrefix\",s+1):y),g)(t):(e.enter(\"codeFlowValue\"),v(t))}function v(t){return null===t||rt(t)?(e.exit(\"codeFlowValue\"),y(t)):(e.consume(t),v)}function g(n){return e.exit(\"codeFenced\"),t(n)}},concrete:!0},Ht=document.createElement(\"i\");function Gt(e){const t=\"&\"+e+\";\";Ht.innerHTML=t;const n=Ht.textContent;return(59!==n.charCodeAt(n.length-1)||\"semi\"===e)&&n!==t&&n}const $t={name:\"characterReference\",tokenize:function(e,t,n){const r=this;let i,o,a=0;return function(t){return e.enter(\"characterReference\"),e.enter(\"characterReferenceMarker\"),e.consume(t),e.exit(\"characterReferenceMarker\"),s};function s(t){return 35===t?(e.enter(\"characterReferenceMarkerNumeric\"),e.consume(t),e.exit(\"characterReferenceMarkerNumeric\"),u):(e.enter(\"characterReferenceValue\"),i=31,o=Je,l(t))}function u(t){return 88===t||120===t?(e.enter(\"characterReferenceMarkerHexadecimal\"),e.consume(t),e.exit(\"characterReferenceMarkerHexadecimal\"),e.enter(\"characterReferenceValue\"),i=6,o=Ze,l):(e.enter(\"characterReferenceValue\"),i=7,o=Ke,l(t))}function l(s){let u;return 59===s&&a?(u=e.exit(\"characterReferenceValue\"),o!==Je||Gt(r.sliceSerialize(u))?(e.enter(\"characterReferenceMarker\"),e.consume(s),e.exit(\"characterReferenceMarker\"),e.exit(\"characterReference\"),t):n(s)):o(s)&&a++<i?(e.consume(s),l):n(s)}}},Kt={name:\"characterEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"characterEscape\"),e.enter(\"escapeMarker\"),e.consume(t),e.exit(\"escapeMarker\"),r};function r(r){return Qe(r)?(e.enter(\"characterEscapeValue\"),e.consume(r),e.exit(\"characterEscapeValue\"),e.exit(\"characterEscape\"),t):n(r)}}},Zt={name:\"lineEnding\",tokenize:function(e,t){return function(n){return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),ut(e,t,\"linePrefix\")}}},Jt={name:\"labelEnd\",tokenize:function(e,t,n){const r=this;let i,o,a=r.events.length;for(;a--;)if((\"labelImage\"===r.events[a][1].type||\"labelLink\"===r.events[a][1].type)&&!r.events[a][1]._balanced){i=r.events[a][1];break}return function(t){return i?i._inactive?u(t):(o=r.parser.defined.includes(Ft(r.sliceSerialize({start:i.end,end:r.now()}))),e.enter(\"labelEnd\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelEnd\"),s):n(t)};function s(n){return 40===n?e.attempt(Qt,t,o?t:u)(n):91===n?e.attempt(en,t,o?e.attempt(tn,t,u):u)(n):o?t(n):u(n)}function u(e){return i._balanced=!0,n(e)}},resolveTo:function(e,t){let n,r,i,o,a=e.length,s=0;for(;a--;)if(n=e[a][1],r){if(\"link\"===n.type||\"labelLink\"===n.type&&n._inactive)break;\"enter\"===e[a][0]&&\"labelLink\"===n.type&&(n._inactive=!0)}else if(i){if(\"enter\"===e[a][0]&&(\"labelImage\"===n.type||\"labelLink\"===n.type)&&!n._balanced&&(r=a,\"labelLink\"!==n.type)){s=2;break}}else\"labelEnd\"===n.type&&(i=a);const u={type:\"labelLink\"===e[r][1].type?\"link\":\"image\",start:Object.assign({},e[r][1].start),end:Object.assign({},e[e.length-1][1].end)},l={type:\"label\",start:Object.assign({},e[r][1].start),end:Object.assign({},e[i][1].end)},c={type:\"labelText\",start:Object.assign({},e[r+s+2][1].end),end:Object.assign({},e[i-2][1].start)};return o=[[\"enter\",u,t],[\"enter\",l,t]],o=Ye(o,e.slice(r+1,r+s+3)),o=Ye(o,[[\"enter\",c,t]]),o=Ye(o,St(t.parser.constructs.insideSpan.null,e.slice(r+s+4,i-3),t)),o=Ye(o,[[\"exit\",c,t],e[i-2],e[i-1],[\"exit\",l,t]]),o=Ye(o,e.slice(i+1)),o=Ye(o,[[\"exit\",u,t]]),We(e,r,e.length,o),e},resolveAll:function(e){let t,n=-1;for(;++n<e.length;)t=e[n][1],\"labelImage\"!==t.type&&\"labelLink\"!==t.type&&\"labelEnd\"!==t.type||(e.splice(n+1,\"labelImage\"===t.type?4:2),t.type=\"data\",n++);return e}},Qt={tokenize:function(e,t,n){return function(t){return e.enter(\"resource\"),e.enter(\"resourceMarker\"),e.consume(t),e.exit(\"resourceMarker\"),Nt(e,r)};function r(t){return 41===t?a(t):Pt(e,i,n,\"resourceDestination\",\"resourceDestinationLiteral\",\"resourceDestinationLiteralMarker\",\"resourceDestinationRaw\",\"resourceDestinationString\",32)(t)}function i(t){return nt(t)?Nt(e,o)(t):a(t)}function o(t){return 34===t||39===t||40===t?Lt(e,Nt(e,a),n,\"resourceTitle\",\"resourceTitleMarker\",\"resourceTitleString\")(t):a(t)}function a(r){return 41===r?(e.enter(\"resourceMarker\"),e.consume(r),e.exit(\"resourceMarker\"),e.exit(\"resource\"),t):n(r)}}},en={tokenize:function(e,t,n){const r=this;return function(t){return Ot.call(r,e,i,n,\"reference\",\"referenceMarker\",\"referenceString\")(t)};function i(e){return r.parser.defined.includes(Ft(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}}},tn={tokenize:function(e,t,n){return function(t){return e.enter(\"reference\"),e.enter(\"referenceMarker\"),e.consume(t),e.exit(\"referenceMarker\"),r};function r(r){return 93===r?(e.enter(\"referenceMarker\"),e.consume(r),e.exit(\"referenceMarker\"),e.exit(\"reference\"),t):n(r)}}},nn={name:\"labelStartImage\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelImage\"),e.enter(\"labelImageMarker\"),e.consume(t),e.exit(\"labelImageMarker\"),i};function i(t){return 91===t?(e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelImage\"),o):n(t)}function o(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}},resolveAll:Jt.resolveAll};function rn(e){return null===e||nt(e)||ot(e)?1:at(e)?2:void 0}const on={name:\"attention\",tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=rn(r);let o;return function(t){return e.enter(\"attentionSequence\"),o=t,a(t)};function a(s){if(s===o)return e.consume(s),a;const u=e.exit(\"attentionSequence\"),l=rn(s),c=!l||2===l&&i||n.includes(s),f=!i||2===i&&l||n.includes(r);return u._open=Boolean(42===o?c:c&&(i||!f)),u._close=Boolean(42===o?f:f&&(l||!c)),t(s)}},resolveAll:function(e,t){let n,r,i,o,a,s,u,l,c=-1;for(;++c<e.length;)if(\"enter\"===e[c][0]&&\"attentionSequence\"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if(\"exit\"===e[n][0]&&\"attentionSequence\"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;s=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const f=Object.assign({},e[n][1].end),p=Object.assign({},e[c][1].start);an(f,-s),an(p,s),o={type:s>1?\"strongSequence\":\"emphasisSequence\",start:f,end:Object.assign({},e[n][1].end)},a={type:s>1?\"strongSequence\":\"emphasisSequence\",start:Object.assign({},e[c][1].start),end:p},i={type:s>1?\"strongText\":\"emphasisText\",start:Object.assign({},e[n][1].end),end:Object.assign({},e[c][1].start)},r={type:s>1?\"strong\":\"emphasis\",start:Object.assign({},o.start),end:Object.assign({},a.end)},e[n][1].end=Object.assign({},o.start),e[c][1].start=Object.assign({},a.end),u=[],e[n][1].end.offset-e[n][1].start.offset&&(u=Ye(u,[[\"enter\",e[n][1],t],[\"exit\",e[n][1],t]])),u=Ye(u,[[\"enter\",r,t],[\"enter\",o,t],[\"exit\",o,t],[\"enter\",i,t]]),u=Ye(u,St(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),u=Ye(u,[[\"exit\",i,t],[\"enter\",a,t],[\"exit\",a,t],[\"exit\",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(l=2,u=Ye(u,[[\"enter\",e[c][1],t],[\"exit\",e[c][1],t]])):l=0,We(e,n-1,c-n+3,u),c=n+u.length-l-2;break}for(c=-1;++c<e.length;)\"attentionSequence\"===e[c][1].type&&(e[c][1].type=\"data\");return e}};function an(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const sn={name:\"autolink\",tokenize:function(e,t,n){let r=1;return function(t){return e.enter(\"autolink\"),e.enter(\"autolinkMarker\"),e.consume(t),e.exit(\"autolinkMarker\"),e.enter(\"autolinkProtocol\"),i};function i(t){return $e(t)?(e.consume(t),o):et(t)?u(t):n(t)}function o(e){return 43===e||45===e||46===e||Je(e)?a(e):u(e)}function a(t){return 58===t?(e.consume(t),s):(43===t||45===t||46===t||Je(t))&&r++<32?(e.consume(t),a):u(t)}function s(t){return 62===t?(e.exit(\"autolinkProtocol\"),p(t)):null===t||32===t||60===t||tt(t)?n(t):(e.consume(t),s)}function u(t){return 64===t?(e.consume(t),r=0,l):et(t)?(e.consume(t),u):n(t)}function l(e){return Je(e)?c(e):n(e)}function c(t){return 46===t?(e.consume(t),r=0,l):62===t?(e.exit(\"autolinkProtocol\").type=\"autolinkEmail\",p(t)):f(t)}function f(t){return(45===t||Je(t))&&r++<63?(e.consume(t),45===t?f:c):n(t)}function p(n){return e.enter(\"autolinkMarker\"),e.consume(n),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t}}},un={name:\"htmlText\",tokenize:function(e,t,n){const r=this;let i,o,a,s;return function(t){return e.enter(\"htmlText\"),e.enter(\"htmlTextData\"),e.consume(t),u};function u(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),w):63===t?(e.consume(t),x):$e(t)?(e.consume(t),k):n(t)}function l(t){return 45===t?(e.consume(t),c):91===t?(e.consume(t),o=\"CDATA[\",a=0,m):$e(t)?(e.consume(t),b):n(t)}function c(t){return 45===t?(e.consume(t),f):n(t)}function f(t){return null===t||62===t?n(t):45===t?(e.consume(t),p):d(t)}function p(e){return null===e||62===e?n(e):d(e)}function d(t){return null===t?n(t):45===t?(e.consume(t),h):rt(t)?(s=d,L(t)):(e.consume(t),d)}function h(t){return 45===t?(e.consume(t),F):d(t)}function m(t){return t===o.charCodeAt(a++)?(e.consume(t),a===o.length?y:m):n(t)}function y(t){return null===t?n(t):93===t?(e.consume(t),v):rt(t)?(s=y,L(t)):(e.consume(t),y)}function v(t){return 93===t?(e.consume(t),g):y(t)}function g(t){return 62===t?F(t):93===t?(e.consume(t),g):y(t)}function b(t){return null===t||62===t?F(t):rt(t)?(s=b,L(t)):(e.consume(t),b)}function x(t){return null===t?n(t):63===t?(e.consume(t),_):rt(t)?(s=x,L(t)):(e.consume(t),x)}function _(e){return 62===e?F(e):x(e)}function w(t){return $e(t)?(e.consume(t),E):n(t)}function E(t){return 45===t||Je(t)?(e.consume(t),E):S(t)}function S(t){return rt(t)?(s=S,L(t)):it(t)?(e.consume(t),S):F(t)}function k(t){return 45===t||Je(t)?(e.consume(t),k):47===t||62===t||nt(t)?A(t):n(t)}function A(t){return 47===t?(e.consume(t),F):58===t||95===t||$e(t)?(e.consume(t),C):rt(t)?(s=A,L(t)):it(t)?(e.consume(t),A):F(t)}function C(t){return 45===t||46===t||58===t||95===t||Je(t)?(e.consume(t),C):T(t)}function T(t){return 61===t?(e.consume(t),D):rt(t)?(s=T,L(t)):it(t)?(e.consume(t),T):A(t)}function D(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),i=t,M):rt(t)?(s=D,L(t)):it(t)?(e.consume(t),D):(e.consume(t),i=void 0,O)}function M(t){return t===i?(e.consume(t),P):null===t?n(t):rt(t)?(s=M,L(t)):(e.consume(t),M)}function P(e){return 62===e||47===e||nt(e)?A(e):n(e)}function O(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):62===t||nt(t)?A(t):(e.consume(t),O)}function L(t){return e.exit(\"htmlTextData\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),ut(e,N,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}function N(t){return e.enter(\"htmlTextData\"),s(t)}function F(r){return 62===r?(e.consume(r),e.exit(\"htmlTextData\"),e.exit(\"htmlText\"),t):n(r)}}},ln={name:\"labelStartLink\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelLink\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelLink\"),i};function i(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}},resolveAll:Jt.resolveAll},cn={name:\"hardBreakEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"hardBreakEscape\"),e.enter(\"escapeMarker\"),e.consume(t),r};function r(r){return rt(r)?(e.exit(\"escapeMarker\"),e.exit(\"hardBreakEscape\"),t(r)):n(r)}}},fn={name:\"codeText\",tokenize:function(e,t,n){let r,i,o=0;return function(t){return e.enter(\"codeText\"),e.enter(\"codeTextSequence\"),a(t)};function a(t){return 96===t?(e.consume(t),o++,a):(e.exit(\"codeTextSequence\"),s(t))}function s(t){return null===t?n(t):96===t?(i=e.enter(\"codeTextSequence\"),r=0,l(t)):32===t?(e.enter(\"space\"),e.consume(t),e.exit(\"space\"),s):rt(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),s):(e.enter(\"codeTextData\"),u(t))}function u(t){return null===t||32===t||96===t||rt(t)?(e.exit(\"codeTextData\"),s(t)):(e.consume(t),u)}function l(n){return 96===n?(e.consume(n),r++,l):r===o?(e.exit(\"codeTextSequence\"),e.exit(\"codeText\"),t(n)):(i.type=\"codeTextData\",u(n))}},resolve:function(e){let t,n,r=e.length-4,i=3;if(!(\"lineEnding\"!==e[i][1].type&&\"space\"!==e[i][1].type||\"lineEnding\"!==e[r][1].type&&\"space\"!==e[r][1].type))for(t=i;++t<r;)if(\"codeTextData\"===e[t][1].type){e[i][1].type=\"codeTextPadding\",e[r][1].type=\"codeTextPadding\",i+=2,r-=2;break}for(t=i-1,r++;++t<=r;)void 0===n?t!==r&&\"lineEnding\"!==e[t][1].type&&(n=t):t!==r&&\"lineEnding\"!==e[t][1].type||(e[n][1].type=\"codeTextData\",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},previous:function(e){return 96!==e||\"characterEscape\"===this.events[this.events.length-1][1].type}},pn={42:Ct,43:Ct,45:Ct,48:Ct,49:Ct,50:Ct,51:Ct,52:Ct,53:Ct,54:Ct,55:Ct,56:Ct,57:Ct,62:Mt},dn={91:Rt},hn={[-2]:jt,[-1]:jt,32:jt},mn={35:qt,42:At,45:[zt,At],60:Wt,61:zt,95:At,96:Xt,126:Xt},yn={38:$t,92:Kt},vn={[-5]:Zt,[-4]:Zt,[-3]:Zt,33:nn,38:$t,42:on,60:[sn,un],91:ln,92:[cn,Kt],93:Jt,95:on,96:fn},gn={null:[on,gt]},bn={null:[42,95]},xn={null:[]};const _n=/[\\0\\t\\n\\r]/g;function wn(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||65535==(65535&n)||65534==(65535&n)||n>1114111?\"�\":String.fromCharCode(n)}const En=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function Sn(e){return e.replace(En,kn)}function kn(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return wn(n.slice(t?2:1),t?16:10)}return Gt(n)||e}const An={}.hasOwnProperty,Cn=function(t,n,r){return\"string\"!=typeof n&&(r=n,n=void 0),function(e={}){const t=Tn({transforms:[],canContainEols:[\"emphasis\",\"fragment\",\"heading\",\"paragraph\",\"strong\"],enter:{autolink:s(_),autolinkProtocol:d,autolinkEmail:d,atxHeading:s(g),blockQuote:s((function(){return{type:\"blockquote\",children:[]}})),characterEscape:d,characterReference:d,codeFenced:s(v),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:s(v,u),codeText:s((function(){return{type:\"inlineCode\",value:\"\"}}),u),codeTextData:d,data:d,codeFlowValue:d,definition:s((function(){return{type:\"definition\",identifier:\"\",label:null,title:null,url:\"\"}})),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:s((function(){return{type:\"emphasis\",children:[]}})),hardBreakEscape:s(b),hardBreakTrailing:s(b),htmlFlow:s(x,u),htmlFlowData:d,htmlText:s(x,u),htmlTextData:d,image:s((function(){return{type:\"image\",title:null,url:\"\",alt:null}})),label:u,link:s(_),listItem:s((function(e){return{type:\"listItem\",spread:e._spread,checked:null,children:[]}})),listItemValue:function(e){o(\"expectingFirstListItemValue\")&&(this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),i(\"expectingFirstListItemValue\"))},listOrdered:s(w,(function(){i(\"expectingFirstListItemValue\",!0)})),listUnordered:s(w),paragraph:s((function(){return{type:\"paragraph\",children:[]}})),reference:function(){i(\"referenceType\",\"collapsed\")},referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:s(g),strong:s((function(){return{type:\"strong\",children:[]}})),thematicBreak:s((function(){return{type:\"thematicBreak\"}}))},exit:{atxHeading:c(),atxHeadingSequence:function(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}},autolink:c(),autolinkEmail:function(e){h.call(this,e),this.stack[this.stack.length-1].url=\"mailto:\"+this.sliceSerialize(e)},autolinkProtocol:function(e){h.call(this,e),this.stack[this.stack.length-1].url=this.sliceSerialize(e)},blockQuote:c(),characterEscapeValue:h,characterReferenceMarkerHexadecimal:y,characterReferenceMarkerNumeric:y,characterReferenceValue:function(e){const t=this.sliceSerialize(e),n=o(\"characterReferenceType\");let r;n?(r=wn(t,\"characterReferenceMarkerNumeric\"===n?10:16),i(\"characterReferenceType\")):r=Gt(t);const s=this.stack.pop();s.value+=r,s.position.end=a(e.end)},codeFenced:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\"\"),i(\"flowCodeInside\")})),codeFencedFence:function(){o(\"flowCodeInside\")||(this.buffer(),i(\"flowCodeInside\",!0))},codeFencedFenceInfo:function(){const e=this.resume();this.stack[this.stack.length-1].lang=e},codeFencedFenceMeta:function(){const e=this.resume();this.stack[this.stack.length-1].meta=e},codeFlowValue:h,codeIndented:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\\r?\\n|\\r)$/g,\"\")})),codeText:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),codeTextData:h,data:h,definition:c(),definitionDestinationString:function(){const e=this.resume();this.stack[this.stack.length-1].url=e},definitionLabelString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Ft(this.sliceSerialize(e)).toLowerCase()},definitionTitleString:function(){const e=this.resume();this.stack[this.stack.length-1].title=e},emphasis:c(),hardBreakEscape:c(m),hardBreakTrailing:c(m),htmlFlow:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),htmlFlowData:h,htmlText:c((function(){const e=this.resume();this.stack[this.stack.length-1].value=e})),htmlTextData:h,image:c((function(){const e=this.stack[this.stack.length-1];o(\"inReference\")?(e.type+=\"Reference\",e.referenceType=o(\"referenceType\")||\"shortcut\",delete e.url,delete e.title):(delete e.identifier,delete e.label),i(\"referenceType\")})),label:function(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];i(\"inReference\",!0),\"link\"===n.type?n.children=e.children:n.alt=t},labelText:function(e){const t=this.stack[this.stack.length-2],n=this.sliceSerialize(e);t.label=Sn(n),t.identifier=Ft(n).toLowerCase()},lineEnding:function(e){const n=this.stack[this.stack.length-1];if(o(\"atHardBreak\"))return n.children[n.children.length-1].position.end=a(e.end),void i(\"atHardBreak\");!o(\"setextHeadingSlurpLineEnding\")&&t.canContainEols.includes(n.type)&&(d.call(this,e),h.call(this,e))},link:c((function(){const e=this.stack[this.stack.length-1];o(\"inReference\")?(e.type+=\"Reference\",e.referenceType=o(\"referenceType\")||\"shortcut\",delete e.url,delete e.title):(delete e.identifier,delete e.label),i(\"referenceType\")})),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:function(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=Ft(this.sliceSerialize(e)).toLowerCase(),i(\"referenceType\",\"full\")},resourceDestinationString:function(){const e=this.resume();this.stack[this.stack.length-1].url=e},resourceTitleString:function(){const e=this.resume();this.stack[this.stack.length-1].title=e},resource:function(){i(\"inReference\")},setextHeading:c((function(){i(\"setextHeadingSlurpLineEnding\")})),setextHeadingLineSequence:function(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).charCodeAt(0)?1:2},setextHeadingText:function(){i(\"setextHeadingSlurpLineEnding\",!0)},strong:c(),thematicBreak:c()}},e.mdastExtensions||[]),n={};return function(e){let n={type:\"root\",children:[]};const s=[],c=[],d={stack:[n],tokenStack:s,config:t,enter:l,exit:f,buffer:u,resume:p,setData:i,getData:o};let h=-1;for(;++h<e.length;)\"listOrdered\"!==e[h][1].type&&\"listUnordered\"!==e[h][1].type||(\"enter\"===e[h][0]?c.push(h):h=r(e,c.pop(),h));for(h=-1;++h<e.length;){const n=t[e[h][0]];An.call(n,e[h][1].type)&&n[e[h][1].type].call(Object.assign({sliceSerialize:e[h][2].sliceSerialize},d),e[h][1])}if(s.length>0){const e=s[s.length-1];(e[1]||Mn).call(d,void 0,e[0])}for(n.position={start:a(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:a(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},h=-1;++h<t.transforms.length;)n=t.transforms[h](n)||n;return n};function r(e,t,n){let r,i,o,a,s=t-1,u=-1,l=!1;for(;++s<=n;){const t=e[s];if(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type||\"blockQuote\"===t[1].type?(\"enter\"===t[0]?u++:u--,a=void 0):\"lineEndingBlank\"===t[1].type?\"enter\"===t[0]&&(!r||a||u||o||(o=s),a=void 0):\"linePrefix\"===t[1].type||\"listItemValue\"===t[1].type||\"listItemMarker\"===t[1].type||\"listItemPrefix\"===t[1].type||\"listItemPrefixWhitespace\"===t[1].type||(a=void 0),!u&&\"enter\"===t[0]&&\"listItemPrefix\"===t[1].type||-1===u&&\"exit\"===t[0]&&(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type)){if(r){let a=s;for(i=void 0;a--;){const t=e[a];if(\"lineEnding\"===t[1].type||\"lineEndingBlank\"===t[1].type){if(\"exit\"===t[0])continue;i&&(e[i][1].type=\"lineEndingBlank\",l=!0),t[1].type=\"lineEnding\",i=a}else if(\"linePrefix\"!==t[1].type&&\"blockQuotePrefix\"!==t[1].type&&\"blockQuotePrefixWhitespace\"!==t[1].type&&\"blockQuoteMarker\"!==t[1].type&&\"listItemIndent\"!==t[1].type)break}o&&(!i||o<i)&&(r._spread=!0),r.end=Object.assign({},i?e[i][1].start:t[1].end),e.splice(i||s,0,[\"exit\",r,t[2]]),s++,n++}\"listItemPrefix\"===t[1].type&&(r={type:\"listItem\",_spread:!1,start:Object.assign({},t[1].start)},e.splice(s,0,[\"enter\",r,t[2]]),s++,n++,o=void 0,a=!0)}}return e[t][1]._spread=l,n}function i(e,t){n[e]=t}function o(e){return n[e]}function a(e){return{line:e.line,column:e.column,offset:e.offset}}function s(e,t){return function(n){l.call(this,e(n),n),t&&t.call(this,n)}}function u(){this.stack.push({type:\"fragment\",children:[]})}function l(e,t,n){return this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n]),e.position={start:a(t.start)},e}function c(e){return function(t){e&&e.call(this,t),f.call(this,t)}}function f(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error(\"Cannot close `\"+e.type+\"` (\"+he({start:e.start,end:e.end})+\"): it’s not open\");return r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||Mn).call(this,e,r[0])),n.position.end=a(e.end),n}function p(){return ze(this.stack.pop())}function d(e){const t=this.stack[this.stack.length-1];let n=t.children[t.children.length-1];n&&\"text\"===n.type||(n={type:\"text\",value:\"\"},n.position={start:a(e.start)},t.children.push(n)),this.stack.push(n)}function h(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=a(e.end)}function m(){i(\"atHardBreak\",!0)}function y(e){i(\"characterReferenceType\",e.type)}function v(){return{type:\"code\",lang:null,meta:null,value:\"\"}}function g(){return{type:\"heading\",depth:void 0,children:[]}}function b(){return{type:\"break\"}}function x(){return{type:\"html\",value:\"\"}}function _(){return{type:\"link\",title:null,url:\"\",children:[]}}function w(e){return{type:\"list\",ordered:\"listOrdered\"===e.type,start:null,spread:e._spread,children:[]}}}(r)(function(e){for(;!dt(e););return e}(function(t={}){const n=function(e){const t={};let n=-1;for(;++n<e.length;)He(t,e[n]);return t}([e].concat(t.extensions||[])),r={defined:[],lazy:{},constructs:n,content:i(lt),document:i(ct),flow:i(vt),string:i(bt),text:i(xt)};return r;function i(e){return function(t){return kt(r,e,t)}}}(r).document().write(function(){let e,t=1,n=\"\",r=!0;return function(i,o,a){const s=[];let u,l,c,f,p;for(i=n+i.toString(o),c=0,n=\"\",r&&(65279===i.charCodeAt(0)&&c++,r=void 0);c<i.length;){if(_n.lastIndex=c,u=_n.exec(i),f=u&&void 0!==u.index?u.index:i.length,p=i.charCodeAt(f),!u){n=i.slice(c);break}if(10===p&&c===f&&e)s.push(-3),e=void 0;else switch(e&&(s.push(-5),e=void 0),c<f&&(s.push(i.slice(c,f)),t+=f-c),p){case 0:s.push(65533),t++;break;case 9:for(l=4*Math.ceil(t/4),s.push(-2);t++<l;)s.push(-1);break;case 10:s.push(-4),t=1;break;default:e=!0,t=1}c=f+1}return a&&(e&&s.push(-5),n&&s.push(n),s.push(null)),s}}()(t,n,!0))))};function Tn(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?Tn(e,r):Dn(e,r)}return e}function Dn(e,t){let n;for(n in t)if(An.call(t,n)){const r=\"canContainEols\"===n||\"transforms\"===n,i=(An.call(e,n)?e[n]:void 0)||(e[n]=r?[]:{}),o=t[n];o&&(r?e[n]=[...i,...o]:Object.assign(i,o))}}function Mn(e,t){throw e?new Error(\"Cannot close `\"+e.type+\"` (\"+he({start:e.start,end:e.end})+\"): a different token (`\"+t.type+\"`, \"+he({start:t.start,end:t.end})+\") is open\"):new Error(\"Cannot close document, a token (`\"+t.type+\"`, \"+he({start:t.start,end:t.end})+\") is still open\")}var Pn={}.hasOwnProperty;function On(e,t){let n,r=-1;if(t.extensions)for(;++r<t.extensions.length;)On(e,t.extensions[r]);for(n in t)\"extensions\"===n||(\"unsafe\"===n||\"join\"===n?e[n]=[...e[n]||[],...t[n]||[]]:\"handlers\"===n?e[n]=Object.assign(e[n],t[n]||{}):e.options[n]=t[n]);return e}function Ln(e){const t=e||{},n=t.now||{};let r=t.lineShift||0,i=n.line||1,o=n.column||1;return{move:function(e=\"\"){const t=e.split(/\\r?\\n|\\r/g),n=t[t.length-1];return i+=t.length-1,o=1===t.length?o+n.length:1+n.length+r,e},current:function(){return{now:{line:i,column:o},lineShift:r}},shift:function(e){r+=e}}}function Nn(e,t,n){const r=t.indexStack,i=e.children||[],o=Ln(n),a=[];let s=-1;for(r.push(-1);++s<i.length;){const n=i[s];r[r.length-1]=s,a.push(o.move(t.handle(n,e,t,{before:\"\\n\",after:\"\\n\",...o.current()}))),\"list\"!==n.type&&(t.bulletLastUsed=void 0),s<i.length-1&&a.push(o.move(u(n,i[s+1])))}return r.pop(),a.join(\"\");function u(n,r){let i=t.join.length;for(;i--;){const o=t.join[i](n,r,e,t);if(!0===o||1===o)break;if(\"number\"==typeof o)return\"\\n\".repeat(1+o);if(!1===o)return\"\\n\\n\\x3c!----\\x3e\\n\\n\"}return\"\\n\\n\"}}const Fn=/\\r?\\n|\\r/g;function Rn(e,t){const n=[];let r,i=0,o=0;for(;r=Fn.exec(e);)a(e.slice(i,r.index)),n.push(r[0]),i=r.index+r[0].length,o++;return a(e.slice(i)),n.join(\"\");function a(e){n.push(t(e,o,!e))}}function In(e,t,n){return\">\"+(n?\"\":\" \")+e}function jn(e,t){return Bn(e,t.inConstruct,!0)&&!Bn(e,t.notInConstruct,!1)}function Bn(e,t,n){if(!t)return n;\"string\"==typeof t&&(t=[t]);let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function qn(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(\"\\n\"===n.unsafe[i].character&&jn(n.stack,n.unsafe[i]))return/[ \\t]/.test(r.before)?\"\":\" \";return\"\\\\\\n\"}function zn(e,t){return Boolean(!t.options.fences&&e.value&&!e.lang&&/[^ \\r\\n]/.test(e.value)&&!/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(e.value))}function Vn(e){if(!e._compiled){const t=(e.atBreak?\"[\\\\r\\\\n][\\\\t ]*\":\"\")+(e.before?\"(?:\"+e.before+\")\":\"\");e._compiled=new RegExp((t?\"(\"+t+\")\":\"\")+(/[|\\\\{}()[\\]^$+*?.-]/.test(e.character)?\"\\\\\":\"\")+e.character+(e.after?\"(?:\"+e.after+\")\":\"\"),\"g\")}return e._compiled}function Un(e,t,n){const r=(n.before||\"\")+(t||\"\")+(n.after||\"\"),i=[],o=[],a={};let s=-1;for(;++s<e.unsafe.length;){const t=e.unsafe[s];if(!jn(e.stack,t))continue;const n=Vn(t);let o;for(;o=n.exec(r);){const e=\"before\"in t||Boolean(t.atBreak),n=\"after\"in t,r=o.index+(e?o[1].length:0);i.includes(r)?(a[r].before&&!e&&(a[r].before=!1),a[r].after&&!n&&(a[r].after=!1)):(i.push(r),a[r]={before:e,after:n})}}i.sort(Wn);let u=n.before?n.before.length:0;const l=r.length-(n.after?n.after.length:0);for(s=-1;++s<i.length;){const e=i[s];e<u||e>=l||e+1<l&&i[s+1]===e+1&&a[e].after&&!a[e+1].before&&!a[e+1].after||i[s-1]===e-1&&a[e].before&&!a[e-1].before&&!a[e-1].after||(u!==e&&o.push(Yn(r.slice(u,e),\"\\\\\")),u=e,!/[!-/:-@[-`{-~]/.test(r.charAt(e))||n.encode&&n.encode.includes(r.charAt(e))?(o.push(\"&#x\"+r.charCodeAt(e).toString(16).toUpperCase()+\";\"),u++):o.push(\"\\\\\"))}return o.push(Yn(r.slice(u,l),n.after)),o.join(\"\")}function Wn(e,t){return e-t}function Yn(e,t){const n=/\\\\(?=[!-/:-@[-`{-~])/g,r=[],i=[],o=e+t;let a,s=-1,u=0;for(;a=n.exec(o);)r.push(a.index);for(;++s<r.length;)u!==r[s]&&i.push(e.slice(u,r[s])),i.push(\"\\\\\"),u=r[s];return i.push(e.slice(u)),i.join(\"\")}function Xn(e,t,n){return(n?\"\":\"    \")+e}function Hn(e){return e.label||!e.identifier?e.label||\"\":Sn(e.identifier)}function Gn(e){const t=e.options.quote||'\"';if('\"'!==t&&\"'\"!==t)throw new Error(\"Cannot serialize title with `\"+t+\"` for `options.quote`, expected `\\\"`, or `'`\");return t}function $n(e,t,n){const r=t.indexStack,i=e.children||[],o=[];let a=-1,s=n.before;r.push(-1);let u=Ln(n);for(;++a<i.length;){const l=i[a];let c;if(r[r.length-1]=a,a+1<i.length){let n=t.handle.handlers[i[a+1].type];n&&n.peek&&(n=n.peek),c=n?n(i[a+1],e,t,{before:\"\",after:\"\",...u.current()}).charAt(0):\"\"}else c=n.after;o.length>0&&(\"\\r\"===s||\"\\n\"===s)&&\"html\"===l.type&&(o[o.length-1]=o[o.length-1].replace(/(\\r?\\n|\\r)$/,\" \"),s=\" \",u=Ln(n),u.move(o.join(\"\"))),o.push(u.move(t.handle(l,e,t,{...u.current(),before:s,after:c}))),s=o[o.length-1].slice(-1)}return r.pop(),o.join(\"\")}function Kn(e,t,n,r){const i=function(e){const t=e.options.emphasis||\"*\";if(\"*\"!==t&&\"_\"!==t)throw new Error(\"Cannot serialize emphasis with `\"+t+\"` for `options.emphasis`, expected `*`, or `_`\");return t}(n),o=n.enter(\"emphasis\"),a=Ln(r);let s=a.move(i);return s+=a.move($n(e,n,{before:s,after:i,...a.current()})),s+=a.move(i),o(),s}Kn.peek=function(e,t,n){return n.options.emphasis||\"*\"};const Zn=function(e){if(null==e)return Qn;if(\"string\"==typeof e)return t=e,Jn((function(e){return e&&e.type===t}));var t;if(\"object\"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Zn(e[n]);return Jn((function(...e){let n=-1;for(;++n<t.length;)if(t[n].call(this,...e))return!0;return!1}))}(e):function(e){return Jn((function(t){let n;for(n in e)if(t[n]!==e[n])return!1;return!0}))}(e);if(\"function\"==typeof e)return Jn(e);throw new Error(\"Expected function, string, or object as test\")};function Jn(e){return function(...t){return Boolean(e.call(this,...t))}}function Qn(){return!0}const er=!1;function tr(e,t){let n=!1;return function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null),function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null);const i=Zn(t),o=r?-1:1;!function e(a,s,u){const l=\"object\"==typeof a&&null!==a?a:{};let c;return\"string\"==typeof l.type&&(c=\"string\"==typeof l.tagName?l.tagName:\"string\"==typeof l.name?l.name:void 0,Object.defineProperty(f,\"name\",{value:\"node (\"+l.type+(c?\"<\"+c+\">\":\"\")+\")\"})),f;function f(){let l,c,f,p=[];if((!t||i(a,s,u[u.length-1]||null))&&(p=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[!0,e]:[e]}(n(a,u)),p[0]===er))return p;if(a.children&&\"skip\"!==p[0])for(c=(r?a.children.length:-1)+o,f=u.concat(a);c>-1&&c<a.children.length;){if(l=e(a.children[c],c,f)(),l[0]===er)return l;c=\"number\"==typeof l[1]?l[1]:c+o}return p}}(e,null,[])()}(e,t,(function(e,t){const r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(e,(e=>{if(\"value\"in e&&/\\r?\\n|\\r/.test(e.value)||\"break\"===e.type)return n=!0,er})),Boolean((!e.depth||e.depth<3)&&ze(e)&&(t.options.setext||n))}function nr(e){return e.value||\"\"}function rr(e,t,n,r){const i=Gn(n),o='\"'===i?\"Quote\":\"Apostrophe\",a=n.enter(\"image\");let s=n.enter(\"label\");const u=Ln(r);let l=u.move(\"![\");return l+=u.move(Un(n,e.alt,{before:l,after:\"]\",...u.current()})),l+=u.move(\"](\"),s(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(s=n.enter(\"destinationLiteral\"),l+=u.move(\"<\"),l+=u.move(Un(n,e.url,{before:l,after:\">\",...u.current()})),l+=u.move(\">\")):(s=n.enter(\"destinationRaw\"),l+=u.move(Un(n,e.url,{before:l,after:e.title?\" \":\")\",...u.current()}))),s(),e.title&&(s=n.enter(\"title\"+o),l+=u.move(\" \"+i),l+=u.move(Un(n,e.title,{before:l,after:i,...u.current()})),l+=u.move(i),s()),l+=u.move(\")\"),a(),l}function ir(e,t,n,r){const i=e.referenceType,o=n.enter(\"imageReference\");let a=n.enter(\"label\");const s=Ln(r);let u=s.move(\"![\");const l=Un(n,e.alt,{before:u,after:\"]\",...s.current()});u+=s.move(l+\"][\"),a();const c=n.stack;n.stack=[],a=n.enter(\"reference\");const f=Un(n,Hn(e),{before:u,after:\"]\",...s.current()});return a(),n.stack=c,o(),\"full\"!==i&&l&&l===f?\"shortcut\"===i?u=u.slice(0,-1):u+=s.move(\"]\"):u+=s.move(f+\"]\"),u}function or(e,t,n){let r=e.value||\"\",i=\"`\",o=-1;for(;new RegExp(\"(^|[^`])\"+i+\"([^`]|$)\").test(r);)i+=\"`\";for(/[^ \\r\\n]/.test(r)&&(/^[ \\r\\n]/.test(r)&&/[ \\r\\n]$/.test(r)||/^`|`$/.test(r))&&(r=\" \"+r+\" \");++o<n.unsafe.length;){const e=n.unsafe[o],t=Vn(e);let i;if(e.atBreak)for(;i=t.exec(r);){let e=i.index;10===r.charCodeAt(e)&&13===r.charCodeAt(e-1)&&e--,r=r.slice(0,e)+\" \"+r.slice(i.index+1)}}return i+r+i}function ar(e,t){const n=ze(e);return Boolean(!t.options.resourceLink&&e.url&&!e.title&&e.children&&1===e.children.length&&\"text\"===e.children[0].type&&(n===e.url||\"mailto:\"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\\0- <>\\u007F]/.test(e.url))}function sr(e,t,n,r){const i=Gn(n),o='\"'===i?\"Quote\":\"Apostrophe\",a=Ln(r);let s,u;if(ar(e,n)){const t=n.stack;n.stack=[],s=n.enter(\"autolink\");let r=a.move(\"<\");return r+=a.move($n(e,n,{before:r,after:\">\",...a.current()})),r+=a.move(\">\"),s(),n.stack=t,r}s=n.enter(\"link\"),u=n.enter(\"label\");let l=a.move(\"[\");return l+=a.move($n(e,n,{before:l,after:\"](\",...a.current()})),l+=a.move(\"](\"),u(),!e.url&&e.title||/[\\0- \\u007F]/.test(e.url)?(u=n.enter(\"destinationLiteral\"),l+=a.move(\"<\"),l+=a.move(Un(n,e.url,{before:l,after:\">\",...a.current()})),l+=a.move(\">\")):(u=n.enter(\"destinationRaw\"),l+=a.move(Un(n,e.url,{before:l,after:e.title?\" \":\")\",...a.current()}))),u(),e.title&&(u=n.enter(\"title\"+o),l+=a.move(\" \"+i),l+=a.move(Un(n,e.title,{before:l,after:i,...a.current()})),l+=a.move(i),u()),l+=a.move(\")\"),s(),l}function ur(e,t,n,r){const i=e.referenceType,o=n.enter(\"linkReference\");let a=n.enter(\"label\");const s=Ln(r);let u=s.move(\"[\");const l=$n(e,n,{before:u,after:\"]\",...s.current()});u+=s.move(l+\"][\"),a();const c=n.stack;n.stack=[],a=n.enter(\"reference\");const f=Un(n,Hn(e),{before:u,after:\"]\",...s.current()});return a(),n.stack=c,o(),\"full\"!==i&&l&&l===f?\"shortcut\"===i?u=u.slice(0,-1):u+=s.move(\"]\"):u+=s.move(f+\"]\"),u}function lr(e){const t=e.options.bullet||\"*\";if(\"*\"!==t&&\"+\"!==t&&\"-\"!==t)throw new Error(\"Cannot serialize items with `\"+t+\"` for `options.bullet`, expected `*`, `+`, or `-`\");return t}function cr(e){const t=e.options.bulletOrdered||\".\";if(\".\"!==t&&\")\"!==t)throw new Error(\"Cannot serialize items with `\"+t+\"` for `options.bulletOrdered`, expected `.` or `)`\");return t}function fr(e){const t=e.options.rule||\"*\";if(\"*\"!==t&&\"-\"!==t&&\"_\"!==t)throw new Error(\"Cannot serialize rules with `\"+t+\"` for `options.rule`, expected `*`, `-`, or `_`\");return t}function pr(e,t,n,r){const i=function(e){const t=e.options.strong||\"*\";if(\"*\"!==t&&\"_\"!==t)throw new Error(\"Cannot serialize strong with `\"+t+\"` for `options.strong`, expected `*`, or `_`\");return t}(n),o=n.enter(\"strong\"),a=Ln(r);let s=a.move(i+i);return s+=a.move($n(e,n,{before:s,after:i,...a.current()})),s+=a.move(i+i),o(),s}nr.peek=function(){return\"<\"},rr.peek=function(){return\"!\"},ir.peek=function(){return\"!\"},or.peek=function(){return\"`\"},sr.peek=function(e,t,n){return ar(e,n)?\"<\":\"[\"},ur.peek=function(){return\"[\"},pr.peek=function(e,t,n){return n.options.strong||\"*\"};const dr={blockquote:function(e,t,n,r){const i=n.enter(\"blockquote\"),o=Ln(r);o.move(\"> \"),o.shift(2);const a=Rn(Nn(e,n,o.current()),In);return i(),a},break:qn,code:function(e,t,n,r){const i=function(e){const t=e.options.fence||\"`\";if(\"`\"!==t&&\"~\"!==t)throw new Error(\"Cannot serialize code with `\"+t+\"` for `options.fence`, expected `` ` `` or `~`\");return t}(n),o=e.value||\"\",a=\"`\"===i?\"GraveAccent\":\"Tilde\";if(zn(e,n)){const e=n.enter(\"codeIndented\"),t=Rn(o,Xn);return e(),t}const s=Ln(r),u=i.repeat(Math.max(function(e,t){const n=String(e);let r=n.indexOf(t),i=r,o=0,a=0;if(\"string\"!=typeof t||1!==t.length)throw new Error(\"Expected character\");for(;-1!==r;)r===i?++o>a&&(a=o):o=1,i=r+1,r=n.indexOf(t,i);return a}(o,i)+1,3)),l=n.enter(\"codeFenced\");let c=s.move(u);if(e.lang){const t=n.enter(\"codeFencedLang\"+a);c+=s.move(Un(n,e.lang,{before:c,after:\" \",encode:[\"`\"],...s.current()})),t()}if(e.lang&&e.meta){const t=n.enter(\"codeFencedMeta\"+a);c+=s.move(\" \"),c+=s.move(Un(n,e.meta,{before:c,after:\"\\n\",encode:[\"`\"],...s.current()})),t()}return c+=s.move(\"\\n\"),o&&(c+=s.move(o+\"\\n\")),c+=s.move(u),l(),c},definition:function(e,t,n,r){const i=Gn(n),o='\"'===i?\"Quote\":\"Apostrophe\",a=n.enter(\"definition\");let s=n.enter(\"label\");const u=Ln(r);let l=u.move(\"[\");return l+=u.move(Un(n,Hn(e),{before:l,after:\"]\",...u.current()})),l+=u.move(\"]: \"),s(),!e.url||/[\\0- \\u007F]/.test(e.url)?(s=n.enter(\"destinationLiteral\"),l+=u.move(\"<\"),l+=u.move(Un(n,e.url,{before:l,after:\">\",...u.current()})),l+=u.move(\">\")):(s=n.enter(\"destinationRaw\"),l+=u.move(Un(n,e.url,{before:l,after:e.title?\" \":\"\\n\",...u.current()}))),s(),e.title&&(s=n.enter(\"title\"+o),l+=u.move(\" \"+i),l+=u.move(Un(n,e.title,{before:l,after:i,...u.current()})),l+=u.move(i),s()),a(),l},emphasis:Kn,hardBreak:qn,heading:function(e,t,n,r){const i=Math.max(Math.min(6,e.depth||1),1),o=Ln(r);if(tr(e,n)){const t=n.enter(\"headingSetext\"),r=n.enter(\"phrasing\"),a=$n(e,n,{...o.current(),before:\"\\n\",after:\"\\n\"});return r(),t(),a+\"\\n\"+(1===i?\"=\":\"-\").repeat(a.length-(Math.max(a.lastIndexOf(\"\\r\"),a.lastIndexOf(\"\\n\"))+1))}const a=\"#\".repeat(i),s=n.enter(\"headingAtx\"),u=n.enter(\"phrasing\");o.move(a+\" \");let l=$n(e,n,{before:\"# \",after:\"\\n\",...o.current()});return/^[\\t ]/.test(l)&&(l=\"&#x\"+l.charCodeAt(0).toString(16).toUpperCase()+\";\"+l.slice(1)),l=l?a+\" \"+l:a,n.options.closeAtx&&(l+=\" \"+a),u(),s(),l},html:nr,image:rr,imageReference:ir,inlineCode:or,link:sr,linkReference:ur,list:function(e,t,n,r){const i=n.enter(\"list\"),o=n.bulletCurrent;let a=e.ordered?cr(n):lr(n);const s=e.ordered?function(e){const t=cr(e),n=e.options.bulletOrderedOther;if(!n)return\".\"===t?\")\":\".\";if(\".\"!==n&&\")\"!==n)throw new Error(\"Cannot serialize items with `\"+n+\"` for `options.bulletOrderedOther`, expected `*`, `+`, or `-`\");if(n===t)throw new Error(\"Expected `bulletOrdered` (`\"+t+\"`) and `bulletOrderedOther` (`\"+n+\"`) to be different\");return n}(n):function(e){const t=lr(e),n=e.options.bulletOther;if(!n)return\"*\"===t?\"-\":\"*\";if(\"*\"!==n&&\"+\"!==n&&\"-\"!==n)throw new Error(\"Cannot serialize items with `\"+n+\"` for `options.bulletOther`, expected `*`, `+`, or `-`\");if(n===t)throw new Error(\"Expected `bullet` (`\"+t+\"`) and `bulletOther` (`\"+n+\"`) to be different\");return n}(n),u=n.bulletLastUsed;let l=!1;if(t&&(e.ordered?n.options.bulletOrderedOther:n.options.bulletOther)&&u&&a===u&&(l=!0),!e.ordered){const t=e.children?e.children[0]:void 0;if(\"*\"!==a&&\"-\"!==a||!t||t.children&&t.children[0]||\"list\"!==n.stack[n.stack.length-1]||\"listItem\"!==n.stack[n.stack.length-2]||\"list\"!==n.stack[n.stack.length-3]||\"listItem\"!==n.stack[n.stack.length-4]||0!==n.indexStack[n.indexStack.length-1]||0!==n.indexStack[n.indexStack.length-2]||0!==n.indexStack[n.indexStack.length-3]||(l=!0),fr(n)===a&&t){let t=-1;for(;++t<e.children.length;){const n=e.children[t];if(n&&\"listItem\"===n.type&&n.children&&n.children[0]&&\"thematicBreak\"===n.children[0].type){l=!0;break}}}}l&&(a=s),n.bulletCurrent=a;const c=Nn(e,n,r);return n.bulletLastUsed=a,n.bulletCurrent=o,i(),c},listItem:function(e,t,n,r){const i=function(e){const t=e.options.listItemIndent||\"tab\";if(1===t||\"1\"===t)return\"one\";if(\"tab\"!==t&&\"one\"!==t&&\"mixed\"!==t)throw new Error(\"Cannot serialize items with `\"+t+\"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`\");return t}(n);let o=n.bulletCurrent||lr(n);t&&\"list\"===t.type&&t.ordered&&(o=(\"number\"==typeof t.start&&t.start>-1?t.start:1)+(!1===n.options.incrementListMarker?0:t.children.indexOf(e))+o);let a=o.length+1;(\"tab\"===i||\"mixed\"===i&&(t&&\"list\"===t.type&&t.spread||e.spread))&&(a=4*Math.ceil(a/4));const s=Ln(r);s.move(o+\" \".repeat(a-o.length)),s.shift(a);const u=n.enter(\"listItem\"),l=Rn(Nn(e,n,s.current()),(function(e,t,n){return t?(n?\"\":\" \".repeat(a))+e:(n?o:o+\" \".repeat(a-o.length))+e}));return u(),l},paragraph:function(e,t,n,r){const i=n.enter(\"paragraph\"),o=n.enter(\"phrasing\"),a=$n(e,n,r);return o(),i(),a},root:function(e,t,n,r){return Nn(e,n,r)},strong:pr,text:function(e,t,n,r){return Un(n,e.value,r)},thematicBreak:function(e,t,n){const r=(fr(n)+(n.options.ruleSpaces?\" \":\"\")).repeat(function(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error(\"Cannot serialize rules with repetition `\"+t+\"` for `options.ruleRepetition`, expected `3` or more\");return t}(n));return n.options.ruleSpaces?r.slice(0,-1):r}},hr=[function(e,t,n,r){if(\"code\"===t.type&&zn(t,r)&&(\"list\"===e.type||e.type===t.type&&zn(e,r)))return!1;if(\"list\"===e.type&&e.type===t.type&&Boolean(e.ordered)===Boolean(t.ordered)&&!(e.ordered?r.options.bulletOrderedOther:r.options.bulletOther))return!1;if(\"spread\"in n&&\"boolean\"==typeof n.spread){if(\"paragraph\"===e.type&&(e.type===t.type||\"definition\"===t.type||\"heading\"===t.type&&tr(t,r)))return;return n.spread?1:0}}],mr=[\"autolink\",\"destinationLiteral\",\"destinationRaw\",\"reference\",\"titleQuote\",\"titleApostrophe\"],yr=[{character:\"\\t\",after:\"[\\\\r\\\\n]\",inConstruct:\"phrasing\"},{character:\"\\t\",before:\"[\\\\r\\\\n]\",inConstruct:\"phrasing\"},{character:\"\\t\",inConstruct:[\"codeFencedLangGraveAccent\",\"codeFencedLangTilde\"]},{character:\"\\r\",inConstruct:[\"codeFencedLangGraveAccent\",\"codeFencedLangTilde\",\"codeFencedMetaGraveAccent\",\"codeFencedMetaTilde\",\"destinationLiteral\",\"headingAtx\"]},{character:\"\\n\",inConstruct:[\"codeFencedLangGraveAccent\",\"codeFencedLangTilde\",\"codeFencedMetaGraveAccent\",\"codeFencedMetaTilde\",\"destinationLiteral\",\"headingAtx\"]},{character:\" \",after:\"[\\\\r\\\\n]\",inConstruct:\"phrasing\"},{character:\" \",before:\"[\\\\r\\\\n]\",inConstruct:\"phrasing\"},{character:\" \",inConstruct:[\"codeFencedLangGraveAccent\",\"codeFencedLangTilde\"]},{character:\"!\",after:\"\\\\[\",inConstruct:\"phrasing\",notInConstruct:mr},{character:'\"',inConstruct:\"titleQuote\"},{atBreak:!0,character:\"#\"},{character:\"#\",inConstruct:\"headingAtx\",after:\"(?:[\\r\\n]|$)\"},{character:\"&\",after:\"[#A-Za-z]\",inConstruct:\"phrasing\"},{character:\"'\",inConstruct:\"titleApostrophe\"},{character:\"(\",inConstruct:\"destinationRaw\"},{before:\"\\\\]\",character:\"(\",inConstruct:\"phrasing\",notInConstruct:mr},{atBreak:!0,before:\"\\\\d+\",character:\")\"},{character:\")\",inConstruct:\"destinationRaw\"},{atBreak:!0,character:\"*\"},{character:\"*\",inConstruct:\"phrasing\",notInConstruct:mr},{atBreak:!0,character:\"+\"},{atBreak:!0,character:\"-\"},{atBreak:!0,before:\"\\\\d+\",character:\".\",after:\"(?:[ \\t\\r\\n]|$)\"},{atBreak:!0,character:\"<\",after:\"[!/?A-Za-z]\"},{character:\"<\",after:\"[!/?A-Za-z]\",inConstruct:\"phrasing\",notInConstruct:mr},{character:\"<\",inConstruct:\"destinationLiteral\"},{atBreak:!0,character:\"=\"},{atBreak:!0,character:\">\"},{character:\">\",inConstruct:\"destinationLiteral\"},{atBreak:!0,character:\"[\"},{character:\"[\",inConstruct:\"phrasing\",notInConstruct:mr},{character:\"[\",inConstruct:[\"label\",\"reference\"]},{character:\"\\\\\",after:\"[\\\\r\\\\n]\",inConstruct:\"phrasing\"},{character:\"]\",inConstruct:[\"label\",\"reference\"]},{atBreak:!0,character:\"_\"},{character:\"_\",inConstruct:\"phrasing\",notInConstruct:mr},{atBreak:!0,character:\"`\"},{character:\"`\",inConstruct:[\"codeFencedLangGraveAccent\",\"codeFencedMetaGraveAccent\"]},{character:\"`\",inConstruct:\"phrasing\",notInConstruct:mr},{atBreak:!0,character:\"~\"}];function vr(e){throw new Error(\"Cannot handle value `\"+e+\"`, expected node\")}function gr(e){throw new Error(\"Cannot handle unknown node `\"+e.type+\"`\")}function br(e,t){if(\"definition\"===e.type&&e.type===t.type)return 0}const xr=Oe().use((function(e){Object.assign(this,{Parser:t=>{const n=this.data(\"settings\");return Cn(t,Object.assign({},n,e,{extensions:this.data(\"micromarkExtensions\")||[],mdastExtensions:this.data(\"fromMarkdownExtensions\")||[]}))}})})).use((function(e){Object.assign(this,{Compiler:t=>{const n=this.data(\"settings\");return function(e,t={}){const n={enter:function(e){return n.stack.push(e),function(){n.stack.pop()}},stack:[],unsafe:[],join:[],handlers:{},options:{},indexStack:[]};On(n,{unsafe:yr,join:hr,handlers:dr}),On(n,t),n.options.tightDefinitions&&On(n,{join:[br]}),n.handle=function(e,t){var n=t||{};function r(t){var n=r.invalid,i=r.handlers;if(t&&Pn.call(t,e)&&(n=Pn.call(i,t.type)?i[t.type]:r.unknown),n)return n.apply(this,arguments)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}(\"type\",{invalid:vr,unknown:gr,handlers:n.handlers});let r=n.handle(e,null,n,{before:\"\\n\",after:\"\\n\",now:{line:1,column:1},lineShift:0});return r&&10!==r.charCodeAt(r.length-1)&&13!==r.charCodeAt(r.length-1)&&(r+=\"\\n\"),r}(t,Object.assign({},n,e,{extensions:this.data(\"toMarkdownExtensions\")||[]}))}})})).freeze();var _r=function(e,t,n){var r={type:String(e)};return null!=n||\"string\"!=typeof t&&!Array.isArray(t)?Object.assign(r,t):n=t,Array.isArray(n)?r.children=n:null!=n&&(r.value=String(n)),r};var wr=Sr(\"start\"),Er=Sr(\"end\");function Sr(e){return function(t){var n=t&&t.position&&t.position[e]||{};return{line:n.line||null,column:n.column||null,offset:n.offset>-1?n.offset:null}}}const kr={}.hasOwnProperty;function Ar(e){const t=Object.create(null);if(!e||!e.type)throw new Error(\"mdast-util-definitions expected node\");return function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null),function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null);var i=Zn(t),o=r?-1:1;!function e(a,s,u){var l,c=\"object\"==typeof a&&null!==a?a:{};return\"string\"==typeof c.type&&(l=\"string\"==typeof c.tagName?c.tagName:\"string\"==typeof c.name?c.name:void 0,Object.defineProperty(f,\"name\",{value:\"node (\"+c.type+(l?\"<\"+l+\">\":\"\")+\")\"})),f;function f(){var l,c,f,p=[];if((!t||i(a,s,u[u.length-1]||null))&&(p=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[!0,e]:[e]}(n(a,u)),!1===p[0]))return p;if(a.children&&\"skip\"!==p[0])for(c=(r?a.children.length:-1)+o,f=u.concat(a);c>-1&&c<a.children.length;){if(!1===(l=e(a.children[c],c,f)())[0])return l;c=\"number\"==typeof l[1]?l[1]:c+o}return p}}(e,null,[])()}(e,t,(function(e,t){var r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(e,\"definition\",(function(e){const n=Cr(e.identifier);n&&!kr.call(t,n)&&(t[n]=e)})),function(e){const n=Cr(e);return n&&kr.call(t,n)?t[n]:null}}function Cr(e){return String(e||\"\").toUpperCase()}const Tr={}.hasOwnProperty;function Dr(e,t){const n=t.data||{};return\"value\"in t&&!(Tr.call(n,\"hName\")||Tr.call(n,\"hProperties\")||Tr.call(n,\"hChildren\"))?e.augment(t,_r(\"text\",t.value)):e(t,\"div\",Or(e,t))}function Mr(e,t,n){const r=t&&t.type;let i;if(!r)throw new Error(\"Expected node, got `\"+t+\"`\");return i=Tr.call(e.handlers,r)?e.handlers[r]:e.passThrough&&e.passThrough.includes(r)?Pr:e.unknownHandler,(\"function\"==typeof i?i:Dr)(e,t,n)}function Pr(e,t){return\"children\"in t?{...t,children:Or(e,t)}:t}function Or(e,t){const n=[];if(\"children\"in t){const r=t.children;let i=-1;for(;++i<r.length;){const o=Mr(e,r[i],t);if(o){if(i&&\"break\"===r[i-1].type&&(Array.isArray(o)||\"text\"!==o.type||(o.value=o.value.replace(/^\\s+/,\"\")),!Array.isArray(o)&&\"element\"===o.type)){const e=o.children[0];e&&\"text\"===e.type&&(e.value=e.value.replace(/^\\s+/,\"\"))}Array.isArray(o)?n.push(...o):n.push(o)}}}return n}function Lr(e,t){return e(t,\"hr\")}function Nr(e,t){const n=[];let r=-1;for(t&&n.push(_r(\"text\",\"\\n\"));++r<e.length;)r&&n.push(_r(\"text\",\"\\n\")),n.push(e[r]);return t&&e.length>0&&n.push(_r(\"text\",\"\\n\")),n}function Fr(e,t){const n={},r=t.ordered?\"ol\":\"ul\",i=Or(e,t);let o=-1;for(\"number\"==typeof t.start&&1!==t.start&&(n.start=t.start);++o<i.length;){const e=i[o];if(\"element\"===e.type&&\"li\"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(\"task-list-item\")){n.className=[\"contains-task-list\"];break}}return e(t,r,n,Nr(i,!0))}function Rr(e,t){const n=e.footnoteOrder,r=String(t.identifier),i=n.indexOf(r),o=String(-1===i?n.push(r):i+1);return e(t,\"a\",{href:\"#fn\"+o,className:[\"footnote-ref\"],id:\"fnref\"+o,role:\"doc-noteref\"},[e(t.position,\"sup\",[_r(\"text\",o)])])}var Ir=__webpack_require__(70729);function jr(e,t){const n=t.referenceType;let r=\"]\";if(\"collapsed\"===n?r+=\"[]\":\"full\"===n&&(r+=\"[\"+(t.label||t.identifier)+\"]\"),\"imageReference\"===t.type)return _r(\"text\",\"![\"+t.alt+r);const i=Or(e,t),o=i[0];o&&\"text\"===o.type?o.value=\"[\"+o.value:i.unshift(_r(\"text\",\"[\"));const a=i[i.length-1];return a&&\"text\"===a.type?a.value+=r:i.push(_r(\"text\",r)),i}function Br(e){const t=e.spread;return null==t?e.children.length>1:t}const qr={blockquote:function(e,t){return e(t,\"blockquote\",Nr(Or(e,t),!0))},break:function(e,t){return[e(t,\"br\"),_r(\"text\",\"\\n\")]},code:function(e,t){const n=t.value?t.value+\"\\n\":\"\",r=t.lang&&t.lang.match(/^[^ \\t]+(?=[ \\t]|$)/),i={};r&&(i.className=[\"language-\"+r]);const o=e(t,\"code\",i,[_r(\"text\",n)]);return t.meta&&(o.data={meta:t.meta}),e(t.position,\"pre\",[o])},delete:function(e,t){return e(t,\"del\",Or(e,t))},emphasis:function(e,t){return e(t,\"em\",Or(e,t))},footnoteReference:Rr,footnote:function(e,t){const n=e.footnoteById,r=e.footnoteOrder;let i=1;for(;i in n;)i++;const o=String(i);return r.push(o),n[o]={type:\"footnoteDefinition\",identifier:o,children:[{type:\"paragraph\",children:t.children}],position:t.position},Rr(e,{type:\"footnoteReference\",identifier:o,position:t.position})},heading:function(e,t){return e(t,\"h\"+t.depth,Or(e,t))},html:function(e,t){return e.dangerous?e.augment(t,_r(\"raw\",t.value)):null},imageReference:function(e,t){const n=e.definition(t.identifier);if(!n)return jr(e,t);const r={src:Ir(n.url||\"\"),alt:t.alt};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,\"img\",r)},image:function(e,t){const n={src:Ir(t.url),alt:t.alt};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,\"img\",n)},inlineCode:function(e,t){return e(t,\"code\",[_r(\"text\",t.value.replace(/\\r?\\n|\\r/g,\" \"))])},linkReference:function(e,t){const n=e.definition(t.identifier);if(!n)return jr(e,t);const r={href:Ir(n.url||\"\")};return null!==n.title&&void 0!==n.title&&(r.title=n.title),e(t,\"a\",r,Or(e,t))},link:function(e,t){const n={href:Ir(t.url)};return null!==t.title&&void 0!==t.title&&(n.title=t.title),e(t,\"a\",n,Or(e,t))},listItem:function(e,t,n){const r=Or(e,t),i=n?function(e){let t=e.spread;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=Br(n[r]);return Boolean(t)}(n):Br(t),o={},a=[];if(\"boolean\"==typeof t.checked){let n;r[0]&&\"element\"===r[0].type&&\"p\"===r[0].tagName?n=r[0]:(n=e(null,\"p\",[]),r.unshift(n)),n.children.length>0&&n.children.unshift(_r(\"text\",\" \")),n.children.unshift(e(null,\"input\",{type:\"checkbox\",checked:t.checked,disabled:!0})),o.className=[\"task-list-item\"]}let s=-1;for(;++s<r.length;){const e=r[s];(i||0!==s||\"element\"!==e.type||\"p\"!==e.tagName)&&a.push(_r(\"text\",\"\\n\")),\"element\"!==e.type||\"p\"!==e.tagName||i?a.push(e):a.push(...e.children)}const u=r[r.length-1];return!u||!i&&\"tagName\"in u&&\"p\"===u.tagName||a.push(_r(\"text\",\"\\n\")),e(t,\"li\",o,a)},list:Fr,paragraph:function(e,t){return e(t,\"p\",Or(e,t))},root:function(e,t){return e.augment(t,_r(\"root\",Nr(Or(e,t))))},strong:function(e,t){return e(t,\"strong\",Or(e,t))},table:function(e,t){const n=t.children;let r=-1;const i=t.align||[],o=[];for(;++r<n.length;){const a=n[r].children,s=0===r?\"th\":\"td\";let u=t.align?i.length:a.length;const l=[];for(;u--;){const t=a[u];l[u]=e(t,s,{align:i[u]},t?Or(e,t):[])}o[r]=e(n[r],\"tr\",Nr(l,!0))}return e(t,\"table\",Nr([e(o[0].position,\"thead\",Nr([o[0]],!0))].concat(o[1]?e({start:wr(o[1]),end:Er(o[o.length-1])},\"tbody\",Nr(o.slice(1),!0)):[]),!0))},text:function(e,t){return e.augment(t,_r(\"text\",String(t.value).replace(/[ \\t]*(\\r?\\n|\\r)[ \\t]*/g,\"$1\")))},thematicBreak:Lr,toml:zr,yaml:zr,definition:zr,footnoteDefinition:zr};function zr(){return null}const Vr={}.hasOwnProperty;function Ur(e,t){const n=t||{},r=n.allowDangerousHtml||!1,i={};return a.dangerous=r,a.definition=Ar(e),a.footnoteById=i,a.footnoteOrder=[],a.augment=o,a.handlers={...qr,...n.handlers},a.unknownHandler=n.unknownHandler,a.passThrough=n.passThrough,function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null),function(e,t,n,r){\"function\"==typeof t&&\"function\"!=typeof n&&(r=n,n=t,t=null);const i=Zn(t),o=r?-1:1;!function e(a,s,u){const l=\"object\"==typeof a&&null!==a?a:{};let c;return\"string\"==typeof l.type&&(c=\"string\"==typeof l.tagName?l.tagName:\"string\"==typeof l.name?l.name:void 0,Object.defineProperty(f,\"name\",{value:\"node (\"+l.type+(c?\"<\"+c+\">\":\"\")+\")\"})),f;function f(){let l,c,f,p=[];if((!t||i(a,s,u[u.length-1]||null))&&(p=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[!0,e]:[e]}(n(a,u)),!1===p[0]))return p;if(a.children&&\"skip\"!==p[0])for(c=(r?a.children.length:-1)+o,f=u.concat(a);c>-1&&c<a.children.length;){if(l=e(a.children[c],c,f)(),!1===l[0])return l;c=\"number\"==typeof l[1]?l[1]:c+o}return p}}(e,null,[])()}(e,t,(function(e,t){const r=t[t.length-1];return n(e,r?r.children.indexOf(e):null,r)}),r)}(e,\"footnoteDefinition\",(e=>{const t=String(e.identifier).toUpperCase();Vr.call(i,t)||(i[t]=e)})),a;function o(e,t){if(e&&\"data\"in e&&e.data){const n=e.data;n.hName&&(\"element\"!==t.type&&(t={type:\"element\",tagName:\"\",properties:{},children:[]}),t.tagName=n.hName),\"element\"===t.type&&n.hProperties&&(t.properties={...t.properties,...n.hProperties}),\"children\"in t&&t.children&&n.hChildren&&(t.children=n.hChildren)}if(e){const r=\"type\"in e?e:{position:e};!((n=r)&&n.position&&n.position.start&&n.position.start.line&&n.position.start.column&&n.position.end&&n.position.end.line&&n.position.end.column)||(t.position={start:wr(r),end:Er(r)})}var n;return t}function a(e,t,n,r){return Array.isArray(n)&&(r=n,n={}),o(e,{type:\"element\",tagName:t,properties:n||{},children:r||[]})}}const Wr={strip:[\"script\"],clobberPrefix:\"user-content-\",clobber:[\"name\",\"id\"],ancestors:{tbody:[\"table\"],tfoot:[\"table\"],thead:[\"table\"],td:[\"table\"],th:[\"table\"],tr:[\"table\"]},protocols:{href:[\"http\",\"https\",\"mailto\",\"xmpp\",\"irc\",\"ircs\"],cite:[\"http\",\"https\"],src:[\"http\",\"https\"],longDesc:[\"http\",\"https\"]},tagNames:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"br\",\"b\",\"i\",\"strong\",\"em\",\"a\",\"pre\",\"code\",\"img\",\"tt\",\"div\",\"ins\",\"del\",\"sup\",\"sub\",\"p\",\"ol\",\"ul\",\"table\",\"thead\",\"tbody\",\"tfoot\",\"blockquote\",\"dl\",\"dt\",\"dd\",\"kbd\",\"q\",\"samp\",\"var\",\"hr\",\"ruby\",\"rt\",\"rp\",\"li\",\"tr\",\"td\",\"th\",\"s\",\"strike\",\"summary\",\"details\",\"caption\",\"figure\",\"figcaption\",\"abbr\",\"bdo\",\"cite\",\"dfn\",\"mark\",\"small\",\"span\",\"time\",\"wbr\",\"input\"],attributes:{a:[\"href\"],img:[\"src\",\"longDesc\"],input:[[\"type\",\"checkbox\"],[\"disabled\",!0]],li:[[\"className\",\"task-list-item\"]],div:[\"itemScope\",\"itemType\"],blockquote:[\"cite\"],del:[\"cite\"],ins:[\"cite\"],q:[\"cite\"],\"*\":[\"abbr\",\"accept\",\"acceptCharset\",\"accessKey\",\"action\",\"align\",\"alt\",\"ariaDescribedBy\",\"ariaHidden\",\"ariaLabel\",\"ariaLabelledBy\",\"axis\",\"border\",\"cellPadding\",\"cellSpacing\",\"char\",\"charOff\",\"charSet\",\"checked\",\"clear\",\"cols\",\"colSpan\",\"color\",\"compact\",\"coords\",\"dateTime\",\"dir\",\"disabled\",\"encType\",\"htmlFor\",\"frame\",\"headers\",\"height\",\"hrefLang\",\"hSpace\",\"isMap\",\"id\",\"label\",\"lang\",\"maxLength\",\"media\",\"method\",\"multiple\",\"name\",\"noHref\",\"noShade\",\"noWrap\",\"open\",\"prompt\",\"readOnly\",\"rel\",\"rev\",\"rows\",\"rowSpan\",\"rules\",\"scope\",\"selected\",\"shape\",\"size\",\"span\",\"start\",\"summary\",\"tabIndex\",\"target\",\"title\",\"type\",\"useMap\",\"vAlign\",\"value\",\"vSpace\",\"width\",\"itemProp\"]},required:{input:{type:\"checkbox\",disabled:!0}}};var Yr={}.hasOwnProperty,Xr=[].push,Hr={root:{children:$r},doctype:function(e){return e.allowDoctypes?{name:Kr}:null},comment:function(e){return e.allowComments?{value:Jr}:null},element:{tagName:Zr,properties:function(e,t,n,r){var i,o,a,s,u=Zr(e,n.tagName,0,r),l=e.required||{},c=t||{},f=Object.assign({},ni(e.attributes[\"*\"]),ni(u&&Yr.call(e.attributes,u)?e.attributes[u]:[])),p={};for(a in c)if(Yr.call(c,a)){if(Yr.call(f,a))i=f[a];else{if(!((s=a).length>4&&\"data\"===s.slice(0,4).toLowerCase()&&Yr.call(f,\"data*\")))continue;i=f[\"data*\"]}o=c[a],null!=(o=Array.isArray(o)?ei(e,o,a,i):ti(e,o,a,i))&&(p[a]=o)}if(u&&Yr.call(l,u))for(a in l[u])Yr.call(p,a)||(p[a]=l[u][a]);return p},children:$r},text:{value:function(e,t){return\"string\"==typeof t?t:\"\"}},\"*\":{data:Qr,position:Qr}};function Gr(e,t,n){var r,i,o,a,s,u=t&&t.type,l={type:t.type};if(Yr.call(Hr,u)&&(\"function\"==typeof(i=Hr[u])&&(i=i(e,t)),i))for(s in r=!0,o=Object.assign({},i,Hr[\"*\"]))Yr.call(o,s)&&(!1===(a=o[s](e,t[s],t,n))?(r=null,l[s]=t[s]):null!=a&&(l[s]=a));return r?l:\"element\"!==l.type||e.strip.includes(l.tagName)?null:l.children}function $r(e,t,n,r){var i,o=[],a=-1;if(Array.isArray(t)){for(\"element\"===n.type&&r.push(n.tagName);++a<t.length;)(i=Gr(e,t[a],r))&&(\"length\"in i?Xr.apply(o,i):o.push(i));\"element\"===n.type&&r.pop()}return o}function Kr(){return\"html\"}function Zr(e,t,n,r){var i=\"string\"==typeof t?t:\"\",o=-1;if(!i||\"*\"===i||!e.tagNames.includes(i))return!1;if(Yr.call(e.ancestors,i)){for(;++o<e.ancestors[i].length;)if(r.includes(e.ancestors[i][o]))return i;return!1}return i}function Jr(e,t){var n=\"string\"==typeof t?t:\"\",r=n.indexOf(\"--\\x3e\");return r<0?n:n.slice(0,r)}function Qr(e,t){return t}function ei(e,t,n,r){for(var i,o=-1,a=[];++o<t.length;)null!=(i=ti(e,t[o],n,r))&&a.push(i);return a}function ti(e,t,n,r){if((\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t)&&function(e,t,n){var r=String(t),i=r.indexOf(\":\"),o=r.indexOf(\"?\"),a=r.indexOf(\"#\"),s=r.indexOf(\"/\"),u=Yr.call(e.protocols,n)?e.protocols[n].concat():[],l=-1;if(0===u.length||i<0||s>-1&&i>s||o>-1&&i>o||a>-1&&i>a)return!0;for(;++l<u.length;)if(i===u[l].length&&r.slice(0,u[l].length)===u[l])return!0;return!1}(e,t,n)&&(0===r.length||r.includes(t)))return e.clobber.includes(n)?e.clobberPrefix+t:t}function ni(e){for(var t,n={},r=-1;++r<e.length;)t=e[r],Array.isArray(t)?n[t[0]]=t.slice(1):n[t]=[];return n}class ri{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function ii(e,t){const n={},r={};let i=-1;for(;++i<e.length;)Object.assign(n,e[i].property),Object.assign(r,e[i].normal);return new ri(n,r,t)}function oi(e){return e.toLowerCase()}ri.prototype.property={},ri.prototype.normal={},ri.prototype.space=null;class ai{constructor(e,t){this.property=e,this.attribute=t}}ai.prototype.space=null,ai.prototype.boolean=!1,ai.prototype.booleanish=!1,ai.prototype.overloadedBoolean=!1,ai.prototype.number=!1,ai.prototype.commaSeparated=!1,ai.prototype.spaceSeparated=!1,ai.prototype.commaOrSpaceSeparated=!1,ai.prototype.mustUseProperty=!1,ai.prototype.defined=!1;let si=0;const ui=mi(),li=mi(),ci=mi(),fi=mi(),pi=mi(),di=mi(),hi=mi();function mi(){return 2**++si}const yi=Object.keys(t);class vi extends ai{constructor(e,n,r,i){let o=-1;if(super(e,n),gi(this,\"space\",i),\"number\"==typeof r)for(;++o<yi.length;){const e=yi[o];gi(this,yi[o],(r&t[e])===t[e])}}}function gi(e,t,n){n&&(e[t]=n)}vi.prototype.defined=!0;const bi={}.hasOwnProperty;function xi(e){const t={},n={};let r;for(r in e.properties)if(bi.call(e.properties,r)){const i=e.properties[r],o=new vi(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(o.mustUseProperty=!0),t[r]=o,n[oi(r)]=r,n[oi(o.attribute)]=r}return new ri(t,n,e.space)}const _i=xi({space:\"xlink\",transform:(e,t)=>\"xlink:\"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),wi=xi({space:\"xml\",transform:(e,t)=>\"xml:\"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function Ei(e,t){return t in e?e[t]:t}function Si(e,t){return Ei(e,t.toLowerCase())}const ki=xi({space:\"xmlns\",attributes:{xmlnsxlink:\"xmlns:xlink\"},transform:Si,properties:{xmlns:null,xmlnsXLink:null}}),Ai=xi({transform:(e,t)=>\"role\"===t?t:\"aria-\"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:li,ariaAutoComplete:null,ariaBusy:li,ariaChecked:li,ariaColCount:fi,ariaColIndex:fi,ariaColSpan:fi,ariaControls:pi,ariaCurrent:null,ariaDescribedBy:pi,ariaDetails:null,ariaDisabled:li,ariaDropEffect:pi,ariaErrorMessage:null,ariaExpanded:li,ariaFlowTo:pi,ariaGrabbed:li,ariaHasPopup:null,ariaHidden:li,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:pi,ariaLevel:fi,ariaLive:null,ariaModal:li,ariaMultiLine:li,ariaMultiSelectable:li,ariaOrientation:null,ariaOwns:pi,ariaPlaceholder:null,ariaPosInSet:fi,ariaPressed:li,ariaReadOnly:li,ariaRelevant:null,ariaRequired:li,ariaRoleDescription:pi,ariaRowCount:fi,ariaRowIndex:fi,ariaRowSpan:fi,ariaSelected:li,ariaSetSize:fi,ariaSort:null,ariaValueMax:fi,ariaValueMin:fi,ariaValueNow:fi,ariaValueText:null,role:null}}),Ci=xi({space:\"html\",attributes:{acceptcharset:\"accept-charset\",classname:\"class\",htmlfor:\"for\",httpequiv:\"http-equiv\"},transform:Si,mustUseProperty:[\"checked\",\"multiple\",\"muted\",\"selected\"],properties:{abbr:null,accept:di,acceptCharset:pi,accessKey:pi,action:null,allow:null,allowFullScreen:ui,allowPaymentRequest:ui,allowUserMedia:ui,alt:null,as:null,async:ui,autoCapitalize:null,autoComplete:pi,autoFocus:ui,autoPlay:ui,capture:ui,charSet:null,checked:ui,cite:null,className:pi,cols:fi,colSpan:null,content:null,contentEditable:li,controls:ui,controlsList:pi,coords:fi|di,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ui,defer:ui,dir:null,dirName:null,disabled:ui,download:ci,draggable:li,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ui,formTarget:null,headers:pi,height:fi,hidden:ui,high:fi,href:null,hrefLang:null,htmlFor:pi,httpEquiv:pi,id:null,imageSizes:null,imageSrcSet:null,inputMode:null,integrity:null,is:null,isMap:ui,itemId:null,itemProp:pi,itemRef:pi,itemScope:ui,itemType:pi,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ui,low:fi,manifest:null,max:null,maxLength:fi,media:null,method:null,min:null,minLength:fi,multiple:ui,muted:ui,name:null,nonce:null,noModule:ui,noValidate:ui,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforePrint:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:ui,optimum:fi,pattern:null,ping:pi,placeholder:null,playsInline:ui,poster:null,preload:null,readOnly:ui,referrerPolicy:null,rel:pi,required:ui,reversed:ui,rows:fi,rowSpan:fi,sandbox:pi,scope:null,scoped:ui,seamless:ui,selected:ui,shape:null,size:fi,sizes:null,slot:null,span:fi,spellCheck:li,src:null,srcDoc:null,srcLang:null,srcSet:null,start:fi,step:null,style:null,tabIndex:fi,target:null,title:null,translate:null,type:null,typeMustMatch:ui,useMap:null,value:li,width:fi,wrap:null,align:null,aLink:null,archive:pi,axis:null,background:null,bgColor:null,border:fi,borderColor:null,bottomMargin:fi,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ui,declare:ui,event:null,face:null,frame:null,frameBorder:null,hSpace:fi,leftMargin:fi,link:null,longDesc:null,lowSrc:null,marginHeight:fi,marginWidth:fi,noResize:ui,noHref:ui,noShade:ui,noWrap:ui,object:null,profile:null,prompt:null,rev:null,rightMargin:fi,rules:null,scheme:null,scrolling:li,standby:null,summary:null,text:null,topMargin:fi,valueType:null,version:null,vAlign:null,vLink:null,vSpace:fi,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ui,disableRemotePlayback:ui,prefix:null,property:null,results:fi,security:null,unselectable:null}}),Ti=xi({space:\"svg\",attributes:{accentHeight:\"accent-height\",alignmentBaseline:\"alignment-baseline\",arabicForm:\"arabic-form\",baselineShift:\"baseline-shift\",capHeight:\"cap-height\",className:\"class\",clipPath:\"clip-path\",clipRule:\"clip-rule\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",crossOrigin:\"crossorigin\",dataType:\"datatype\",dominantBaseline:\"dominant-baseline\",enableBackground:\"enable-background\",fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",hrefLang:\"hreflang\",horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",horizOriginY:\"horiz-origin-y\",imageRendering:\"image-rendering\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",navDown:\"nav-down\",navDownLeft:\"nav-down-left\",navDownRight:\"nav-down-right\",navLeft:\"nav-left\",navNext:\"nav-next\",navPrev:\"nav-prev\",navRight:\"nav-right\",navUp:\"nav-up\",navUpLeft:\"nav-up-left\",navUpRight:\"nav-up-right\",onAbort:\"onabort\",onActivate:\"onactivate\",onAfterPrint:\"onafterprint\",onBeforePrint:\"onbeforeprint\",onBegin:\"onbegin\",onCancel:\"oncancel\",onCanPlay:\"oncanplay\",onCanPlayThrough:\"oncanplaythrough\",onChange:\"onchange\",onClick:\"onclick\",onClose:\"onclose\",onCopy:\"oncopy\",onCueChange:\"oncuechange\",onCut:\"oncut\",onDblClick:\"ondblclick\",onDrag:\"ondrag\",onDragEnd:\"ondragend\",onDragEnter:\"ondragenter\",onDragExit:\"ondragexit\",onDragLeave:\"ondragleave\",onDragOver:\"ondragover\",onDragStart:\"ondragstart\",onDrop:\"ondrop\",onDurationChange:\"ondurationchange\",onEmptied:\"onemptied\",onEnd:\"onend\",onEnded:\"onended\",onError:\"onerror\",onFocus:\"onfocus\",onFocusIn:\"onfocusin\",onFocusOut:\"onfocusout\",onHashChange:\"onhashchange\",onInput:\"oninput\",onInvalid:\"oninvalid\",onKeyDown:\"onkeydown\",onKeyPress:\"onkeypress\",onKeyUp:\"onkeyup\",onLoad:\"onload\",onLoadedData:\"onloadeddata\",onLoadedMetadata:\"onloadedmetadata\",onLoadStart:\"onloadstart\",onMessage:\"onmessage\",onMouseDown:\"onmousedown\",onMouseEnter:\"onmouseenter\",onMouseLeave:\"onmouseleave\",onMouseMove:\"onmousemove\",onMouseOut:\"onmouseout\",onMouseOver:\"onmouseover\",onMouseUp:\"onmouseup\",onMouseWheel:\"onmousewheel\",onOffline:\"onoffline\",onOnline:\"ononline\",onPageHide:\"onpagehide\",onPageShow:\"onpageshow\",onPaste:\"onpaste\",onPause:\"onpause\",onPlay:\"onplay\",onPlaying:\"onplaying\",onPopState:\"onpopstate\",onProgress:\"onprogress\",onRateChange:\"onratechange\",onRepeat:\"onrepeat\",onReset:\"onreset\",onResize:\"onresize\",onScroll:\"onscroll\",onSeeked:\"onseeked\",onSeeking:\"onseeking\",onSelect:\"onselect\",onShow:\"onshow\",onStalled:\"onstalled\",onStorage:\"onstorage\",onSubmit:\"onsubmit\",onSuspend:\"onsuspend\",onTimeUpdate:\"ontimeupdate\",onToggle:\"ontoggle\",onUnload:\"onunload\",onVolumeChange:\"onvolumechange\",onWaiting:\"onwaiting\",onZoom:\"onzoom\",overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pointerEvents:\"pointer-events\",referrerPolicy:\"referrerpolicy\",renderingIntent:\"rendering-intent\",shapeRendering:\"shape-rendering\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",strokeDashArray:\"stroke-dasharray\",strokeDashOffset:\"stroke-dashoffset\",strokeLineCap:\"stroke-linecap\",strokeLineJoin:\"stroke-linejoin\",strokeMiterLimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",tabIndex:\"tabindex\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",typeOf:\"typeof\",underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",vectorEffect:\"vector-effect\",vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",xHeight:\"x-height\",playbackOrder:\"playbackorder\",timelineBegin:\"timelinebegin\"},transform:Ei,properties:{about:hi,accentHeight:fi,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:fi,amplitude:fi,arabicForm:null,ascent:fi,attributeName:null,attributeType:null,azimuth:fi,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:fi,by:null,calcMode:null,capHeight:fi,className:pi,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:fi,diffuseConstant:fi,direction:null,display:null,dur:null,divisor:fi,dominantBaseline:null,download:ui,dx:null,dy:null,edgeMode:null,editable:null,elevation:fi,enableBackground:null,end:null,event:null,exponent:fi,externalResourcesRequired:null,fill:null,fillOpacity:fi,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:di,g2:di,glyphName:di,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:fi,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:fi,horizOriginX:fi,horizOriginY:fi,id:null,ideographic:fi,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:fi,k:fi,k1:fi,k2:fi,k3:fi,k4:fi,kernelMatrix:hi,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:fi,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:fi,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:fi,overlineThickness:fi,paintOrder:null,panose1:null,path:null,pathLength:fi,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:pi,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:fi,pointsAtY:fi,pointsAtZ:fi,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:hi,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:hi,rev:hi,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:hi,requiredFeatures:hi,requiredFonts:hi,requiredFormats:hi,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:fi,specularExponent:fi,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:fi,strikethroughThickness:fi,string:null,stroke:null,strokeDashArray:hi,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:fi,strokeOpacity:fi,strokeWidth:null,style:null,surfaceScale:fi,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:hi,tabIndex:fi,tableValues:null,target:null,targetX:fi,targetY:fi,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:hi,to:null,transform:null,u1:null,u2:null,underlinePosition:fi,underlineThickness:fi,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:fi,values:null,vAlphabetic:fi,vMathematical:fi,vectorEffect:null,vHanging:fi,vIdeographic:fi,version:null,vertAdvY:fi,vertOriginX:fi,vertOriginY:fi,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:fi,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),Di=ii([wi,_i,ki,Ai,Ci],\"html\"),Mi=ii([wi,_i,ki,Ai,Ti],\"svg\"),Pi=/^data[-\\w.:]+$/i,Oi=/-[a-z]/g,Li=/[A-Z]/g;function Ni(e){return\"-\"+e.toLowerCase()}function Fi(e){return e.charAt(1).toUpperCase()}var Ri=__webpack_require__(57848);const Ii={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\",xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"},ji={classId:\"classID\",dataType:\"datatype\",itemId:\"itemID\",strokeDashArray:\"strokeDasharray\",strokeDashOffset:\"strokeDashoffset\",strokeLineCap:\"strokeLinecap\",strokeLineJoin:\"strokeLinejoin\",strokeMiterLimit:\"strokeMiterlimit\",typeOf:\"typeof\",xLinkActuate:\"xlinkActuate\",xLinkArcRole:\"xlinkArcrole\",xLinkHref:\"xlinkHref\",xLinkRole:\"xlinkRole\",xLinkShow:\"xlinkShow\",xLinkTitle:\"xlinkTitle\",xLinkType:\"xlinkType\",xmlnsXLink:\"xmlnsXlink\"},Bi={}.hasOwnProperty,qi=Zn(\"root\"),zi=Zn(\"element\"),Vi=Zn(\"text\");function Ui(e,t,n){if(\"function\"!=typeof e)throw new TypeError(\"h is not a function\");const r=function(e){const t=e(\"div\",{});return Boolean(t&&(\"_owner\"in t||\"_store\"in t)&&(void 0===t.key||null===t.key))}(e),i=function(e){const t=e(\"div\",{});return Boolean(t&&t.context&&t.context._isVue)}(e),o=function(e){return\"VirtualNode\"===e(\"div\",{}).type}(e);let a,s;if(\"string\"==typeof n||\"boolean\"==typeof n?(a=n,n={}):(n||(n={}),a=n.prefix),qi(t))s=1===t.children.length&&zi(t.children[0])?t.children[0]:{type:\"element\",tagName:\"div\",properties:{},children:t.children};else{if(!zi(t))throw new Error(\"Expected root or element, not `\"+(t&&t.type||t)+\"`\");s=t}return Wi(e,s,{schema:\"svg\"===n.space?Mi:Di,prefix:null==a?r||i||o?\"h-\":null:\"string\"==typeof a?a:a?\"h-\":null,key:0,react:r,vue:i,vdom:o,hyperscript:Xi(e)})}function Wi(e,t,n){const r=n.schema;let i=r,o=t.tagName;const a={},s=[];let u,l=-1;for(u in\"html\"===r.space&&\"svg\"===o.toLowerCase()&&(i=Mi,n.schema=i),t.properties)t.properties&&Bi.call(t.properties,u)&&Yi(a,u,t.properties[u],n,o);if(n.vdom&&(\"html\"===i.space?o=o.toUpperCase():i.space&&(a.namespace=Ii[i.space])),n.prefix&&(n.key++,a.key=n.prefix+n.key),t.children)for(;++l<t.children.length;){const r=t.children[l];zi(r)?s.push(Wi(e,r,n)):Vi(r)&&s.push(r.value)}return n.schema=r,s.length>0?e.call(t,o,a,s):e.call(t,o,a)}function Yi(e,t,n,r,i){const o=function(e,t){const n=oi(t);let r=t,i=ai;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&\"data\"===n.slice(0,4)&&Pi.test(t)){if(\"-\"===t.charAt(4)){const e=t.slice(5).replace(Oi,Fi);r=\"data\"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!Oi.test(e)){let n=e.replace(Li,Ni);\"-\"!==n.charAt(0)&&(n=\"-\"+n),t=\"data\"+n}}i=vi}return new i(r,t)}(r.schema,t);let a;var s,u;null==n||\"number\"==typeof n&&Number.isNaN(n)||!1===n&&(r.vue||r.vdom||r.hyperscript)||!n&&o.boolean&&(r.vue||r.vdom||r.hyperscript)||(Array.isArray(n)&&(n=o.commaSeparated?(u={},\"\"===(s=n)[s.length-1]&&(s=s.concat(\"\")),s.join((u.padRight?\" \":\"\")+\",\"+(!1===u.padLeft?\"\":\" \")).trim()):function(e){return e.join(\" \").trim()}(n)),o.boolean&&r.hyperscript&&(n=\"\"),\"style\"===o.property&&\"string\"==typeof n&&(r.react||r.vue||r.vdom)&&(n=function(e,t){const n={};try{Ri(e,((e,t)=>{\"-ms-\"===e.slice(0,4)&&(e=\"ms-\"+e.slice(4)),n[e.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()))]=t}))}catch(e){throw e.message=t+\"[style]\"+e.message.slice(\"undefined\".length),e}return n}(n,i)),r.vue?\"style\"!==o.property&&(a=\"attrs\"):o.mustUseProperty||(r.vdom?\"style\"!==o.property&&(a=\"attributes\"):r.hyperscript&&(a=\"attrs\")),a?e[a]=Object.assign(e[a]||{},{[o.attribute]:n}):o.space&&r.react?e[ji[o.property]||o.property]=n:e[o.attribute]=n)}function Xi(e){return\"context\"in e&&\"cleanup\"in e}var Hi=__webpack_require__(90478);const Gi={}.hasOwnProperty,$i=new Set([\"table\",\"thead\",\"tbody\",\"tfoot\",\"tr\"]),Ki=function(e){if(!e||!e.createElement)throw new Error(\"Missing `createElement` in `options`\");const t=e.createElement,n=e.Fragment||e.fragment,r=!1!==e.sanitize,i=r&&\"boolean\"!=typeof e.sanitize?e.sanitize:null,o=e.toHast||{},a=e.remarkReactComponents||{};function s(e,n,r){return r&&$i.has(e)&&(r=r.filter((e=>\"\\n\"!==e))),t(Gi.call(a,e)?a[e]:e,n,r)}Object.assign(this,{Compiler:function(a){let u=function(e,t){const n=Ur(e,t),r=Mr(n,e,null),i=function(e){const t=e.footnoteById,n=e.footnoteOrder;let r=-1;const i=[];for(;++r<n.length;){const e=t[n[r].toUpperCase()];if(!e)continue;const o=String(r+1),a=[...e.children],s={type:\"link\",url:\"#fnref\"+o,data:{hProperties:{className:[\"footnote-back\"],role:\"doc-backlink\"}},children:[{type:\"text\",value:\"↩\"}]},u=a[a.length-1];u&&\"paragraph\"===u.type?u.children.push(s):a.push(s),i.push({type:\"listItem\",data:{hProperties:{id:\"fn\"+o,role:\"doc-endnote\"}},children:a,position:e.position})}return 0===i.length?null:e(null,\"section\",{className:[\"footnotes\"],role:\"doc-endnotes\"},Nr([Lr(e),Fr(e,{type:\"list\",ordered:!0,children:i})],!0))}(n);return i&&r.children.push(_r(\"text\",\"\\n\"),i),Array.isArray(r)?{type:\"root\",children:r}:r}(a,o);r&&u&&(u=function(e,t){var n,r={type:\"root\",children:[]};return e&&\"object\"==typeof e&&e.type&&(n=Gr(Object.assign({},Wr,t||{}),e,[]))&&(Array.isArray(n)?1===n.length?r=n[0]:r.children=n:r=n),r}(u,i||void 0));let l=Ui(s,Hi(u),e.prefix);return l&&\"object\"==typeof l&&\"type\"in l&&\"div\"===l.type&&\"props\"in l&&n&&(l=t(n,{},l.props.children)),l}})},Zi=e=>{const{name:t,propDocs:n,children:r}=e,i=se().get(n,\"props\"),a=Object.entries(i).sort(((e,t)=>e[0]<t[0]?-1:1)).reduce(((e,t)=>{let[n,r]=t;return e[n]=r,e}),{});return o.createElement(\"div\",{className:\"container-fluid component-docs\"},o.createElement(\"div\",{className:\"row\"},o.createElement(\"h2\",null,t)),n.description?o.createElement(\"div\",{className:\"row component-description\"},Qi(n.description)):null,o.createElement(\"div\",{className:\"row prop-docs\"},o.createElement(\"h4\",null,t,\" props:\"),se().map(a,((e,t)=>o.createElement(\"div\",{key:t,className:\"prop-doc\"},o.createElement(\"strong\",null,t),\": \",function(e){const t=se().get(e,\"type\");if(!t)return\"unknown\";const n=se().get(t,\"name\",\"unknown\");let r=n;return\"union\"===n?r=t.computed?\"func || value\":Ji(t,\"name\"):\"custom\"===n?\"CustomPropTypes.valueOrAccessor\"===t.raw?r=\"date || func || number || string\":\"CustomPropTypes.getter\"===t.raw&&(r=\"array || func || number || string\"):\"arrayOf\"===n?r=`Array<${se().get(e,\"type.value.name\",{})}>`:\"enum\"===n&&(r=Ji(t,\"value\")),r}(e),o.createElement(\"i\",null,e.required&&\" (required)\"),e.description?o.createElement(\"br\",null):null,e.description?o.createElement(\"span\",{className:\"prop-description\"},Qi(e.description)):null,e.defaultValue?o.createElement(\"div\",{className:\"prop-default\"},\"default value: \",o.createElement(\"code\",null,e.defaultValue.value)):null)))),r)};function Ji(e,t){return se().get(e,\"value\",[]).map((e=>{const n=se().get(e,t,\"\");return\"enum\"===n?Ji(e,\"value\"):\"instanceOf\"===n?se().get(e,\"value\",\"\").toLowerCase():n})).join(\" || \")}function Qi(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\";return xr().use(Ki,o).processSync(e).contents}Zi.propTypes={name:u().string,propDocs:u().object,children:u().any};const eo=Zi;function to(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function no(e){let t=e,n=e,r=e;function i(e,t,i=0,o=e.length){if(i<o){if(0!==n(t,t))return o;do{const n=i+o>>>1;r(e[n],t)<0?i=n+1:o=n}while(i<o)}return i}return 2!==e.length&&(t=(t,n)=>e(t)-n,n=to,r=(t,n)=>to(e(t),n)),{left:i,center:function(e,n,r=0,o=e.length){const a=i(e,n,r,o-1);return a>r&&t(e[a-1],n)>-t(e[a],n)?a-1:a},right:function(e,t,i=0,o=e.length){if(i<o){if(0!==n(t,t))return o;do{const n=i+o>>>1;r(e[n],t)<=0?i=n+1:o=n}while(i<o)}return i}}}function ro(e){return null===e?NaN:+e}const io=no(to),oo=io.right,ao=io.left,so=no(ro).center,uo=oo;function lo(e,t){let n=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&++n;else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(i=+i)>=i&&++n}return n}function co(e){return 0|e.length}function fo(e){return!(e>0)}function po(e){return\"object\"!=typeof e||\"length\"in e?e:Array.from(e)}function ho(...e){const t=\"function\"==typeof e[e.length-1]&&function(e){return t=>e(...t)}(e.pop()),n=(e=e.map(po)).map(co),r=e.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(fo))return o;for(;;){o.push(i.map(((t,n)=>e[n][t])));let a=r;for(;++i[a]===n[a];){if(0===a)return t?o.map(t):o;i[a--]=0}}}function mo(e,t){var n=0,r=0;return Float64Array.from(e,void 0===t?e=>n+=+e||0:i=>n+=+t(i,r++,e)||0)}function yo(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function vo(e,t){let n,r=0,i=0,o=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(n=t-i,i+=n/++r,o+=n*(t-i));else{let a=-1;for(let s of e)null!=(s=t(s,++a,e))&&(s=+s)>=s&&(n=s-i,i+=n/++r,o+=n*(s-i))}if(r>1)return o/(r-1)}function go(e,t){const n=vo(e,t);return n?Math.sqrt(n):n}function bo(e,t){let n,r;if(void 0===t)for(const t of e)null!=t&&(void 0===n?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(void 0===n?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}class xo{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let n=0;for(let r=0;r<this._n&&r<32;r++){const i=t[r],o=e+i,a=Math.abs(e)<Math.abs(i)?e-(o-i):i-(o-e);a&&(t[n++]=a),e=o}return t[n]=e,this._n=n+1,this}valueOf(){const e=this._partials;let t,n,r,i=this._n,o=0;if(i>0){for(o=e[--i];i>0&&(t=o,n=e[--i],o=t+n,r=n-(o-t),!r););i>0&&(r<0&&e[i-1]<0||r>0&&e[i-1]>0)&&(n=2*r,t=o+n,n==t-o&&(o=t))}return o}}function _o(e,t){const n=new xo;if(void 0===t)for(let t of e)(t=+t)&&n.add(t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&n.add(i)}return+n}function wo(e,t){const n=new xo;let r=-1;return Float64Array.from(e,void 0===t?e=>n.add(+e||0):i=>n.add(+t(i,++r,e)||0))}class Eo extends Map{constructor(e,t=To){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(ko(this,e))}has(e){return super.has(ko(this,e))}set(e,t){return super.set(Ao(this,e),t)}delete(e){return super.delete(Co(this,e))}}class So extends Set{constructor(e,t=To){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const t of e)this.add(t)}has(e){return super.has(ko(this,e))}add(e){return super.add(Ao(this,e))}delete(e){return super.delete(Co(this,e))}}function ko({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function Ao({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Co({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function To(e){return null!==e&&\"object\"==typeof e?e.valueOf():e}function Do(e){return e}function Mo(e,...t){return qo(e,Do,Do,t)}function Po(e,...t){return qo(e,Array.from,Do,t)}function Oo(e,t){for(let n=1,r=t.length;n<r;++n)e=e.flatMap((e=>e.pop().map((([t,n])=>[...e,t,n]))));return e}function Lo(e,...t){return Oo(Po(e,...t),t)}function No(e,t,...n){return Oo(Ro(e,t,...n),n)}function Fo(e,t,...n){return qo(e,Do,t,n)}function Ro(e,t,...n){return qo(e,Array.from,t,n)}function Io(e,...t){return qo(e,Do,Bo,t)}function jo(e,...t){return qo(e,Array.from,Bo,t)}function Bo(e){if(1!==e.length)throw new Error(\"duplicate key\");return e[0]}function qo(e,t,n,r){return function e(i,o){if(o>=r.length)return n(i);const a=new Eo,s=r[o++];let u=-1;for(const e of i){const t=s(e,++u,i),n=a.get(t);n?n.push(e):a.set(t,[e])}for(const[t,n]of a)a.set(t,e(n,o));return t(a)}(e,0)}function zo(e,t){return Array.from(t,(t=>e[t]))}function Vo(e,...t){if(\"function\"!=typeof e[Symbol.iterator])throw new TypeError(\"values is not iterable\");e=Array.from(e);let[n]=t;if(n&&2!==n.length||t.length>1){const r=Uint32Array.from(e,((e,t)=>t));return t.length>1?(t=t.map((t=>e.map(t))),r.sort(((e,n)=>{for(const r of t){const t=Wo(r[e],r[n]);if(t)return t}}))):(n=e.map(n),r.sort(((e,t)=>Wo(n[e],n[t])))),zo(e,r)}return e.sort(Uo(n))}function Uo(e=to){if(e===to)return Wo;if(\"function\"!=typeof e)throw new TypeError(\"compare is not a function\");return(t,n)=>{const r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}function Wo(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(e<t?-1:e>t?1:0)}function Yo(e,t,n){return(2!==t.length?Vo(Fo(e,t,n),(([e,t],[n,r])=>to(t,r)||to(e,n))):Vo(Mo(e,n),(([e,n],[r,i])=>t(n,i)||to(e,r)))).map((([e])=>e))}var Xo=Array.prototype,Ho=Xo.slice;function Go(e){return()=>e}Xo.map;var $o=Math.sqrt(50),Ko=Math.sqrt(10),Zo=Math.sqrt(2);function Jo(e,t,n){var r,i,o,a,s=-1;if(n=+n,(e=+e)==(t=+t)&&n>0)return[e];if((r=t<e)&&(i=e,e=t,t=i),0===(a=Qo(e,t,n))||!isFinite(a))return[];if(a>0){let n=Math.round(e/a),r=Math.round(t/a);for(n*a<e&&++n,r*a>t&&--r,o=new Array(i=r-n+1);++s<i;)o[s]=(n+s)*a}else{a=-a;let n=Math.round(e*a),r=Math.round(t*a);for(n/a<e&&++n,r/a>t&&--r,o=new Array(i=r-n+1);++s<i;)o[s]=(n+s)/a}return r&&o.reverse(),o}function Qo(e,t,n){var r=(t-e)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=$o?10:o>=Ko?5:o>=Zo?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=$o?10:o>=Ko?5:o>=Zo?2:1)}function ea(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=$o?i*=10:o>=Ko?i*=5:o>=Zo&&(i*=2),t<e?-i:i}function ta(e,t,n){let r;for(;;){const i=Qo(e,t,n);if(i===r||0===i||!isFinite(i))return[e,t];i>0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function na(e){return Math.ceil(Math.log(lo(e))/Math.LN2)+1}function ra(){var e=Do,t=bo,n=na;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a=r.length,s=new Array(a);for(i=0;i<a;++i)s[i]=e(r[i],i,r);var u=t(s),l=u[0],c=u[1],f=n(s,l,c);if(!Array.isArray(f)){const e=c,n=+f;if(t===bo&&([l,c]=ta(l,c,n)),(f=Jo(l,c,n))[f.length-1]>=c)if(e>=c&&t===bo){const e=Qo(l,c,n);isFinite(e)&&(e>0?c=(Math.floor(c/e)+1)*e:e<0&&(c=(Math.ceil(c*-e)+1)/-e))}else f.pop()}for(var p=f.length;f[0]<=l;)f.shift(),--p;for(;f[p-1]>c;)f.pop(),--p;var d,h=new Array(p+1);for(i=0;i<=p;++i)(d=h[i]=[]).x0=i>0?f[i-1]:l,d.x1=i<p?f[i]:c;for(i=0;i<a;++i)null!=(o=s[i])&&l<=o&&o<=c&&h[uo(f,o,0,p)].push(r[i]);return h}return r.value=function(t){return arguments.length?(e=\"function\"==typeof t?t:Go(t),r):e},r.domain=function(e){return arguments.length?(t=\"function\"==typeof e?e:Go([e[0],e[1]]),r):t},r.thresholds=function(e){return arguments.length?(n=\"function\"==typeof e?e:Array.isArray(e)?Go(Ho.call(e)):Go(e),r):n},r}function ia(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function oa(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function aa(e,t,n=0,r=e.length-1,i){for(i=void 0===i?Wo:Uo(i);r>n;){if(r-n>600){const o=r-n+1,a=t-n+1,s=Math.log(o),u=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*u*(o-u)/o)*(a-o/2<0?-1:1);aa(e,t,Math.max(n,Math.floor(t-a*u/o+l)),Math.min(r,Math.floor(t+(o-a)*u/o+l)),i)}const o=e[t];let a=n,s=r;for(sa(e,n,t),i(e[r],o)>0&&sa(e,n,r);a<s;){for(sa(e,a,s),++a,--s;i(e[a],o)<0;)++a;for(;i(e[s],o)>0;)--s}0===i(e[n],o)?sa(e,n,s):(++s,sa(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function sa(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function ua(e,t,n){if(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n)),r=e.length){if((t=+t)<=0||r<2)return oa(e);if(t>=1)return ia(e);var r,i=(r-1)*t,o=Math.floor(i),a=ia(aa(e,o).subarray(0,o+1));return a+(oa(e.subarray(o+1))-a)*(i-o)}}function la(e,t,n=ro){if(r=e.length){if((t=+t)<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e);return a+(+n(e[o+1],o+1,e)-a)*(i-o)}}function ca(e,t,n){return Math.ceil((n-t)/(2*(ua(e,.75)-ua(e,.25))*Math.pow(lo(e),-1/3)))}function fa(e,t,n){return Math.ceil((n-t)/(3.5*go(e)*Math.pow(lo(e),-1/3)))}function pa(e,t){let n,r=-1,i=-1;if(void 0===t)for(const t of e)++i,null!=t&&(n<t||void 0===n&&t>=t)&&(n=t,r=i);else for(let o of e)null!=(o=t(o,++i,e))&&(n<o||void 0===n&&o>=o)&&(n=o,r=i);return r}function da(e,t){let n=0,r=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function ha(e,t){return ua(e,.5,t)}function ma(e){return Array.from(function*(e){for(const t of e)yield*t}(e))}function ya(e,t){let n,r=-1,i=-1;if(void 0===t)for(const t of e)++i,null!=t&&(n>t||void 0===n&&t>=t)&&(n=t,r=i);else for(let o of e)null!=(o=t(o,++i,e))&&(n>o||void 0===n&&o>=o)&&(n=o,r=i);return r}function va(e,t){const n=new Eo;if(void 0===t)for(let t of e)null!=t&&t>=t&&n.set(t,(n.get(t)||0)+1);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&i>=i&&n.set(i,(n.get(i)||0)+1)}let r,i=0;for(const[e,t]of n)t>i&&(i=t,r=e);return r}function ga(e,t=ba){const n=[];let r,i=!1;for(const o of e)i&&n.push(t(r,o)),r=o,i=!0;return n}function ba(e,t){return[e,t]}function xa(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++r<i;)o[r]=e+r*n;return o}function _a(e,t=to){if(\"function\"!=typeof e[Symbol.iterator])throw new TypeError(\"values is not iterable\");let n=Array.from(e);const r=new Float64Array(n.length);2!==t.length&&(n=n.map(t),t=to);const i=(e,r)=>t(n[e],n[r]);let o,a;return Uint32Array.from(n,((e,t)=>t)).sort(t===to?(e,t)=>Wo(n[e],n[t]):Uo(i)).forEach(((e,t)=>{const n=i(e,void 0===o?e:o);n>=0?((void 0===o||n>0)&&(o=e,a=t),r[e]=a):r[e]=NaN})),r}function wa(e,t=to){let n,r=!1;if(1===t.length){let i;for(const o of e){const e=t(o);(r?to(e,i)<0:0===to(e,e))&&(n=o,i=e,r=!0)}}else for(const i of e)(r?t(i,n)<0:0===t(i,i))&&(n=i,r=!0);return n}function Ea(e,t=to){if(1===t.length)return ya(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?0===t(o,o):t(o,n)<0)&&(n=o,r=i);return r}function Sa(e,t=to){let n,r=!1;if(1===t.length){let i;for(const o of e){const e=t(o);(r?to(e,i)>0:0===to(e,e))&&(n=o,i=e,r=!0)}}else for(const i of e)(r?t(i,n)>0:0===t(i,i))&&(n=i,r=!0);return n}function ka(e,t=to){if(1===t.length)return pa(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?0===t(o,o):t(o,n)>0)&&(n=o,r=i);return r}function Aa(e,t){const n=Ea(e,t);return n<0?void 0:n}const Ca=Ta(Math.random);function Ta(e){return function(t,n=0,r=t.length){let i=r-(n=+n);for(;i;){const r=e()*i--|0,o=t[i+n];t[i+n]=t[r+n],t[r+n]=o}return t}}function Da(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Ma(e){if(!(i=e.length))return[];for(var t=-1,n=oa(e,Pa),r=new Array(n);++t<n;)for(var i,o=-1,a=r[t]=new Array(i);++o<i;)a[o]=e[o][t];return r}function Pa(e){return e.length}function Oa(){return Ma(arguments)}function La(e,t){if(\"function\"!=typeof t)throw new TypeError(\"test is not a function\");let n=-1;for(const r of e)if(!t(r,++n,e))return!1;return!0}function Na(e,t){if(\"function\"!=typeof t)throw new TypeError(\"test is not a function\");let n=-1;for(const r of e)if(t(r,++n,e))return!0;return!1}function Fa(e,t){if(\"function\"!=typeof t)throw new TypeError(\"test is not a function\");const n=[];let r=-1;for(const i of e)t(i,++r,e)&&n.push(i);return n}function Ra(e,t){if(\"function\"!=typeof e[Symbol.iterator])throw new TypeError(\"values is not iterable\");if(\"function\"!=typeof t)throw new TypeError(\"mapper is not a function\");return Array.from(e,((n,r)=>t(n,r,e)))}function Ia(e,t,n){if(\"function\"!=typeof t)throw new TypeError(\"reducer is not a function\");const r=e[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if(({done:i,value:n}=r.next()),i)return;++a}for(;({done:i,value:o}=r.next()),!i;)n=t(n,o,++a,e);return n}function ja(e){if(\"function\"!=typeof e[Symbol.iterator])throw new TypeError(\"values is not iterable\");return Array.from(e).reverse()}function Ba(e,...t){e=new So(e);for(const n of t)for(const t of n)e.delete(t);return e}function qa(e,t){const n=t[Symbol.iterator](),r=new So;for(const t of e){if(r.has(t))return!1;let e,i;for(;({value:e,done:i}=n.next())&&!i;){if(Object.is(t,e))return!1;r.add(e)}}return!0}function za(e,...t){e=new So(e),t=t.map(Va);e:for(const n of e)for(const r of t)if(!r.has(n)){e.delete(n);continue e}return e}function Va(e){return e instanceof So?e:new So(e)}function Ua(e,t){const n=e[Symbol.iterator](),r=new Set;for(const e of t){const t=Wa(e);if(r.has(t))continue;let i,o;for(;({value:i,done:o}=n.next());){if(o)return!1;const e=Wa(i);if(r.add(e),Object.is(t,e))break}}return!0}function Wa(e){return null!==e&&\"object\"==typeof e?e.valueOf():e}function Ya(e,t){return Ua(t,e)}function Xa(...e){const t=new So;for(const n of e)for(const e of n)t.add(e);return t}function Ha(e){return e}var Ga=1e-6;function $a(e){return\"translate(\"+e+\",0)\"}function Ka(e){return\"translate(0,\"+e+\")\"}function Za(e){return t=>+e(t)}function Ja(e,t){return t=Math.max(0,e.bandwidth()-2*t)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function Qa(){return!this.__axis}function es(e,t){var n=[],r=null,i=null,o=6,a=6,s=3,u=\"undefined\"!=typeof window&&window.devicePixelRatio>1?0:.5,l=1===e||4===e?-1:1,c=4===e||2===e?\"x\":\"y\",f=1===e||3===e?$a:Ka;function p(p){var d=null==r?t.ticks?t.ticks.apply(t,n):t.domain():r,h=null==i?t.tickFormat?t.tickFormat.apply(t,n):Ha:i,m=Math.max(o,0)+s,y=t.range(),v=+y[0]+u,g=+y[y.length-1]+u,b=(t.bandwidth?Ja:Za)(t.copy(),u),x=p.selection?p.selection():p,_=x.selectAll(\".domain\").data([null]),w=x.selectAll(\".tick\").data(d,t).order(),E=w.exit(),S=w.enter().append(\"g\").attr(\"class\",\"tick\"),k=w.select(\"line\"),A=w.select(\"text\");_=_.merge(_.enter().insert(\"path\",\".tick\").attr(\"class\",\"domain\").attr(\"stroke\",\"currentColor\")),w=w.merge(S),k=k.merge(S.append(\"line\").attr(\"stroke\",\"currentColor\").attr(c+\"2\",l*o)),A=A.merge(S.append(\"text\").attr(\"fill\",\"currentColor\").attr(c,l*m).attr(\"dy\",1===e?\"0em\":3===e?\"0.71em\":\"0.32em\")),p!==x&&(_=_.transition(p),w=w.transition(p),k=k.transition(p),A=A.transition(p),E=E.transition(p).attr(\"opacity\",Ga).attr(\"transform\",(function(e){return isFinite(e=b(e))?f(e+u):this.getAttribute(\"transform\")})),S.attr(\"opacity\",Ga).attr(\"transform\",(function(e){var t=this.parentNode.__axis;return f((t&&isFinite(t=t(e))?t:b(e))+u)}))),E.remove(),_.attr(\"d\",4===e||2===e?a?\"M\"+l*a+\",\"+v+\"H\"+u+\"V\"+g+\"H\"+l*a:\"M\"+u+\",\"+v+\"V\"+g:a?\"M\"+v+\",\"+l*a+\"V\"+u+\"H\"+g+\"V\"+l*a:\"M\"+v+\",\"+u+\"H\"+g),w.attr(\"opacity\",1).attr(\"transform\",(function(e){return f(b(e)+u)})),k.attr(c+\"2\",l*o),A.attr(c,l*m).text(h),x.filter(Qa).attr(\"fill\",\"none\").attr(\"font-size\",10).attr(\"font-family\",\"sans-serif\").attr(\"text-anchor\",2===e?\"start\":4===e?\"end\":\"middle\"),x.each((function(){this.__axis=b}))}return p.scale=function(e){return arguments.length?(t=e,p):t},p.ticks=function(){return n=Array.from(arguments),p},p.tickArguments=function(e){return arguments.length?(n=null==e?[]:Array.from(e),p):n.slice()},p.tickValues=function(e){return arguments.length?(r=null==e?null:Array.from(e),p):r&&r.slice()},p.tickFormat=function(e){return arguments.length?(i=e,p):i},p.tickSize=function(e){return arguments.length?(o=a=+e,p):o},p.tickSizeInner=function(e){return arguments.length?(o=+e,p):o},p.tickSizeOuter=function(e){return arguments.length?(a=+e,p):a},p.tickPadding=function(e){return arguments.length?(s=+e,p):s},p.offset=function(e){return arguments.length?(u=+e,p):u},p}function ts(e){return es(1,e)}function ns(e){return es(2,e)}function rs(e){return es(3,e)}function is(e){return es(4,e)}var os={value:()=>{}};function as(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+\"\")||e in r||/[\\s.]/.test(e))throw new Error(\"illegal type: \"+e);r[e]=[]}return new ss(r)}function ss(e){this._=e}function us(e,t){return e.trim().split(/^|\\s+/).map((function(e){var n=\"\",r=e.indexOf(\".\");if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);return{type:e,name:n}}))}function ls(e,t){for(var n,r=0,i=e.length;r<i;++r)if((n=e[r]).name===t)return n.value}function cs(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=os,e=e.slice(0,r).concat(e.slice(r+1));break}return null!=n&&e.push({name:t,value:n}),e}ss.prototype=as.prototype={constructor:ss,on:function(e,t){var n,r=this._,i=us(e+\"\",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=t&&\"function\"!=typeof t)throw new Error(\"invalid callback: \"+t);for(;++o<a;)if(n=(e=i[o]).type)r[n]=cs(r[n],e.name,t);else if(null==t)for(n in r)r[n]=cs(r[n],e.name,null);return this}for(;++o<a;)if((n=(e=i[o]).type)&&(n=ls(r[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ss(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(o=0,n=(r=this._[e]).length;o<n;++o)r[o].value.apply(t,i)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error(\"unknown type: \"+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};const fs=as;function ps(){}function ds(e){return null==e?ps:function(){return this.querySelector(e)}}function hs(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function ms(){return[]}function ys(e){return null==e?ms:function(){return this.querySelectorAll(e)}}function vs(e){return function(){return this.matches(e)}}function gs(e){return function(t){return t.matches(e)}}var bs=Array.prototype.find;function xs(){return this.firstElementChild}var _s=Array.prototype.filter;function ws(){return Array.from(this.children)}function Es(e){return new Array(e.length)}function Ss(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function ks(e){return function(){return e}}function As(e,t,n,r,i,o){for(var a,s=0,u=t.length,l=o.length;s<l;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new Ss(e,o[s]);for(;s<u;++s)(a=t[s])&&(i[s]=a)}function Cs(e,t,n,r,i,o,a){var s,u,l,c=new Map,f=t.length,p=o.length,d=new Array(f);for(s=0;s<f;++s)(u=t[s])&&(d[s]=l=a.call(u,u.__data__,s,t)+\"\",c.has(l)?i[s]=u:c.set(l,u));for(s=0;s<p;++s)l=a.call(e,o[s],s,o)+\"\",(u=c.get(l))?(r[s]=u,u.__data__=o[s],c.delete(l)):n[s]=new Ss(e,o[s]);for(s=0;s<f;++s)(u=t[s])&&c.get(d[s])===u&&(i[s]=u)}function Ts(e){return e.__data__}function Ds(e){return\"object\"==typeof e&&\"length\"in e?e:Array.from(e)}function Ms(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}Ss.prototype={constructor:Ss,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Ps=\"http://www.w3.org/1999/xhtml\";const Os={svg:\"http://www.w3.org/2000/svg\",xhtml:Ps,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function Ls(e){var t=e+=\"\",n=t.indexOf(\":\");return n>=0&&\"xmlns\"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Os.hasOwnProperty(t)?{space:Os[t],local:e}:e}function Ns(e){return function(){this.removeAttribute(e)}}function Fs(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Rs(e,t){return function(){this.setAttribute(e,t)}}function Is(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function js(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Bs(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function qs(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function zs(e){return function(){this.style.removeProperty(e)}}function Vs(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Us(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ws(e,t){return e.style.getPropertyValue(t)||qs(e).getComputedStyle(e,null).getPropertyValue(t)}function Ys(e){return function(){delete this[e]}}function Xs(e,t){return function(){this[e]=t}}function Hs(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Gs(e){return e.trim().split(/^|\\s+/)}function $s(e){return e.classList||new Ks(e)}function Ks(e){this._node=e,this._names=Gs(e.getAttribute(\"class\")||\"\")}function Zs(e,t){for(var n=$s(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Js(e,t){for(var n=$s(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Qs(e){return function(){Zs(this,e)}}function eu(e){return function(){Js(this,e)}}function tu(e,t){return function(){(t.apply(this,arguments)?Zs:Js)(this,e)}}function nu(){this.textContent=\"\"}function ru(e){return function(){this.textContent=e}}function iu(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?\"\":t}}function ou(){this.innerHTML=\"\"}function au(e){return function(){this.innerHTML=e}}function su(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?\"\":t}}function uu(){this.nextSibling&&this.parentNode.appendChild(this)}function lu(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function cu(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Ps&&t.documentElement.namespaceURI===Ps?t.createElement(e):t.createElementNS(n,e)}}function fu(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function pu(e){var t=Ls(e);return(t.local?fu:cu)(t)}function du(){return null}function hu(){var e=this.parentNode;e&&e.removeChild(this)}function mu(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function yu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function vu(e){return e.trim().split(/^|\\s+/).map((function(e){var t=\"\",n=e.indexOf(\".\");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function gu(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function bu(e,t,n){return function(){var r,i=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=t);this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function xu(e,t,n){var r=qs(e),i=r.CustomEvent;\"function\"==typeof i?i=new i(t,n):(i=r.document.createEvent(\"Event\"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function _u(e,t){return function(){return xu(this,e,t)}}function wu(e,t){return function(){return xu(this,e,t.apply(this,arguments))}}Ks.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(e){return this._names.indexOf(e)>=0}};var Eu=[null];function Su(e,t){this._groups=e,this._parents=t}function ku(){return new Su([[document.documentElement]],Eu)}Su.prototype=ku.prototype={constructor:Su,select:function(e){\"function\"!=typeof e&&(e=ds(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],u=s.length,l=r[i]=new Array(u),c=0;c<u;++c)(o=s[c])&&(a=e.call(o,o.__data__,c,s))&&(\"__data__\"in o&&(a.__data__=o.__data__),l[c]=a);return new Su(r,this._parents)},selectAll:function(e){e=\"function\"==typeof e?function(e){return function(){return hs(e.apply(this,arguments))}}(e):ys(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],u=s.length,l=0;l<u;++l)(a=s[l])&&(r.push(e.call(a,a.__data__,l,s)),i.push(a));return new Su(r,i)},selectChild:function(e){return this.select(null==e?xs:function(e){return function(){return bs.call(this.children,e)}}(\"function\"==typeof e?e:gs(e)))},selectChildren:function(e){return this.selectAll(null==e?ws:function(e){return function(){return _s.call(this.children,e)}}(\"function\"==typeof e?e:gs(e)))},filter:function(e){\"function\"!=typeof e&&(e=vs(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,u=r[i]=[],l=0;l<s;++l)(o=a[l])&&e.call(o,o.__data__,l,a)&&u.push(o);return new Su(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,Ts);var n=t?Cs:As,r=this._parents,i=this._groups;\"function\"!=typeof e&&(e=ks(e));for(var o=i.length,a=new Array(o),s=new Array(o),u=new Array(o),l=0;l<o;++l){var c=r[l],f=i[l],p=f.length,d=Ds(e.call(c,c&&c.__data__,l,r)),h=d.length,m=s[l]=new Array(h),y=a[l]=new Array(h),v=u[l]=new Array(p);n(c,f,m,y,v,d,t);for(var g,b,x=0,_=0;x<h;++x)if(g=m[x]){for(x>=_&&(_=x+1);!(b=y[_])&&++_<h;);g._next=b||null}}return(a=new Su(a,r))._enter=s,a._exit=u,a},enter:function(){return new Su(this._enter||this._groups.map(Es),this._parents)},exit:function(){return new Su(this._exit||this._groups.map(Es),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return\"function\"==typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+\"\"),null!=t&&(i=t(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),u=0;u<a;++u)for(var l,c=n[u],f=r[u],p=c.length,d=s[u]=new Array(p),h=0;h<p;++h)(l=c[h]||f[h])&&(d[h]=l);for(;u<i;++u)s[u]=n[u];return new Su(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Ms);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],u=s.length,l=i[o]=new Array(u),c=0;c<u;++c)(a=s[c])&&(l[c]=a);l.sort(t)}return new Su(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=Ls(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?Fs:Ns:\"function\"==typeof t?n.local?Bs:js:n.local?Is:Rs)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?zs:\"function\"==typeof t?Us:Vs)(e,t,null==n?\"\":n)):Ws(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?Ys:\"function\"==typeof t?Hs:Xs)(e,t)):this.node()[e]},classed:function(e,t){var n=Gs(e+\"\");if(arguments.length<2){for(var r=$s(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((\"function\"==typeof t?tu:t?Qs:eu)(n,t))},text:function(e){return arguments.length?this.each(null==e?nu:(\"function\"==typeof e?iu:ru)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ou:(\"function\"==typeof e?su:au)(e)):this.node().innerHTML},raise:function(){return this.each(uu)},lower:function(){return this.each(lu)},append:function(e){var t=\"function\"==typeof e?e:pu(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n=\"function\"==typeof e?e:pu(e),r=null==t?du:\"function\"==typeof t?t:ds(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(hu)},clone:function(e){return this.select(e?yu:mu)},datum:function(e){return arguments.length?this.property(\"__data__\",e):this.node().__data__},on:function(e,t,n){var r,i,o=vu(e+\"\"),a=o.length;if(!(arguments.length<2)){for(s=t?bu:gu,r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var u,l=0,c=s.length;l<c;++l)for(r=0,u=s[l];r<a;++r)if((i=o[r]).type===u.type&&i.name===u.name)return u.value},dispatch:function(e,t){return this.each((\"function\"==typeof t?wu:_u)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r,i=e[t],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};const Au=ku;function Cu(e){return\"string\"==typeof e?new Su([[document.querySelector(e)]],[document.documentElement]):new Su([[e]],Eu)}const Tu={passive:!1},Du={capture:!0,passive:!1};function Mu(e){e.stopImmediatePropagation()}function Pu(e){e.preventDefault(),e.stopImmediatePropagation()}function Ou(e){var t=e.document.documentElement,n=Cu(e).on(\"dragstart.drag\",Pu,Du);\"onselectstart\"in t?n.on(\"selectstart.drag\",Pu,Du):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=\"none\")}function Lu(e,t){var n=e.document.documentElement,r=Cu(e).on(\"dragstart.drag\",null);t&&(r.on(\"click.drag\",Pu,Du),setTimeout((function(){r.on(\"click.drag\",null)}),0)),\"onselectstart\"in n?r.on(\"selectstart.drag\",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function Nu(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Fu(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ru(){}var Iu=.7,ju=1/Iu,Bu=\"\\\\s*([+-]?\\\\d+)\\\\s*\",qu=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",zu=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Vu=/^#([0-9a-f]{3,8})$/,Uu=new RegExp(`^rgb\\\\(${Bu},${Bu},${Bu}\\\\)$`),Wu=new RegExp(`^rgb\\\\(${zu},${zu},${zu}\\\\)$`),Yu=new RegExp(`^rgba\\\\(${Bu},${Bu},${Bu},${qu}\\\\)$`),Xu=new RegExp(`^rgba\\\\(${zu},${zu},${zu},${qu}\\\\)$`),Hu=new RegExp(`^hsl\\\\(${qu},${zu},${zu}\\\\)$`),Gu=new RegExp(`^hsla\\\\(${qu},${zu},${zu},${qu}\\\\)$`),$u={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Ku(){return this.rgb().formatHex()}function Zu(){return this.rgb().formatRgb()}function Ju(e){var t,n;return e=(e+\"\").trim().toLowerCase(),(t=Vu.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?Qu(t):3===n?new rl(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?el(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?el(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Uu.exec(e))?new rl(t[1],t[2],t[3],1):(t=Wu.exec(e))?new rl(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Yu.exec(e))?el(t[1],t[2],t[3],t[4]):(t=Xu.exec(e))?el(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Hu.exec(e))?ll(t[1],t[2]/100,t[3]/100,1):(t=Gu.exec(e))?ll(t[1],t[2]/100,t[3]/100,t[4]):$u.hasOwnProperty(e)?Qu($u[e]):\"transparent\"===e?new rl(NaN,NaN,NaN,0):null}function Qu(e){return new rl(e>>16&255,e>>8&255,255&e,1)}function el(e,t,n,r){return r<=0&&(e=t=n=NaN),new rl(e,t,n,r)}function tl(e){return e instanceof Ru||(e=Ju(e)),e?new rl((e=e.rgb()).r,e.g,e.b,e.opacity):new rl}function nl(e,t,n,r){return 1===arguments.length?tl(e):new rl(e,t,n,null==r?1:r)}function rl(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function il(){return`#${ul(this.r)}${ul(this.g)}${ul(this.b)}`}function ol(){const e=al(this.opacity);return`${1===e?\"rgb(\":\"rgba(\"}${sl(this.r)}, ${sl(this.g)}, ${sl(this.b)}${1===e?\")\":`, ${e})`}`}function al(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function sl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ul(e){return((e=sl(e))<16?\"0\":\"\")+e.toString(16)}function ll(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new pl(e,t,n,r)}function cl(e){if(e instanceof pl)return new pl(e.h,e.s,e.l,e.opacity);if(e instanceof Ru||(e=Ju(e)),!e)return new pl;if(e instanceof pl)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n<r):n===o?(r-t)/s+2:(t-n)/s+4,s/=u<.5?o+i:2-o-i,a*=60):s=u>0&&u<1?0:a,new pl(a,s,u,e.opacity)}function fl(e,t,n,r){return 1===arguments.length?cl(e):new pl(e,t,n,null==r?1:r)}function pl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function dl(e){return(e=(e||0)%360)<0?e+360:e}function hl(e){return Math.max(0,Math.min(1,e||0))}function ml(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function yl(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}function vl(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r<t-1?e[r+2]:2*o-i;return yl((n-r/t)*t,a,i,o,s)}}function gl(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],a=e[(r+1)%t],s=e[(r+2)%t];return yl((n-r/t)*t,i,o,a,s)}}Nu(Ru,Ju,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ku,formatHex:Ku,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return cl(this).formatHsl()},formatRgb:Zu,toString:Zu}),Nu(rl,nl,Fu(Ru,{brighter(e){return e=null==e?ju:Math.pow(ju,e),new rl(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Iu:Math.pow(Iu,e),new rl(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rl(sl(this.r),sl(this.g),sl(this.b),al(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:il,formatHex:il,formatHex8:function(){return`#${ul(this.r)}${ul(this.g)}${ul(this.b)}${ul(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:ol,toString:ol})),Nu(pl,fl,Fu(Ru,{brighter(e){return e=null==e?ju:Math.pow(ju,e),new pl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Iu:Math.pow(Iu,e),new pl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new rl(ml(e>=240?e-240:e+120,i,r),ml(e,i,r),ml(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new pl(dl(this.h),hl(this.s),hl(this.l),al(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=al(this.opacity);return`${1===e?\"hsl(\":\"hsla(\"}${dl(this.h)}, ${100*hl(this.s)}%, ${100*hl(this.l)}%${1===e?\")\":`, ${e})`}`}}));const bl=e=>()=>e;function xl(e,t){return function(n){return e+n*t}}function _l(e,t){var n=t-e;return n?xl(e,n>180||n<-180?n-360*Math.round(n/360):n):bl(isNaN(e)?t:e)}function wl(e,t){var n=t-e;return n?xl(e,n):bl(isNaN(e)?t:e)}const El=function e(t){var n=function(e){return 1==(e=+e)?wl:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):bl(isNaN(t)?n:t)}}(t);function r(e,t){var r=n((e=nl(e)).r,(t=nl(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=wl(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+\"\"}}return r.gamma=e,r}(1);function Sl(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=nl(t[n]),o[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return o=e(o),a=e(a),s=e(s),r.opacity=1,function(e){return r.r=o(e),r.g=a(e),r.b=s(e),r+\"\"}}}var kl=Sl(vl),Al=Sl(gl);function Cl(e,t){t||(t=[]);var n,r=e?Math.min(t.length,e.length):0,i=t.slice();return function(o){for(n=0;n<r;++n)i[n]=e[n]*(1-o)+t[n]*o;return i}}function Tl(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Dl(e,t){return(Tl(t)?Cl:Ml)(e,t)}function Ml(e,t){var n,r=t?t.length:0,i=e?Math.min(r,e.length):0,o=new Array(i),a=new Array(r);for(n=0;n<i;++n)o[n]=Il(e[n],t[n]);for(;n<r;++n)a[n]=t[n];return function(e){for(n=0;n<i;++n)a[n]=o[n](e);return a}}function Pl(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Ol(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Ll(e,t){var n,r={},i={};for(n in null!==e&&\"object\"==typeof e||(e={}),null!==t&&\"object\"==typeof t||(t={}),t)n in e?r[n]=Il(e[n],t[n]):i[n]=t[n];return function(e){for(n in r)i[n]=r[n](e);return i}}var Nl=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Fl=new RegExp(Nl.source,\"g\");function Rl(e,t){var n,r,i,o=Nl.lastIndex=Fl.lastIndex=0,a=-1,s=[],u=[];for(e+=\"\",t+=\"\";(n=Nl.exec(e))&&(r=Fl.exec(t));)(i=r.index)>o&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:Ol(n,r)})),o=Fl.lastIndex;return o<t.length&&(i=t.slice(o),s[a]?s[a]+=i:s[++a]=i),s.length<2?u[0]?function(e){return function(t){return e(t)+\"\"}}(u[0].x):function(e){return function(){return e}}(t):(t=u.length,function(e){for(var n,r=0;r<t;++r)s[(n=u[r]).i]=n.x(e);return s.join(\"\")})}function Il(e,t){var n,r=typeof t;return null==t||\"boolean\"===r?bl(t):(\"number\"===r?Ol:\"string\"===r?(n=Ju(t))?(t=n,El):Rl:t instanceof Ju?El:t instanceof Date?Pl:Tl(t)?Cl:Array.isArray(t)?Ml:\"function\"!=typeof t.valueOf&&\"function\"!=typeof t.toString||isNaN(t)?Ll:Ol)(e,t)}function jl(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Bl(e,t){if(e=jl(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var ql,zl,Vl=0,Ul=0,Wl=0,Yl=0,Xl=0,Hl=0,Gl=\"object\"==typeof performance&&performance.now?performance:Date,$l=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Kl(){return Xl||($l(Zl),Xl=Gl.now()+Hl)}function Zl(){Xl=0}function Jl(){this._call=this._time=this._next=null}function Ql(e,t,n){var r=new Jl;return r.restart(e,t,n),r}function ec(){Kl(),++Vl;for(var e,t=ql;t;)(e=Xl-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Vl}function tc(){Xl=(Yl=Gl.now())+Hl,Vl=Ul=0;try{ec()}finally{Vl=0,function(){for(var e,t,n=ql,r=1/0;n;)n._call?(r>n._time&&(r=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:ql=t);zl=e,rc(r)}(),Xl=0}}function nc(){var e=Gl.now(),t=e-Yl;t>1e3&&(Hl-=t,Yl=e)}function rc(e){Vl||(Ul&&(Ul=clearTimeout(Ul)),e-Xl>24?(e<1/0&&(Ul=setTimeout(tc,e-Gl.now()-Hl)),Wl&&(Wl=clearInterval(Wl))):(Wl||(Yl=Gl.now(),Wl=setInterval(nc,1e3)),Vl=1,$l(tc)))}function ic(e,t,n){var r=new Jl;return t=null==t?0:+t,r.restart((n=>{r.stop(),e(n+t)}),t,n),r}Jl.prototype=Ql.prototype={constructor:Jl,restart:function(e,t,n){if(\"function\"!=typeof e)throw new TypeError(\"callback is not a function\");n=(null==n?Kl():+n)+(null==t?0:+t),this._next||zl===this||(zl?zl._next=this:ql=this,zl=this),this._call=e,this._time=n,rc()},stop:function(){this._call&&(this._call=null,this._time=1/0,rc())}};var oc=fs(\"start\",\"end\",\"cancel\",\"interrupt\"),ac=[];function sc(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(u){var l,c,f,p;if(1!==n.state)return s();for(l in i)if((p=i[l]).name===n.name){if(3===p.state)return ic(o);4===p.state?(p.state=6,p.timer.stop(),p.on.call(\"interrupt\",e,e.__data__,p.index,p.group),delete i[l]):+l<t&&(p.state=6,p.timer.stop(),p.on.call(\"cancel\",e,e.__data__,p.index,p.group),delete i[l])}if(ic((function(){3===n.state&&(n.state=4,n.timer.restart(a,n.delay,n.time),a(u))})),n.state=2,n.on.call(\"start\",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(f=n.tween.length),l=0,c=-1;l<f;++l)(p=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(r[++c]=p);r.length=c+1}}function a(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(s),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(e,i);5===n.state&&(n.on.call(\"end\",e,e.__data__,n.index,n.group),s())}function s(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=Ql((function(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}),0,n.time)}(e,n,{name:t,index:r,group:i,on:oc,tween:ac,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function uc(e,t){var n=cc(e,t);if(n.state>0)throw new Error(\"too late; already scheduled\");return n}function lc(e,t){var n=cc(e,t);if(n.state>3)throw new Error(\"too late; already running\");return n}function cc(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error(\"transition not found\");return n}function fc(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+\"\",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?\"interrupt\":\"cancel\",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}}var pc,dc=180/Math.PI,hc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function mc(e,t,n,r,i,o){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,u/=s),e*r<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*dc,skewX:Math.atan(u)*dc,scaleX:a,scaleY:s}}function yc(e,t,n,r){function i(e){return e.length?e.pop()+\" \":\"\"}return function(o,a){var s=[],u=[];return o=e(o),a=e(a),function(e,r,i,o,a,s){if(e!==i||r!==o){var u=a.push(\"translate(\",null,t,null,n);s.push({i:u-4,x:Ol(e,i)},{i:u-2,x:Ol(r,o)})}else(i||o)&&a.push(\"translate(\"+i+t+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,s,u),function(e,t,n,o){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+\"rotate(\",null,r)-2,x:Ol(e,t)})):t&&n.push(i(n)+\"rotate(\"+t+r)}(o.rotate,a.rotate,s,u),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+\"skewX(\",null,r)-2,x:Ol(e,t)}):t&&n.push(i(n)+\"skewX(\"+t+r)}(o.skewX,a.skewX,s,u),function(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+\"scale(\",null,\",\",null,\")\");a.push({i:s-4,x:Ol(e,n)},{i:s-2,x:Ol(t,r)})}else 1===n&&1===r||o.push(i(o)+\"scale(\"+n+\",\"+r+\")\")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,u),o=a=null,function(e){for(var t,n=-1,r=u.length;++n<r;)s[(t=u[n]).i]=t.x(e);return s.join(\"\")}}}var vc=yc((function(e){const t=new(\"function\"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?hc:mc(t.a,t.b,t.c,t.d,t.e,t.f)}),\"px, \",\"px)\",\"deg)\"),gc=yc((function(e){return null==e?hc:(pc||(pc=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),pc.setAttribute(\"transform\",e),(e=pc.transform.baseVal.consolidate())?mc((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):hc)}),\", \",\")\",\")\");function bc(e,t){var n,r;return function(){var i=lc(this,e),o=i.tween;if(o!==n)for(var a=0,s=(r=n=o).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}i.tween=r}}function xc(e,t,n){var r,i;if(\"function\"!=typeof n)throw new Error;return function(){var o=lc(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},u=0,l=i.length;u<l;++u)if(i[u].name===t){i[u]=s;break}u===l&&i.push(s)}o.tween=i}}function _c(e,t,n){var r=e._id;return e.each((function(){var e=lc(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return cc(e,r).value[t]}}function wc(e,t){var n;return(\"number\"==typeof t?Ol:t instanceof Ju?El:(n=Ju(t))?(t=n,El):Rl)(e,t)}function Ec(e){return function(){this.removeAttribute(e)}}function Sc(e){return function(){this.removeAttributeNS(e.space,e.local)}}function kc(e,t,n){var r,i,o=n+\"\";return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function Ac(e,t,n){var r,i,o=n+\"\";return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function Cc(e,t,n){var r,i,o;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttribute(e))===(s=u+\"\")?null:a===r&&s===i?o:(i=s,o=t(r=a,u));this.removeAttribute(e)}}function Tc(e,t,n){var r,i,o;return function(){var a,s,u=n(this);if(null!=u)return(a=this.getAttributeNS(e.space,e.local))===(s=u+\"\")?null:a===r&&s===i?o:(i=s,o=t(r=a,u));this.removeAttributeNS(e.space,e.local)}}function Dc(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Mc(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Pc(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Mc(e,i)),n}return i._value=t,i}function Oc(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Dc(e,i)),n}return i._value=t,i}function Lc(e,t){return function(){uc(this,e).delay=+t.apply(this,arguments)}}function Nc(e,t){return t=+t,function(){uc(this,e).delay=t}}function Fc(e,t){return function(){lc(this,e).duration=+t.apply(this,arguments)}}function Rc(e,t){return t=+t,function(){lc(this,e).duration=t}}function Ic(e,t){if(\"function\"!=typeof t)throw new Error;return function(){lc(this,e).ease=t}}function jc(e,t,n){var r,i,o=function(e){return(e+\"\").trim().split(/^|\\s+/).every((function(e){var t=e.indexOf(\".\");return t>=0&&(e=e.slice(0,t)),!e||\"start\"===e}))}(t)?uc:lc;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Bc=Au.prototype.constructor;function qc(e){return function(){this.style.removeProperty(e)}}function zc(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Vc(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&zc(e,o,n)),r}return o._value=t,o}function Uc(e){return function(t){this.textContent=e.call(this,t)}}function Wc(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&Uc(r)),t}return r._value=e,r}var Yc=0;function Xc(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Hc(e){return Au().transition(e)}function Gc(){return++Yc}var $c=Au.prototype;function Kc(e){return e*e*e}function Zc(e){return--e*e*e+1}function Jc(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}Xc.prototype=Hc.prototype={constructor:Xc,select:function(e){var t=this._name,n=this._id;\"function\"!=typeof e&&(e=ds(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s,u,l=r[a],c=l.length,f=o[a]=new Array(c),p=0;p<c;++p)(s=l[p])&&(u=e.call(s,s.__data__,p,l))&&(\"__data__\"in s&&(u.__data__=s.__data__),f[p]=u,sc(f[p],t,n,p,f,cc(s,n)));return new Xc(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;\"function\"!=typeof e&&(e=ys(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var u,l=r[s],c=l.length,f=0;f<c;++f)if(u=l[f]){for(var p,d=e.call(u,u.__data__,f,l),h=cc(u,n),m=0,y=d.length;m<y;++m)(p=d[m])&&sc(p,t,n,m,d,h);o.push(d),a.push(u)}return new Xc(o,a,t,n)},selectChild:$c.selectChild,selectChildren:$c.selectChildren,filter:function(e){\"function\"!=typeof e&&(e=vs(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,u=r[i]=[],l=0;l<s;++l)(o=a[l])&&e.call(o,o.__data__,l,a)&&u.push(o);return new Xc(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var u,l=t[s],c=n[s],f=l.length,p=a[s]=new Array(f),d=0;d<f;++d)(u=l[d]||c[d])&&(p[d]=u);for(;s<r;++s)a[s]=t[s];return new Xc(a,this._parents,this._name,this._id)},selection:function(){return new Bc(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=Gc(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],u=s.length,l=0;l<u;++l)if(a=s[l]){var c=cc(a,t);sc(a,e,n,l,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Xc(r,this._parents,e,n)},call:$c.call,nodes:$c.nodes,node:$c.node,size:$c.size,empty:$c.empty,each:$c.each,on:function(e,t){var n=this._id;return arguments.length<2?cc(this.node(),n).on.on(e):this.each(jc(n,e,t))},attr:function(e,t){var n=Ls(e),r=\"transform\"===n?gc:wc;return this.attrTween(e,\"function\"==typeof t?(n.local?Tc:Cc)(n,r,_c(this,\"attr.\"+e,t)):null==t?(n.local?Sc:Ec)(n):(n.local?Ac:kc)(n,r,t))},attrTween:function(e,t){var n=\"attr.\"+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if(\"function\"!=typeof t)throw new Error;var r=Ls(e);return this.tween(n,(r.local?Pc:Oc)(r,t))},style:function(e,t,n){var r=\"transform\"==(e+=\"\")?vc:wc;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=Ws(this,e),a=(this.style.removeProperty(e),Ws(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}(e,r)).on(\"end.style.\"+e,qc(e)):\"function\"==typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var a=Ws(this,e),s=n(this),u=s+\"\";return null==s&&(this.style.removeProperty(e),u=s=Ws(this,e)),a===u?null:a===r&&u===i?o:(i=u,o=t(r=a,s))}}(e,r,_c(this,\"style.\"+e,t))).each(function(e,t){var n,r,i,o,a=\"style.\"+t,s=\"end.\"+a;return function(){var u=lc(this,e),l=u.on,c=null==u.value[a]?o||(o=qc(t)):void 0;l===n&&i===c||(r=(n=l).copy()).on(s,i=c),u.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+\"\";return function(){var a=Ws(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}(e,r,t),n).on(\"end.style.\"+e,null)},styleTween:function(e,t,n){var r=\"style.\"+(e+=\"\");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if(\"function\"!=typeof t)throw new Error;return this.tween(r,Vc(e,t,null==n?\"\":n))},text:function(e){return this.tween(\"text\",\"function\"==typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?\"\":t}}(_c(this,\"text\",e)):function(e){return function(){this.textContent=e}}(null==e?\"\":e+\"\"))},textTween:function(e){var t=\"text\";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if(\"function\"!=typeof e)throw new Error;return this.tween(t,Wc(e))},remove:function(){return this.on(\"end.remove\",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+=\"\",arguments.length<2){for(var r,i=cc(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?bc:xc)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each((\"function\"==typeof e?Lc:Nc)(t,e)):cc(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each((\"function\"==typeof e?Fc:Rc)(t,e)):cc(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(Ic(t,e)):cc(this.node(),t).ease},easeVarying:function(e){if(\"function\"!=typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if(\"function\"!=typeof n)throw new Error;lc(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise((function(o,a){var s={value:a},u={value:function(){0==--i&&o()}};n.each((function(){var n=lc(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),n.on=t})),0===i&&o()}))},[Symbol.iterator]:$c[Symbol.iterator]};var Qc={time:null,delay:0,duration:250,ease:Jc};function ef(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}Au.prototype.interrupt=function(e){return this.each((function(){fc(this,e)}))},Au.prototype.transition=function(e){var t,n;e instanceof Xc?(t=e._id,e=e._name):(t=Gc(),(n=Qc).time=Kl(),e=null==e?null:e+\"\");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],u=s.length,l=0;l<u;++l)(a=s[l])&&sc(a,e,t,l,s,n||ef(a,t));return new Xc(r,this._parents,e,t)};var tf=[null];function nf(e,t){var n,r,i=e.__transition;if(i)for(r in t=null==t?null:t+\"\",i)if((n=i[r]).state>1&&n.name===t)return new Xc([[e]],tf,t,+r);return null}const rf=e=>()=>e;function of(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function af(e){e.stopImmediatePropagation()}function sf(e){e.preventDefault(),e.stopImmediatePropagation()}var uf={name:\"drag\"},lf={name:\"space\"},cf={name:\"handle\"},ff={name:\"center\"};const{abs:pf,max:df,min:hf}=Math;function mf(e){return[+e[0],+e[1]]}function yf(e){return[mf(e[0]),mf(e[1])]}var vf={name:\"x\",handles:[\"w\",\"e\"].map(kf),input:function(e,t){return null==e?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},gf={name:\"y\",handles:[\"n\",\"s\"].map(kf),input:function(e,t){return null==e?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},bf={name:\"xy\",handles:[\"n\",\"w\",\"e\",\"s\",\"nw\",\"ne\",\"sw\",\"se\"].map(kf),input:function(e){return null==e?null:yf(e)},output:function(e){return e}},xf={overlay:\"crosshair\",selection:\"move\",n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},_f={e:\"w\",w:\"e\",nw:\"ne\",ne:\"nw\",se:\"sw\",sw:\"se\"},wf={n:\"s\",s:\"n\",nw:\"sw\",ne:\"se\",se:\"ne\",sw:\"nw\"},Ef={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},Sf={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function kf(e){return{type:e}}function Af(e){return!e.ctrlKey&&!e.button}function Cf(){var e=this.ownerSVGElement||this;return e.hasAttribute(\"viewBox\")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function Tf(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function Df(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function Mf(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function Pf(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function Of(){return Ff(vf)}function Lf(){return Ff(gf)}function Nf(){return Ff(bf)}function Ff(e){var t,n=Cf,r=Af,i=Tf,o=!0,a=fs(\"start\",\"brush\",\"end\"),s=6;function u(t){var n=t.property(\"__brush\",m).selectAll(\".overlay\").data([kf(\"overlay\")]);n.enter().append(\"rect\").attr(\"class\",\"overlay\").attr(\"pointer-events\",\"all\").attr(\"cursor\",xf.overlay).merge(n).each((function(){var e=Df(this).extent;Cu(this).attr(\"x\",e[0][0]).attr(\"y\",e[0][1]).attr(\"width\",e[1][0]-e[0][0]).attr(\"height\",e[1][1]-e[0][1])})),t.selectAll(\".selection\").data([kf(\"selection\")]).enter().append(\"rect\").attr(\"class\",\"selection\").attr(\"cursor\",xf.selection).attr(\"fill\",\"#777\").attr(\"fill-opacity\",.3).attr(\"stroke\",\"#fff\").attr(\"shape-rendering\",\"crispEdges\");var r=t.selectAll(\".handle\").data(e.handles,(function(e){return e.type}));r.exit().remove(),r.enter().append(\"rect\").attr(\"class\",(function(e){return\"handle handle--\"+e.type})).attr(\"cursor\",(function(e){return xf[e.type]})),t.each(l).attr(\"fill\",\"none\").attr(\"pointer-events\",\"all\").on(\"mousedown.brush\",p).filter(i).on(\"touchstart.brush\",p).on(\"touchmove.brush\",d).on(\"touchend.brush touchcancel.brush\",h).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function l(){var e=Cu(this),t=Df(this).selection;t?(e.selectAll(\".selection\").style(\"display\",null).attr(\"x\",t[0][0]).attr(\"y\",t[0][1]).attr(\"width\",t[1][0]-t[0][0]).attr(\"height\",t[1][1]-t[0][1]),e.selectAll(\".handle\").style(\"display\",null).attr(\"x\",(function(e){return\"e\"===e.type[e.type.length-1]?t[1][0]-s/2:t[0][0]-s/2})).attr(\"y\",(function(e){return\"s\"===e.type[0]?t[1][1]-s/2:t[0][1]-s/2})).attr(\"width\",(function(e){return\"n\"===e.type||\"s\"===e.type?t[1][0]-t[0][0]+s:s})).attr(\"height\",(function(e){return\"e\"===e.type||\"w\"===e.type?t[1][1]-t[0][1]+s:s}))):e.selectAll(\".selection,.handle\").style(\"display\",\"none\").attr(\"x\",null).attr(\"y\",null).attr(\"width\",null).attr(\"height\",null)}function c(e,t,n){var r=e.__brush.emitter;return!r||n&&r.clean?new f(e,t,n):r}function f(e,t,n){this.that=e,this.args=t,this.state=e.__brush,this.active=0,this.clean=n}function p(n){if((!t||n.touches)&&r.apply(this,arguments)){var i,a,s,u,f,p,d,h,m,y,v,g=this,b=n.target.__data__.type,x=\"selection\"===(o&&n.metaKey?b=\"overlay\":b)?uf:o&&n.altKey?ff:cf,_=e===gf?null:Ef[b],w=e===vf?null:Sf[b],E=Df(g),S=E.extent,k=E.selection,A=S[0][0],C=S[0][1],T=S[1][0],D=S[1][1],M=0,P=0,O=_&&w&&o&&n.shiftKey,L=Array.from(n.touches||[n],(e=>{const t=e.identifier;return(e=Bl(e,g)).point0=e.slice(),e.identifier=t,e}));fc(g);var N=c(g,arguments,!0).beforestart();if(\"overlay\"===b){k&&(m=!0);const t=[L[0],L[1]||L[0]];E.selection=k=[[i=e===gf?A:hf(t[0][0],t[1][0]),s=e===vf?C:hf(t[0][1],t[1][1])],[f=e===gf?T:df(t[0][0],t[1][0]),d=e===vf?D:df(t[0][1],t[1][1])]],L.length>1&&B(n)}else i=k[0][0],s=k[0][1],f=k[1][0],d=k[1][1];a=i,u=s,p=f,h=d;var F=Cu(g).attr(\"pointer-events\",\"none\"),R=F.selectAll(\".overlay\").attr(\"cursor\",xf[b]);if(n.touches)N.moved=j,N.ended=q;else{var I=Cu(n.view).on(\"mousemove.brush\",j,!0).on(\"mouseup.brush\",q,!0);o&&I.on(\"keydown.brush\",z,!0).on(\"keyup.brush\",V,!0),Ou(n.view)}l.call(g),N.start(n,x.name)}function j(e){for(const t of e.changedTouches||[e])for(const e of L)e.identifier===t.identifier&&(e.cur=Bl(t,g));if(O&&!y&&!v&&1===L.length){const e=L[0];pf(e.cur[0]-e[0])>pf(e.cur[1]-e[1])?v=!0:y=!0}for(const e of L)e.cur&&(e[0]=e.cur[0],e[1]=e.cur[1]);m=!0,sf(e),B(e)}function B(e){const t=L[0],n=t.point0;var r;switch(M=t[0]-n[0],P=t[1]-n[1],x){case lf:case uf:_&&(M=df(A-i,hf(T-f,M)),a=i+M,p=f+M),w&&(P=df(C-s,hf(D-d,P)),u=s+P,h=d+P);break;case cf:L[1]?(_&&(a=df(A,hf(T,L[0][0])),p=df(A,hf(T,L[1][0])),_=1),w&&(u=df(C,hf(D,L[0][1])),h=df(C,hf(D,L[1][1])),w=1)):(_<0?(M=df(A-i,hf(T-i,M)),a=i+M,p=f):_>0&&(M=df(A-f,hf(T-f,M)),a=i,p=f+M),w<0?(P=df(C-s,hf(D-s,P)),u=s+P,h=d):w>0&&(P=df(C-d,hf(D-d,P)),u=s,h=d+P));break;case ff:_&&(a=df(A,hf(T,i-M*_)),p=df(A,hf(T,f+M*_))),w&&(u=df(C,hf(D,s-P*w)),h=df(C,hf(D,d+P*w)))}p<a&&(_*=-1,r=i,i=f,f=r,r=a,a=p,p=r,b in _f&&R.attr(\"cursor\",xf[b=_f[b]])),h<u&&(w*=-1,r=s,s=d,d=r,r=u,u=h,h=r,b in wf&&R.attr(\"cursor\",xf[b=wf[b]])),E.selection&&(k=E.selection),y&&(a=k[0][0],p=k[1][0]),v&&(u=k[0][1],h=k[1][1]),k[0][0]===a&&k[0][1]===u&&k[1][0]===p&&k[1][1]===h||(E.selection=[[a,u],[p,h]],l.call(g),N.brush(e,x.name))}function q(e){if(af(e),e.touches){if(e.touches.length)return;t&&clearTimeout(t),t=setTimeout((function(){t=null}),500)}else Lu(e.view,m),I.on(\"keydown.brush keyup.brush mousemove.brush mouseup.brush\",null);F.attr(\"pointer-events\",\"all\"),R.attr(\"cursor\",xf.overlay),E.selection&&(k=E.selection),Mf(k)&&(E.selection=null,l.call(g)),N.end(e,x.name)}function z(e){switch(e.keyCode){case 16:O=_&&w;break;case 18:x===cf&&(_&&(f=p-M*_,i=a+M*_),w&&(d=h-P*w,s=u+P*w),x=ff,B(e));break;case 32:x!==cf&&x!==ff||(_<0?f=p-M:_>0&&(i=a-M),w<0?d=h-P:w>0&&(s=u-P),x=lf,R.attr(\"cursor\",xf.selection),B(e));break;default:return}sf(e)}function V(e){switch(e.keyCode){case 16:O&&(y=v=O=!1,B(e));break;case 18:x===ff&&(_<0?f=p:_>0&&(i=a),w<0?d=h:w>0&&(s=u),x=cf,B(e));break;case 32:x===lf&&(e.altKey?(_&&(f=p-M*_,i=a+M*_),w&&(d=h-P*w,s=u+P*w),x=ff):(_<0?f=p:_>0&&(i=a),w<0?d=h:w>0&&(s=u),x=cf),R.attr(\"cursor\",xf[b]),B(e));break;default:return}sf(e)}}function d(e){c(this,arguments).moved(e)}function h(e){c(this,arguments).ended(e)}function m(){var t=this.__brush||{selection:null};return t.extent=yf(n.apply(this,arguments)),t.dim=e,t}return u.move=function(t,n,r){t.tween?t.on(\"start.brush\",(function(e){c(this,arguments).beforestart().start(e)})).on(\"interrupt.brush end.brush\",(function(e){c(this,arguments).end(e)})).tween(\"brush\",(function(){var t=this,r=t.__brush,i=c(t,arguments),o=r.selection,a=e.input(\"function\"==typeof n?n.apply(this,arguments):n,r.extent),s=Il(o,a);function u(e){r.selection=1===e&&null===a?null:s(e),l.call(t),i.brush()}return null!==o&&null!==a?u:u(1)})):t.each((function(){var t=this,i=arguments,o=t.__brush,a=e.input(\"function\"==typeof n?n.apply(t,i):n,o.extent),s=c(t,i).beforestart();fc(t),o.selection=null===a?null:a,l.call(t),s.start(r).brush(r).end(r)}))},u.clear=function(e,t){u.move(e,null,t)},f.prototype={beforestart:function(){return 1==++this.active&&(this.state.emitter=this,this.starting=!0),this},start:function(e,t){return this.starting?(this.starting=!1,this.emit(\"start\",e,t)):this.emit(\"brush\",e),this},brush:function(e,t){return this.emit(\"brush\",e,t),this},end:function(e,t){return 0==--this.active&&(delete this.state.emitter,this.emit(\"end\",e,t)),this},emit:function(t,n,r){var i=Cu(this.that).datum();a.call(t,this.that,new of(t,{sourceEvent:n,target:u,selection:e.output(this.state.selection),mode:r,dispatch:a}),i)}},u.extent=function(e){return arguments.length?(n=\"function\"==typeof e?e:rf(yf(e)),u):n},u.filter=function(e){return arguments.length?(r=\"function\"==typeof e?e:rf(!!e),u):r},u.touchable=function(e){return arguments.length?(i=\"function\"==typeof e?e:rf(!!e),u):i},u.handleSize=function(e){return arguments.length?(s=+e,u):s},u.keyModifiers=function(e){return arguments.length?(o=!!e,u):o},u.on=function(){var e=a.on.apply(a,arguments);return e===a?u:e},u}var Rf=Math.abs,If=Math.cos,jf=Math.sin,Bf=Math.PI,qf=Bf/2,zf=2*Bf,Vf=Math.max,Uf=1e-12;function Wf(e,t){return Array.from({length:t-e},((t,n)=>e+n))}function Yf(e){return function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)}}function Xf(){return $f(!1,!1)}function Hf(){return $f(!1,!0)}function Gf(){return $f(!0,!1)}function $f(e,t){var n=0,r=null,i=null,o=null;function a(a){var s,u=a.length,l=new Array(u),c=Wf(0,u),f=new Array(u*u),p=new Array(u),d=0;a=Float64Array.from({length:u*u},t?(e,t)=>a[t%u][t/u|0]:(e,t)=>a[t/u|0][t%u]);for(let t=0;t<u;++t){let n=0;for(let r=0;r<u;++r)n+=a[t*u+r]+e*a[r*u+t];d+=l[t]=n}s=(d=Vf(0,zf-n*u)/d)?n:zf/u;{let t=0;r&&c.sort(((e,t)=>r(l[e],l[t])));for(const n of c){const r=t;if(e){const e=Wf(1+~u,u).filter((e=>e<0?a[~e*u+n]:a[n*u+e]));i&&e.sort(((e,t)=>i(e<0?-a[~e*u+n]:a[n*u+e],t<0?-a[~t*u+n]:a[n*u+t])));for(const r of e)r<0?(f[~r*u+n]||(f[~r*u+n]={source:null,target:null})).target={index:n,startAngle:t,endAngle:t+=a[~r*u+n]*d,value:a[~r*u+n]}:(f[n*u+r]||(f[n*u+r]={source:null,target:null})).source={index:n,startAngle:t,endAngle:t+=a[n*u+r]*d,value:a[n*u+r]};p[n]={index:n,startAngle:r,endAngle:t,value:l[n]}}else{const e=Wf(0,u).filter((e=>a[n*u+e]||a[e*u+n]));i&&e.sort(((e,t)=>i(a[n*u+e],a[n*u+t])));for(const r of e){let e;if(n<r?(e=f[n*u+r]||(f[n*u+r]={source:null,target:null}),e.source={index:n,startAngle:t,endAngle:t+=a[n*u+r]*d,value:a[n*u+r]}):(e=f[r*u+n]||(f[r*u+n]={source:null,target:null}),e.target={index:n,startAngle:t,endAngle:t+=a[n*u+r]*d,value:a[n*u+r]},n===r&&(e.source=e.target)),e.source&&e.target&&e.source.value<e.target.value){const t=e.source;e.source=e.target,e.target=t}}p[n]={index:n,startAngle:r,endAngle:t,value:l[n]}}t+=s}}return(f=Object.values(f)).groups=p,o?f.sort(o):f}return a.padAngle=function(e){return arguments.length?(n=Vf(0,e),a):n},a.sortGroups=function(e){return arguments.length?(r=e,a):r},a.sortSubgroups=function(e){return arguments.length?(i=e,a):i},a.sortChords=function(e){return arguments.length?(null==e?o=null:(o=Yf(e))._=e,a):o&&o._},a}var Kf=Math.PI,Zf=2*Kf,Jf=1e-6,Qf=Zf-Jf;function ep(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function tp(){return new ep}ep.prototype=tp.prototype={constructor:ep,moveTo:function(e,t){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(e,t){this._+=\"L\"+(this._x1=+e)+\",\"+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+=\"Q\"+ +e+\",\"+ +t+\",\"+(this._x1=+n)+\",\"+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,i,o){this._+=\"C\"+ +e+\",\"+ +t+\",\"+ +n+\",\"+ +r+\",\"+(this._x1=+i)+\",\"+(this._y1=+o)},arcTo:function(e,t,n,r,i){e=+e,t=+t,n=+n,r=+r,i=+i;var o=this._x1,a=this._y1,s=n-e,u=r-t,l=o-e,c=a-t,f=l*l+c*c;if(i<0)throw new Error(\"negative radius: \"+i);if(null===this._x1)this._+=\"M\"+(this._x1=e)+\",\"+(this._y1=t);else if(f>Jf)if(Math.abs(c*s-u*l)>Jf&&i){var p=n-o,d=r-a,h=s*s+u*u,m=p*p+d*d,y=Math.sqrt(h),v=Math.sqrt(f),g=i*Math.tan((Kf-Math.acos((h+f-m)/(2*y*v)))/2),b=g/v,x=g/y;Math.abs(b-1)>Jf&&(this._+=\"L\"+(e+b*l)+\",\"+(t+b*c)),this._+=\"A\"+i+\",\"+i+\",0,0,\"+ +(c*p>l*d)+\",\"+(this._x1=e+x*s)+\",\"+(this._y1=t+x*u)}else this._+=\"L\"+(this._x1=e)+\",\"+(this._y1=t)},arc:function(e,t,n,r,i,o){e=+e,t=+t,o=!!o;var a=(n=+n)*Math.cos(r),s=n*Math.sin(r),u=e+a,l=t+s,c=1^o,f=o?r-i:i-r;if(n<0)throw new Error(\"negative radius: \"+n);null===this._x1?this._+=\"M\"+u+\",\"+l:(Math.abs(this._x1-u)>Jf||Math.abs(this._y1-l)>Jf)&&(this._+=\"L\"+u+\",\"+l),n&&(f<0&&(f=f%Zf+Zf),f>Qf?this._+=\"A\"+n+\",\"+n+\",0,1,\"+c+\",\"+(e-a)+\",\"+(t-s)+\"A\"+n+\",\"+n+\",0,1,\"+c+\",\"+(this._x1=u)+\",\"+(this._y1=l):f>Jf&&(this._+=\"A\"+n+\",\"+n+\",0,\"+ +(f>=Kf)+\",\"+c+\",\"+(this._x1=e+n*Math.cos(i))+\",\"+(this._y1=t+n*Math.sin(i))))},rect:function(e,t,n,r){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)+\"h\"+ +n+\"v\"+ +r+\"h\"+-n+\"Z\"},toString:function(){return this._}};const np=tp;var rp=Array.prototype.slice;function ip(e){return function(){return e}}function op(e){return e.source}function ap(e){return e.target}function sp(e){return e.radius}function up(e){return e.startAngle}function lp(e){return e.endAngle}function cp(){return 0}function fp(){return 10}function pp(e){var t=op,n=ap,r=sp,i=sp,o=up,a=lp,s=cp,u=null;function l(){var l,c=t.apply(this,arguments),f=n.apply(this,arguments),p=s.apply(this,arguments)/2,d=rp.call(arguments),h=+r.apply(this,(d[0]=c,d)),m=o.apply(this,d)-qf,y=a.apply(this,d)-qf,v=+i.apply(this,(d[0]=f,d)),g=o.apply(this,d)-qf,b=a.apply(this,d)-qf;if(u||(u=l=np()),p>Uf&&(Rf(y-m)>2*p+Uf?y>m?(m+=p,y-=p):(m-=p,y+=p):m=y=(m+y)/2,Rf(b-g)>2*p+Uf?b>g?(g+=p,b-=p):(g-=p,b+=p):g=b=(g+b)/2),u.moveTo(h*If(m),h*jf(m)),u.arc(0,0,h,m,y),m!==g||y!==b)if(e){var x=+e.apply(this,arguments),_=v-x,w=(g+b)/2;u.quadraticCurveTo(0,0,_*If(g),_*jf(g)),u.lineTo(v*If(w),v*jf(w)),u.lineTo(_*If(b),_*jf(b))}else u.quadraticCurveTo(0,0,v*If(g),v*jf(g)),u.arc(0,0,v,g,b);if(u.quadraticCurveTo(0,0,h*If(m),h*jf(m)),u.closePath(),l)return u=null,l+\"\"||null}return e&&(l.headRadius=function(t){return arguments.length?(e=\"function\"==typeof t?t:ip(+t),l):e}),l.radius=function(e){return arguments.length?(r=i=\"function\"==typeof e?e:ip(+e),l):r},l.sourceRadius=function(e){return arguments.length?(r=\"function\"==typeof e?e:ip(+e),l):r},l.targetRadius=function(e){return arguments.length?(i=\"function\"==typeof e?e:ip(+e),l):i},l.startAngle=function(e){return arguments.length?(o=\"function\"==typeof e?e:ip(+e),l):o},l.endAngle=function(e){return arguments.length?(a=\"function\"==typeof e?e:ip(+e),l):a},l.padAngle=function(e){return arguments.length?(s=\"function\"==typeof e?e:ip(+e),l):s},l.source=function(e){return arguments.length?(t=e,l):t},l.target=function(e){return arguments.length?(n=e,l):n},l.context=function(e){return arguments.length?(u=null==e?null:e,l):u},l}function dp(){return pp()}function hp(){return pp(fp)}const mp=Math.PI/180,yp=180/Math.PI,vp=.96422,gp=.82521,bp=4/29,xp=6/29,_p=3*xp*xp;function wp(e){if(e instanceof kp)return new kp(e.l,e.a,e.b,e.opacity);if(e instanceof Lp)return Np(e);e instanceof rl||(e=tl(e));var t,n,r=Dp(e.r),i=Dp(e.g),o=Dp(e.b),a=Ap((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?t=n=a:(t=Ap((.4360747*r+.3850649*i+.1430804*o)/vp),n=Ap((.0139322*r+.0971045*i+.7141733*o)/gp)),new kp(116*a-16,500*(t-a),200*(a-n),e.opacity)}function Ep(e,t){return new kp(e,0,0,null==t?1:t)}function Sp(e,t,n,r){return 1===arguments.length?wp(e):new kp(e,t,n,null==r?1:r)}function kp(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}function Ap(e){return e>.008856451679035631?Math.pow(e,1/3):e/_p+bp}function Cp(e){return e>xp?e*e*e:_p*(e-bp)}function Tp(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Dp(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Mp(e){if(e instanceof Lp)return new Lp(e.h,e.c,e.l,e.opacity);if(e instanceof kp||(e=wp(e)),0===e.a&&0===e.b)return new Lp(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*yp;return new Lp(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Pp(e,t,n,r){return 1===arguments.length?Mp(e):new Lp(n,t,e,null==r?1:r)}function Op(e,t,n,r){return 1===arguments.length?Mp(e):new Lp(e,t,n,null==r?1:r)}function Lp(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function Np(e){if(isNaN(e.h))return new kp(e.l,0,0,e.opacity);var t=e.h*mp;return new kp(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Nu(kp,Sp,Fu(Ru,{brighter(e){return new kp(this.l+18*(null==e?1:e),this.a,this.b,this.opacity)},darker(e){return new kp(this.l-18*(null==e?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return new rl(Tp(3.1338561*(t=vp*Cp(t))-1.6168667*(e=1*Cp(e))-.4906146*(n=gp*Cp(n))),Tp(-.9787684*t+1.9161415*e+.033454*n),Tp(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}})),Nu(Lp,Op,Fu(Ru,{brighter(e){return new Lp(this.h,this.c,this.l+18*(null==e?1:e),this.opacity)},darker(e){return new Lp(this.h,this.c,this.l-18*(null==e?1:e),this.opacity)},rgb(){return Np(this).rgb()}}));var Fp=-.14861,Rp=1.78277,Ip=-.29227,jp=-.90649,Bp=1.97294,qp=Bp*jp,zp=Bp*Rp,Vp=Rp*Ip-jp*Fp;function Up(e){if(e instanceof Yp)return new Yp(e.h,e.s,e.l,e.opacity);e instanceof rl||(e=tl(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(Vp*r+qp*t-zp*n)/(Vp+qp-zp),o=r-i,a=(Bp*(n-i)-Ip*o)/jp,s=Math.sqrt(a*a+o*o)/(Bp*i*(1-i)),u=s?Math.atan2(a,o)*yp-120:NaN;return new Yp(u<0?u+360:u,s,i,e.opacity)}function Wp(e,t,n,r){return 1===arguments.length?Up(e):new Yp(e,t,n,null==r?1:r)}function Yp(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function Xp(e){return Math.ceil(Math.log(function(e,t){let n=0;for(let t of e)null!=t&&(t=+t)>=t&&++n;return n}(e))/Math.LN2)+1}function Hp(e,t){let n,r;if(void 0===t)for(const t of e)null!=t&&(void 0===n?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(void 0===n?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}Nu(Yp,Wp,Fu(Ru,{brighter(e){return e=null==e?ju:Math.pow(ju,e),new Yp(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Iu:Math.pow(Iu,e),new Yp(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*mp,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new rl(255*(t+n*(Fp*r+Rp*i)),255*(t+n*(Ip*r+jp*i)),255*(t+n*(Bp*r)),this.opacity)}}));var Gp=Math.sqrt(50),$p=Math.sqrt(10),Kp=Math.sqrt(2);function Zp(e,t,n){var r,i,o,a,s=-1;if(n=+n,(e=+e)==(t=+t)&&n>0)return[e];if((r=t<e)&&(i=e,e=t,t=i),0===(a=Jp(e,t,n))||!isFinite(a))return[];if(a>0)for(e=Math.ceil(e/a),t=Math.floor(t/a),o=new Array(i=Math.ceil(t-e+1));++s<i;)o[s]=(e+s)*a;else for(a=-a,e=Math.ceil(e*a),t=Math.floor(t*a),o=new Array(i=Math.ceil(t-e+1));++s<i;)o[s]=(e+s)/a;return r&&o.reverse(),o}function Jp(e,t,n){var r=(t-e)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=Gp?10:o>=$p?5:o>=Kp?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=Gp?10:o>=$p?5:o>=Kp?2:1)}function Qp(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Gp?i*=10:o>=$p?i*=5:o>=Kp&&(i*=2),t<e?-i:i}var ed=Array.prototype.slice;function td(e,t){return e-t}const nd=e=>()=>e;function rd(e,t){for(var n,r=-1,i=t.length;++r<i;)if(n=id(e,t[r]))return n;return 0}function id(e,t){for(var n=t[0],r=t[1],i=-1,o=0,a=e.length,s=a-1;o<a;s=o++){var u=e[o],l=u[0],c=u[1],f=e[s],p=f[0],d=f[1];if(od(u,f,t))return 0;c>r!=d>r&&n<(p-l)*(r-c)/(d-c)+l&&(i=-i)}return i}function od(e,t,n){var r,i,o,a;return function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])==(n[0]-e[0])*(t[1]-e[1])}(e,t,n)&&(i=e[r=+(e[0]===t[0])],o=n[r],a=t[r],i<=o&&o<=a||a<=o&&o<=i)}function ad(){}var sd=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function ud(){var e=1,t=1,n=Xp,r=s;function i(e){var t=n(e);if(Array.isArray(t))t=t.slice().sort(td);else{const n=Hp(e),r=Qp(n[0],n[1],t);t=Zp(Math.floor(n[0]/r)*r,Math.floor(n[1]/r-1)*r,t)}return t.map((t=>o(e,t)))}function o(n,i){var o=[],s=[];return function(n,r,i){var o,s,u,l,c,f,p=new Array,d=new Array;for(o=s=-1,l=n[0]>=r,sd[l<<1].forEach(h);++o<e-1;)u=l,l=n[o+1]>=r,sd[u|l<<1].forEach(h);for(sd[l<<0].forEach(h);++s<t-1;){for(o=-1,l=n[s*e+e]>=r,c=n[s*e]>=r,sd[l<<1|c<<2].forEach(h);++o<e-1;)u=l,l=n[s*e+e+o+1]>=r,f=c,c=n[s*e+o+1]>=r,sd[u|l<<1|c<<2|f<<3].forEach(h);sd[l|c<<3].forEach(h)}for(o=-1,c=n[s*e]>=r,sd[c<<2].forEach(h);++o<e-1;)f=c,c=n[s*e+o+1]>=r,sd[c<<2|f<<3].forEach(h);function h(e){var t,n,r=[e[0][0]+o,e[0][1]+s],u=[e[1][0]+o,e[1][1]+s],l=a(r),c=a(u);(t=d[l])?(n=p[c])?(delete d[t.end],delete p[n.start],t===n?(t.ring.push(u),i(t.ring)):p[t.start]=d[n.end]={start:t.start,end:n.end,ring:t.ring.concat(n.ring)}):(delete d[t.end],t.ring.push(u),d[t.end=c]=t):(t=p[c])?(n=d[l])?(delete p[t.start],delete d[n.end],t===n?(t.ring.push(u),i(t.ring)):p[n.start]=d[t.end]={start:n.start,end:t.end,ring:n.ring.concat(t.ring)}):(delete p[t.start],t.ring.unshift(r),p[t.start=l]=t):p[l]=d[c]={start:l,end:c,ring:[r,u]}}sd[c<<3].forEach(h)}(n,i,(function(e){r(e,n,i),function(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}(e)>0?o.push([e]):s.push(e)})),s.forEach((function(e){for(var t,n=0,r=o.length;n<r;++n)if(-1!==rd((t=o[n])[0],e))return void t.push(e)})),{type:\"MultiPolygon\",value:i,coordinates:o}}function a(t){return 2*t[0]+t[1]*(e+1)*4}function s(n,r,i){n.forEach((function(n){var o,a=n[0],s=n[1],u=0|a,l=0|s,c=r[l*e+u];a>0&&a<e&&u===a&&(o=r[l*e+u-1],n[0]=a+(i-o)/(c-o)-.5),s>0&&s<t&&l===s&&(o=r[(l-1)*e+u],n[1]=s+(i-o)/(c-o)-.5)}))}return i.contour=o,i.size=function(n){if(!arguments.length)return[e,t];var r=Math.floor(n[0]),o=Math.floor(n[1]);if(!(r>=0&&o>=0))throw new Error(\"invalid size\");return e=r,t=o,i},i.thresholds=function(e){return arguments.length?(n=\"function\"==typeof e?e:Array.isArray(e)?nd(ed.call(e)):nd(e),i):n},i.smooth=function(e){return arguments.length?(r=e?s:ad,i):r===s},i}function ld(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function cd(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++r<i;)o[r]=e+r*n;return o}function fd(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a<i;++a)for(var s=0,u=0;s<r+n;++s)s<r&&(u+=e.data[s+a*r]),s>=n&&(s>=o&&(u-=e.data[s-o+a*r]),t.data[s-n+a*r]=u/Math.min(s+1,r-1+o-s,o))}function pd(e,t,n){for(var r=e.width,i=e.height,o=1+(n<<1),a=0;a<r;++a)for(var s=0,u=0;s<i+n;++s)s<i&&(u+=e.data[a+s*r]),s>=n&&(s>=o&&(u-=e.data[a+(s-o)*r]),t.data[a+(s-n)*r]=u/Math.min(s+1,i-1+o-s,o))}function dd(e){return e[0]}function hd(e){return e[1]}function md(){return 1}function yd(){var e=dd,t=hd,n=md,r=960,i=500,o=20,a=2,s=3*o,u=r+2*s>>a,l=i+2*s>>a,c=nd(20);function f(r){var i=new Float32Array(u*l),f=new Float32Array(u*l),d=Math.pow(2,-a);r.forEach((function(r,o,a){var c=(e(r,o,a)+s)*d,f=(t(r,o,a)+s)*d,p=+n(r,o,a);if(c>=0&&c<u&&f>=0&&f<l){var h=Math.floor(c),m=Math.floor(f),y=c-h-.5,v=f-m-.5;i[h+m*u]+=(1-y)*(1-v)*p,i[h+1+m*u]+=y*(1-v)*p,i[h+1+(m+1)*u]+=y*v*p,i[h+(m+1)*u]+=(1-y)*v*p}})),fd({width:u,height:l,data:i},{width:u,height:l,data:f},o>>a),pd({width:u,height:l,data:f},{width:u,height:l,data:i},o>>a),fd({width:u,height:l,data:i},{width:u,height:l,data:f},o>>a),pd({width:u,height:l,data:f},{width:u,height:l,data:i},o>>a),fd({width:u,height:l,data:i},{width:u,height:l,data:f},o>>a),pd({width:u,height:l,data:f},{width:u,height:l,data:i},o>>a);var h=c(i);if(!Array.isArray(h)){var m=ld(i);h=Qp(0,m,h),(h=cd(0,Math.floor(m/h)*h,h)).shift()}return ud().thresholds(h).size([u,l])(i).map(p)}function p(e){return e.value*=Math.pow(2,-2*a),e.coordinates.forEach(d),e}function d(e){e.forEach(h)}function h(e){e.forEach(m)}function m(e){e[0]=e[0]*Math.pow(2,a)-s,e[1]=e[1]*Math.pow(2,a)-s}function y(){return u=r+2*(s=3*o)>>a,l=i+2*s>>a,f}return f.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:nd(+t),f):e},f.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:nd(+e),f):t},f.weight=function(e){return arguments.length?(n=\"function\"==typeof e?e:nd(+e),f):n},f.size=function(e){if(!arguments.length)return[r,i];var t=+e[0],n=+e[1];if(!(t>=0&&n>=0))throw new Error(\"invalid size\");return r=t,i=n,y()},f.cellSize=function(e){if(!arguments.length)return 1<<a;if(!((e=+e)>=1))throw new Error(\"invalid cell size\");return a=Math.floor(Math.log(e)/Math.LN2),y()},f.thresholds=function(e){return arguments.length?(c=\"function\"==typeof e?e:Array.isArray(e)?nd(ed.call(e)):nd(e),f):c},f.bandwidth=function(e){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((e=+e)>=0))throw new Error(\"invalid bandwidth\");return o=Math.round((Math.sqrt(4*e*e+1)-1)/2),y()},f}const vd=134217729;function gd(e,t,n,r,i){let o,a,s,u,l=t[0],c=r[0],f=0,p=0;c>l==c>-l?(o=l,l=t[++f]):(o=c,c=r[++p]);let d=0;if(f<e&&p<n)for(c>l==c>-l?(a=l+o,s=o-(a-l),l=t[++f]):(a=c+o,s=o-(a-c),c=r[++p]),o=a,0!==s&&(i[d++]=s);f<e&&p<n;)c>l==c>-l?(a=o+l,u=a-o,s=o-(a-u)+(l-u),l=t[++f]):(a=o+c,u=a-o,s=o-(a-u)+(c-u),c=r[++p]),o=a,0!==s&&(i[d++]=s);for(;f<e;)a=o+l,u=a-o,s=o-(a-u)+(l-u),l=t[++f],o=a,0!==s&&(i[d++]=s);for(;p<n;)a=o+c,u=a-o,s=o-(a-u)+(c-u),c=r[++p],o=a,0!==s&&(i[d++]=s);return 0===o&&0!==d||(i[d++]=o),d}function bd(e){return new Float64Array(e)}const xd=bd(4),_d=bd(8),wd=bd(12),Ed=bd(16),Sd=bd(4);function kd(e,t,n,r,i,o){const a=(t-o)*(n-i),s=(e-i)*(r-o),u=a-s;if(0===a||0===s||a>0!=s>0)return u;const l=Math.abs(a+s);return Math.abs(u)>=33306690738754716e-32*l?u:-function(e,t,n,r,i,o,a){let s,u,l,c,f,p,d,h,m,y,v,g,b,x,_,w,E,S;const k=e-i,A=n-i,C=t-o,T=r-o;x=k*T,p=vd*k,d=p-(p-k),h=k-d,p=vd*T,m=p-(p-T),y=T-m,_=h*y-(x-d*m-h*m-d*y),w=C*A,p=vd*C,d=p-(p-C),h=C-d,p=vd*A,m=p-(p-A),y=A-m,E=h*y-(w-d*m-h*m-d*y),v=_-E,f=_-v,xd[0]=_-(v+f)+(f-E),g=x+v,f=g-x,b=x-(g-f)+(v-f),v=b-w,f=b-v,xd[1]=b-(v+f)+(f-w),S=g+v,f=S-g,xd[2]=g-(S-f)+(v-f),xd[3]=S;let D=function(e,t){let n=t[0];for(let e=1;e<4;e++)n+=t[e];return n}(0,xd),M=22204460492503146e-32*a;if(D>=M||-D>=M)return D;if(f=e-k,s=e-(k+f)+(f-i),f=n-A,l=n-(A+f)+(f-i),f=t-C,u=t-(C+f)+(f-o),f=r-T,c=r-(T+f)+(f-o),0===s&&0===u&&0===l&&0===c)return D;if(M=11093356479670487e-47*a+33306690738754706e-32*Math.abs(D),D+=k*c+T*s-(C*l+A*u),D>=M||-D>=M)return D;x=s*T,p=vd*s,d=p-(p-s),h=s-d,p=vd*T,m=p-(p-T),y=T-m,_=h*y-(x-d*m-h*m-d*y),w=u*A,p=vd*u,d=p-(p-u),h=u-d,p=vd*A,m=p-(p-A),y=A-m,E=h*y-(w-d*m-h*m-d*y),v=_-E,f=_-v,Sd[0]=_-(v+f)+(f-E),g=x+v,f=g-x,b=x-(g-f)+(v-f),v=b-w,f=b-v,Sd[1]=b-(v+f)+(f-w),S=g+v,f=S-g,Sd[2]=g-(S-f)+(v-f),Sd[3]=S;const P=gd(4,xd,4,Sd,_d);x=k*c,p=vd*k,d=p-(p-k),h=k-d,p=vd*c,m=p-(p-c),y=c-m,_=h*y-(x-d*m-h*m-d*y),w=C*l,p=vd*C,d=p-(p-C),h=C-d,p=vd*l,m=p-(p-l),y=l-m,E=h*y-(w-d*m-h*m-d*y),v=_-E,f=_-v,Sd[0]=_-(v+f)+(f-E),g=x+v,f=g-x,b=x-(g-f)+(v-f),v=b-w,f=b-v,Sd[1]=b-(v+f)+(f-w),S=g+v,f=S-g,Sd[2]=g-(S-f)+(v-f),Sd[3]=S;const O=gd(P,_d,4,Sd,wd);x=s*c,p=vd*s,d=p-(p-s),h=s-d,p=vd*c,m=p-(p-c),y=c-m,_=h*y-(x-d*m-h*m-d*y),w=u*l,p=vd*u,d=p-(p-u),h=u-d,p=vd*l,m=p-(p-l),y=l-m,E=h*y-(w-d*m-h*m-d*y),v=_-E,f=_-v,Sd[0]=_-(v+f)+(f-E),g=x+v,f=g-x,b=x-(g-f)+(v-f),v=b-w,f=b-v,Sd[1]=b-(v+f)+(f-w),S=g+v,f=S-g,Sd[2]=g-(S-f)+(v-f),Sd[3]=S;const L=gd(O,wd,4,Sd,Ed);return Ed[L-1]}(e,t,n,r,i,o,l)}bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(8),bd(8),bd(8),bd(4),bd(8),bd(8),bd(8),bd(12),bd(192),bd(192),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(8),bd(8),bd(8),bd(8),bd(8),bd(8),bd(8),bd(8),bd(8),bd(4),bd(4),bd(4),bd(8),bd(16),bd(16),bd(16),bd(32),bd(32),bd(48),bd(64),bd(1152),bd(1152),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(4),bd(24),bd(24),bd(24),bd(24),bd(24),bd(24),bd(24),bd(24),bd(24),bd(24),bd(1152),bd(1152),bd(1152),bd(1152),bd(1152),bd(2304),bd(2304),bd(3456),bd(5760),bd(8),bd(8),bd(8),bd(16),bd(24),bd(48),bd(48),bd(96),bd(192),bd(384),bd(384),bd(384),bd(768),bd(96),bd(96),bd(96),bd(1152);const Ad=Math.pow(2,-52),Cd=new Uint32Array(512);class Td{static from(e,t=Nd,n=Fd){const r=e.length,i=new Float64Array(2*r);for(let o=0;o<r;o++){const r=e[o];i[2*o]=t(r),i[2*o+1]=n(r)}return new Td(i)}constructor(e){const t=e.length>>1;if(t>0&&\"number\"!=typeof e[0])throw new Error(\"Expected coords to contain numbers.\");this.coords=e;const n=Math.max(2*t-5,0);this._triangles=new Uint32Array(3*n),this._halfedges=new Int32Array(3*n),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.update()}update(){const{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,o=e.length>>1;let a=1/0,s=1/0,u=-1/0,l=-1/0;for(let t=0;t<o;t++){const n=e[2*t],r=e[2*t+1];n<a&&(a=n),r<s&&(s=r),n>u&&(u=n),r>l&&(l=r),this._ids[t]=t}const c=(a+u)/2,f=(s+l)/2;let p,d,h,m=1/0;for(let t=0;t<o;t++){const n=Dd(c,f,e[2*t],e[2*t+1]);n<m&&(p=t,m=n)}const y=e[2*p],v=e[2*p+1];m=1/0;for(let t=0;t<o;t++){if(t===p)continue;const n=Dd(y,v,e[2*t],e[2*t+1]);n<m&&n>0&&(d=t,m=n)}let g=e[2*d],b=e[2*d+1],x=1/0;for(let t=0;t<o;t++){if(t===p||t===d)continue;const n=Pd(y,v,g,b,e[2*t],e[2*t+1]);n<x&&(h=t,x=n)}let _=e[2*h],w=e[2*h+1];if(x===1/0){for(let t=0;t<o;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];Od(this._ids,this._dists,0,o-1);const t=new Uint32Array(o);let n=0;for(let e=0,r=-1/0;e<o;e++){const i=this._ids[e];this._dists[i]>r&&(t[n++]=i,r=this._dists[i])}return this.hull=t.subarray(0,n),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(kd(y,v,g,b,_,w)<0){const e=d,t=g,n=b;d=h,g=_,b=w,h=e,_=t,w=n}const E=function(e,t,n,r,i,o){const a=n-e,s=r-t,u=i-e,l=o-t,c=a*a+s*s,f=u*u+l*l,p=.5/(a*l-s*u);return{x:e+(l*c-s*f)*p,y:t+(a*f-u*c)*p}}(y,v,g,b,_,w);this._cx=E.x,this._cy=E.y;for(let t=0;t<o;t++)this._dists[t]=Dd(e[2*t],e[2*t+1],E.x,E.y);Od(this._ids,this._dists,0,o-1),this._hullStart=p;let S=3;n[p]=t[h]=d,n[d]=t[p]=h,n[h]=t[d]=p,r[p]=0,r[d]=1,r[h]=2,i.fill(-1),i[this._hashKey(y,v)]=p,i[this._hashKey(g,b)]=d,i[this._hashKey(_,w)]=h,this.trianglesLen=0,this._addTriangle(p,d,h,-1,-1,-1);for(let o,a,s=0;s<this._ids.length;s++){const u=this._ids[s],l=e[2*u],c=e[2*u+1];if(s>0&&Math.abs(l-o)<=Ad&&Math.abs(c-a)<=Ad)continue;if(o=l,a=c,u===p||u===d||u===h)continue;let f=0;for(let e=0,t=this._hashKey(l,c);e<this._hashSize&&(f=i[(t+e)%this._hashSize],-1===f||f===n[f]);e++);f=t[f];let m,y=f;for(;m=n[y],kd(l,c,e[2*y],e[2*y+1],e[2*m],e[2*m+1])>=0;)if(y=m,y===f){y=-1;break}if(-1===y)continue;let v=this._addTriangle(y,u,n[y],-1,-1,r[y]);r[u]=this._legalize(v+2),r[y]=v,S++;let g=n[y];for(;m=n[g],kd(l,c,e[2*g],e[2*g+1],e[2*m],e[2*m+1])<0;)v=this._addTriangle(g,u,m,r[u],-1,r[g]),r[u]=this._legalize(v+2),n[g]=g,S--,g=m;if(y===f)for(;m=t[y],kd(l,c,e[2*m],e[2*m+1],e[2*y],e[2*y+1])<0;)v=this._addTriangle(m,u,y,-1,r[y],r[m]),this._legalize(v+2),r[m]=v,n[y]=y,S--,y=m;this._hullStart=t[u]=y,n[y]=t[g]=u,n[u]=g,i[this._hashKey(l,c)]=u,i[this._hashKey(e[2*y],e[2*y+1])]=y}this.hull=new Uint32Array(S);for(let e=0,t=this._hullStart;e<S;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(function(e,t){const n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:t,_halfedges:n,coords:r}=this;let i=0,o=0;for(;;){const a=n[e],s=e-e%3;if(o=s+(e+2)%3,-1===a){if(0===i)break;e=Cd[--i];continue}const u=a-a%3,l=s+(e+1)%3,c=u+(a+2)%3,f=t[o],p=t[e],d=t[l],h=t[c];if(Md(r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*d],r[2*d+1],r[2*h],r[2*h+1])){t[e]=h,t[a]=f;const r=n[c];if(-1===r){let t=this._hullStart;do{if(this._hullTri[t]===c){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(a,n[o]),this._link(o,c);const s=u+(a+1)%3;i<Cd.length&&(Cd[i++]=s)}else{if(0===i)break;e=Cd[--i]}}return o}_link(e,t){this._halfedges[e]=t,-1!==t&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,o){const a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=t,this._triangles[a+2]=n,this._link(a,r),this._link(a+1,i),this._link(a+2,o),this.trianglesLen+=3,a}}function Dd(e,t,n,r){const i=e-n,o=t-r;return i*i+o*o}function Md(e,t,n,r,i,o,a,s){const u=e-a,l=t-s,c=n-a,f=r-s,p=i-a,d=o-s,h=c*c+f*f,m=p*p+d*d;return u*(f*m-h*d)-l*(c*m-h*p)+(u*u+l*l)*(c*d-f*p)<0}function Pd(e,t,n,r,i,o){const a=n-e,s=r-t,u=i-e,l=o-t,c=a*a+s*s,f=u*u+l*l,p=.5/(a*l-s*u),d=(l*c-s*f)*p,h=(a*f-u*c)*p;return d*d+h*h}function Od(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const r=e[i],o=t[r];let a=i-1;for(;a>=n&&t[e[a]]>o;)e[a+1]=e[a--];e[a+1]=r}else{let i=n+1,o=r;Ld(e,n+r>>1,i),t[e[n]]>t[e[r]]&&Ld(e,n,r),t[e[i]]>t[e[r]]&&Ld(e,i,r),t[e[n]]>t[e[i]]&&Ld(e,n,i);const a=e[i],s=t[a];for(;;){do{i++}while(t[e[i]]<s);do{o--}while(t[e[o]]>s);if(o<i)break;Ld(e,i,o)}e[n+1]=e[o],e[o]=a,r-i+1>=o-n?(Od(e,t,i,r),Od(e,t,n,o-1)):(Od(e,t,n,o-1),Od(e,t,i,r))}}function Ld(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function Nd(e){return e[0]}function Fd(e){return e[1]}const Rd=1e-6;class Id{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){const r=(e=+e)+(n=+n),i=t=+t;if(n<0)throw new Error(\"negative radius\");null===this._x1?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>Rd||Math.abs(this._y1-i)>Rd)&&(this._+=\"L\"+r+\",\"+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}}class jd{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}}class Bd{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t)&&(i=+i)>=(n=+n)))throw new Error(\"invalid bounds\");this.delaunay=e,this._circumcenters=new Float64Array(2*e.points.length),this.vectors=new Float64Array(2*e.points.length),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let t,r,o=0,a=0,s=n.length;o<s;o+=3,a+=2){const s=2*n[o],u=2*n[o+1],l=2*n[o+2],c=e[s],f=e[s+1],p=e[u],d=e[u+1],h=e[l],m=e[l+1],y=p-c,v=d-f,g=h-c,b=m-f,x=2*(y*b-v*g);if(Math.abs(x)<1e-9){let i=1e9;const o=2*n[0];i*=Math.sign((e[o]-c)*b-(e[o+1]-f)*g),t=(c+h)/2-i*b,r=(f+m)/2+i*g}else{const e=1/x,n=y*y+v*v,i=g*g+b*b;t=c+(b*n-v*i)*e,r=f+(y*i-g*n)*e}i[a]=t,i[a+1]=r}let o,a,s,u=t[t.length-1],l=4*u,c=e[2*u],f=e[2*u+1];r.fill(0);for(let n=0;n<t.length;++n)u=t[n],o=l,a=c,s=f,l=4*u,c=e[2*u],f=e[2*u+1],r[o+2]=r[l]=s-f,r[o+3]=r[l+1]=c-a}render(e){const t=null==e?e=new Id:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:o,vectors:a}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){const r=n[t];if(r<t)continue;const i=2*Math.floor(t/3),a=2*Math.floor(r/3),s=o[i],u=o[i+1],l=o[a],c=o[a+1];this._renderSegment(s,u,l,c,e)}let s,u=i[i.length-1];for(let t=0;t<i.length;++t){s=u,u=i[t];const n=2*Math.floor(r[u]/3),l=o[n],c=o[n+1],f=4*s,p=this._project(l,c,a[f+2],a[f+3]);p&&this._renderSegment(l,c,p[0],p[1],e)}return t&&t.value()}renderBounds(e){const t=null==e?e=new Id:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){const n=null==t?t=new Id:void 0,r=this._clip(e);if(null===r||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)r[e]===r[e-2]&&r[e+1]===r[e-1]||t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){const e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){const t=new jd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let o;const a=this._regioncode(e,t),s=this._regioncode(n,r);0===a&&0===s?(i.moveTo(e,t),i.lineTo(n,r)):(o=this._clipSegment(e,t,n,r,a,s))&&(i.moveTo(o[0],o[1]),i.lineTo(o[2],o[3]))}contains(e,t,n){return(t=+t)==t&&(n=+n)==n&&this.delaunay._step(e,t,n)===e}*neighbors(e){const t=this._clip(e);if(t)for(const n of this.delaunay.neighbors(e)){const e=this._clip(n);if(e)e:for(let r=0,i=t.length;r<i;r+=2)for(let o=0,a=e.length;o<a;o+=2)if(t[r]==e[o]&&t[r+1]==e[o+1]&&t[(r+2)%i]==e[(o+a-2)%a]&&t[(r+3)%i]==e[(o+a-1)%a]){yield n;break e}}}_cell(e){const{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,o=n[e];if(-1===o)return null;const a=[];let s=o;do{const n=Math.floor(s/3);if(a.push(t[2*n],t[2*n+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==o&&-1!==s);return a}_clip(e){if(0===e&&1===this.delaunay.hull.length)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const t=this._cell(e);if(null===t)return null;const{vectors:n}=this,r=4*e;return n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t)}_clipFinite(e,t){const n=t.length;let r,i,o,a,s=null,u=t[n-2],l=t[n-1],c=this._regioncode(u,l),f=0;for(let p=0;p<n;p+=2)if(r=u,i=l,u=t[p],l=t[p+1],o=c,c=this._regioncode(u,l),0===o&&0===c)a=f,f=0,s?s.push(u,l):s=[u,l];else{let t,n,p,d,h;if(0===o){if(null===(t=this._clipSegment(r,i,u,l,o,c)))continue;[n,p,d,h]=t}else{if(null===(t=this._clipSegment(u,l,r,i,c,o)))continue;[d,h,n,p]=t,a=f,f=this._edgecode(n,p),a&&f&&this._edge(e,a,f,s,s.length),s?s.push(n,p):s=[n,p]}a=f,f=this._edgecode(d,h),a&&f&&this._edge(e,a,f,s,s.length),s?s.push(d,h):s=[d,h]}if(s)a=f,f=this._edgecode(s[0],s[1]),a&&f&&this._edge(e,a,f,s,s.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return s}_clipSegment(e,t,n,r,i,o){for(;;){if(0===i&&0===o)return[e,t,n,r];if(i&o)return null;let a,s,u=i||o;8&u?(a=e+(n-e)*(this.ymax-t)/(r-t),s=this.ymax):4&u?(a=e+(n-e)*(this.ymin-t)/(r-t),s=this.ymin):2&u?(s=t+(r-t)*(this.xmax-e)/(n-e),a=this.xmax):(s=t+(r-t)*(this.xmin-e)/(n-e),a=this.xmin),i?(e=a,t=s,i=this._regioncode(e,t)):(n=a,r=s,o=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,o){let a,s=Array.from(t);if((a=this._project(s[0],s[1],n,r))&&s.unshift(a[0],a[1]),(a=this._project(s[s.length-2],s[s.length-1],i,o))&&s.push(a[0],a[1]),s=this._clipFinite(e,s))for(let t,n=0,r=s.length,i=this._edgecode(s[r-2],s[r-1]);n<r;n+=2)t=i,i=this._edgecode(s[n],s[n+1]),t&&i&&(n=this._edge(e,t,i,s,n),r=s.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(e,t,n,r,i){for(;t!==n;){let n,o;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,o=this.ymin}r[i]===n&&r[i+1]===o||!this.contains(e,n,o)||(r.splice(i,0,n,o),i+=2)}if(r.length>4)for(let e=0;e<r.length;e+=2){const t=(e+2)%r.length,n=(e+4)%r.length;(r[e]===r[t]&&r[t]===r[n]||r[e+1]===r[t+1]&&r[t+1]===r[n+1])&&(r.splice(t,2),e-=2)}return i}_project(e,t,n,r){let i,o,a,s=1/0;if(r<0){if(t<=this.ymin)return null;(i=(this.ymin-t)/r)<s&&(a=this.ymin,o=e+(s=i)*n)}else if(r>0){if(t>=this.ymax)return null;(i=(this.ymax-t)/r)<s&&(a=this.ymax,o=e+(s=i)*n)}if(n>0){if(e>=this.xmax)return null;(i=(this.xmax-e)/n)<s&&(o=this.xmax,a=t+(s=i)*r)}else if(n<0){if(e<=this.xmin)return null;(i=(this.xmin-e)/n)<s&&(o=this.xmin,a=t+(s=i)*r)}return[o,a]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}}const qd=2*Math.PI,zd=Math.pow;function Vd(e){return e[0]}function Ud(e){return e[1]}function Wd(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}class Yd{static from(e,t=Vd,n=Ud,r){return new Yd(\"length\"in e?function(e,t,n,r){const i=e.length,o=new Float64Array(2*i);for(let a=0;a<i;++a){const i=e[a];o[2*a]=t.call(r,i,a,e),o[2*a+1]=n.call(r,i,a,e)}return o}(e,t,n,r):Float64Array.from(function*(e,t,n,r){let i=0;for(const o of e)yield t.call(r,o,i,e),yield n.call(r,o,i,e),++i}(e,t,n,r)))}constructor(e){this._delaunator=new Td(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&function(e){const{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){const r=2*t[e],i=2*t[e+1],o=2*t[e+2];if((n[o]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[o+1]-n[r+1])>1e-10)return!1}return!0}(e)){this.collinear=Int32Array.from({length:t.length/2},((e,t)=>t)).sort(((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]));const e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){const n=Wd(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new Td(t)}else delete this.collinear;const n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){const t=i[e%3==2?e-2:e+1];-1!==n[e]&&-1!==o[t]||(o[t]=e)}for(let e=0,t=r.length;e<t;++e)a[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],o[r[0]]=1,2===r.length&&(o[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new Bd(this,e)}*neighbors(e){const{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:o,collinear:a}=this;if(a){const t=a.indexOf(e);return t>0&&(yield a[t-1]),void(t<a.length-1&&(yield a[t+1]))}const s=t[e];if(-1===s)return;let u=s,l=-1;do{if(yield l=o[u],u=u%3==2?u-2:u+1,o[u]!==e)return;if(u=i[u],-1===u){const t=n[(r[e]+1)%n.length];return void(t!==l&&(yield t))}}while(u!==s)}find(e,t,n=0){if((e=+e)!=e||(t=+t)!=t)return-1;const r=n;let i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){const{inedges:r,hull:i,_hullIndex:o,halfedges:a,triangles:s,points:u}=this;if(-1===r[e]||!u.length)return(e+1)%(u.length>>1);let l=e,c=zd(t-u[2*e],2)+zd(n-u[2*e+1],2);const f=r[e];let p=f;do{let r=s[p];const f=zd(t-u[2*r],2)+zd(n-u[2*r+1],2);if(f<c&&(c=f,l=r),p=p%3==2?p-2:p+1,s[p]!==e)break;if(p=a[p],-1===p){if(p=i[(o[e]+1)%i.length],p!==r&&zd(t-u[2*p],2)+zd(n-u[2*p+1],2)<c)return p;break}}while(p!==f);return l}render(e){const t=null==e?e=new Id:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,o=r.length;t<o;++t){const o=r[t];if(o<t)continue;const a=2*i[t],s=2*i[o];e.moveTo(n[a],n[a+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){void 0!==t||e&&\"function\"==typeof e.moveTo||(t=e,e=null),t=null==t?2:+t;const n=null==e?e=new Id:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){const i=r[n],o=r[n+1];e.moveTo(i+t,o),e.arc(i,o,t,0,qd)}return n&&n.value()}renderHull(e){const t=null==e?e=new Id:void 0,{hull:n,points:r}=this,i=2*n[0],o=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<o;++t){const i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){const e=new jd;return this.renderHull(e),e.value()}renderTriangle(e,t){const n=null==t?t=new Id:void 0,{points:r,triangles:i}=this,o=2*i[e*=3],a=2*i[e+1],s=2*i[e+2];return t.moveTo(r[o],r[o+1]),t.lineTo(r[a],r[a+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){const{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){const t=new jd;return this.renderTriangle(e,t),t.value()}}const Xd=e=>()=>e;function Hd(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:u,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}function Gd(e){return!e.ctrlKey&&!e.button}function $d(){return this.parentNode}function Kd(e,t){return null==t?{x:e.x,y:e.y}:t}function Zd(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function Jd(){var e,t,n,r,i=Gd,o=$d,a=Kd,s=Zd,u={},l=fs(\"start\",\"drag\",\"end\"),c=0,f=0;function p(e){e.on(\"mousedown.drag\",d).filter(s).on(\"touchstart.drag\",y).on(\"touchmove.drag\",v,Tu).on(\"touchend.drag touchcancel.drag\",g).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function d(a,s){if(!r&&i.call(this,a,s)){var u=b(this,o.call(this,a,s),a,s,\"mouse\");u&&(Cu(a.view).on(\"mousemove.drag\",h,Du).on(\"mouseup.drag\",m,Du),Ou(a.view),Mu(a),n=!1,e=a.clientX,t=a.clientY,u(\"start\",a))}}function h(r){if(Pu(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>f}u.mouse(\"drag\",r)}function m(e){Cu(e.view).on(\"mousemove.drag mouseup.drag\",null),Lu(e.view,n),Pu(e),u.mouse(\"end\",e)}function y(e,t){if(i.call(this,e,t)){var n,r,a=e.changedTouches,s=o.call(this,e,t),u=a.length;for(n=0;n<u;++n)(r=b(this,s,e,t,a[n].identifier,a[n]))&&(Mu(e),r(\"start\",e,a[n]))}}function v(e){var t,n,r=e.changedTouches,i=r.length;for(t=0;t<i;++t)(n=u[r[t].identifier])&&(Pu(e),n(\"drag\",e,r[t]))}function g(e){var t,n,i=e.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<o;++t)(n=u[i[t].identifier])&&(Mu(e),n(\"end\",e,i[t]))}function b(e,t,n,r,i,o){var s,f,d,h=l.copy(),m=Bl(o||n,t);if(null!=(d=a.call(e,new Hd(\"beforestart\",{sourceEvent:n,target:p,identifier:i,active:c,x:m[0],y:m[1],dx:0,dy:0,dispatch:h}),r)))return s=d.x-m[0]||0,f=d.y-m[1]||0,function n(o,a,l){var y,v=m;switch(o){case\"start\":u[i]=n,y=c++;break;case\"end\":delete u[i],--c;case\"drag\":m=Bl(l||a,t),y=c}h.call(o,e,new Hd(o,{sourceEvent:a,subject:d,target:p,identifier:i,active:y,x:m[0]+s,y:m[1]+f,dx:m[0]-v[0],dy:m[1]-v[1],dispatch:h}),r)}}return p.filter=function(e){return arguments.length?(i=\"function\"==typeof e?e:Xd(!!e),p):i},p.container=function(e){return arguments.length?(o=\"function\"==typeof e?e:Xd(e),p):o},p.subject=function(e){return arguments.length?(a=\"function\"==typeof e?e:Xd(e),p):a},p.touchable=function(e){return arguments.length?(s=\"function\"==typeof e?e:Xd(!!e),p):s},p.on=function(){var e=l.on.apply(l,arguments);return e===l?p:e},p.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,p):Math.sqrt(f)},p}Hd.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var Qd={},eh={};function th(e){return new Function(\"d\",\"return {\"+e.map((function(e,t){return JSON.stringify(e)+\": d[\"+t+'] || \"\"'})).join(\",\")+\"}\")}function nh(e){var t=Object.create(null),n=[];return e.forEach((function(e){for(var r in e)r in t||n.push(t[r]=r)})),n}function rh(e,t){var n=e+\"\",r=n.length;return r<t?new Array(t-r+1).join(0)+n:n}function ih(e){var t=new RegExp('[\"'+e+\"\\n\\r]\"),n=e.charCodeAt(0);function r(e,t){var r,i=[],o=e.length,a=0,s=0,u=o<=0,l=!1;function c(){if(u)return eh;if(l)return l=!1,Qd;var t,r,i=a;if(34===e.charCodeAt(i)){for(;a++<o&&34!==e.charCodeAt(a)||34===e.charCodeAt(++a););return(t=a)>=o?u=!0:10===(r=e.charCodeAt(a++))?l=!0:13===r&&(l=!0,10===e.charCodeAt(a)&&++a),e.slice(i+1,t-1).replace(/\"\"/g,'\"')}for(;a<o;){if(10===(r=e.charCodeAt(t=a++)))l=!0;else if(13===r)l=!0,10===e.charCodeAt(a)&&++a;else if(r!==n)continue;return e.slice(i,t)}return u=!0,e.slice(i,o)}for(10===e.charCodeAt(o-1)&&--o,13===e.charCodeAt(o-1)&&--o;(r=c())!==eh;){for(var f=[];r!==Qd&&r!==eh;)f.push(r),r=c();t&&null==(f=t(f,s++))||i.push(f)}return i}function i(t,n){return t.map((function(t){return n.map((function(e){return a(t[e])})).join(e)}))}function o(t){return t.map(a).join(e)}function a(e){return null==e?\"\":e instanceof Date?function(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?\"Invalid Date\":function(e){return e<0?\"-\"+rh(-e,6):e>9999?\"+\"+rh(e,6):rh(e,4)}(e.getUTCFullYear())+\"-\"+rh(e.getUTCMonth()+1,2)+\"-\"+rh(e.getUTCDate(),2)+(i?\"T\"+rh(t,2)+\":\"+rh(n,2)+\":\"+rh(r,2)+\".\"+rh(i,3)+\"Z\":r?\"T\"+rh(t,2)+\":\"+rh(n,2)+\":\"+rh(r,2)+\"Z\":n||t?\"T\"+rh(t,2)+\":\"+rh(n,2)+\"Z\":\"\")}(e):t.test(e+=\"\")?'\"'+e.replace(/\"/g,'\"\"')+'\"':e}return{parse:function(e,t){var n,i,o=r(e,(function(e,r){if(n)return n(e,r-1);i=e,n=t?function(e,t){var n=th(e);return function(r,i){return t(n(r),i,e)}}(e,t):th(e)}));return o.columns=i||[],o},parseRows:r,format:function(t,n){return null==n&&(n=nh(t)),[n.map(a).join(e)].concat(i(t,n)).join(\"\\n\")},formatBody:function(e,t){return null==t&&(t=nh(e)),i(e,t).join(\"\\n\")},formatRows:function(e){return e.map(o).join(\"\\n\")},formatRow:o,formatValue:a}}var oh=ih(\",\"),ah=oh.parse,sh=oh.parseRows,uh=oh.format,lh=oh.formatBody,ch=oh.formatRows,fh=oh.formatRow,ph=oh.formatValue,dh=ih(\"\\t\"),hh=dh.parse,mh=dh.parseRows,yh=dh.format,vh=dh.formatBody,gh=dh.formatRows,bh=dh.formatRow,xh=dh.formatValue;function _h(e){for(var t in e){var n,r,i=e[t].trim();if(i)if(\"true\"===i)i=!0;else if(\"false\"===i)i=!1;else if(\"NaN\"===i)i=NaN;else if(isNaN(n=+i)){if(!(r=i.match(/^([-+]\\d{2})?\\d{4}(-\\d{2}(-\\d{2})?)?(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{3})?)?(Z|[-+]\\d{2}:\\d{2})?)?$/)))continue;wh&&r[4]&&!r[7]&&(i=i.replace(/-/g,\"/\").replace(/T/,\" \")),i=new Date(i)}else i=n;else i=null;e[t]=i}return e}const wh=new Date(\"2019-01-01T00:00\").getHours()||new Date(\"2019-07-01T00:00\").getHours(),Eh=e=>+e;function Sh(e){return e*e}function kh(e){return e*(2-e)}function Ah(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}var Ch=function e(t){function n(e){return Math.pow(e,t)}return t=+t,n.exponent=e,n}(3),Th=function e(t){function n(e){return 1-Math.pow(1-e,t)}return t=+t,n.exponent=e,n}(3),Dh=function e(t){function n(e){return((e*=2)<=1?Math.pow(e,t):2-Math.pow(2-e,t))/2}return t=+t,n.exponent=e,n}(3),Mh=Math.PI,Ph=Mh/2;function Oh(e){return 1==+e?1:1-Math.cos(e*Ph)}function Lh(e){return Math.sin(e*Ph)}function Nh(e){return(1-Math.cos(Mh*e))/2}function Fh(e){return 1.0009775171065494*(Math.pow(2,-10*e)-.0009765625)}function Rh(e){return Fh(1-+e)}function Ih(e){return 1-Fh(e)}function jh(e){return((e*=2)<=1?Fh(1-e):2-Fh(e-1))/2}function Bh(e){return 1-Math.sqrt(1-e*e)}function qh(e){return Math.sqrt(1- --e*e)}function zh(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var Vh=7.5625;function Uh(e){return 1-Wh(1-e)}function Wh(e){return(e=+e)<.36363636363636365?Vh*e*e:e<.7272727272727273?Vh*(e-=.5454545454545454)*e+.75:e<.9090909090909091?Vh*(e-=.8181818181818182)*e+.9375:Vh*(e-=.9545454545454546)*e+.984375}function Yh(e){return((e*=2)<=1?1-Wh(1-e):Wh(e-1)+1)/2}var Xh=1.70158,Hh=function e(t){function n(e){return(e=+e)*e*(t*(e-1)+e)}return t=+t,n.overshoot=e,n}(Xh),Gh=function e(t){function n(e){return--e*e*((e+1)*t+e)+1}return t=+t,n.overshoot=e,n}(Xh),$h=function e(t){function n(e){return((e*=2)<1?e*e*((t+1)*e-t):(e-=2)*e*((t+1)*e+t)+2)/2}return t=+t,n.overshoot=e,n}(Xh),Kh=2*Math.PI,Zh=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Kh);function i(e){return t*Fh(- --e)*Math.sin((r-e)/n)}return i.amplitude=function(t){return e(t,n*Kh)},i.period=function(n){return e(t,n)},i}(1,.3),Jh=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Kh);function i(e){return 1-t*Fh(e=+e)*Math.sin((e+r)/n)}return i.amplitude=function(t){return e(t,n*Kh)},i.period=function(n){return e(t,n)},i}(1,.3),Qh=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=Kh);function i(e){return((e=2*e-1)<0?t*Fh(-e)*Math.sin((r-e)/n):2-t*Fh(e)*Math.sin((r+e)/n))/2}return i.amplitude=function(t){return e(t,n*Kh)},i.period=function(n){return e(t,n)},i}(1,.3);function em(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.blob()}function tm(e,t){return fetch(e,t).then(em)}function nm(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.arrayBuffer()}function rm(e,t){return fetch(e,t).then(nm)}function im(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);return e.text()}function om(e,t){return fetch(e,t).then(im)}function am(e){return function(t,n,r){return 2===arguments.length&&\"function\"==typeof n&&(r=n,n=void 0),om(t,n).then((function(t){return e(t,r)}))}}function sm(e,t,n,r){3===arguments.length&&\"function\"==typeof n&&(r=n,n=void 0);var i=ih(e);return om(t,n).then((function(e){return i.parse(e,r)}))}var um=am(ah),lm=am(hh);function cm(e,t){return new Promise((function(n,r){var i=new Image;for(var o in t)i[o]=t[o];i.onerror=r,i.onload=function(){n(i)},i.src=e}))}function fm(e){if(!e.ok)throw new Error(e.status+\" \"+e.statusText);if(204!==e.status&&205!==e.status)return e.json()}function pm(e,t){return fetch(e,t).then(fm)}function dm(e){return(t,n)=>om(t,n).then((t=>(new DOMParser).parseFromString(t,e)))}const hm=dm(\"application/xml\");var mm=dm(\"text/html\"),ym=dm(\"image/svg+xml\");function vm(e,t){var n,r=1;function i(){var i,o,a=n.length,s=0,u=0;for(i=0;i<a;++i)s+=(o=n[i]).x,u+=o.y;for(s=(s/a-e)*r,u=(u/a-t)*r,i=0;i<a;++i)(o=n[i]).x-=s,o.y-=u}return null==e&&(e=0),null==t&&(t=0),i.initialize=function(e){n=e},i.x=function(t){return arguments.length?(e=+t,i):e},i.y=function(e){return arguments.length?(t=+e,i):t},i.strength=function(e){return arguments.length?(r=+e,i):r},i}function gm(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o,a,s,u,l,c,f,p,d=e._root,h={data:r},m=e._x0,y=e._y0,v=e._x1,g=e._y1;if(!d)return e._root=h,e;for(;d.length;)if((l=t>=(o=(m+v)/2))?m=o:v=o,(c=n>=(a=(y+g)/2))?y=a:g=a,i=d,!(d=d[f=c<<1|l]))return i[f]=h,e;if(s=+e._x.call(null,d.data),u=+e._y.call(null,d.data),t===s&&n===u)return h.next=d,i?i[f]=h:e._root=h,e;do{i=i?i[f]=new Array(4):e._root=new Array(4),(l=t>=(o=(m+v)/2))?m=o:v=o,(c=n>=(a=(y+g)/2))?y=a:g=a}while((f=c<<1|l)==(p=(u>=a)<<1|s>=o));return i[p]=d,i[f]=h,e}function bm(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function xm(e){return e[0]}function _m(e){return e[1]}function wm(e,t,n){var r=new Em(null==t?xm:t,null==n?_m:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function Em(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function Sm(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var km=wm.prototype=Em.prototype;function Am(e){return function(){return e}}function Cm(e){return 1e-6*(e()-.5)}function Tm(e){return e.x+e.vx}function Dm(e){return e.y+e.vy}function Mm(e){var t,n,r,i=1,o=1;function a(){for(var e,a,u,l,c,f,p,d=t.length,h=0;h<o;++h)for(a=wm(t,Tm,Dm).visitAfter(s),e=0;e<d;++e)u=t[e],f=n[u.index],p=f*f,l=u.x+u.vx,c=u.y+u.vy,a.visit(m);function m(e,t,n,o,a){var s=e.data,d=e.r,h=f+d;if(!s)return t>l+h||o<l-h||n>c+h||a<c-h;if(s.index>u.index){var m=l-s.x-s.vx,y=c-s.y-s.vy,v=m*m+y*y;v<h*h&&(0===m&&(v+=(m=Cm(r))*m),0===y&&(v+=(y=Cm(r))*y),v=(h-(v=Math.sqrt(v)))/v*i,u.vx+=(m*=v)*(h=(d*=d)/(p+d)),u.vy+=(y*=v)*h,s.vx-=m*(h=1-h),s.vy-=y*h)}}}function s(e){if(e.data)return e.r=n[e.data.index];for(var t=e.r=0;t<4;++t)e[t]&&e[t].r>e.r&&(e.r=e[t].r)}function u(){if(t){var r,i,o=t.length;for(n=new Array(o),r=0;r<o;++r)i=t[r],n[i.index]=+e(i,r,t)}}return\"function\"!=typeof e&&(e=Am(null==e?1:+e)),a.initialize=function(e,n){t=e,r=n,u()},a.iterations=function(e){return arguments.length?(o=+e,a):o},a.strength=function(e){return arguments.length?(i=+e,a):i},a.radius=function(t){return arguments.length?(e=\"function\"==typeof t?t:Am(+t),u(),a):e},a}function Pm(e){return e.index}function Om(e,t){var n=e.get(t);if(!n)throw new Error(\"node not found: \"+t);return n}function Lm(e){var t,n,r,i,o,a,s=Pm,u=function(e){return 1/Math.min(i[e.source.index],i[e.target.index])},l=Am(30),c=1;function f(r){for(var i=0,s=e.length;i<c;++i)for(var u,l,f,p,d,h,m,y=0;y<s;++y)l=(u=e[y]).source,p=(f=u.target).x+f.vx-l.x-l.vx||Cm(a),d=f.y+f.vy-l.y-l.vy||Cm(a),p*=h=((h=Math.sqrt(p*p+d*d))-n[y])/h*r*t[y],d*=h,f.vx-=p*(m=o[y]),f.vy-=d*m,l.vx+=p*(m=1-m),l.vy+=d*m}function p(){if(r){var a,u,l=r.length,c=e.length,f=new Map(r.map(((e,t)=>[s(e,t,r),e])));for(a=0,i=new Array(l);a<c;++a)(u=e[a]).index=a,\"object\"!=typeof u.source&&(u.source=Om(f,u.source)),\"object\"!=typeof u.target&&(u.target=Om(f,u.target)),i[u.source.index]=(i[u.source.index]||0)+1,i[u.target.index]=(i[u.target.index]||0)+1;for(a=0,o=new Array(c);a<c;++a)u=e[a],o[a]=i[u.source.index]/(i[u.source.index]+i[u.target.index]);t=new Array(c),d(),n=new Array(c),h()}}function d(){if(r)for(var n=0,i=e.length;n<i;++n)t[n]=+u(e[n],n,e)}function h(){if(r)for(var t=0,i=e.length;t<i;++t)n[t]=+l(e[t],t,e)}return null==e&&(e=[]),f.initialize=function(e,t){r=e,a=t,p()},f.links=function(t){return arguments.length?(e=t,p(),f):e},f.id=function(e){return arguments.length?(s=e,f):s},f.iterations=function(e){return arguments.length?(c=+e,f):c},f.strength=function(e){return arguments.length?(u=\"function\"==typeof e?e:Am(+e),d(),f):u},f.distance=function(e){return arguments.length?(l=\"function\"==typeof e?e:Am(+e),h(),f):l},f}km.copy=function(){var e,t,n=new Em(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=Sm(r),n;for(e=[{source:r,target:n._root=new Array(4)}];r=e.pop();)for(var i=0;i<4;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=new Array(4)}):r.target[i]=Sm(t));return n},km.add=function(e){const t=+this._x.call(null,e),n=+this._y.call(null,e);return gm(this.cover(t,n),t,n,e)},km.addAll=function(e){var t,n,r,i,o=e.length,a=new Array(o),s=new Array(o),u=1/0,l=1/0,c=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(r=+this._x.call(null,t=e[n]))||isNaN(i=+this._y.call(null,t))||(a[n]=r,s[n]=i,r<u&&(u=r),r>c&&(c=r),i<l&&(l=i),i>f&&(f=i));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),n=0;n<o;++n)gm(this,a[n],s[n],e[n]);return this},km.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var a,s,u=i-n||1,l=this._root;n>e||e>=i||r>t||t>=o;)switch(s=(t<r)<<1|e<n,(a=new Array(4))[s]=l,l=a,u*=2,s){case 0:i=n+u,o=r+u;break;case 1:n=i-u,o=r+u;break;case 2:i=n+u,r=o-u;break;case 3:n=i-u,r=o-u}this._root&&this._root.length&&(this._root=l)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},km.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},km.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},km.find=function(e,t,n){var r,i,o,a,s,u,l,c=this._x0,f=this._y0,p=this._x1,d=this._y1,h=[],m=this._root;for(m&&h.push(new bm(m,c,f,p,d)),null==n?n=1/0:(c=e-n,f=t-n,p=e+n,d=t+n,n*=n);u=h.pop();)if(!(!(m=u.node)||(i=u.x0)>p||(o=u.y0)>d||(a=u.x1)<c||(s=u.y1)<f))if(m.length){var y=(i+a)/2,v=(o+s)/2;h.push(new bm(m[3],y,v,a,s),new bm(m[2],i,v,y,s),new bm(m[1],y,o,a,v),new bm(m[0],i,o,y,v)),(l=(t>=v)<<1|e>=y)&&(u=h[h.length-1],h[h.length-1]=h[h.length-1-l],h[h.length-1-l]=u)}else{var g=e-+this._x.call(null,m.data),b=t-+this._y.call(null,m.data),x=g*g+b*b;if(x<n){var _=Math.sqrt(n=x);c=e-_,f=t-_,p=e+_,d=t+_,r=m.data}}return r},km.remove=function(e){if(isNaN(o=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e)))return this;var t,n,r,i,o,a,s,u,l,c,f,p,d=this._root,h=this._x0,m=this._y0,y=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((l=o>=(s=(h+y)/2))?h=s:y=s,(c=a>=(u=(m+v)/2))?m=u:v=u,t=d,!(d=d[f=c<<1|l]))return this;if(!d.length)break;(t[f+1&3]||t[f+2&3]||t[f+3&3])&&(n=t,p=f)}for(;d.data!==e;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):t?(i?t[f]=i:delete t[f],(d=t[0]||t[1]||t[2]||t[3])&&d===(t[3]||t[2]||t[1]||t[0])&&!d.length&&(n?n[p]=d:this._root=d),this):(this._root=i,this)},km.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},km.root=function(){return this._root},km.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},km.visit=function(e){var t,n,r,i,o,a,s=[],u=this._root;for(u&&s.push(new bm(u,this._x0,this._y0,this._x1,this._y1));t=s.pop();)if(!e(u=t.node,r=t.x0,i=t.y0,o=t.x1,a=t.y1)&&u.length){var l=(r+o)/2,c=(i+a)/2;(n=u[3])&&s.push(new bm(n,l,c,o,a)),(n=u[2])&&s.push(new bm(n,r,c,l,a)),(n=u[1])&&s.push(new bm(n,l,i,o,c)),(n=u[0])&&s.push(new bm(n,r,i,l,c))}return this},km.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new bm(this._root,this._x0,this._y0,this._x1,this._y1));t=n.pop();){var i=t.node;if(i.length){var o,a=t.x0,s=t.y0,u=t.x1,l=t.y1,c=(a+u)/2,f=(s+l)/2;(o=i[0])&&n.push(new bm(o,a,s,c,f)),(o=i[1])&&n.push(new bm(o,c,s,u,f)),(o=i[2])&&n.push(new bm(o,a,f,c,l)),(o=i[3])&&n.push(new bm(o,c,f,u,l))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},km.x=function(e){return arguments.length?(this._x=e,this):this._x},km.y=function(e){return arguments.length?(this._y=e,this):this._y};const Nm=4294967296;function Fm(e){return e.x}function Rm(e){return e.y}var Im=Math.PI*(3-Math.sqrt(5));function jm(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,u=Ql(f),l=fs(\"tick\",\"end\"),c=function(){let e=1;return()=>(e=(1664525*e+1013904223)%Nm)/Nm}();function f(){p(),l.call(\"tick\",t),n<r&&(u.stop(),l.call(\"end\",t))}function p(r){var u,l,c=e.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(n+=(o-n)*i,s.forEach((function(e){e(n)})),u=0;u<c;++u)null==(l=e[u]).fx?l.x+=l.vx*=a:(l.x=l.fx,l.vx=0),null==l.fy?l.y+=l.vy*=a:(l.y=l.fy,l.vy=0);return t}function d(){for(var t,n=0,r=e.length;n<r;++n){if((t=e[n]).index=n,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),isNaN(t.x)||isNaN(t.y)){var i=10*Math.sqrt(.5+n),o=n*Im;t.x=i*Math.cos(o),t.y=i*Math.sin(o)}(isNaN(t.vx)||isNaN(t.vy))&&(t.vx=t.vy=0)}}function h(t){return t.initialize&&t.initialize(e,c),t}return null==e&&(e=[]),d(),t={tick:p,restart:function(){return u.restart(f),t},stop:function(){return u.stop(),t},nodes:function(n){return arguments.length?(e=n,d(),s.forEach(h),t):e},alpha:function(e){return arguments.length?(n=+e,t):n},alphaMin:function(e){return arguments.length?(r=+e,t):r},alphaDecay:function(e){return arguments.length?(i=+e,t):+i},alphaTarget:function(e){return arguments.length?(o=+e,t):o},velocityDecay:function(e){return arguments.length?(a=1-e,t):1-a},randomSource:function(e){return arguments.length?(c=e,s.forEach(h),t):c},force:function(e,n){return arguments.length>1?(null==n?s.delete(e):s.set(e,h(n)),t):s.get(e)},find:function(t,n,r){var i,o,a,s,u,l=0,c=e.length;for(null==r?r=1/0:r*=r,l=0;l<c;++l)(a=(i=t-(s=e[l]).x)*i+(o=n-s.y)*o)<r&&(u=s,r=a);return u},on:function(e,n){return arguments.length>1?(l.on(e,n),t):l.on(e)}}}function Bm(){var e,t,n,r,i,o=Am(-30),a=1,s=1/0,u=.81;function l(n){var i,o=e.length,a=wm(e,Fm,Rm).visitAfter(f);for(r=n,i=0;i<o;++i)t=e[i],a.visit(p)}function c(){if(e){var t,n,r=e.length;for(i=new Array(r),t=0;t<r;++t)n=e[t],i[n.index]=+o(n,t,e)}}function f(e){var t,n,r,o,a,s=0,u=0;if(e.length){for(r=o=a=0;a<4;++a)(t=e[a])&&(n=Math.abs(t.value))&&(s+=t.value,u+=n,r+=n*t.x,o+=n*t.y);e.x=r/u,e.y=o/u}else{(t=e).x=t.data.x,t.y=t.data.y;do{s+=i[t.data.index]}while(t=t.next)}e.value=s}function p(e,o,l,c){if(!e.value)return!0;var f=e.x-t.x,p=e.y-t.y,d=c-o,h=f*f+p*p;if(d*d/u<h)return h<s&&(0===f&&(h+=(f=Cm(n))*f),0===p&&(h+=(p=Cm(n))*p),h<a&&(h=Math.sqrt(a*h)),t.vx+=f*e.value*r/h,t.vy+=p*e.value*r/h),!0;if(!(e.length||h>=s)){(e.data!==t||e.next)&&(0===f&&(h+=(f=Cm(n))*f),0===p&&(h+=(p=Cm(n))*p),h<a&&(h=Math.sqrt(a*h)));do{e.data!==t&&(d=i[e.data.index]*r/h,t.vx+=f*d,t.vy+=p*d)}while(e=e.next)}}return l.initialize=function(t,r){e=t,n=r,c()},l.strength=function(e){return arguments.length?(o=\"function\"==typeof e?e:Am(+e),c(),l):o},l.distanceMin=function(e){return arguments.length?(a=e*e,l):Math.sqrt(a)},l.distanceMax=function(e){return arguments.length?(s=e*e,l):Math.sqrt(s)},l.theta=function(e){return arguments.length?(u=e*e,l):Math.sqrt(u)},l}function qm(e,t,n){var r,i,o,a=Am(.1);function s(e){for(var a=0,s=r.length;a<s;++a){var u=r[a],l=u.x-t||1e-6,c=u.y-n||1e-6,f=Math.sqrt(l*l+c*c),p=(o[a]-f)*i[a]*e/f;u.vx+=l*p,u.vy+=c*p}}function u(){if(r){var t,n=r.length;for(i=new Array(n),o=new Array(n),t=0;t<n;++t)o[t]=+e(r[t],t,r),i[t]=isNaN(o[t])?0:+a(r[t],t,r)}}return\"function\"!=typeof e&&(e=Am(+e)),null==t&&(t=0),null==n&&(n=0),s.initialize=function(e){r=e,u()},s.strength=function(e){return arguments.length?(a=\"function\"==typeof e?e:Am(+e),u(),s):a},s.radius=function(t){return arguments.length?(e=\"function\"==typeof t?t:Am(+t),u(),s):e},s.x=function(e){return arguments.length?(t=+e,s):t},s.y=function(e){return arguments.length?(n=+e,s):n},s}function zm(e){var t,n,r,i=Am(.1);function o(e){for(var i,o=0,a=t.length;o<a;++o)(i=t[o]).vx+=(r[o]-i.x)*n[o]*e}function a(){if(t){var o,a=t.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+e(t[o],o,t))?0:+i(t[o],o,t)}}return\"function\"!=typeof e&&(e=Am(null==e?0:+e)),o.initialize=function(e){t=e,a()},o.strength=function(e){return arguments.length?(i=\"function\"==typeof e?e:Am(+e),a(),o):i},o.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:Am(+t),a(),o):e},o}function Vm(e){var t,n,r,i=Am(.1);function o(e){for(var i,o=0,a=t.length;o<a;++o)(i=t[o]).vy+=(r[o]-i.y)*n[o]*e}function a(){if(t){var o,a=t.length;for(n=new Array(a),r=new Array(a),o=0;o<a;++o)n[o]=isNaN(r[o]=+e(t[o],o,t))?0:+i(t[o],o,t)}}return\"function\"!=typeof e&&(e=Am(null==e?0:+e)),o.initialize=function(e){t=e,a()},o.strength=function(e){return arguments.length?(i=\"function\"==typeof e?e:Am(+e),a(),o):i},o.y=function(t){return arguments.length?(e=\"function\"==typeof t?t:Am(+t),a(),o):e},o}function Um(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(\"e\"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Wm(e){return(e=Um(Math.abs(e)))?e[1]:NaN}var Ym,Xm=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function Hm(e){if(!(t=Xm.exec(e)))throw new Error(\"invalid format: \"+e);var t;return new Gm({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function Gm(e){this.fill=void 0===e.fill?\" \":e.fill+\"\",this.align=void 0===e.align?\">\":e.align+\"\",this.sign=void 0===e.sign?\"-\":e.sign+\"\",this.symbol=void 0===e.symbol?\"\":e.symbol+\"\",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?\"\":e.type+\"\"}function $m(e,t){var n=Um(e,t);if(!n)return e+\"\";var r=n[0],i=n[1];return i<0?\"0.\"+new Array(-i).join(\"0\")+r:r.length>i+1?r.slice(0,i+1)+\".\"+r.slice(i+1):r+new Array(i-r.length+2).join(\"0\")}Hm.prototype=Gm.prototype,Gm.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(void 0===this.width?\"\":Math.max(1,0|this.width))+(this.comma?\",\":\"\")+(void 0===this.precision?\"\":\".\"+Math.max(0,0|this.precision))+(this.trim?\"~\":\"\")+this.type};const Km={\"%\":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+\"\",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(\"en\").replace(/,/g,\"\"):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>$m(100*e,t),r:$m,s:function(e,t){var n=Um(e,t);if(!n)return e+\"\";var r=n[0],i=n[1],o=i-(Ym=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join(\"0\"):o>0?r.slice(0,o)+\".\"+r.slice(o):\"0.\"+new Array(1-o).join(\"0\")+Um(e,Math.max(0,t+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Zm(e){return e}var Jm,Qm,ey,ty=Array.prototype.map,ny=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function ry(e){var t,n,r=void 0===e.grouping||void 0===e.thousands?Zm:(t=ty.call(e.grouping,Number),n=e.thousands+\"\",function(e,r){for(var i=e.length,o=[],a=0,s=t[0],u=0;i>0&&s>0&&(u+s+1>r&&(s=Math.max(1,r-u)),o.push(e.substring(i-=s,i+s)),!((u+=s+1)>r));)s=t[a=(a+1)%t.length];return o.reverse().join(n)}),i=void 0===e.currency?\"\":e.currency[0]+\"\",o=void 0===e.currency?\"\":e.currency[1]+\"\",a=void 0===e.decimal?\".\":e.decimal+\"\",s=void 0===e.numerals?Zm:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(ty.call(e.numerals,String)),u=void 0===e.percent?\"%\":e.percent+\"\",l=void 0===e.minus?\"−\":e.minus+\"\",c=void 0===e.nan?\"NaN\":e.nan+\"\";function f(e){var t=(e=Hm(e)).fill,n=e.align,f=e.sign,p=e.symbol,d=e.zero,h=e.width,m=e.comma,y=e.precision,v=e.trim,g=e.type;\"n\"===g?(m=!0,g=\"g\"):Km[g]||(void 0===y&&(y=12),v=!0,g=\"g\"),(d||\"0\"===t&&\"=\"===n)&&(d=!0,t=\"0\",n=\"=\");var b=\"$\"===p?i:\"#\"===p&&/[boxX]/.test(g)?\"0\"+g.toLowerCase():\"\",x=\"$\"===p?o:/[%p]/.test(g)?u:\"\",_=Km[g],w=/[defgprs%]/.test(g);function E(e){var i,o,u,p=b,E=x;if(\"c\"===g)E=_(e)+E,e=\"\";else{var S=(e=+e)<0||1/e<0;if(e=isNaN(e)?c:_(Math.abs(e),y),v&&(e=function(e){e:for(var t,n=e.length,r=1,i=-1;r<n;++r)switch(e[r]){case\".\":i=t=r;break;case\"0\":0===i&&(i=r),t=r;break;default:if(!+e[r])break e;i>0&&(i=0)}return i>0?e.slice(0,i)+e.slice(t+1):e}(e)),S&&0==+e&&\"+\"!==f&&(S=!1),p=(S?\"(\"===f?f:l:\"-\"===f||\"(\"===f?\"\":f)+p,E=(\"s\"===g?ny[8+Ym/3]:\"\")+E+(S&&\"(\"===f?\")\":\"\"),w)for(i=-1,o=e.length;++i<o;)if(48>(u=e.charCodeAt(i))||u>57){E=(46===u?a+e.slice(i+1):e.slice(i))+E,e=e.slice(0,i);break}}m&&!d&&(e=r(e,1/0));var k=p.length+e.length+E.length,A=k<h?new Array(h-k+1).join(t):\"\";switch(m&&d&&(e=r(A+e,A.length?h-E.length:1/0),A=\"\"),n){case\"<\":e=p+e+E+A;break;case\"=\":e=p+A+e+E;break;case\"^\":e=A.slice(0,k=A.length>>1)+p+e+E+A.slice(k);break;default:e=A+p+e+E}return s(e)}return y=void 0===y?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,y)):Math.max(0,Math.min(20,y)),E.toString=function(){return e+\"\"},E}return{format:f,formatPrefix:function(e,t){var n=f(((e=Hm(e)).type=\"f\",e)),r=3*Math.max(-8,Math.min(8,Math.floor(Wm(t)/3))),i=Math.pow(10,-r),o=ny[8+r/3];return function(e){return n(i*e)+o}}}}function iy(e){return Jm=ry(e),Qm=Jm.format,ey=Jm.formatPrefix,Jm}function oy(e){return Math.max(0,-Wm(Math.abs(e)))}function ay(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Wm(t)/3)))-Wm(Math.abs(e)))}function sy(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Wm(t)-Wm(e))+1}iy({thousands:\",\",grouping:[3],currency:[\"$\",\"\"]});class uy{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let n=0;for(let r=0;r<this._n&&r<32;r++){const i=t[r],o=e+i,a=Math.abs(e)<Math.abs(i)?e-(o-i):i-(o-e);a&&(t[n++]=a),e=o}return t[n]=e,this._n=n+1,this}valueOf(){const e=this._partials;let t,n,r,i=this._n,o=0;if(i>0){for(o=e[--i];i>0&&(t=o,n=e[--i],o=t+n,r=n-(o-t),!r););i>0&&(r<0&&e[i-1]<0||r>0&&e[i-1]>0)&&(n=2*r,t=o+n,n==t-o&&(o=t))}return o}}var ly=1e-6,cy=1e-12,fy=Math.PI,py=fy/2,dy=fy/4,hy=2*fy,my=180/fy,yy=fy/180,vy=Math.abs,gy=Math.atan,by=Math.atan2,xy=Math.cos,_y=Math.ceil,wy=Math.exp,Ey=(Math.floor,Math.hypot),Sy=Math.log,ky=Math.pow,Ay=Math.sin,Cy=Math.sign||function(e){return e>0?1:e<0?-1:0},Ty=Math.sqrt,Dy=Math.tan;function My(e){return e>1?0:e<-1?fy:Math.acos(e)}function Py(e){return e>1?py:e<-1?-py:Math.asin(e)}function Oy(e){return(e=Ay(e/2))*e}function Ly(){}function Ny(e,t){e&&Ry.hasOwnProperty(e.type)&&Ry[e.type](e,t)}var Fy={Feature:function(e,t){Ny(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Ny(n[r].geometry,t)}},Ry={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Iy(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Iy(n[r],t,0)},Polygon:function(e,t){jy(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)jy(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Ny(n[r],t)}};function Iy(e,t,n){var r,i=-1,o=e.length-n;for(t.lineStart();++i<o;)r=e[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function jy(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Iy(e[n],t,1);t.polygonEnd()}function By(e,t){e&&Fy.hasOwnProperty(e.type)?Fy[e.type](e,t):Ny(e,t)}var qy,zy,Vy,Uy,Wy,Yy,Xy,Hy,Gy,$y,Ky,Zy,Jy,Qy,ev,tv,nv=new uy,rv=new uy,iv={point:Ly,lineStart:Ly,lineEnd:Ly,polygonStart:function(){nv=new uy,iv.lineStart=ov,iv.lineEnd=av},polygonEnd:function(){var e=+nv;rv.add(e<0?hy+e:e),this.lineStart=this.lineEnd=this.point=Ly},sphere:function(){rv.add(hy)}};function ov(){iv.point=sv}function av(){uv(qy,zy)}function sv(e,t){iv.point=uv,qy=e,zy=t,Vy=e*=yy,Uy=xy(t=(t*=yy)/2+dy),Wy=Ay(t)}function uv(e,t){var n=(e*=yy)-Vy,r=n>=0?1:-1,i=r*n,o=xy(t=(t*=yy)/2+dy),a=Ay(t),s=Wy*a,u=Uy*o+s*xy(i),l=s*r*Ay(i);nv.add(by(l,u)),Vy=e,Uy=o,Wy=a}function lv(e){return rv=new uy,By(e,iv),2*rv}function cv(e){return[by(e[1],e[0]),Py(e[2])]}function fv(e){var t=e[0],n=e[1],r=xy(n);return[r*xy(t),r*Ay(t),Ay(n)]}function pv(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function dv(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function hv(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function mv(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function yv(e){var t=Ty(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var vv,gv,bv,xv,_v,wv,Ev,Sv,kv,Av,Cv,Tv,Dv,Mv,Pv,Ov,Lv={point:Nv,lineStart:Rv,lineEnd:Iv,polygonStart:function(){Lv.point=jv,Lv.lineStart=Bv,Lv.lineEnd=qv,Qy=new uy,iv.polygonStart()},polygonEnd:function(){iv.polygonEnd(),Lv.point=Nv,Lv.lineStart=Rv,Lv.lineEnd=Iv,nv<0?(Yy=-(Hy=180),Xy=-(Gy=90)):Qy>ly?Gy=90:Qy<-1e-6&&(Xy=-90),tv[0]=Yy,tv[1]=Hy},sphere:function(){Yy=-(Hy=180),Xy=-(Gy=90)}};function Nv(e,t){ev.push(tv=[Yy=e,Hy=e]),t<Xy&&(Xy=t),t>Gy&&(Gy=t)}function Fv(e,t){var n=fv([e*yy,t*yy]);if(Jy){var r=dv(Jy,n),i=dv([r[1],-r[0],0],r);yv(i),i=cv(i);var o,a=e-$y,s=a>0?1:-1,u=i[0]*my*s,l=vy(a)>180;l^(s*$y<u&&u<s*e)?(o=i[1]*my)>Gy&&(Gy=o):l^(s*$y<(u=(u+360)%360-180)&&u<s*e)?(o=-i[1]*my)<Xy&&(Xy=o):(t<Xy&&(Xy=t),t>Gy&&(Gy=t)),l?e<$y?zv(Yy,e)>zv(Yy,Hy)&&(Hy=e):zv(e,Hy)>zv(Yy,Hy)&&(Yy=e):Hy>=Yy?(e<Yy&&(Yy=e),e>Hy&&(Hy=e)):e>$y?zv(Yy,e)>zv(Yy,Hy)&&(Hy=e):zv(e,Hy)>zv(Yy,Hy)&&(Yy=e)}else ev.push(tv=[Yy=e,Hy=e]);t<Xy&&(Xy=t),t>Gy&&(Gy=t),Jy=n,$y=e}function Rv(){Lv.point=Fv}function Iv(){tv[0]=Yy,tv[1]=Hy,Lv.point=Nv,Jy=null}function jv(e,t){if(Jy){var n=e-$y;Qy.add(vy(n)>180?n+(n>0?360:-360):n)}else Ky=e,Zy=t;iv.point(e,t),Fv(e,t)}function Bv(){iv.lineStart()}function qv(){jv(Ky,Zy),iv.lineEnd(),vy(Qy)>ly&&(Yy=-(Hy=180)),tv[0]=Yy,tv[1]=Hy,Jy=null}function zv(e,t){return(t-=e)<0?t+360:t}function Vv(e,t){return e[0]-t[0]}function Uv(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function Wv(e){var t,n,r,i,o,a,s;if(Gy=Hy=-(Yy=Xy=1/0),ev=[],By(e,Lv),n=ev.length){for(ev.sort(Vv),t=1,o=[r=ev[0]];t<n;++t)Uv(r,(i=ev[t])[0])||Uv(r,i[1])?(zv(r[0],i[1])>zv(r[0],r[1])&&(r[1]=i[1]),zv(i[0],r[1])>zv(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,t=0,r=o[n=o.length-1];t<=n;r=i,++t)i=o[t],(s=zv(r[1],i[0]))>a&&(a=s,Yy=i[0],Hy=r[1])}return ev=tv=null,Yy===1/0||Xy===1/0?[[NaN,NaN],[NaN,NaN]]:[[Yy,Xy],[Hy,Gy]]}var Yv={sphere:Ly,point:Xv,lineStart:Gv,lineEnd:Zv,polygonStart:function(){Yv.lineStart=Jv,Yv.lineEnd=Qv},polygonEnd:function(){Yv.lineStart=Gv,Yv.lineEnd=Zv}};function Xv(e,t){e*=yy;var n=xy(t*=yy);Hv(n*xy(e),n*Ay(e),Ay(t))}function Hv(e,t,n){++vv,bv+=(e-bv)/vv,xv+=(t-xv)/vv,_v+=(n-_v)/vv}function Gv(){Yv.point=$v}function $v(e,t){e*=yy;var n=xy(t*=yy);Mv=n*xy(e),Pv=n*Ay(e),Ov=Ay(t),Yv.point=Kv,Hv(Mv,Pv,Ov)}function Kv(e,t){e*=yy;var n=xy(t*=yy),r=n*xy(e),i=n*Ay(e),o=Ay(t),a=by(Ty((a=Pv*o-Ov*i)*a+(a=Ov*r-Mv*o)*a+(a=Mv*i-Pv*r)*a),Mv*r+Pv*i+Ov*o);gv+=a,wv+=a*(Mv+(Mv=r)),Ev+=a*(Pv+(Pv=i)),Sv+=a*(Ov+(Ov=o)),Hv(Mv,Pv,Ov)}function Zv(){Yv.point=Xv}function Jv(){Yv.point=eg}function Qv(){tg(Tv,Dv),Yv.point=Xv}function eg(e,t){Tv=e,Dv=t,e*=yy,t*=yy,Yv.point=tg;var n=xy(t);Mv=n*xy(e),Pv=n*Ay(e),Ov=Ay(t),Hv(Mv,Pv,Ov)}function tg(e,t){e*=yy;var n=xy(t*=yy),r=n*xy(e),i=n*Ay(e),o=Ay(t),a=Pv*o-Ov*i,s=Ov*r-Mv*o,u=Mv*i-Pv*r,l=Ey(a,s,u),c=Py(l),f=l&&-c/l;kv.add(f*a),Av.add(f*s),Cv.add(f*u),gv+=c,wv+=c*(Mv+(Mv=r)),Ev+=c*(Pv+(Pv=i)),Sv+=c*(Ov+(Ov=o)),Hv(Mv,Pv,Ov)}function ng(e){vv=gv=bv=xv=_v=wv=Ev=Sv=0,kv=new uy,Av=new uy,Cv=new uy,By(e,Yv);var t=+kv,n=+Av,r=+Cv,i=Ey(t,n,r);return i<cy&&(t=wv,n=Ev,r=Sv,gv<ly&&(t=bv,n=xv,r=_v),(i=Ey(t,n,r))<cy)?[NaN,NaN]:[by(n,t)*my,Py(r/i)*my]}function rg(e){return function(){return e}}function ig(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return(n=t.invert(n,r))&&e.invert(n[0],n[1])}),n}function og(e,t){return[vy(e)>fy?e+Math.round(-e/hy)*hy:e,t]}function ag(e,t,n){return(e%=hy)?t||n?ig(ug(e),lg(t,n)):ug(e):t||n?lg(t,n):og}function sg(e){return function(t,n){return[(t+=e)>fy?t-hy:t<-fy?t+hy:t,n]}}function ug(e){var t=sg(e);return t.invert=sg(-e),t}function lg(e,t){var n=xy(e),r=Ay(e),i=xy(t),o=Ay(t);function a(e,t){var a=xy(t),s=xy(e)*a,u=Ay(e)*a,l=Ay(t),c=l*n+s*r;return[by(u*i-c*o,s*n-l*r),Py(c*i+u*o)]}return a.invert=function(e,t){var a=xy(t),s=xy(e)*a,u=Ay(e)*a,l=Ay(t),c=l*i-u*o;return[by(u*i+l*o,s*n+c*r),Py(c*n-s*r)]},a}function cg(e){function t(t){return(t=e(t[0]*yy,t[1]*yy))[0]*=my,t[1]*=my,t}return e=ag(e[0]*yy,e[1]*yy,e.length>2?e[2]*yy:0),t.invert=function(t){return(t=e.invert(t[0]*yy,t[1]*yy))[0]*=my,t[1]*=my,t},t}function fg(e,t,n,r,i,o){if(n){var a=xy(t),s=Ay(t),u=r*n;null==i?(i=t+r*hy,o=t-u/2):(i=pg(a,i),o=pg(a,o),(r>0?i<o:i>o)&&(i+=r*hy));for(var l,c=i;r>0?c>o:c<o;c-=u)l=cv([a,-s*xy(c),-s*Ay(c)]),e.point(l[0],l[1])}}function pg(e,t){(t=fv(t))[0]-=e,yv(t);var n=My(-t[1]);return((-t[2]<0?-n:n)+hy-ly)%hy}function dg(){var e,t,n=rg([0,0]),r=rg(90),i=rg(6),o={point:function(n,r){e.push(n=t(n,r)),n[0]*=my,n[1]*=my}};function a(){var a=n.apply(this,arguments),s=r.apply(this,arguments)*yy,u=i.apply(this,arguments)*yy;return e=[],t=ag(-a[0]*yy,-a[1]*yy,0).invert,fg(o,s,u,1),a={type:\"Polygon\",coordinates:[e]},e=t=null,a}return a.center=function(e){return arguments.length?(n=\"function\"==typeof e?e:rg([+e[0],+e[1]]),a):n},a.radius=function(e){return arguments.length?(r=\"function\"==typeof e?e:rg(+e),a):r},a.precision=function(e){return arguments.length?(i=\"function\"==typeof e?e:rg(+e),a):i},a}function hg(){var e,t=[];return{point:function(t,n,r){e.push([t,n,r])},lineStart:function(){t.push(e=[])},lineEnd:Ly,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function mg(e,t){return vy(e[0]-t[0])<ly&&vy(e[1]-t[1])<ly}function yg(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function vg(e,t,n,r,i){var o,a,s=[],u=[];if(e.forEach((function(e){if(!((t=e.length-1)<=0)){var t,n,r=e[0],a=e[t];if(mg(r,a)){if(!r[2]&&!a[2]){for(i.lineStart(),o=0;o<t;++o)i.point((r=e[o])[0],r[1]);return void i.lineEnd()}a[0]+=2e-6}s.push(n=new yg(r,e,null,!0)),u.push(n.o=new yg(r,null,n,!1)),s.push(n=new yg(a,e,null,!1)),u.push(n.o=new yg(a,null,n,!0))}})),s.length){for(u.sort(t),gg(s),gg(u),o=0,a=u.length;o<a;++o)u[o].e=n=!n;for(var l,c,f=s[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;l=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(o=0,a=l.length;o<a;++o)i.point((c=l[o])[0],c[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d)for(l=p.p.z,o=l.length-1;o>=0;--o)i.point((c=l[o])[0],c[1]);else r(p.x,p.p.x,-1,i);p=p.p}l=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function gg(e){if(t=e.length){for(var t,n,r=0,i=e[0];++r<t;)i.n=n=e[r],n.p=i,i=n;i.n=n=e[0],n.p=i}}function bg(e){return vy(e[0])<=fy?e[0]:Cy(e[0])*((vy(e[0])+fy)%hy-fy)}function xg(e,t){var n=bg(t),r=t[1],i=Ay(r),o=[Ay(n),-xy(n),0],a=0,s=0,u=new uy;1===i?r=py+ly:-1===i&&(r=-py-ly);for(var l=0,c=e.length;l<c;++l)if(p=(f=e[l]).length)for(var f,p,d=f[p-1],h=bg(d),m=d[1]/2+dy,y=Ay(m),v=xy(m),g=0;g<p;++g,h=x,y=w,v=E,d=b){var b=f[g],x=bg(b),_=b[1]/2+dy,w=Ay(_),E=xy(_),S=x-h,k=S>=0?1:-1,A=k*S,C=A>fy,T=y*w;if(u.add(by(T*k*Ay(A),v*E+T*xy(A))),a+=C?S+k*hy:S,C^h>=n^x>=n){var D=dv(fv(d),fv(b));yv(D);var M=dv(o,D);yv(M);var P=(C^S>=0?-1:1)*Py(M[2]);(r>P||r===P&&(D[0]||D[1]))&&(s+=C^S>=0?1:-1)}}return(a<-1e-6||a<ly&&u<-1e-12)^1&s}function _g(e){return Array.from(function*(e){for(const t of e)yield*t}(e))}function wg(e,t,n,r){return function(i){var o,a,s,u=t(i),l=hg(),c=t(l),f=!1,p={point:d,lineStart:m,lineEnd:y,polygonStart:function(){p.point=v,p.lineStart=g,p.lineEnd=b,a=[],o=[]},polygonEnd:function(){p.point=d,p.lineStart=m,p.lineEnd=y,a=_g(a);var e=xg(o,r);a.length?(f||(i.polygonStart(),f=!0),vg(a,Sg,e,n,i)):e&&(f||(i.polygonStart(),f=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),a=o=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(t,n){e(t,n)&&i.point(t,n)}function h(e,t){u.point(e,t)}function m(){p.point=h,u.lineStart()}function y(){p.point=d,u.lineEnd()}function v(e,t){s.push([e,t]),c.point(e,t)}function g(){c.lineStart(),s=[]}function b(){v(s[0][0],s[0][1]),c.lineEnd();var e,t,n,r,u=c.clean(),p=l.result(),d=p.length;if(s.pop(),o.push(s),s=null,d)if(1&u){if((t=(n=p[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),e=0;e<t;++e)i.point((r=n[e])[0],r[1]);i.lineEnd()}}else d>1&&2&u&&p.push(p.pop().concat(p.shift())),a.push(p.filter(Eg))}return p}}function Eg(e){return e.length>1}function Sg(e,t){return((e=e.x)[0]<0?e[1]-py-ly:py-e[1])-((t=t.x)[0]<0?t[1]-py-ly:py-t[1])}og.invert=og;const kg=wg((function(){return!0}),(function(e){var t,n=NaN,r=NaN,i=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(o,a){var s=o>0?fy:-fy,u=vy(o-n);vy(u-fy)<ly?(e.point(n,r=(r+a)/2>0?py:-py),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),e.point(o,r),t=0):i!==s&&u>=fy&&(vy(n-i)<ly&&(n-=i*ly),vy(o-s)<ly&&(o-=s*ly),r=function(e,t,n,r){var i,o,a=Ay(e-n);return vy(a)>ly?gy((Ay(t)*(o=xy(r))*Ay(n)-Ay(r)*(i=xy(t))*Ay(e))/(i*o*a)):(t+r)/2}(n,r,o,a),e.point(i,r),e.lineEnd(),e.lineStart(),e.point(s,r),t=0),e.point(n=o,r=a),i=s},lineEnd:function(){e.lineEnd(),n=r=NaN},clean:function(){return 2-t}}}),(function(e,t,n,r){var i;if(null==e)i=n*py,r.point(-fy,i),r.point(0,i),r.point(fy,i),r.point(fy,0),r.point(fy,-i),r.point(0,-i),r.point(-fy,-i),r.point(-fy,0),r.point(-fy,i);else if(vy(e[0]-t[0])>ly){var o=e[0]<t[0]?fy:-fy;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}),[-fy,-py]);function Ag(e){var t=xy(e),n=6*yy,r=t>0,i=vy(t)>ly;function o(e,n){return xy(e)*xy(n)>t}function a(e,n,r){var i=[1,0,0],o=dv(fv(e),fv(n)),a=pv(o,o),s=o[0],u=a-s*s;if(!u)return!r&&e;var l=t*a/u,c=-t*s/u,f=dv(i,o),p=mv(i,l);hv(p,mv(o,c));var d=f,h=pv(p,d),m=pv(d,d),y=h*h-m*(pv(p,p)-1);if(!(y<0)){var v=Ty(y),g=mv(d,(-h-v)/m);if(hv(g,p),g=cv(g),!r)return g;var b,x=e[0],_=n[0],w=e[1],E=n[1];_<x&&(b=x,x=_,_=b);var S=_-x,k=vy(S-fy)<ly;if(!k&&E<w&&(b=w,w=E,E=b),k||S<ly?k?w+E>0^g[1]<(vy(g[0]-x)<ly?w:E):w<=g[1]&&g[1]<=E:S>fy^(x<=g[0]&&g[0]<=_)){var A=mv(d,(-h+v)/m);return hv(A,p),[g,cv(A)]}}}function s(t,n){var i=r?e:fy-e,o=0;return t<-i?o|=1:t>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return wg(o,(function(e){var t,n,u,l,c;return{lineStart:function(){l=u=!1,c=1},point:function(f,p){var d,h=[f,p],m=o(f,p),y=r?m?0:s(f,p):m?s(f+(f<0?fy:-fy),p):0;if(!t&&(l=u=m)&&e.lineStart(),m!==u&&(!(d=a(t,h))||mg(t,d)||mg(h,d))&&(h[2]=1),m!==u)c=0,m?(e.lineStart(),d=a(h,t),e.point(d[0],d[1])):(d=a(t,h),e.point(d[0],d[1],2),e.lineEnd()),t=d;else if(i&&t&&r^m){var v;y&n||!(v=a(h,t,!0))||(c=0,r?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}!m||t&&mg(t,h)||e.point(h[0],h[1]),t=h,u=m,n=y},lineEnd:function(){u&&e.lineEnd(),t=null},clean:function(){return c|(l&&u)<<1}}}),(function(t,r,i,o){fg(o,e,n,i,t,r)}),r?[0,-e]:[-fy,e-fy])}var Cg,Tg,Dg,Mg,Pg=1e9,Og=-Pg;function Lg(e,t,n,r){function i(i,o){return e<=i&&i<=n&&t<=o&&o<=r}function o(i,o,s,l){var c=0,f=0;if(null==i||(c=a(i,s))!==(f=a(o,s))||u(i,o)<0^s>0)do{l.point(0===c||3===c?e:n,c>1?r:t)}while((c=(c+s+4)%4)!==f);else l.point(o[0],o[1])}function a(r,i){return vy(r[0]-e)<ly?i>0?0:3:vy(r[0]-n)<ly?i>0?2:1:vy(r[1]-t)<ly?i>0?1:0:i>0?3:2}function s(e,t){return u(e.x,t.x)}function u(e,t){var n=a(e,1),r=a(t,1);return n!==r?n-r:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(a){var u,l,c,f,p,d,h,m,y,v,g,b=a,x=hg(),_={point:w,lineStart:function(){_.point=E,l&&l.push(c=[]),v=!0,y=!1,h=m=NaN},lineEnd:function(){u&&(E(f,p),d&&y&&x.rejoin(),u.push(x.result())),_.point=w,y&&b.lineEnd()},polygonStart:function(){b=x,u=[],l=[],g=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,i=l.length;n<i;++n)for(var o,a,s=l[n],u=1,c=s.length,f=s[0],p=f[0],d=f[1];u<c;++u)o=p,a=d,p=(f=s[u])[0],d=f[1],a<=r?d>r&&(p-o)*(r-a)>(d-a)*(e-o)&&++t:d<=r&&(p-o)*(r-a)<(d-a)*(e-o)&&--t;return t}(),n=g&&t,i=(u=_g(u)).length;(n||i)&&(a.polygonStart(),n&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&vg(u,s,t,o,a),a.polygonEnd()),b=a,u=l=c=null}};function w(e,t){i(e,t)&&b.point(e,t)}function E(o,a){var s=i(o,a);if(l&&c.push([o,a]),v)f=o,p=a,d=s,v=!1,s&&(b.lineStart(),b.point(o,a));else if(s&&y)b.point(o,a);else{var u=[h=Math.max(Og,Math.min(Pg,h)),m=Math.max(Og,Math.min(Pg,m))],x=[o=Math.max(Og,Math.min(Pg,o)),a=Math.max(Og,Math.min(Pg,a))];!function(e,t,n,r,i,o){var a,s=e[0],u=e[1],l=0,c=1,f=t[0]-s,p=t[1]-u;if(a=n-s,f||!(a>0)){if(a/=f,f<0){if(a<l)return;a<c&&(c=a)}else if(f>0){if(a>c)return;a>l&&(l=a)}if(a=i-s,f||!(a<0)){if(a/=f,f<0){if(a>c)return;a>l&&(l=a)}else if(f>0){if(a<l)return;a<c&&(c=a)}if(a=r-u,p||!(a>0)){if(a/=p,p<0){if(a<l)return;a<c&&(c=a)}else if(p>0){if(a>c)return;a>l&&(l=a)}if(a=o-u,p||!(a<0)){if(a/=p,p<0){if(a>c)return;a>l&&(l=a)}else if(p>0){if(a<l)return;a<c&&(c=a)}return l>0&&(e[0]=s+l*f,e[1]=u+l*p),c<1&&(t[0]=s+c*f,t[1]=u+c*p),!0}}}}}(u,x,e,t,n,r)?s&&(b.lineStart(),b.point(o,a),g=!1):(y||(b.lineStart(),b.point(u[0],u[1])),b.point(x[0],x[1]),s||b.lineEnd(),g=!1)}h=o,m=a,y=s}return _}}function Ng(){var e,t,n,r=0,i=0,o=960,a=500;return n={stream:function(n){return e&&t===n?e:e=Lg(r,i,o,a)(t=n)},extent:function(s){return arguments.length?(r=+s[0][0],i=+s[0][1],o=+s[1][0],a=+s[1][1],e=t=null,n):[[r,i],[o,a]]}}}var Fg={sphere:Ly,point:Ly,lineStart:function(){Fg.point=Ig,Fg.lineEnd=Rg},lineEnd:Ly,polygonStart:Ly,polygonEnd:Ly};function Rg(){Fg.point=Fg.lineEnd=Ly}function Ig(e,t){Tg=e*=yy,Dg=Ay(t*=yy),Mg=xy(t),Fg.point=jg}function jg(e,t){e*=yy;var n=Ay(t*=yy),r=xy(t),i=vy(e-Tg),o=xy(i),a=r*Ay(i),s=Mg*n-Dg*r*o,u=Dg*n+Mg*r*o;Cg.add(by(Ty(a*a+s*s),u)),Tg=e,Dg=n,Mg=r}function Bg(e){return Cg=new uy,By(e,Fg),+Cg}var qg=[null,null],zg={type:\"LineString\",coordinates:qg};function Vg(e,t){return qg[0]=e,qg[1]=t,Bg(zg)}var Ug={Feature:function(e,t){return Yg(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)if(Yg(n[r].geometry,t))return!0;return!1}},Wg={Sphere:function(){return!0},Point:function(e,t){return Xg(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(Xg(n[r],t))return!0;return!1},LineString:function(e,t){return Hg(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(Hg(n[r],t))return!0;return!1},Polygon:function(e,t){return Gg(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(Gg(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)if(Yg(n[r],t))return!0;return!1}};function Yg(e,t){return!(!e||!Wg.hasOwnProperty(e.type))&&Wg[e.type](e,t)}function Xg(e,t){return 0===Vg(e,t)}function Hg(e,t){for(var n,r,i,o=0,a=e.length;o<a;o++){if(0===(r=Vg(e[o],t)))return!0;if(o>0&&(i=Vg(e[o],e[o-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<cy*i)return!0;n=r}return!1}function Gg(e,t){return!!xg(e.map($g),Kg(t))}function $g(e){return(e=e.map(Kg)).pop(),e}function Kg(e){return[e[0]*yy,e[1]*yy]}function Zg(e,t){return(e&&Ug.hasOwnProperty(e.type)?Ug[e.type]:Yg)(e,t)}function Jg(e,t,n){var r=cd(e,t-ly,n).concat(t);return function(e){return r.map((function(t){return[e,t]}))}}function Qg(e,t,n){var r=cd(e,t-ly,n).concat(t);return function(e){return r.map((function(t){return[t,e]}))}}function eb(){var e,t,n,r,i,o,a,s,u,l,c,f,p=10,d=p,h=90,m=360,y=2.5;function v(){return{type:\"MultiLineString\",coordinates:g()}}function g(){return cd(_y(r/h)*h,n,h).map(c).concat(cd(_y(s/m)*m,a,m).map(f)).concat(cd(_y(t/p)*p,e,p).filter((function(e){return vy(e%h)>ly})).map(u)).concat(cd(_y(o/d)*d,i,d).filter((function(e){return vy(e%m)>ly})).map(l))}return v.lines=function(){return g().map((function(e){return{type:\"LineString\",coordinates:e}}))},v.outline=function(){return{type:\"Polygon\",coordinates:[c(r).concat(f(a).slice(1),c(n).reverse().slice(1),f(s).reverse().slice(1))]}},v.extent=function(e){return arguments.length?v.extentMajor(e).extentMinor(e):v.extentMinor()},v.extentMajor=function(e){return arguments.length?(r=+e[0][0],n=+e[1][0],s=+e[0][1],a=+e[1][1],r>n&&(e=r,r=n,n=e),s>a&&(e=s,s=a,a=e),v.precision(y)):[[r,s],[n,a]]},v.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],o=+n[0][1],i=+n[1][1],t>e&&(n=t,t=e,e=n),o>i&&(n=o,o=i,i=n),v.precision(y)):[[t,o],[e,i]]},v.step=function(e){return arguments.length?v.stepMajor(e).stepMinor(e):v.stepMinor()},v.stepMajor=function(e){return arguments.length?(h=+e[0],m=+e[1],v):[h,m]},v.stepMinor=function(e){return arguments.length?(p=+e[0],d=+e[1],v):[p,d]},v.precision=function(p){return arguments.length?(y=+p,u=Jg(o,i,90),l=Qg(t,e,y),c=Jg(s,a,90),f=Qg(r,n,y),v):y},v.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}function tb(){return eb()()}function nb(e,t){var n=e[0]*yy,r=e[1]*yy,i=t[0]*yy,o=t[1]*yy,a=xy(r),s=Ay(r),u=xy(o),l=Ay(o),c=a*xy(n),f=a*Ay(n),p=u*xy(i),d=u*Ay(i),h=2*Py(Ty(Oy(o-r)+a*u*Oy(i-n))),m=Ay(h),y=h?function(e){var t=Ay(e*=h)/m,n=Ay(h-e)/m,r=n*c+t*p,i=n*f+t*d,o=n*s+t*l;return[by(i,r)*my,by(o,Ty(r*r+i*i))*my]}:function(){return[n*my,r*my]};return y.distance=h,y}const rb=e=>e;var ib,ob,ab,sb,ub=new uy,lb=new uy,cb={point:Ly,lineStart:Ly,lineEnd:Ly,polygonStart:function(){cb.lineStart=fb,cb.lineEnd=hb},polygonEnd:function(){cb.lineStart=cb.lineEnd=cb.point=Ly,ub.add(vy(lb)),lb=new uy},result:function(){var e=ub/2;return ub=new uy,e}};function fb(){cb.point=pb}function pb(e,t){cb.point=db,ib=ab=e,ob=sb=t}function db(e,t){lb.add(sb*e-ab*t),ab=e,sb=t}function hb(){db(ib,ob)}const mb=cb;var yb=1/0,vb=yb,gb=-yb,bb=gb,xb={point:function(e,t){e<yb&&(yb=e),e>gb&&(gb=e),t<vb&&(vb=t),t>bb&&(bb=t)},lineStart:Ly,lineEnd:Ly,polygonStart:Ly,polygonEnd:Ly,result:function(){var e=[[yb,vb],[gb,bb]];return gb=bb=-(vb=yb=1/0),e}};const _b=xb;var wb,Eb,Sb,kb,Ab=0,Cb=0,Tb=0,Db=0,Mb=0,Pb=0,Ob=0,Lb=0,Nb=0,Fb={point:Rb,lineStart:Ib,lineEnd:qb,polygonStart:function(){Fb.lineStart=zb,Fb.lineEnd=Vb},polygonEnd:function(){Fb.point=Rb,Fb.lineStart=Ib,Fb.lineEnd=qb},result:function(){var e=Nb?[Ob/Nb,Lb/Nb]:Pb?[Db/Pb,Mb/Pb]:Tb?[Ab/Tb,Cb/Tb]:[NaN,NaN];return Ab=Cb=Tb=Db=Mb=Pb=Ob=Lb=Nb=0,e}};function Rb(e,t){Ab+=e,Cb+=t,++Tb}function Ib(){Fb.point=jb}function jb(e,t){Fb.point=Bb,Rb(Sb=e,kb=t)}function Bb(e,t){var n=e-Sb,r=t-kb,i=Ty(n*n+r*r);Db+=i*(Sb+e)/2,Mb+=i*(kb+t)/2,Pb+=i,Rb(Sb=e,kb=t)}function qb(){Fb.point=Rb}function zb(){Fb.point=Ub}function Vb(){Wb(wb,Eb)}function Ub(e,t){Fb.point=Wb,Rb(wb=Sb=e,Eb=kb=t)}function Wb(e,t){var n=e-Sb,r=t-kb,i=Ty(n*n+r*r);Db+=i*(Sb+e)/2,Mb+=i*(kb+t)/2,Pb+=i,Ob+=(i=kb*e-Sb*t)*(Sb+e),Lb+=i*(kb+t),Nb+=3*i,Rb(Sb=e,kb=t)}const Yb=Fb;function Xb(e){this._context=e}Xb.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,hy)}},result:Ly};var Hb,Gb,$b,Kb,Zb,Jb=new uy,Qb={point:Ly,lineStart:function(){Qb.point=ex},lineEnd:function(){Hb&&tx(Gb,$b),Qb.point=Ly},polygonStart:function(){Hb=!0},polygonEnd:function(){Hb=null},result:function(){var e=+Jb;return Jb=new uy,e}};function ex(e,t){Qb.point=tx,Gb=Kb=e,$b=Zb=t}function tx(e,t){Kb-=e,Zb-=t,Jb.add(Ty(Kb*Kb+Zb*Zb)),Kb=e,Zb=t}const nx=Qb;function rx(){this._string=[]}function ix(e){return\"m0,\"+e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+-2*e+\"a\"+e+\",\"+e+\" 0 1,1 0,\"+2*e+\"z\"}function ox(e,t){var n,r,i=4.5;function o(e){return e&&(\"function\"==typeof i&&r.pointRadius(+i.apply(this,arguments)),By(e,n(r))),r.result()}return o.area=function(e){return By(e,n(mb)),mb.result()},o.measure=function(e){return By(e,n(nx)),nx.result()},o.bounds=function(e){return By(e,n(_b)),_b.result()},o.centroid=function(e){return By(e,n(Yb)),Yb.result()},o.projection=function(t){return arguments.length?(n=null==t?(e=null,rb):(e=t).stream,o):e},o.context=function(e){return arguments.length?(r=null==e?(t=null,new rx):new Xb(t=e),\"function\"!=typeof i&&r.pointRadius(i),o):t},o.pointRadius=function(e){return arguments.length?(i=\"function\"==typeof e?e:(r.pointRadius(+e),+e),o):i},o.projection(e).context(t)}function ax(e){return{stream:sx(e)}}function sx(e){return function(t){var n=new ux;for(var r in e)n[r]=e[r];return n.stream=t,n}}function ux(){}function lx(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=r&&e.clipExtent(null),By(n,e.stream(_b)),t(_b.result()),null!=r&&e.clipExtent(r),e}function cx(e,t,n){return lx(e,(function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+t[0][0]+(r-o*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-o*(n[1][1]+n[0][1]))/2;e.scale(150*o).translate([a,s])}),n)}function fx(e,t,n){return cx(e,[[0,0],t],n)}function px(e,t,n){return lx(e,(function(n){var r=+t,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];e.scale(150*i).translate([o,a])}),n)}function dx(e,t,n){return lx(e,(function(n){var r=+t,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([o,a])}),n)}rx.prototype={_radius:4.5,_circle:ix(4.5),pointRadius:function(e){return(e=+e)!==this._radius&&(this._radius=e,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push(\"Z\"),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._string.push(\"M\",e,\",\",t),this._point=1;break;case 1:this._string.push(\"L\",e,\",\",t);break;default:null==this._circle&&(this._circle=ix(this._radius)),this._string.push(\"M\",e,\",\",t,this._circle)}},result:function(){if(this._string.length){var e=this._string.join(\"\");return this._string=[],e}return null}},ux.prototype={constructor:ux,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var hx=xy(30*yy);function mx(e,t){return+t?function(e,t){function n(r,i,o,a,s,u,l,c,f,p,d,h,m,y){var v=l-r,g=c-i,b=v*v+g*g;if(b>4*t&&m--){var x=a+p,_=s+d,w=u+h,E=Ty(x*x+_*_+w*w),S=Py(w/=E),k=vy(vy(w)-1)<ly||vy(o-f)<ly?(o+f)/2:by(_,x),A=e(k,S),C=A[0],T=A[1],D=C-r,M=T-i,P=g*D-v*M;(P*P/b>t||vy((v*D+g*M)/b-.5)>.3||a*p+s*d+u*h<hx)&&(n(r,i,o,a,s,u,C,T,k,x/=E,_/=E,w,m,y),y.point(C,T),n(C,T,k,x,_,w,l,c,f,p,d,h,m,y))}}return function(t){var r,i,o,a,s,u,l,c,f,p,d,h,m={point:y,lineStart:v,lineEnd:b,polygonStart:function(){t.polygonStart(),m.lineStart=x},polygonEnd:function(){t.polygonEnd(),m.lineStart=v}};function y(n,r){n=e(n,r),t.point(n[0],n[1])}function v(){c=NaN,m.point=g,t.lineStart()}function g(r,i){var o=fv([r,i]),a=e(r,i);n(c,f,l,p,d,h,c=a[0],f=a[1],l=r,p=o[0],d=o[1],h=o[2],16,t),t.point(c,f)}function b(){m.point=y,t.lineEnd()}function x(){v(),m.point=_,m.lineEnd=w}function _(e,t){g(r=e,t),i=c,o=f,a=p,s=d,u=h,m.point=g}function w(){n(c,f,l,p,d,h,i,o,r,a,s,u,16,t),m.lineEnd=b,b()}return m}}(e,t):function(e){return sx({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}(e)}var yx=sx({point:function(e,t){this.stream.point(e*yy,t*yy)}});function vx(e,t,n,r,i,o){if(!o)return function(e,t,n,r,i){function o(o,a){return[t+e*(o*=r),n-e*(a*=i)]}return o.invert=function(o,a){return[(o-t)/e*r,(n-a)/e*i]},o}(e,t,n,r,i);var a=xy(o),s=Ay(o),u=a*e,l=s*e,c=a/e,f=s/e,p=(s*n-a*t)/e,d=(s*t+a*n)/e;function h(e,o){return[u*(e*=r)-l*(o*=i)+t,n-l*e-u*o]}return h.invert=function(e,t){return[r*(c*e-f*t+p),i*(d-f*e-c*t)]},h}function gx(e){return bx((function(){return e}))()}function bx(e){var t,n,r,i,o,a,s,u,l,c,f=150,p=480,d=250,h=0,m=0,y=0,v=0,g=0,b=0,x=1,_=1,w=null,E=kg,S=null,k=rb,A=.5;function C(e){return u(e[0]*yy,e[1]*yy)}function T(e){return(e=u.invert(e[0],e[1]))&&[e[0]*my,e[1]*my]}function D(){var e=vx(f,0,0,x,_,b).apply(null,t(h,m)),r=vx(f,p-e[0],d-e[1],x,_,b);return n=ag(y,v,g),s=ig(t,r),u=ig(n,s),a=mx(s,A),M()}function M(){return l=c=null,C}return C.stream=function(e){return l&&c===e?l:l=yx(function(e){return sx({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}(n)(E(a(k(c=e)))))},C.preclip=function(e){return arguments.length?(E=e,w=void 0,M()):E},C.postclip=function(e){return arguments.length?(k=e,S=r=i=o=null,M()):k},C.clipAngle=function(e){return arguments.length?(E=+e?Ag(w=e*yy):(w=null,kg),M()):w*my},C.clipExtent=function(e){return arguments.length?(k=null==e?(S=r=i=o=null,rb):Lg(S=+e[0][0],r=+e[0][1],i=+e[1][0],o=+e[1][1]),M()):null==S?null:[[S,r],[i,o]]},C.scale=function(e){return arguments.length?(f=+e,D()):f},C.translate=function(e){return arguments.length?(p=+e[0],d=+e[1],D()):[p,d]},C.center=function(e){return arguments.length?(h=e[0]%360*yy,m=e[1]%360*yy,D()):[h*my,m*my]},C.rotate=function(e){return arguments.length?(y=e[0]%360*yy,v=e[1]%360*yy,g=e.length>2?e[2]%360*yy:0,D()):[y*my,v*my,g*my]},C.angle=function(e){return arguments.length?(b=e%360*yy,D()):b*my},C.reflectX=function(e){return arguments.length?(x=e?-1:1,D()):x<0},C.reflectY=function(e){return arguments.length?(_=e?-1:1,D()):_<0},C.precision=function(e){return arguments.length?(a=mx(s,A=e*e),M()):Ty(A)},C.fitExtent=function(e,t){return cx(C,e,t)},C.fitSize=function(e,t){return fx(C,e,t)},C.fitWidth=function(e,t){return px(C,e,t)},C.fitHeight=function(e,t){return dx(C,e,t)},function(){return t=e.apply(this,arguments),C.invert=t.invert&&T,D()}}function xx(e){var t=0,n=fy/3,r=bx(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*yy,n=e[1]*yy):[t*my,n*my]},i}function _x(e,t){var n=Ay(e),r=(n+Ay(t))/2;if(vy(r)<ly)return function(e){var t=xy(e);function n(e,n){return[e*t,Ay(n)/t]}return n.invert=function(e,n){return[e/t,Py(n*t)]},n}(e);var i=1+n*(2*r-n),o=Ty(i)/r;function a(e,t){var n=Ty(i-2*r*Ay(t))/r;return[n*Ay(e*=r),o-n*xy(e)]}return a.invert=function(e,t){var n=o-t,a=by(e,vy(n))*Cy(n);return n*r<0&&(a-=fy*Cy(e)*Cy(n)),[a/r,Py((i-(e*e+n*n)*r*r)/(2*r))]},a}function wx(){return xx(_x).scale(155.424).center([0,33.6442])}function Ex(){return wx().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Sx(){var e,t,n,r,i,o,a=Ex(),s=wx().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=wx().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(e,t){o=[e,t]}};function c(e){var t=e[0],a=e[1];return o=null,n.point(t,a),o||(r.point(t,a),o)||(i.point(t,a),o)}function f(){return e=t=null,c}return c.invert=function(e){var t=a.scale(),n=a.translate(),r=(e[0]-n[0])/t,i=(e[1]-n[1])/t;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:a).invert(e)},c.stream=function(n){return e&&t===n?e:(r=[a.stream(t=n),s.stream(n),u.stream(n)],i=r.length,e={point:function(e,t){for(var n=-1;++n<i;)r[n].point(e,t)},sphere:function(){for(var e=-1;++e<i;)r[e].sphere()},lineStart:function(){for(var e=-1;++e<i;)r[e].lineStart()},lineEnd:function(){for(var e=-1;++e<i;)r[e].lineEnd()},polygonStart:function(){for(var e=-1;++e<i;)r[e].polygonStart()},polygonEnd:function(){for(var e=-1;++e<i;)r[e].polygonEnd()}});var r,i},c.precision=function(e){return arguments.length?(a.precision(e),s.precision(e),u.precision(e),f()):a.precision()},c.scale=function(e){return arguments.length?(a.scale(e),s.scale(.35*e),u.scale(e),c.translate(a.translate())):a.scale()},c.translate=function(e){if(!arguments.length)return a.translate();var t=a.scale(),o=+e[0],c=+e[1];return n=a.translate(e).clipExtent([[o-.455*t,c-.238*t],[o+.455*t,c+.238*t]]).stream(l),r=s.translate([o-.307*t,c+.201*t]).clipExtent([[o-.425*t+ly,c+.12*t+ly],[o-.214*t-ly,c+.234*t-ly]]).stream(l),i=u.translate([o-.205*t,c+.212*t]).clipExtent([[o-.214*t+ly,c+.166*t+ly],[o-.115*t-ly,c+.234*t-ly]]).stream(l),f()},c.fitExtent=function(e,t){return cx(c,e,t)},c.fitSize=function(e,t){return fx(c,e,t)},c.fitWidth=function(e,t){return px(c,e,t)},c.fitHeight=function(e,t){return dx(c,e,t)},c.scale(1070)}function kx(e){return function(t,n){var r=xy(t),i=xy(n),o=e(r*i);return o===1/0?[2,0]:[o*i*Ay(t),o*Ay(n)]}}function Ax(e){return function(t,n){var r=Ty(t*t+n*n),i=e(r),o=Ay(i),a=xy(i);return[by(t*o,r*a),Py(r&&n*o/r)]}}var Cx=kx((function(e){return Ty(2/(1+e))}));function Tx(){return gx(Cx).scale(124.75).clipAngle(179.999)}Cx.invert=Ax((function(e){return 2*Py(e/2)}));var Dx=kx((function(e){return(e=My(e))&&e/Ay(e)}));function Mx(){return gx(Dx).scale(79.4188).clipAngle(179.999)}function Px(e,t){return[e,Sy(Dy((py+t)/2))]}function Ox(){return Lx(Px).scale(961/hy)}function Lx(e){var t,n,r,i=gx(e),o=i.center,a=i.scale,s=i.translate,u=i.clipExtent,l=null;function c(){var o=fy*a(),s=i(cg(i.rotate()).invert([0,0]));return u(null==l?[[s[0]-o,s[1]-o],[s[0]+o,s[1]+o]]:e===Px?[[Math.max(s[0]-o,l),t],[Math.min(s[0]+o,n),r]]:[[l,Math.max(s[1]-o,t)],[n,Math.min(s[1]+o,r)]])}return i.scale=function(e){return arguments.length?(a(e),c()):a()},i.translate=function(e){return arguments.length?(s(e),c()):s()},i.center=function(e){return arguments.length?(o(e),c()):o()},i.clipExtent=function(e){return arguments.length?(null==e?l=t=n=r=null:(l=+e[0][0],t=+e[0][1],n=+e[1][0],r=+e[1][1]),c()):null==l?null:[[l,t],[n,r]]},c()}function Nx(e){return Dy((py+e)/2)}function Fx(e,t){var n=xy(e),r=e===t?Ay(e):Sy(n/xy(t))/Sy(Nx(t)/Nx(e)),i=n*ky(Nx(e),r)/r;if(!r)return Px;function o(e,t){i>0?t<-py+ly&&(t=-py+ly):t>py-ly&&(t=py-ly);var n=i/ky(Nx(t),r);return[n*Ay(r*e),i-n*xy(r*e)]}return o.invert=function(e,t){var n=i-t,o=Cy(r)*Ty(e*e+n*n),a=by(e,vy(n))*Cy(n);return n*r<0&&(a-=fy*Cy(e)*Cy(n)),[a/r,2*gy(ky(i/o,1/r))-py]},o}function Rx(){return xx(Fx).scale(109.5).parallels([30,30])}function Ix(e,t){return[e,t]}function jx(){return gx(Ix).scale(152.63)}function Bx(e,t){var n=xy(e),r=e===t?Ay(e):(n-xy(t))/(t-e),i=n/r+e;if(vy(r)<ly)return Ix;function o(e,t){var n=i-t,o=r*e;return[n*Ay(o),i-n*xy(o)]}return o.invert=function(e,t){var n=i-t,o=by(e,vy(n))*Cy(n);return n*r<0&&(o-=fy*Cy(e)*Cy(n)),[o/r,i-Cy(r)*Ty(e*e+n*n)]},o}function qx(){return xx(Bx).scale(131.154).center([0,13.9389])}Dx.invert=Ax((function(e){return e})),Px.invert=function(e,t){return[e,2*gy(wy(t))-py]},Ix.invert=Ix;var zx=1.340264,Vx=-.081106,Ux=893e-6,Wx=.003796,Yx=Ty(3)/2;function Xx(e,t){var n=Py(Yx*Ay(t)),r=n*n,i=r*r*r;return[e*xy(n)/(Yx*(zx+3*Vx*r+i*(7*Ux+9*Wx*r))),n*(zx+Vx*r+i*(Ux+Wx*r))]}function Hx(){return gx(Xx).scale(177.158)}function Gx(e,t){var n=xy(t),r=xy(e)*n;return[n*Ay(e)/r,Ay(t)/r]}function $x(){return gx(Gx).scale(144.049).clipAngle(60)}function Kx(){var e,t,n,r,i,o,a,s=1,u=0,l=0,c=1,f=1,p=0,d=null,h=1,m=1,y=sx({point:function(e,t){var n=b([e,t]);this.stream.point(n[0],n[1])}}),v=rb;function g(){return h=s*c,m=s*f,o=a=null,b}function b(n){var r=n[0]*h,i=n[1]*m;if(p){var o=i*e-r*t;r=r*e+i*t,i=o}return[r+u,i+l]}return b.invert=function(n){var r=n[0]-u,i=n[1]-l;if(p){var o=i*e+r*t;r=r*e-i*t,i=o}return[r/h,i/m]},b.stream=function(e){return o&&a===e?o:o=y(v(a=e))},b.postclip=function(e){return arguments.length?(v=e,d=n=r=i=null,g()):v},b.clipExtent=function(e){return arguments.length?(v=null==e?(d=n=r=i=null,rb):Lg(d=+e[0][0],n=+e[0][1],r=+e[1][0],i=+e[1][1]),g()):null==d?null:[[d,n],[r,i]]},b.scale=function(e){return arguments.length?(s=+e,g()):s},b.translate=function(e){return arguments.length?(u=+e[0],l=+e[1],g()):[u,l]},b.angle=function(n){return arguments.length?(t=Ay(p=n%360*yy),e=xy(p),g()):p*my},b.reflectX=function(e){return arguments.length?(c=e?-1:1,g()):c<0},b.reflectY=function(e){return arguments.length?(f=e?-1:1,g()):f<0},b.fitExtent=function(e,t){return cx(b,e,t)},b.fitSize=function(e,t){return fx(b,e,t)},b.fitWidth=function(e,t){return px(b,e,t)},b.fitHeight=function(e,t){return dx(b,e,t)},b}function Zx(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(r*(.003971*n-.001529*r)-.013791)),t*(1.007226+n*(.015085+r*(.028874*n-.044475-.005916*r)))]}function Jx(){return gx(Zx).scale(175.295)}function Qx(e,t){return[xy(t)*Ay(e),Ay(t)]}function e_(){return gx(Qx).scale(249.5).clipAngle(90.000001)}function t_(e,t){var n=xy(t),r=1+xy(e)*n;return[n*Ay(e)/r,Ay(t)/r]}function n_(){return gx(t_).scale(250).clipAngle(142)}function r_(e,t){return[Sy(Dy((py+t)/2)),-e]}function i_(){var e=Lx(r_),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):[(e=t())[1],-e[0]]},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}function o_(e,t){return e.parent===t.parent?1:2}function a_(e,t){return e+t.x}function s_(e,t){return Math.max(e,t.y)}function u_(){var e=o_,t=1,n=1,r=!1;function i(i){var o,a=0;i.eachAfter((function(t){var n=t.children;n?(t.x=function(e){return e.reduce(a_,0)/e.length}(n),t.y=function(e){return 1+e.reduce(s_,0)}(n)):(t.x=o?a+=e(t,o):0,t.y=0,o=t)}));var s=function(e){for(var t;t=e.children;)e=t[0];return e}(i),u=function(e){for(var t;t=e.children;)e=t[t.length-1];return e}(i),l=s.x-e(s,u)/2,c=u.x+e(u,s)/2;return i.eachAfter(r?function(e){e.x=(e.x-i.x)*t,e.y=(i.y-e.y)*n}:function(e){e.x=(e.x-l)/(c-l)*t,e.y=(1-(i.y?e.y/i.y:1))*n})}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function l_(e){var t=0,n=e.children,r=n&&n.length;if(r)for(;--r>=0;)t+=n[r].value;else t=1;e.value=t}function c_(e,t){e instanceof Map?(e=[void 0,e],void 0===t&&(t=p_)):void 0===t&&(t=f_);for(var n,r,i,o,a,s=new m_(e),u=[s];n=u.pop();)if((i=t(n.data))&&(a=(i=Array.from(i)).length))for(n.children=i,o=a-1;o>=0;--o)u.push(r=i[o]=new m_(i[o])),r.parent=n,r.depth=n.depth+1;return s.eachBefore(h_)}function f_(e){return e.children}function p_(e){return Array.isArray(e)?e[1]:null}function d_(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function h_(e){var t=0;do{e.height=t}while((e=e.parent)&&e.height<++t)}function m_(e){this.data=e,this.depth=this.height=0,this.parent=null}function y_(e){for(var t,n,r=0,i=(e=function(e){for(var t,n,r=e.length;r;)n=Math.random()*r--|0,t=e[r],e[r]=e[n],e[n]=t;return e}(Array.from(e))).length,o=[];r<i;)t=e[r],n&&b_(n,t)?++r:(n=__(o=v_(o,t)),r=0);return n}function v_(e,t){var n,r;if(x_(t,e))return[t];for(n=0;n<e.length;++n)if(g_(t,e[n])&&x_(w_(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(g_(w_(e[n],e[r]),t)&&g_(w_(e[n],t),e[r])&&g_(w_(e[r],t),e[n])&&x_(E_(e[n],e[r],t),e))return[e[n],e[r],t];throw new Error}function g_(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function b_(e,t){var n=e.r-t.r+1e-9*Math.max(e.r,t.r,1),r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function x_(e,t){for(var n=0;n<t.length;++n)if(!b_(e,t[n]))return!1;return!0}function __(e){switch(e.length){case 1:return{x:(t=e[0]).x,y:t.y,r:t.r};case 2:return w_(e[0],e[1]);case 3:return E_(e[0],e[1],e[2])}var t}function w_(e,t){var n=e.x,r=e.y,i=e.r,o=t.x,a=t.y,s=t.r,u=o-n,l=a-r,c=s-i,f=Math.sqrt(u*u+l*l);return{x:(n+o+u/f*c)/2,y:(r+a+l/f*c)/2,r:(f+i+s)/2}}function E_(e,t,n){var r=e.x,i=e.y,o=e.r,a=t.x,s=t.y,u=t.r,l=n.x,c=n.y,f=n.r,p=r-a,d=r-l,h=i-s,m=i-c,y=u-o,v=f-o,g=r*r+i*i-o*o,b=g-a*a-s*s+u*u,x=g-l*l-c*c+f*f,_=d*h-p*m,w=(h*x-m*b)/(2*_)-r,E=(m*y-h*v)/_,S=(d*b-p*x)/(2*_)-i,k=(p*v-d*y)/_,A=E*E+k*k-1,C=2*(o+w*E+S*k),T=w*w+S*S-o*o,D=-(A?(C+Math.sqrt(C*C-4*A*T))/(2*A):T/C);return{x:r+w+E*D,y:i+S+k*D,r:D}}function S_(e,t,n){var r,i,o,a,s=e.x-t.x,u=e.y-t.y,l=s*s+u*u;l?(i=t.r+n.r,i*=i,a=e.r+n.r,i>(a*=a)?(r=(l+a-i)/(2*l),o=Math.sqrt(Math.max(0,a/l-r*r)),n.x=e.x-r*s-o*u,n.y=e.y-r*u+o*s):(r=(l+i-a)/(2*l),o=Math.sqrt(Math.max(0,i/l-r*r)),n.x=t.x+r*s-o*u,n.y=t.y+r*u+o*s)):(n.x=t.x+n.r,n.y=t.y)}function k_(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function A_(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function C_(e){this._=e,this.next=null,this.previous=null}function T_(e){if(!(o=(t=e,e=\"object\"==typeof t&&\"length\"in t?t:Array.from(t)).length))return 0;var t,n,r,i,o,a,s,u,l,c,f,p;if((n=e[0]).x=0,n.y=0,!(o>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;S_(r,n,i=e[2]),n=new C_(n),r=new C_(r),i=new C_(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(u=3;u<o;++u){S_(n._,r._,i=e[u]),i=new C_(i),l=r.next,c=n.previous,f=r._.r,p=n._.r;do{if(f<=p){if(k_(l._,i._)){r=l,n.next=r,r.previous=n,--u;continue e}f+=l._.r,l=l.next}else{if(k_(c._,i._)){(n=c).next=r,r.previous=n,--u;continue e}p+=c._.r,c=c.previous}}while(l!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,a=A_(n);(i=i.next)!==r;)(s=A_(i))<a&&(n=i,a=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=y_(n),u=0;u<o;++u)(n=e[u]).x-=i.x,n.y-=i.y;return i.r}function D_(e){return T_(e),e}function M_(e){return null==e?null:P_(e)}function P_(e){if(\"function\"!=typeof e)throw new Error;return e}function O_(){return 0}function L_(e){return function(){return e}}function N_(e){return Math.sqrt(e.value)}function F_(){var e=null,t=1,n=1,r=O_;function i(i){return i.x=t/2,i.y=n/2,e?i.eachBefore(R_(e)).eachAfter(I_(r,.5)).eachBefore(j_(1)):i.eachBefore(R_(N_)).eachAfter(I_(O_,1)).eachAfter(I_(r,i.r/Math.min(t,n))).eachBefore(j_(Math.min(t,n)/(2*i.r))),i}return i.radius=function(t){return arguments.length?(e=M_(t),i):e},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(e){return arguments.length?(r=\"function\"==typeof e?e:L_(+e),i):r},i}function R_(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function I_(e,t){return function(n){if(r=n.children){var r,i,o,a=r.length,s=e(n)*t||0;if(s)for(i=0;i<a;++i)r[i].r+=s;if(o=T_(r),s)for(i=0;i<a;++i)r[i].r-=s;n.r=o+s}}}function j_(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function B_(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function q_(e,t,n,r,i){for(var o,a=e.children,s=-1,u=a.length,l=e.value&&(r-t)/e.value;++s<u;)(o=a[s]).y0=n,o.y1=i,o.x0=t,o.x1=t+=o.value*l}function z_(){var e=1,t=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=e,i.y1=t/o,i.eachBefore(function(e,t){return function(r){r.children&&q_(r,r.x0,e*(r.depth+1)/t,r.x1,e*(r.depth+2)/t);var i=r.x0,o=r.y0,a=r.x1-n,s=r.y1-n;a<i&&(i=a=(i+a)/2),s<o&&(o=s=(o+s)/2),r.x0=i,r.y0=o,r.x1=a,r.y1=s}}(t,o)),r&&i.eachBefore(B_),i}return i.round=function(e){return arguments.length?(r=!!e,i):r},i.size=function(n){return arguments.length?(e=+n[0],t=+n[1],i):[e,t]},i.padding=function(e){return arguments.length?(n=+e,i):n},i}Xx.invert=function(e,t){for(var n,r=t,i=r*r,o=i*i*i,a=0;a<12&&(o=(i=(r-=n=(r*(zx+Vx*i+o*(Ux+Wx*i))-t)/(zx+3*Vx*i+o*(7*Ux+9*Wx*i)))*r)*i*i,!(vy(n)<cy));++a);return[Yx*e*(zx+3*Vx*i+o*(7*Ux+9*Wx*i))/xy(r),Py(Ay(r)/Yx)]},Gx.invert=Ax(gy),Zx.invert=function(e,t){var n,r=t,i=25;do{var o=r*r,a=o*o;r-=n=(r*(1.007226+o*(.015085+a*(.028874*o-.044475-.005916*a)))-t)/(1.007226+o*(.045255+a*(.259866*o-.311325-.005916*11*a)))}while(vy(n)>ly&&--i>0);return[e/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},Qx.invert=Ax(Py),t_.invert=Ax((function(e){return 2*gy(e)})),r_.invert=function(e,t){return[-t,2*gy(wy(e))-py]},m_.prototype=c_.prototype={constructor:m_,count:function(){return this.eachAfter(l_)},each:function(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this},eachAfter:function(e,t){for(var n,r,i,o=this,a=[o],s=[],u=-1;o=a.pop();)if(s.push(o),n=o.children)for(r=0,i=n.length;r<i;++r)a.push(n[r]);for(;o=s.pop();)e.call(t,o,++u,this);return this},eachBefore:function(e,t){for(var n,r,i=this,o=[i],a=-1;i=o.pop();)if(e.call(t,i,++a,this),n=i.children)for(r=n.length-1;r>=0;--r)o.push(n[r]);return this},find:function(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r},sum:function(e){return this.eachAfter((function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n}))},sort:function(e){return this.eachBefore((function(t){t.children&&t.children.sort(e)}))},path:function(e){for(var t=this,n=function(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r},ancestors:function(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t},descendants:function(){return Array.from(this)},leaves:function(){var e=[];return this.eachBefore((function(t){t.children||e.push(t)})),e},links:function(){var e=this,t=[];return e.each((function(n){n!==e&&t.push({source:n.parent,target:n})})),t},copy:function(){return c_(this).eachBefore(d_)},[Symbol.iterator]:function*(){var e,t,n,r,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(yield i,t=i.children)for(n=0,r=t.length;n<r;++n)o.push(t[n])}while(o.length)}};var V_={depth:-1},U_={},W_={};function Y_(e){return e.id}function X_(e){return e.parentId}function H_(){var e,t=Y_,n=X_;function r(r){var i,o,a,s,u,l,c,f,p=Array.from(r),d=t,h=n,m=new Map;if(null!=e){const t=p.map(((t,n)=>function(e){let t=(e=`${e}`).length;return $_(e,t-1)&&!$_(e,t-2)&&(e=e.slice(0,-1)),\"/\"===e[0]?e:`/${e}`}(e(t,n,r)))),n=t.map(G_),i=new Set(t).add(\"\");for(const e of n)i.has(e)||(i.add(e),t.push(e),n.push(G_(e)),p.push(W_));d=(e,n)=>t[n],h=(e,t)=>n[t]}for(a=0,i=p.length;a<i;++a)o=p[a],l=p[a]=new m_(o),null!=(c=d(o,a,r))&&(c+=\"\")&&(f=l.id=c,m.set(f,m.has(f)?U_:l)),null!=(c=h(o,a,r))&&(c+=\"\")&&(l.parent=c);for(a=0;a<i;++a)if(c=(l=p[a]).parent){if(!(u=m.get(c)))throw new Error(\"missing: \"+c);if(u===U_)throw new Error(\"ambiguous: \"+c);u.children?u.children.push(l):u.children=[l],l.parent=u}else{if(s)throw new Error(\"multiple roots\");s=l}if(!s)throw new Error(\"no root\");if(null!=e){for(;s.data===W_&&1===s.children.length;)s=s.children[0],--i;for(let e=p.length-1;e>=0&&(l=p[e],l.data===W_);--e)l.data=null}if(s.parent=V_,s.eachBefore((function(e){e.depth=e.parent.depth+1,--i})).eachBefore(h_),s.parent=null,i>0)throw new Error(\"cycle\");return s}return r.id=function(e){return arguments.length?(t=M_(e),r):t},r.parentId=function(e){return arguments.length?(n=M_(e),r):n},r.path=function(t){return arguments.length?(e=M_(t),r):e},r}function G_(e){let t=e.length;if(t<2)return\"\";for(;--t>1&&!$_(e,t););return e.slice(0,t)}function $_(e,t){if(\"/\"===e[t]){let n=0;for(;t>0&&\"\\\\\"===e[--t];)++n;if(0==(1&n))return!0}return!1}function K_(e,t){return e.parent===t.parent?1:2}function Z_(e){var t=e.children;return t?t[0]:e.t}function J_(e){var t=e.children;return t?t[t.length-1]:e.t}function Q_(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function ew(e,t,n){return e.a.parent===t.parent?e.a:n}function tw(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}function nw(){var e=K_,t=1,n=1,r=null;function i(i){var u=function(e){for(var t,n,r,i,o,a=new tw(e,0),s=[a];t=s.pop();)if(r=t._.children)for(t.children=new Array(o=r.length),i=o-1;i>=0;--i)s.push(n=t.children[i]=new tw(r[i],i)),n.parent=t;return(a.parent=new tw(null,0)).children=[a],a}(i);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),r)i.eachBefore(s);else{var l=i,c=i,f=i;i.eachBefore((function(e){e.x<l.x&&(l=e),e.x>c.x&&(c=e),e.depth>f.depth&&(f=e)}));var p=l===c?1:e(l,c)/2,d=p-l.x,h=t/(c.x+p+d),m=n/(f.depth||1);i.eachBefore((function(e){e.x=(e.x+d)*h,e.y=e.depth*m}))}return i}function o(t){var n=t.children,r=t.parent.children,i=t.i?r[t.i-1]:null;if(n){!function(e){for(var t,n=0,r=0,i=e.children,o=i.length;--o>=0;)(t=i[o]).z+=n,t.m+=n,n+=t.s+(r+=t.c)}(t);var o=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-o):t.z=o}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,n,r){if(n){for(var i,o=t,a=t,s=n,u=o.parent.children[0],l=o.m,c=a.m,f=s.m,p=u.m;s=J_(s),o=Z_(o),s&&o;)u=Z_(u),(a=J_(a)).a=t,(i=s.z+f-o.z-l+e(s._,o._))>0&&(Q_(ew(s,t,r),t,i),l+=i,c+=i),f+=s.m,l+=o.m,p+=u.m,c+=a.m;s&&!J_(a)&&(a.t=s,a.m+=f-c),o&&!Z_(u)&&(u.t=o,u.m+=l-p,r=t)}return r}(t,i,t.parent.A||r[0])}function a(e){e._.x=e.z+e.parent.m,e.m+=e.parent.m}function s(e){e.x*=t,e.y=e.depth*n}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(e){return arguments.length?(r=!1,t=+e[0],n=+e[1],i):r?null:[t,n]},i.nodeSize=function(e){return arguments.length?(r=!0,t=+e[0],n=+e[1],i):r?[t,n]:null},i}function rw(e,t,n,r,i){for(var o,a=e.children,s=-1,u=a.length,l=e.value&&(i-n)/e.value;++s<u;)(o=a[s]).x0=t,o.x1=r,o.y0=n,o.y1=n+=o.value*l}tw.prototype=Object.create(m_.prototype);var iw=(1+Math.sqrt(5))/2;function ow(e,t,n,r,i,o){for(var a,s,u,l,c,f,p,d,h,m,y,v=[],g=t.children,b=0,x=0,_=g.length,w=t.value;b<_;){u=i-n,l=o-r;do{c=g[x++].value}while(!c&&x<_);for(f=p=c,y=c*c*(m=Math.max(l/u,u/l)/(w*e)),h=Math.max(p/y,y/f);x<_;++x){if(c+=s=g[x].value,s<f&&(f=s),s>p&&(p=s),y=c*c*m,(d=Math.max(p/y,y/f))>h){c-=s;break}h=d}v.push(a={value:c,dice:u<l,children:g.slice(b,x)}),a.dice?q_(a,n,r,i,w?r+=l*c/w:o):rw(a,n,r,w?n+=u*c/w:i,o),w-=c,b=x}return v}const aw=function e(t){function n(e,n,r,i,o){ow(t,e,n,r,i,o)}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(iw);function sw(){var e=aw,t=!1,n=1,r=1,i=[0],o=O_,a=O_,s=O_,u=O_,l=O_;function c(e){return e.x0=e.y0=0,e.x1=n,e.y1=r,e.eachBefore(f),i=[0],t&&e.eachBefore(B_),e}function f(t){var n=i[t.depth],r=t.x0+n,c=t.y0+n,f=t.x1-n,p=t.y1-n;f<r&&(r=f=(r+f)/2),p<c&&(c=p=(c+p)/2),t.x0=r,t.y0=c,t.x1=f,t.y1=p,t.children&&(n=i[t.depth+1]=o(t)/2,r+=l(t)-n,c+=a(t)-n,(f-=s(t)-n)<r&&(r=f=(r+f)/2),(p-=u(t)-n)<c&&(c=p=(c+p)/2),e(t,r,c,f,p))}return c.round=function(e){return arguments.length?(t=!!e,c):t},c.size=function(e){return arguments.length?(n=+e[0],r=+e[1],c):[n,r]},c.tile=function(t){return arguments.length?(e=P_(t),c):e},c.padding=function(e){return arguments.length?c.paddingInner(e).paddingOuter(e):c.paddingInner()},c.paddingInner=function(e){return arguments.length?(o=\"function\"==typeof e?e:L_(+e),c):o},c.paddingOuter=function(e){return arguments.length?c.paddingTop(e).paddingRight(e).paddingBottom(e).paddingLeft(e):c.paddingTop()},c.paddingTop=function(e){return arguments.length?(a=\"function\"==typeof e?e:L_(+e),c):a},c.paddingRight=function(e){return arguments.length?(s=\"function\"==typeof e?e:L_(+e),c):s},c.paddingBottom=function(e){return arguments.length?(u=\"function\"==typeof e?e:L_(+e),c):u},c.paddingLeft=function(e){return arguments.length?(l=\"function\"==typeof e?e:L_(+e),c):l},c}function uw(e,t,n,r,i){var o,a,s=e.children,u=s.length,l=new Array(u+1);for(l[0]=a=o=0;o<u;++o)l[o+1]=a+=s[o].value;!function e(t,n,r,i,o,a,u){if(t>=n-1){var c=s[t];return c.x0=i,c.y0=o,c.x1=a,void(c.y1=u)}for(var f=l[t],p=r/2+f,d=t+1,h=n-1;d<h;){var m=d+h>>>1;l[m]<p?d=m+1:h=m}p-l[d-1]<l[d]-p&&t+1<d&&--d;var y=l[d]-f,v=r-y;if(a-i>u-o){var g=r?(i*v+a*y)/r:a;e(t,d,y,i,o,g,u),e(d,n,v,g,o,a,u)}else{var b=r?(o*v+u*y)/r:u;e(t,d,y,i,o,a,b),e(d,n,v,i,b,a,u)}}(0,u,e.value,t,n,r,i)}function lw(e,t,n,r,i){(1&e.depth?rw:q_)(e,t,n,r,i)}const cw=function e(t){function n(e,n,r,i,o){if((a=e._squarify)&&a.ratio===t)for(var a,s,u,l,c,f=-1,p=a.length,d=e.value;++f<p;){for(u=(s=a[f]).children,l=s.value=0,c=u.length;l<c;++l)s.value+=u[l].value;s.dice?q_(s,n,r,i,d?r+=(o-r)*s.value/d:o):rw(s,n,r,d?n+=(i-n)*s.value/d:i,o),d-=s.value}else e._squarify=a=ow(t,e,n,r,i,o),a.ratio=t}return n.ratio=function(t){return e((t=+t)>1?t:1)},n}(iw);function fw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function pw(e,t){var n=_l(+e,+t);return function(e){var t=n(e);return t-360*Math.floor(t/360)}}function dw(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function hw(e){return((e=Math.exp(e))+1/e)/2}const mw=function e(t,n,r){function i(e,i){var o,a,s=e[0],u=e[1],l=e[2],c=i[0],f=i[1],p=i[2],d=c-s,h=f-u,m=d*d+h*h;if(m<1e-12)a=Math.log(p/l)/t,o=function(e){return[s+e*d,u+e*h,l*Math.exp(t*e*a)]};else{var y=Math.sqrt(m),v=(p*p-l*l+r*m)/(2*l*n*y),g=(p*p-l*l-r*m)/(2*p*n*y),b=Math.log(Math.sqrt(v*v+1)-v),x=Math.log(Math.sqrt(g*g+1)-g);a=(x-b)/t,o=function(e){var r,i=e*a,o=hw(b),c=l/(n*y)*(o*(r=t*i+b,((r=Math.exp(2*r))-1)/(r+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[s+c*d,u+c*h,l*o/hw(t*i+b)]}}return o.duration=1e3*a*t/Math.SQRT2,o}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4);function yw(e){return function(t,n){var r=e((t=fl(t)).h,(n=fl(n)).h),i=wl(t.s,n.s),o=wl(t.l,n.l),a=wl(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=o(e),t.opacity=a(e),t+\"\"}}}const vw=yw(_l);var gw=yw(wl);function bw(e,t){var n=wl((e=Sp(e)).l,(t=Sp(t)).l),r=wl(e.a,t.a),i=wl(e.b,t.b),o=wl(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=o(t),e+\"\"}}function xw(e){return function(t,n){var r=e((t=Op(t)).h,(n=Op(n)).h),i=wl(t.c,n.c),o=wl(t.l,n.l),a=wl(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=o(e),t.opacity=a(e),t+\"\"}}}const _w=xw(_l);var ww=xw(wl);function Ew(e){return function t(n){function r(t,r){var i=e((t=Wp(t)).h,(r=Wp(r)).h),o=wl(t.s,r.s),a=wl(t.l,r.l),s=wl(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=o(e),t.l=a(Math.pow(e,n)),t.opacity=s(e),t+\"\"}}return n=+n,r.gamma=t,r}(1)}const Sw=Ew(_l);var kw=Ew(wl);function Aw(e,t){void 0===t&&(t=e,e=Il);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return o[t](e-t)}}function Cw(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}const Tw=Math.PI,Dw=2*Tw,Mw=1e-6,Pw=Dw-Mw;function Ow(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function Lw(){return new Ow}Ow.prototype=Lw.prototype={constructor:Ow,moveTo:function(e,t){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(e,t){this._+=\"L\"+(this._x1=+e)+\",\"+(this._y1=+t)},quadraticCurveTo:function(e,t,n,r){this._+=\"Q\"+ +e+\",\"+ +t+\",\"+(this._x1=+n)+\",\"+(this._y1=+r)},bezierCurveTo:function(e,t,n,r,i,o){this._+=\"C\"+ +e+\",\"+ +t+\",\"+ +n+\",\"+ +r+\",\"+(this._x1=+i)+\",\"+(this._y1=+o)},arcTo:function(e,t,n,r,i){e=+e,t=+t,n=+n,r=+r,i=+i;var o=this._x1,a=this._y1,s=n-e,u=r-t,l=o-e,c=a-t,f=l*l+c*c;if(i<0)throw new Error(\"negative radius: \"+i);if(null===this._x1)this._+=\"M\"+(this._x1=e)+\",\"+(this._y1=t);else if(f>Mw)if(Math.abs(c*s-u*l)>Mw&&i){var p=n-o,d=r-a,h=s*s+u*u,m=p*p+d*d,y=Math.sqrt(h),v=Math.sqrt(f),g=i*Math.tan((Tw-Math.acos((h+f-m)/(2*y*v)))/2),b=g/v,x=g/y;Math.abs(b-1)>Mw&&(this._+=\"L\"+(e+b*l)+\",\"+(t+b*c)),this._+=\"A\"+i+\",\"+i+\",0,0,\"+ +(c*p>l*d)+\",\"+(this._x1=e+x*s)+\",\"+(this._y1=t+x*u)}else this._+=\"L\"+(this._x1=e)+\",\"+(this._y1=t)},arc:function(e,t,n,r,i,o){e=+e,t=+t,o=!!o;var a=(n=+n)*Math.cos(r),s=n*Math.sin(r),u=e+a,l=t+s,c=1^o,f=o?r-i:i-r;if(n<0)throw new Error(\"negative radius: \"+n);null===this._x1?this._+=\"M\"+u+\",\"+l:(Math.abs(this._x1-u)>Mw||Math.abs(this._y1-l)>Mw)&&(this._+=\"L\"+u+\",\"+l),n&&(f<0&&(f=f%Dw+Dw),f>Pw?this._+=\"A\"+n+\",\"+n+\",0,1,\"+c+\",\"+(e-a)+\",\"+(t-s)+\"A\"+n+\",\"+n+\",0,1,\"+c+\",\"+(this._x1=u)+\",\"+(this._y1=l):f>Mw&&(this._+=\"A\"+n+\",\"+n+\",0,\"+ +(f>=Tw)+\",\"+c+\",\"+(this._x1=e+n*Math.cos(i))+\",\"+(this._y1=t+n*Math.sin(i))))},rect:function(e,t,n,r){this._+=\"M\"+(this._x0=this._x1=+e)+\",\"+(this._y0=this._y1=+t)+\"h\"+ +n+\"v\"+ +r+\"h\"+-n+\"Z\"},toString:function(){return this._}};const Nw=Lw;function Fw(e){for(var t,n=-1,r=e.length,i=e[r-1],o=0;++n<r;)t=i,i=e[n],o+=t[1]*i[0]-t[0]*i[1];return o/2}function Rw(e){for(var t,n,r=-1,i=e.length,o=0,a=0,s=e[i-1],u=0;++r<i;)t=s,s=e[r],u+=n=t[0]*s[1]-s[0]*t[1],o+=(t[0]+s[0])*n,a+=(t[1]+s[1])*n;return[o/(u*=3),a/u]}function Iw(e,t){return e[0]-t[0]||e[1]-t[1]}function jw(e){const t=e.length,n=[0,1];let r,i=2;for(r=2;r<t;++r){for(;i>1&&(o=e[n[i-2]],a=e[n[i-1]],s=e[r],(a[0]-o[0])*(s[1]-o[1])-(a[1]-o[1])*(s[0]-o[0])<=0);)--i;n[i++]=r}var o,a,s;return n.slice(0,i)}function Bw(e){if((n=e.length)<3)return null;var t,n,r=new Array(n),i=new Array(n);for(t=0;t<n;++t)r[t]=[+e[t][0],+e[t][1],t];for(r.sort(Iw),t=0;t<n;++t)i[t]=[r[t][0],-r[t][1]];var o=jw(r),a=jw(i),s=a[0]===o[0],u=a[a.length-1]===o[o.length-1],l=[];for(t=o.length-1;t>=0;--t)l.push(e[r[o[t]][2]]);for(t=+s;t<a.length-u;++t)l.push(e[r[a[t]][2]]);return l}function qw(e,t){for(var n,r,i=e.length,o=e[i-1],a=t[0],s=t[1],u=o[0],l=o[1],c=!1,f=0;f<i;++f)n=(o=e[f])[0],(r=o[1])>s!=l>s&&a<(u-n)*(s-r)/(l-r)+n&&(c=!c),u=n,l=r;return c}function zw(e){for(var t,n,r=-1,i=e.length,o=e[i-1],a=o[0],s=o[1],u=0;++r<i;)t=a,n=s,t-=a=(o=e[r])[0],n-=s=o[1],u+=Math.hypot(t,n);return u}const Vw=Math.random,Uw=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,1===arguments.length?(n=e,e=0):n-=e,function(){return t()*n+e}}return n.source=e,n}(Vw),Ww=function e(t){function n(e,n){return arguments.length<2&&(n=e,e=0),e=Math.floor(e),n=Math.floor(n)-e,function(){return Math.floor(t()*n+e)}}return n.source=e,n}(Vw),Yw=function e(t){function n(e,n){var r,i;return e=null==e?0:+e,n=null==n?1:+n,function(){var o;if(null!=r)o=r,r=null;else do{r=2*t()-1,o=2*t()-1,i=r*r+o*o}while(!i||i>1);return e+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=e,n}(Vw),Xw=function e(t){var n=Yw.source(t);function r(){var e=n.apply(this,arguments);return function(){return Math.exp(e())}}return r.source=e,r}(Vw),Hw=function e(t){function n(e){return(e=+e)<=0?()=>0:function(){for(var n=0,r=e;r>1;--r)n+=t();return n+r*t()}}return n.source=e,n}(Vw),Gw=function e(t){var n=Hw.source(t);function r(e){if(0==(e=+e))return t;var r=n(e);return function(){return r()/e}}return r.source=e,r}(Vw),$w=function e(t){function n(e){return function(){return-Math.log1p(-t())/e}}return n.source=e,n}(Vw),Kw=function e(t){function n(e){if((e=+e)<0)throw new RangeError(\"invalid alpha\");return e=1/-e,function(){return Math.pow(1-t(),e)}}return n.source=e,n}(Vw),Zw=function e(t){function n(e){if((e=+e)<0||e>1)throw new RangeError(\"invalid p\");return function(){return Math.floor(t()+e)}}return n.source=e,n}(Vw),Jw=function e(t){function n(e){if((e=+e)<0||e>1)throw new RangeError(\"invalid p\");return 0===e?()=>1/0:1===e?()=>1:(e=Math.log1p(-e),function(){return 1+Math.floor(Math.log1p(-t())/e)})}return n.source=e,n}(Vw),Qw=function e(t){var n=Yw.source(t)();function r(e,r){if((e=+e)<0)throw new RangeError(\"invalid k\");if(0===e)return()=>0;if(r=null==r?1:+r,1===e)return()=>-Math.log1p(-t())*r;var i=(e<1?e+1:e)-1/3,o=1/(3*Math.sqrt(i)),a=e<1?()=>Math.pow(t(),1/e):()=>1;return function(){do{do{var e=n(),s=1+o*e}while(s<=0);s*=s*s;var u=1-t()}while(u>=1-.0331*e*e*e*e&&Math.log(u)>=.5*e*e+i*(1-s+Math.log(s)));return i*s*a()*r}}return r.source=e,r}(Vw),eE=function e(t){var n=Qw.source(t);function r(e,t){var r=n(e),i=n(t);return function(){var e=r();return 0===e?0:e/(e+i())}}return r.source=e,r}(Vw),tE=function e(t){var n=Jw.source(t),r=eE.source(t);function i(e,t){return e=+e,(t=+t)>=1?()=>e:t<=0?()=>0:function(){for(var i=0,o=e,a=t;o*a>16&&o*(1-a)>16;){var s=Math.floor((o+1)*a),u=r(s,o-s+1)();u<=a?(i+=s,o-=s,a=(a-u)/(1-u)):(o=s-1,a/=u)}for(var l=a<.5,c=n(l?a:1-a),f=c(),p=0;f<=o;++p)f+=c();return i+(l?p:o-p)}}return i.source=e,i}(Vw),nE=function e(t){function n(e,n,r){var i;return 0==(e=+e)?i=e=>-Math.log(e):(e=1/e,i=t=>Math.pow(t,e)),n=null==n?0:+n,r=null==r?1:+r,function(){return n+r*i(-Math.log1p(-t()))}}return n.source=e,n}(Vw),rE=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,function(){return e+n*Math.tan(Math.PI*t())}}return n.source=e,n}(Vw),iE=function e(t){function n(e,n){return e=null==e?0:+e,n=null==n?1:+n,function(){var r=t();return e+n*Math.log(r/(1-r))}}return n.source=e,n}(Vw),oE=function e(t){var n=Qw.source(t),r=tE.source(t);function i(e){return function(){for(var i=0,o=e;o>16;){var a=Math.floor(.875*o),s=n(a)();if(s>o)return i+r(a-1,o/s)();i+=a,o-=s}for(var u=-Math.log1p(-t()),l=0;u<=o;++l)u-=Math.log1p(-t());return i+l}}return i.source=e,i}(Vw),aE=1/4294967296;function sE(e=Math.random()){let t=0|(0<=e&&e<1?e/aE:Math.abs(e));return()=>(t=1664525*t+1013904223|0,aE*(t>>>0))}function uE(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=0|Math.max(0,Math.ceil((t-e)/n)),o=new Array(i);++r<i;)o[r]=e+r*n;return o}function lE(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function cE(e,t){switch(arguments.length){case 0:break;case 1:\"function\"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),\"function\"==typeof t?this.interpolator(t):this.range(t)}return this}const fE=Symbol(\"implicit\");function pE(){var e=new Eo,t=[],n=[],r=fE;function i(i){let o=e.get(i);if(void 0===o){if(r!==fE)return r;e.set(i,o=t.push(i)-1)}return n[o%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Eo;for(const r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return pE(t,n).unknown(r)},lE.apply(i,arguments),i}function dE(){var e,t,n=pE().unknown(void 0),r=n.domain,i=n.range,o=0,a=1,s=!1,u=0,l=0,c=.5;function f(){var n=r().length,f=a<o,p=f?a:o,d=f?o:a;e=(d-p)/Math.max(1,n-u+2*l),s&&(e=Math.floor(e)),p+=(d-p-e*(n-u))*c,t=e*(1-u),s&&(p=Math.round(p),t=Math.round(t));var h=uE(n).map((function(t){return p+e*t}));return i(f?h.reverse():h)}return delete n.unknown,n.domain=function(e){return arguments.length?(r(e),f()):r()},n.range=function(e){return arguments.length?([o,a]=e,o=+o,a=+a,f()):[o,a]},n.rangeRound=function(e){return[o,a]=e,o=+o,a=+a,s=!0,f()},n.bandwidth=function(){return t},n.step=function(){return e},n.round=function(e){return arguments.length?(s=!!e,f()):s},n.padding=function(e){return arguments.length?(u=Math.min(1,l=+e),f()):u},n.paddingInner=function(e){return arguments.length?(u=Math.min(1,e),f()):u},n.paddingOuter=function(e){return arguments.length?(l=+e,f()):l},n.align=function(e){return arguments.length?(c=Math.max(0,Math.min(1,e)),f()):c},n.copy=function(){return dE(r(),[o,a]).round(s).paddingInner(u).paddingOuter(l).align(c)},lE.apply(f(),arguments)}function hE(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return hE(t())},e}function mE(){return hE(dE.apply(null,arguments).paddingInner(1))}var yE=Math.sqrt(50),vE=Math.sqrt(10),gE=Math.sqrt(2);function bE(e,t,n){var r,i,o,a,s=-1;if(n=+n,(e=+e)==(t=+t)&&n>0)return[e];if((r=t<e)&&(i=e,e=t,t=i),0===(a=xE(e,t,n))||!isFinite(a))return[];if(a>0){let n=Math.round(e/a),r=Math.round(t/a);for(n*a<e&&++n,r*a>t&&--r,o=new Array(i=r-n+1);++s<i;)o[s]=(n+s)*a}else{a=-a;let n=Math.round(e*a),r=Math.round(t*a);for(n/a<e&&++n,r/a>t&&--r,o=new Array(i=r-n+1);++s<i;)o[s]=(n+s)/a}return r&&o.reverse(),o}function xE(e,t,n){var r=(t-e)/Math.max(0,n),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=yE?10:o>=vE?5:o>=gE?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=yE?10:o>=vE?5:o>=gE?2:1)}function _E(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function wE(e){let t=e,n=e,r=e;function i(e,t,i=0,o=e.length){if(i<o){if(0!==n(t,t))return o;do{const n=i+o>>>1;r(e[n],t)<0?i=n+1:o=n}while(i<o)}return i}return 2!==e.length&&(t=(t,n)=>e(t)-n,n=_E,r=(t,n)=>_E(e(t),n)),{left:i,center:function(e,n,r=0,o=e.length){const a=i(e,n,r,o-1);return a>r&&t(e[a-1],n)>-t(e[a],n)?a-1:a},right:function(e,t,i=0,o=e.length){if(i<o){if(0!==n(t,t))return o;do{const n=i+o>>>1;r(e[n],t)<=0?i=n+1:o=n}while(i<o)}return i}}}function EE(e){return null===e?NaN:+e}const SE=wE(_E),kE=SE.right,AE=(SE.left,wE(EE).center,kE);function CE(e){return+e}var TE=[0,1];function DE(e){return e}function ME(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:(n=isNaN(t)?NaN:.5,function(){return n});var n}function PE(e,t,n){var r=e[0],i=e[1],o=t[0],a=t[1];return i<r?(r=ME(i,r),o=n(a,o)):(r=ME(r,i),o=n(o,a)),function(e){return o(r(e))}}function OE(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),a=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++a<r;)i[a]=ME(e[a],e[a+1]),o[a]=n(t[a],t[a+1]);return function(t){var n=AE(e,t,1,r)-1;return o[n](i[n](t))}}function LE(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function NE(){var e,t,n,r,i,o,a=TE,s=TE,u=Il,l=DE;function c(){var e,t,n,u=Math.min(a.length,s.length);return l!==DE&&(e=a[0],t=a[u-1],e>t&&(n=e,e=t,t=n),l=function(n){return Math.max(e,Math.min(t,n))}),r=u>2?OE:PE,i=o=null,f}function f(t){return null==t||isNaN(t=+t)?n:(i||(i=r(a.map(e),s,u)))(e(l(t)))}return f.invert=function(n){return l(t((o||(o=r(s,a.map(e),Ol)))(n)))},f.domain=function(e){return arguments.length?(a=Array.from(e,CE),c()):a.slice()},f.range=function(e){return arguments.length?(s=Array.from(e),c()):s.slice()},f.rangeRound=function(e){return s=Array.from(e),u=dw,c()},f.clamp=function(e){return arguments.length?(l=!!e||DE,c()):l!==DE},f.interpolate=function(e){return arguments.length?(u=e,c()):u},f.unknown=function(e){return arguments.length?(n=e,f):n},function(n,r){return e=n,t=r,c()}}function FE(){return NE()(DE,DE)}function RE(e,t,n,r){var i,o=function(e,t,n){var r=Math.abs(t-e)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=yE?i*=10:o>=vE?i*=5:o>=gE&&(i*=2),t<e?-i:i}(e,t,n);switch((r=Hm(null==r?\",f\":r)).type){case\"s\":var a=Math.max(Math.abs(e),Math.abs(t));return null!=r.precision||isNaN(i=ay(o,a))||(r.precision=i),ey(r,a);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=r.precision||isNaN(i=sy(o,Math.max(Math.abs(e),Math.abs(t))))||(r.precision=i-(\"e\"===r.type));break;case\"f\":case\"%\":null!=r.precision||isNaN(i=oy(o))||(r.precision=i-2*(\"%\"===r.type))}return Qm(r)}function IE(e){var t=e.domain;return e.ticks=function(e){var n=t();return bE(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var r=t();return RE(r[0],r[r.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var r,i,o=t(),a=0,s=o.length-1,u=o[a],l=o[s],c=10;for(l<u&&(i=u,u=l,l=i,i=a,a=s,s=i);c-- >0;){if((i=xE(u,l,n))===r)return o[a]=u,o[s]=l,t(o);if(i>0)u=Math.floor(u/i)*i,l=Math.ceil(l/i)*i;else{if(!(i<0))break;u=Math.ceil(u*i)/i,l=Math.floor(l*i)/i}r=i}return e},e}function jE(){var e=FE();return e.copy=function(){return LE(e,jE())},lE.apply(e,arguments),IE(e)}function BE(e){var t;function n(e){return null==e||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,CE),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return BE(e).unknown(t)},e=arguments.length?Array.from(e,CE):[0,1],IE(n)}function qE(e,t){var n,r=0,i=(e=e.slice()).length-1,o=e[r],a=e[i];return a<o&&(n=r,r=i,i=n,n=o,o=a,a=n),e[r]=t.floor(o),e[i]=t.ceil(a),e}function zE(e){return Math.log(e)}function VE(e){return Math.exp(e)}function UE(e){return-Math.log(-e)}function WE(e){return-Math.exp(-e)}function YE(e){return isFinite(e)?+(\"1e\"+e):e<0?0:e}function XE(e){return(t,n)=>-e(-t,n)}function HE(e){const t=e(zE,VE),n=t.domain;let r,i,o=10;function a(){return r=function(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}(o),i=function(e){return 10===e?YE:e===Math.E?Math.exp:t=>Math.pow(e,t)}(o),n()[0]<0?(r=XE(r),i=XE(i),e(UE,WE)):e(zE,VE),t}return t.base=function(e){return arguments.length?(o=+e,a()):o},t.domain=function(e){return arguments.length?(n(e),a()):n()},t.ticks=e=>{const t=n();let a=t[0],s=t[t.length-1];const u=s<a;u&&([a,s]=[s,a]);let l,c,f=r(a),p=r(s);const d=null==e?10:+e;let h=[];if(!(o%1)&&p-f<d){if(f=Math.floor(f),p=Math.ceil(p),a>0){for(;f<=p;++f)for(l=1;l<o;++l)if(c=f<0?l/i(-f):l*i(f),!(c<a)){if(c>s)break;h.push(c)}}else for(;f<=p;++f)for(l=o-1;l>=1;--l)if(c=f>0?l/i(-f):l*i(f),!(c<a)){if(c>s)break;h.push(c)}2*h.length<d&&(h=bE(a,s,d))}else h=bE(f,p,Math.min(p-f,d)).map(i);return u?h.reverse():h},t.tickFormat=(e,n)=>{if(null==e&&(e=10),null==n&&(n=10===o?\"s\":\",\"),\"function\"!=typeof n&&(o%1||null!=(n=Hm(n)).precision||(n.trim=!0),n=Qm(n)),e===1/0)return n;const a=Math.max(1,o*e/t.ticks().length);return e=>{let t=e/i(Math.round(r(e)));return t*o<o-.5&&(t*=o),t<=a?n(e):\"\"}},t.nice=()=>n(qE(n(),{floor:e=>i(Math.floor(r(e))),ceil:e=>i(Math.ceil(r(e)))})),t}function GE(){const e=HE(NE()).domain([1,10]);return e.copy=()=>LE(e,GE()).base(e.base()),lE.apply(e,arguments),e}function $E(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function KE(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function ZE(e){var t=1,n=e($E(t),KE(t));return n.constant=function(n){return arguments.length?e($E(t=+n),KE(t)):t},IE(n)}function JE(){var e=ZE(NE());return e.copy=function(){return LE(e,JE()).constant(e.constant())},lE.apply(e,arguments)}function QE(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function eS(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function tS(e){return e<0?-e*e:e*e}function nS(e){var t=e(DE,DE),n=1;function r(){return 1===n?e(DE,DE):.5===n?e(eS,tS):e(QE(n),QE(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},IE(t)}function rS(){var e=nS(NE());return e.copy=function(){return LE(e,rS()).exponent(e.exponent())},lE.apply(e,arguments),e}function iS(){return rS.apply(null,arguments).exponent(.5)}function oS(e){return Math.sign(e)*e*e}function aS(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function sS(){var e,t=FE(),n=[0,1],r=!1;function i(n){var i=aS(t(n));return isNaN(i)?e:r?Math.round(i):i}return i.invert=function(e){return t.invert(oS(e))},i.domain=function(e){return arguments.length?(t.domain(e),i):t.domain()},i.range=function(e){return arguments.length?(t.range((n=Array.from(e,CE)).map(oS)),i):n.slice()},i.rangeRound=function(e){return i.range(e).round(!0)},i.round=function(e){return arguments.length?(r=!!e,i):r},i.clamp=function(e){return arguments.length?(t.clamp(e),i):t.clamp()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return sS(t.domain(),n).round(r).clamp(t.clamp()).unknown(e)},lE.apply(i,arguments),IE(i)}function uS(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n<i||void 0===n&&i>=i)&&(n=i)}return n}function lS(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function cS(e,t){return(null==e||!(e>=e))-(null==t||!(t>=t))||(e<t?-1:e>t?1:0)}function fS(e,t,n=0,r=e.length-1,i){for(i=void 0===i?cS:function(e=_E){if(e===_E)return cS;if(\"function\"!=typeof e)throw new TypeError(\"compare is not a function\");return(t,n)=>{const r=e(t,n);return r||0===r?r:(0===e(n,n))-(0===e(t,t))}}(i);r>n;){if(r-n>600){const o=r-n+1,a=t-n+1,s=Math.log(o),u=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*u*(o-u)/o)*(a-o/2<0?-1:1);fS(e,t,Math.max(n,Math.floor(t-a*u/o+l)),Math.min(r,Math.floor(t+(o-a)*u/o+l)),i)}const o=e[t];let a=n,s=r;for(pS(e,n,t),i(e[r],o)>0&&pS(e,n,r);a<s;){for(pS(e,a,s),++a,--s;i(e[a],o)<0;)++a;for(;i(e[s],o)>0;)--s}0===i(e[n],o)?pS(e,n,s):(++s,pS(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function pS(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function dS(e,t,n){if(e=Float64Array.from(function*(e,t){if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)null!=(r=t(r,++n,e))&&(r=+r)>=r&&(yield r)}}(e,n)),r=e.length){if((t=+t)<=0||r<2)return lS(e);if(t>=1)return uS(e);var r,i=(r-1)*t,o=Math.floor(i),a=uS(fS(e,o).subarray(0,o+1));return a+(lS(e.subarray(o+1))-a)*(i-o)}}function hS(e,t,n=EE){if(r=e.length){if((t=+t)<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e);return a+(+n(e[o+1],o+1,e)-a)*(i-o)}}function mS(){var e,t=[],n=[],r=[];function i(){var e=0,i=Math.max(1,n.length);for(r=new Array(i-1);++e<i;)r[e-1]=hS(t,e/i);return o}function o(t){return null==t||isNaN(t=+t)?e:n[AE(r,t)]}return o.invertExtent=function(e){var i=n.indexOf(e);return i<0?[NaN,NaN]:[i>0?r[i-1]:t[0],i<r.length?r[i]:t[t.length-1]]},o.domain=function(e){if(!arguments.length)return t.slice();t=[];for(let n of e)null==n||isNaN(n=+n)||t.push(n);return t.sort(_E),i()},o.range=function(e){return arguments.length?(n=Array.from(e),i()):n.slice()},o.unknown=function(t){return arguments.length?(e=t,o):e},o.quantiles=function(){return r.slice()},o.copy=function(){return mS().domain(t).range(n).unknown(e)},lE.apply(o,arguments)}function yS(){var e,t=0,n=1,r=1,i=[.5],o=[0,1];function a(t){return null!=t&&t<=t?o[AE(i,t,0,r)]:e}function s(){var e=-1;for(i=new Array(r);++e<r;)i[e]=((e+1)*n-(e-r)*t)/(r+1);return a}return a.domain=function(e){return arguments.length?([t,n]=e,t=+t,n=+n,s()):[t,n]},a.range=function(e){return arguments.length?(r=(o=Array.from(e)).length-1,s()):o.slice()},a.invertExtent=function(e){var a=o.indexOf(e);return a<0?[NaN,NaN]:a<1?[t,i[0]]:a>=r?[i[r-1],n]:[i[a-1],i[a]]},a.unknown=function(t){return arguments.length?(e=t,a):a},a.thresholds=function(){return i.slice()},a.copy=function(){return yS().domain([t,n]).range(o).unknown(e)},lE.apply(IE(a),arguments)}function vS(){var e,t=[.5],n=[0,1],r=1;function i(i){return null!=i&&i<=i?n[AE(t,i,0,r)]:e}return i.domain=function(e){return arguments.length?(t=Array.from(e),r=Math.min(t.length,n.length-1),i):t.slice()},i.range=function(e){return arguments.length?(n=Array.from(e),r=Math.min(t.length,n.length-1),i):n.slice()},i.invertExtent=function(e){var r=n.indexOf(e);return[t[r-1],t[r]]},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return vS().domain(t).range(n).unknown(e)},lE.apply(i,arguments)}function gS(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function bS(e){let t=e,n=e;function r(e,t,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){const o=r+i>>>1;n(e[o],t)<0?r=o+1:i=o}return r}return 1===e.length&&(t=(t,n)=>e(t)-n,n=function(e){return(t,n)=>gS(e(t),n)}(e)),{left:r,center:function(e,n,i,o){null==i&&(i=0),null==o&&(o=e.length);const a=r(e,n,i,o-1);return a>i&&t(e[a-1],n)>-t(e[a],n)?a-1:a},right:function(e,t,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r<i;){const o=r+i>>>1;n(e[o],t)>0?i=o:r=o+1}return r}}}const xS=1e3,_S=6e4,wS=36e5,ES=864e5,SS=6048e5,kS=31536e6;var AS=new Date,CS=new Date;function TS(e,t,n,r){function i(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return i.floor=function(t){return e(t=new Date(+t)),t},i.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},i.round=function(e){var t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=function(e,n){return t(e=new Date(+e),null==n?1:Math.floor(n)),e},i.range=function(n,r,o){var a,s=[];if(n=i.ceil(n),o=null==o?1:Math.floor(o),!(n<r&&o>0))return s;do{s.push(a=new Date(+n)),t(n,o),e(n)}while(a<n&&n<r);return s},i.filter=function(n){return TS((function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),(function(e,r){if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}))},n&&(i.count=function(t,r){return AS.setTime(+t),CS.setTime(+r),e(AS),e(CS),Math.floor(n(AS,CS))},i.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?i.filter(r?function(t){return r(t)%e==0}:function(t){return i.count(0,t)%e==0}):i:null}),i}var DS=TS((function(){}),(function(e,t){e.setTime(+e+t)}),(function(e,t){return t-e}));DS.every=function(e){return e=Math.floor(e),isFinite(e)&&e>0?e>1?TS((function(t){t.setTime(Math.floor(t/e)*e)}),(function(t,n){t.setTime(+t+n*e)}),(function(t,n){return(n-t)/e})):DS:null};const MS=DS;var PS=DS.range,OS=TS((function(e){e.setTime(e-e.getMilliseconds())}),(function(e,t){e.setTime(+e+t*xS)}),(function(e,t){return(t-e)/xS}),(function(e){return e.getUTCSeconds()}));const LS=OS;var NS=OS.range,FS=TS((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*xS)}),(function(e,t){e.setTime(+e+t*_S)}),(function(e,t){return(t-e)/_S}),(function(e){return e.getMinutes()}));const RS=FS;var IS=FS.range,jS=TS((function(e){e.setTime(e-e.getMilliseconds()-e.getSeconds()*xS-e.getMinutes()*_S)}),(function(e,t){e.setTime(+e+t*wS)}),(function(e,t){return(t-e)/wS}),(function(e){return e.getHours()}));const BS=jS;var qS=jS.range,zS=TS((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*_S)/ES),(e=>e.getDate()-1));const VS=zS;var US=zS.range;function WS(e){return TS((function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),(function(e,t){e.setDate(e.getDate()+7*t)}),(function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*_S)/SS}))}var YS=WS(0),XS=WS(1),HS=WS(2),GS=WS(3),$S=WS(4),KS=WS(5),ZS=WS(6),JS=YS.range,QS=XS.range,ek=HS.range,tk=GS.range,nk=$S.range,rk=KS.range,ik=ZS.range,ok=TS((function(e){e.setDate(1),e.setHours(0,0,0,0)}),(function(e,t){e.setMonth(e.getMonth()+t)}),(function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())}),(function(e){return e.getMonth()}));const ak=ok;var sk=ok.range,uk=TS((function(e){e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,t){e.setFullYear(e.getFullYear()+t)}),(function(e,t){return t.getFullYear()-e.getFullYear()}),(function(e){return e.getFullYear()}));uk.every=function(e){return isFinite(e=Math.floor(e))&&e>0?TS((function(t){t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n*e)})):null};const lk=uk;var ck=uk.range,fk=TS((function(e){e.setUTCSeconds(0,0)}),(function(e,t){e.setTime(+e+t*_S)}),(function(e,t){return(t-e)/_S}),(function(e){return e.getUTCMinutes()}));const pk=fk;var dk=fk.range,hk=TS((function(e){e.setUTCMinutes(0,0,0)}),(function(e,t){e.setTime(+e+t*wS)}),(function(e,t){return(t-e)/wS}),(function(e){return e.getUTCHours()}));const mk=hk;var yk=hk.range,vk=TS((function(e){e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+t)}),(function(e,t){return(t-e)/ES}),(function(e){return e.getUTCDate()-1}));const gk=vk;var bk=vk.range;function xk(e){return TS((function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCDate(e.getUTCDate()+7*t)}),(function(e,t){return(t-e)/SS}))}var _k=xk(0),wk=xk(1),Ek=xk(2),Sk=xk(3),kk=xk(4),Ak=xk(5),Ck=xk(6),Tk=_k.range,Dk=wk.range,Mk=Ek.range,Pk=Sk.range,Ok=kk.range,Lk=Ak.range,Nk=Ck.range,Fk=TS((function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCMonth(e.getUTCMonth()+t)}),(function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())}),(function(e){return e.getUTCMonth()}));const Rk=Fk;var Ik=Fk.range,jk=TS((function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)}),(function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()}),(function(e){return e.getUTCFullYear()}));jk.every=function(e){return isFinite(e=Math.floor(e))&&e>0?TS((function(t){t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null};const Bk=jk;var qk=jk.range;function zk(e,t,n,r,i,o){const a=[[LS,1,xS],[LS,5,5e3],[LS,15,15e3],[LS,30,3e4],[o,1,_S],[o,5,3e5],[o,15,9e5],[o,30,18e5],[i,1,wS],[i,3,108e5],[i,6,216e5],[i,12,432e5],[r,1,ES],[r,2,1728e5],[n,1,SS],[t,1,2592e6],[t,3,7776e6],[e,1,kS]];function s(t,n,r){const i=Math.abs(n-t)/r,o=bS((([,,e])=>e)).right(a,i);if(o===a.length)return e.every(Qp(t/kS,n/kS,r));if(0===o)return MS.every(Math.max(Qp(t,n,r),1));const[s,u]=a[i/a[o-1][2]<a[o][2]/i?o-1:o];return s.every(u)}return[function(e,t,n){const r=t<e;r&&([e,t]=[t,e]);const i=n&&\"function\"==typeof n.range?n:s(e,t,n),o=i?i.range(e,+t+1):[];return r?o.reverse():o},s]}const[Vk,Uk]=zk(Bk,Rk,_k,gk,mk,pk),[Wk,Yk]=zk(lk,ak,YS,VS,BS,RS);function Xk(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function Hk(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Gk(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function $k(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,a=e.shortDays,s=e.months,u=e.shortMonths,l=sA(i),c=uA(i),f=sA(o),p=uA(o),d=sA(a),h=uA(a),m=sA(s),y=uA(s),v=sA(u),g=uA(u),b={a:function(e){return a[e.getDay()]},A:function(e){return o[e.getDay()]},b:function(e){return u[e.getMonth()]},B:function(e){return s[e.getMonth()]},c:null,d:DA,e:DA,f:NA,g:YA,G:HA,H:MA,I:PA,j:OA,L:LA,m:FA,M:RA,p:function(e){return i[+(e.getHours()>=12)]},q:function(e){return 1+~~(e.getMonth()/3)},Q:yC,s:vC,S:IA,u:jA,U:BA,V:zA,w:VA,W:UA,x:null,X:null,y:WA,Y:XA,Z:GA,\"%\":mC},x={a:function(e){return a[e.getUTCDay()]},A:function(e){return o[e.getUTCDay()]},b:function(e){return u[e.getUTCMonth()]},B:function(e){return s[e.getUTCMonth()]},c:null,d:$A,e:$A,f:eC,g:fC,G:dC,H:KA,I:ZA,j:JA,L:QA,m:tC,M:nC,p:function(e){return i[+(e.getUTCHours()>=12)]},q:function(e){return 1+~~(e.getUTCMonth()/3)},Q:yC,s:vC,S:rC,u:iC,U:oC,V:sC,w:uC,W:lC,x:null,X:null,y:cC,Y:pC,Z:hC,\"%\":mC},_={a:function(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(e,t,n){var r=f.exec(t.slice(n));return r?(e.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(e,t,n){var r=v.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(e,t,n){var r=m.exec(t.slice(n));return r?(e.m=y.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(e,n,r){return S(e,t,n,r)},d:bA,e:bA,f:kA,g:mA,G:hA,H:_A,I:_A,j:xA,L:SA,m:gA,M:wA,p:function(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=c.get(r[0].toLowerCase()),n+r[0].length):-1},q:vA,Q:CA,s:TA,S:EA,u:cA,U:fA,V:pA,w:lA,W:dA,x:function(e,t,r){return S(e,n,t,r)},X:function(e,t,n){return S(e,r,t,n)},y:mA,Y:hA,Z:yA,\"%\":AA};function w(e,t){return function(n){var r,i,o,a=[],s=-1,u=0,l=e.length;for(n instanceof Date||(n=new Date(+n));++s<l;)37===e.charCodeAt(s)&&(a.push(e.slice(u,s)),null!=(i=tA[r=e.charAt(++s)])?r=e.charAt(++s):i=\"e\"===r?\" \":\"0\",(o=t[r])&&(r=o(n,i)),a.push(r),u=s+1);return a.push(e.slice(u,s)),a.join(\"\")}}function E(e,t){return function(n){var r,i,o=Gk(1900,void 0,1);if(S(o,e,n+=\"\",0)!=n.length)return null;if(\"Q\"in o)return new Date(o.Q);if(\"s\"in o)return new Date(1e3*o.s+(\"L\"in o?o.L:0));if(t&&!(\"Z\"in o)&&(o.Z=0),\"p\"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m=\"q\"in o?o.q:0),\"V\"in o){if(o.V<1||o.V>53)return null;\"w\"in o||(o.w=1),\"Z\"in o?(i=(r=Hk(Gk(o.y,0,1))).getUTCDay(),r=i>4||0===i?wk.ceil(r):wk(r),r=gk.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(i=(r=Xk(Gk(o.y,0,1))).getDay(),r=i>4||0===i?XS.ceil(r):XS(r),r=VS.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else(\"W\"in o||\"U\"in o)&&(\"w\"in o||(o.w=\"u\"in o?o.u%7:\"W\"in o?1:0),i=\"Z\"in o?Hk(Gk(o.y,0,1)).getUTCDay():Xk(Gk(o.y,0,1)).getDay(),o.m=0,o.d=\"W\"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return\"Z\"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Hk(o)):Xk(o)}}function S(e,t,n,r){for(var i,o,a=0,s=t.length,u=n.length;a<s;){if(r>=u)return-1;if(37===(i=t.charCodeAt(a++))){if(i=t.charAt(a++),!(o=_[i in tA?t.charAt(a++):i])||(r=o(e,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return b.x=w(n,b),b.X=w(r,b),b.c=w(t,b),x.x=w(n,x),x.X=w(r,x),x.c=w(t,x),{format:function(e){var t=w(e+=\"\",b);return t.toString=function(){return e},t},parse:function(e){var t=E(e+=\"\",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=w(e+=\"\",x);return t.toString=function(){return e},t},utcParse:function(e){var t=E(e+=\"\",!0);return t.toString=function(){return e},t}}}var Kk,Zk,Jk,Qk,eA,tA={\"-\":\"\",_:\" \",0:\"0\"},nA=/^\\s*\\d+/,rA=/^%/,iA=/[\\\\^$*+?|[\\]().{}]/g;function oA(e,t,n){var r=e<0?\"-\":\"\",i=(r?-e:e)+\"\",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function aA(e){return e.replace(iA,\"\\\\$&\")}function sA(e){return new RegExp(\"^(?:\"+e.map(aA).join(\"|\")+\")\",\"i\")}function uA(e){return new Map(e.map(((e,t)=>[e.toLowerCase(),t])))}function lA(e,t,n){var r=nA.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function cA(e,t,n){var r=nA.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function fA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function pA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function dA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function hA(e,t,n){var r=nA.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function mA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function yA(e,t,n){var r=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||\"00\")),n+r[0].length):-1}function vA(e,t,n){var r=nA.exec(t.slice(n,n+1));return r?(e.q=3*r[0]-3,n+r[0].length):-1}function gA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function bA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function xA(e,t,n){var r=nA.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function _A(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function wA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function EA(e,t,n){var r=nA.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function SA(e,t,n){var r=nA.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function kA(e,t,n){var r=nA.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function AA(e,t,n){var r=rA.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function CA(e,t,n){var r=nA.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function TA(e,t,n){var r=nA.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function DA(e,t){return oA(e.getDate(),t,2)}function MA(e,t){return oA(e.getHours(),t,2)}function PA(e,t){return oA(e.getHours()%12||12,t,2)}function OA(e,t){return oA(1+VS.count(lk(e),e),t,3)}function LA(e,t){return oA(e.getMilliseconds(),t,3)}function NA(e,t){return LA(e,t)+\"000\"}function FA(e,t){return oA(e.getMonth()+1,t,2)}function RA(e,t){return oA(e.getMinutes(),t,2)}function IA(e,t){return oA(e.getSeconds(),t,2)}function jA(e){var t=e.getDay();return 0===t?7:t}function BA(e,t){return oA(YS.count(lk(e)-1,e),t,2)}function qA(e){var t=e.getDay();return t>=4||0===t?$S(e):$S.ceil(e)}function zA(e,t){return e=qA(e),oA($S.count(lk(e),e)+(4===lk(e).getDay()),t,2)}function VA(e){return e.getDay()}function UA(e,t){return oA(XS.count(lk(e)-1,e),t,2)}function WA(e,t){return oA(e.getFullYear()%100,t,2)}function YA(e,t){return oA((e=qA(e)).getFullYear()%100,t,2)}function XA(e,t){return oA(e.getFullYear()%1e4,t,4)}function HA(e,t){var n=e.getDay();return oA((e=n>=4||0===n?$S(e):$S.ceil(e)).getFullYear()%1e4,t,4)}function GA(e){var t=e.getTimezoneOffset();return(t>0?\"-\":(t*=-1,\"+\"))+oA(t/60|0,\"0\",2)+oA(t%60,\"0\",2)}function $A(e,t){return oA(e.getUTCDate(),t,2)}function KA(e,t){return oA(e.getUTCHours(),t,2)}function ZA(e,t){return oA(e.getUTCHours()%12||12,t,2)}function JA(e,t){return oA(1+gk.count(Bk(e),e),t,3)}function QA(e,t){return oA(e.getUTCMilliseconds(),t,3)}function eC(e,t){return QA(e,t)+\"000\"}function tC(e,t){return oA(e.getUTCMonth()+1,t,2)}function nC(e,t){return oA(e.getUTCMinutes(),t,2)}function rC(e,t){return oA(e.getUTCSeconds(),t,2)}function iC(e){var t=e.getUTCDay();return 0===t?7:t}function oC(e,t){return oA(_k.count(Bk(e)-1,e),t,2)}function aC(e){var t=e.getUTCDay();return t>=4||0===t?kk(e):kk.ceil(e)}function sC(e,t){return e=aC(e),oA(kk.count(Bk(e),e)+(4===Bk(e).getUTCDay()),t,2)}function uC(e){return e.getUTCDay()}function lC(e,t){return oA(wk.count(Bk(e)-1,e),t,2)}function cC(e,t){return oA(e.getUTCFullYear()%100,t,2)}function fC(e,t){return oA((e=aC(e)).getUTCFullYear()%100,t,2)}function pC(e,t){return oA(e.getUTCFullYear()%1e4,t,4)}function dC(e,t){var n=e.getUTCDay();return oA((e=n>=4||0===n?kk(e):kk.ceil(e)).getUTCFullYear()%1e4,t,4)}function hC(){return\"+0000\"}function mC(){return\"%\"}function yC(e){return+e}function vC(e){return Math.floor(+e/1e3)}function gC(e){return Kk=$k(e),Zk=Kk.format,Jk=Kk.parse,Qk=Kk.utcFormat,eA=Kk.utcParse,Kk}function bC(e){return new Date(e)}function xC(e){return e instanceof Date?+e:+new Date(+e)}function _C(e,t,n,r,i,o,a,s,u,l){var c=FE(),f=c.invert,p=c.domain,d=l(\".%L\"),h=l(\":%S\"),m=l(\"%I:%M\"),y=l(\"%I %p\"),v=l(\"%a %d\"),g=l(\"%b %d\"),b=l(\"%B\"),x=l(\"%Y\");function _(e){return(u(e)<e?d:s(e)<e?h:a(e)<e?m:o(e)<e?y:r(e)<e?i(e)<e?v:g:n(e)<e?b:x)(e)}return c.invert=function(e){return new Date(f(e))},c.domain=function(e){return arguments.length?p(Array.from(e,xC)):p().map(bC)},c.ticks=function(t){var n=p();return e(n[0],n[n.length-1],null==t?10:t)},c.tickFormat=function(e,t){return null==t?_:l(t)},c.nice=function(e){var n=p();return e&&\"function\"==typeof e.range||(e=t(n[0],n[n.length-1],null==e?10:e)),e?p(qE(n,e)):c},c.copy=function(){return LE(c,_C(e,t,n,r,i,o,a,s,u,l))},c}function wC(){return lE.apply(_C(Wk,Yk,lk,ak,YS,VS,BS,RS,LS,Zk).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function EC(){return lE.apply(_C(Vk,Uk,Bk,Rk,_k,gk,mk,pk,LS,Qk).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function SC(){var e,t,n,r,i,o=0,a=1,s=DE,u=!1;function l(t){return null==t||isNaN(t=+t)?i:s(0===n?.5:(t=(r(t)-e)*n,u?Math.max(0,Math.min(1,t)):t))}function c(e){return function(t){var n,r;return arguments.length?([n,r]=t,s=e(n,r),l):[s(0),s(1)]}}return l.domain=function(i){return arguments.length?([o,a]=i,e=r(o=+o),t=r(a=+a),n=e===t?0:1/(t-e),l):[o,a]},l.clamp=function(e){return arguments.length?(u=!!e,l):u},l.interpolator=function(e){return arguments.length?(s=e,l):s},l.range=c(Il),l.rangeRound=c(dw),l.unknown=function(e){return arguments.length?(i=e,l):i},function(i){return r=i,e=i(o),t=i(a),n=e===t?0:1/(t-e),l}}function kC(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function AC(){var e=IE(SC()(DE));return e.copy=function(){return kC(e,AC())},cE.apply(e,arguments)}function CC(){var e=HE(SC()).domain([1,10]);return e.copy=function(){return kC(e,CC()).base(e.base())},cE.apply(e,arguments)}function TC(){var e=ZE(SC());return e.copy=function(){return kC(e,TC()).constant(e.constant())},cE.apply(e,arguments)}function DC(){var e=nS(SC());return e.copy=function(){return kC(e,DC()).exponent(e.exponent())},cE.apply(e,arguments)}function MC(){return DC.apply(null,arguments).exponent(.5)}function PC(){var e=[],t=DE;function n(n){if(null!=n&&!isNaN(n=+n))return t((AE(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(_E),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map(((n,r)=>t(r/(e.length-1))))},n.quantiles=function(t){return Array.from({length:t+1},((n,r)=>dS(e,r/t)))},n.copy=function(){return PC(t).domain(e)},cE.apply(n,arguments)}function OC(){var e,t,n,r,i,o,a,s=0,u=.5,l=1,c=1,f=DE,p=!1;function d(e){return isNaN(e=+e)?a:(e=.5+((e=+o(e))-t)*(c*e<c*t?r:i),f(p?Math.max(0,Math.min(1,e)):e))}function h(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,f=Aw(e,[n,r,i]),d):[f(0),f(.5),f(1)]}}return d.domain=function(a){return arguments.length?([s,u,l]=a,e=o(s=+s),t=o(u=+u),n=o(l=+l),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),c=t<e?-1:1,d):[s,u,l]},d.clamp=function(e){return arguments.length?(p=!!e,d):p},d.interpolator=function(e){return arguments.length?(f=e,d):f},d.range=h(Il),d.rangeRound=h(dw),d.unknown=function(e){return arguments.length?(a=e,d):a},function(a){return o=a,e=a(s),t=a(u),n=a(l),r=e===t?0:.5/(t-e),i=t===n?0:.5/(n-t),c=t<e?-1:1,d}}function LC(){var e=IE(OC()(DE));return e.copy=function(){return kC(e,LC())},cE.apply(e,arguments)}function NC(){var e=HE(OC()).domain([.1,1,10]);return e.copy=function(){return kC(e,NC()).base(e.base())},cE.apply(e,arguments)}function FC(){var e=ZE(OC());return e.copy=function(){return kC(e,FC()).constant(e.constant())},cE.apply(e,arguments)}function RC(){var e=nS(OC());return e.copy=function(){return kC(e,RC()).exponent(e.exponent())},cE.apply(e,arguments)}function IC(){return RC.apply(null,arguments).exponent(.5)}function jC(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]=\"#\"+e.slice(6*r,6*++r);return n}gC({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});const BC=jC(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\"),qC=jC(\"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666\"),zC=jC(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\"),VC=jC(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\"),UC=jC(\"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2\"),WC=jC(\"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc\"),YC=jC(\"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999\"),XC=jC(\"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3\"),HC=jC(\"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f\"),GC=jC(\"4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab\"),$C=e=>kl(e[e.length-1]);var KC=new Array(3).concat(\"d8b365f5f5f55ab4ac\",\"a6611adfc27d80cdc1018571\",\"a6611adfc27df5f5f580cdc1018571\",\"8c510ad8b365f6e8c3c7eae55ab4ac01665e\",\"8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e\",\"8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e\",\"8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e\",\"5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30\",\"5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30\").map(jC);const ZC=$C(KC);var JC=new Array(3).concat(\"af8dc3f7f7f77fbf7b\",\"7b3294c2a5cfa6dba0008837\",\"7b3294c2a5cff7f7f7a6dba0008837\",\"762a83af8dc3e7d4e8d9f0d37fbf7b1b7837\",\"762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837\",\"762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837\",\"762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837\",\"40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b\",\"40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b\").map(jC);const QC=$C(JC);var eT=new Array(3).concat(\"e9a3c9f7f7f7a1d76a\",\"d01c8bf1b6dab8e1864dac26\",\"d01c8bf1b6daf7f7f7b8e1864dac26\",\"c51b7de9a3c9fde0efe6f5d0a1d76a4d9221\",\"c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221\",\"c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221\",\"c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221\",\"8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419\",\"8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419\").map(jC);const tT=$C(eT);var nT=new Array(3).concat(\"998ec3f7f7f7f1a340\",\"5e3c99b2abd2fdb863e66101\",\"5e3c99b2abd2f7f7f7fdb863e66101\",\"542788998ec3d8daebfee0b6f1a340b35806\",\"542788998ec3d8daebf7f7f7fee0b6f1a340b35806\",\"5427888073acb2abd2d8daebfee0b6fdb863e08214b35806\",\"5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806\",\"2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08\",\"2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08\").map(jC);const rT=$C(nT);var iT=new Array(3).concat(\"ef8a62f7f7f767a9cf\",\"ca0020f4a58292c5de0571b0\",\"ca0020f4a582f7f7f792c5de0571b0\",\"b2182bef8a62fddbc7d1e5f067a9cf2166ac\",\"b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac\",\"b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac\",\"b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac\",\"67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061\",\"67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061\").map(jC);const oT=$C(iT);var aT=new Array(3).concat(\"ef8a62ffffff999999\",\"ca0020f4a582bababa404040\",\"ca0020f4a582ffffffbababa404040\",\"b2182bef8a62fddbc7e0e0e09999994d4d4d\",\"b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d\",\"b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d\",\"b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d\",\"67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a\",\"67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a\").map(jC);const sT=$C(aT);var uT=new Array(3).concat(\"fc8d59ffffbf91bfdb\",\"d7191cfdae61abd9e92c7bb6\",\"d7191cfdae61ffffbfabd9e92c7bb6\",\"d73027fc8d59fee090e0f3f891bfdb4575b4\",\"d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4\",\"d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4\",\"d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4\",\"a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695\",\"a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695\").map(jC);const lT=$C(uT);var cT=new Array(3).concat(\"fc8d59ffffbf91cf60\",\"d7191cfdae61a6d96a1a9641\",\"d7191cfdae61ffffbfa6d96a1a9641\",\"d73027fc8d59fee08bd9ef8b91cf601a9850\",\"d73027fc8d59fee08bffffbfd9ef8b91cf601a9850\",\"d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850\",\"d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850\",\"a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837\",\"a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837\").map(jC);const fT=$C(cT);var pT=new Array(3).concat(\"fc8d59ffffbf99d594\",\"d7191cfdae61abdda42b83ba\",\"d7191cfdae61ffffbfabdda42b83ba\",\"d53e4ffc8d59fee08be6f59899d5943288bd\",\"d53e4ffc8d59fee08bffffbfe6f59899d5943288bd\",\"d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd\",\"d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd\",\"9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2\",\"9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2\").map(jC);const dT=$C(pT);var hT=new Array(3).concat(\"e5f5f999d8c92ca25f\",\"edf8fbb2e2e266c2a4238b45\",\"edf8fbb2e2e266c2a42ca25f006d2c\",\"edf8fbccece699d8c966c2a42ca25f006d2c\",\"edf8fbccece699d8c966c2a441ae76238b45005824\",\"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824\",\"f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b\").map(jC);const mT=$C(hT);var yT=new Array(3).concat(\"e0ecf49ebcda8856a7\",\"edf8fbb3cde38c96c688419d\",\"edf8fbb3cde38c96c68856a7810f7c\",\"edf8fbbfd3e69ebcda8c96c68856a7810f7c\",\"edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b\",\"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b\",\"f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b\").map(jC);const vT=$C(yT);var gT=new Array(3).concat(\"e0f3dba8ddb543a2ca\",\"f0f9e8bae4bc7bccc42b8cbe\",\"f0f9e8bae4bc7bccc443a2ca0868ac\",\"f0f9e8ccebc5a8ddb57bccc443a2ca0868ac\",\"f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e\",\"f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081\").map(jC);const bT=$C(gT);var xT=new Array(3).concat(\"fee8c8fdbb84e34a33\",\"fef0d9fdcc8afc8d59d7301f\",\"fef0d9fdcc8afc8d59e34a33b30000\",\"fef0d9fdd49efdbb84fc8d59e34a33b30000\",\"fef0d9fdd49efdbb84fc8d59ef6548d7301f990000\",\"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000\",\"fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000\").map(jC);const _T=$C(xT);var wT=new Array(3).concat(\"ece2f0a6bddb1c9099\",\"f6eff7bdc9e167a9cf02818a\",\"f6eff7bdc9e167a9cf1c9099016c59\",\"f6eff7d0d1e6a6bddb67a9cf1c9099016c59\",\"f6eff7d0d1e6a6bddb67a9cf3690c002818a016450\",\"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450\",\"fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636\").map(jC);const ET=$C(wT);var ST=new Array(3).concat(\"ece7f2a6bddb2b8cbe\",\"f1eef6bdc9e174a9cf0570b0\",\"f1eef6bdc9e174a9cf2b8cbe045a8d\",\"f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d\",\"f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b\",\"fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858\").map(jC);const kT=$C(ST);var AT=new Array(3).concat(\"e7e1efc994c7dd1c77\",\"f1eef6d7b5d8df65b0ce1256\",\"f1eef6d7b5d8df65b0dd1c77980043\",\"f1eef6d4b9dac994c7df65b0dd1c77980043\",\"f1eef6d4b9dac994c7df65b0e7298ace125691003f\",\"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f\",\"f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f\").map(jC);const CT=$C(AT);var TT=new Array(3).concat(\"fde0ddfa9fb5c51b8a\",\"feebe2fbb4b9f768a1ae017e\",\"feebe2fbb4b9f768a1c51b8a7a0177\",\"feebe2fcc5c0fa9fb5f768a1c51b8a7a0177\",\"feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177\",\"fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a\").map(jC);const DT=$C(TT);var MT=new Array(3).concat(\"edf8b17fcdbb2c7fb8\",\"ffffcca1dab441b6c4225ea8\",\"ffffcca1dab441b6c42c7fb8253494\",\"ffffccc7e9b47fcdbb41b6c42c7fb8253494\",\"ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84\",\"ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58\").map(jC);const PT=$C(MT);var OT=new Array(3).concat(\"f7fcb9addd8e31a354\",\"ffffccc2e69978c679238443\",\"ffffccc2e69978c67931a354006837\",\"ffffccd9f0a3addd8e78c67931a354006837\",\"ffffccd9f0a3addd8e78c67941ab5d238443005a32\",\"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32\",\"ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529\").map(jC);const LT=$C(OT);var NT=new Array(3).concat(\"fff7bcfec44fd95f0e\",\"ffffd4fed98efe9929cc4c02\",\"ffffd4fed98efe9929d95f0e993404\",\"ffffd4fee391fec44ffe9929d95f0e993404\",\"ffffd4fee391fec44ffe9929ec7014cc4c028c2d04\",\"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04\",\"ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506\").map(jC);const FT=$C(NT);var RT=new Array(3).concat(\"ffeda0feb24cf03b20\",\"ffffb2fecc5cfd8d3ce31a1c\",\"ffffb2fecc5cfd8d3cf03b20bd0026\",\"ffffb2fed976feb24cfd8d3cf03b20bd0026\",\"ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026\",\"ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026\").map(jC);const IT=$C(RT);var jT=new Array(3).concat(\"deebf79ecae13182bd\",\"eff3ffbdd7e76baed62171b5\",\"eff3ffbdd7e76baed63182bd08519c\",\"eff3ffc6dbef9ecae16baed63182bd08519c\",\"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\").map(jC);const BT=$C(jT);var qT=new Array(3).concat(\"e5f5e0a1d99b31a354\",\"edf8e9bae4b374c476238b45\",\"edf8e9bae4b374c47631a354006d2c\",\"edf8e9c7e9c0a1d99b74c47631a354006d2c\",\"edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32\",\"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32\",\"f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b\").map(jC);const zT=$C(qT);var VT=new Array(3).concat(\"f0f0f0bdbdbd636363\",\"f7f7f7cccccc969696525252\",\"f7f7f7cccccc969696636363252525\",\"f7f7f7d9d9d9bdbdbd969696636363252525\",\"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\").map(jC);const UT=$C(VT);var WT=new Array(3).concat(\"efedf5bcbddc756bb1\",\"f2f0f7cbc9e29e9ac86a51a3\",\"f2f0f7cbc9e29e9ac8756bb154278f\",\"f2f0f7dadaebbcbddc9e9ac8756bb154278f\",\"f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486\",\"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486\",\"fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d\").map(jC);const YT=$C(WT);var XT=new Array(3).concat(\"fee0d2fc9272de2d26\",\"fee5d9fcae91fb6a4acb181d\",\"fee5d9fcae91fb6a4ade2d26a50f15\",\"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\").map(jC);const HT=$C(XT);var GT=new Array(3).concat(\"fee6cefdae6be6550d\",\"feeddefdbe85fd8d3cd94701\",\"feeddefdbe85fd8d3ce6550da63603\",\"feeddefdd0a2fdae6bfd8d3ce6550da63603\",\"feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04\",\"fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704\").map(jC);const $T=$C(GT);function KT(e){return e=Math.max(0,Math.min(1,e)),\"rgb(\"+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-2710.57*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-67.37*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-2475.67*e)))))))+\")\"}const ZT=kw(Wp(300,.5,0),Wp(-240,.5,1));var JT=kw(Wp(-100,.75,.35),Wp(80,1.5,.8)),QT=kw(Wp(260,.75,.35),Wp(80,1.5,.8)),eD=Wp();function tD(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return eD.h=360*e-100,eD.s=1.5-1.5*t,eD.l=.8-.9*t,eD+\"\"}var nD=nl(),rD=Math.PI/3,iD=2*Math.PI/3;function oD(e){var t;return e=(.5-e)*Math.PI,nD.r=255*(t=Math.sin(e))*t,nD.g=255*(t=Math.sin(e+rD))*t,nD.b=255*(t=Math.sin(e+iD))*t,nD+\"\"}function aD(e){return e=Math.max(0,Math.min(1,e)),\"rgb(\"+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-14825.05*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+707.56*e)))))))+\", \"+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-6838.66*e)))))))+\")\"}function sD(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const uD=sD(jC(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));var lD=sD(jC(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\")),cD=sD(jC(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\")),fD=sD(jC(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));function pD(e){return Cu(pu(e).call(document.documentElement))}var dD=0;function hD(){return new mD}function mD(){this._=\"@\"+(++dD).toString(36)}function yD(e,t){return e.target&&(e=jl(e),void 0===t&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,(e=>Bl(e,t)))}function vD(e){return\"string\"==typeof e?new Su([document.querySelectorAll(e)],[document.documentElement]):new Su([hs(e)],Eu)}function gD(e){return function(){return e}}mD.prototype=hD.prototype={constructor:mD,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};const bD=Math.abs,xD=Math.atan2,_D=Math.cos,wD=Math.max,ED=Math.min,SD=Math.sin,kD=Math.sqrt,AD=1e-12,CD=Math.PI,TD=CD/2,DD=2*CD;function MD(e){return e>1?0:e<-1?CD:Math.acos(e)}function PD(e){return e>=1?TD:e<=-1?-TD:Math.asin(e)}function OD(e){return e.innerRadius}function LD(e){return e.outerRadius}function ND(e){return e.startAngle}function FD(e){return e.endAngle}function RD(e){return e&&e.padAngle}function ID(e,t,n,r,i,o,a,s){var u=n-e,l=r-t,c=a-i,f=s-o,p=f*u-c*l;if(!(p*p<AD))return[e+(p=(c*(t-o)-f*(e-i))/p)*u,t+p*l]}function jD(e,t,n,r,i,o,a){var s=e-n,u=t-r,l=(a?o:-o)/kD(s*s+u*u),c=l*u,f=-l*s,p=e+c,d=t+f,h=n+c,m=r+f,y=(p+h)/2,v=(d+m)/2,g=h-p,b=m-d,x=g*g+b*b,_=i-o,w=p*m-h*d,E=(b<0?-1:1)*kD(wD(0,_*_*x-w*w)),S=(w*b-g*E)/x,k=(-w*g-b*E)/x,A=(w*b+g*E)/x,C=(-w*g+b*E)/x,T=S-y,D=k-v,M=A-y,P=C-v;return T*T+D*D>M*M+P*P&&(S=A,k=C),{cx:S,cy:k,x01:-c,y01:-f,x11:S*(i/_-1),y11:k*(i/_-1)}}function BD(){var e=OD,t=LD,n=gD(0),r=null,i=ND,o=FD,a=RD,s=null;function u(){var u,l,c=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-TD,d=o.apply(this,arguments)-TD,h=bD(d-p),m=d>p;if(s||(s=u=Nw()),f<c&&(l=f,f=c,c=l),f>AD)if(h>DD-AD)s.moveTo(f*_D(p),f*SD(p)),s.arc(0,0,f,p,d,!m),c>AD&&(s.moveTo(c*_D(d),c*SD(d)),s.arc(0,0,c,d,p,m));else{var y,v,g=p,b=d,x=p,_=d,w=h,E=h,S=a.apply(this,arguments)/2,k=S>AD&&(r?+r.apply(this,arguments):kD(c*c+f*f)),A=ED(bD(f-c)/2,+n.apply(this,arguments)),C=A,T=A;if(k>AD){var D=PD(k/c*SD(S)),M=PD(k/f*SD(S));(w-=2*D)>AD?(x+=D*=m?1:-1,_-=D):(w=0,x=_=(p+d)/2),(E-=2*M)>AD?(g+=M*=m?1:-1,b-=M):(E=0,g=b=(p+d)/2)}var P=f*_D(g),O=f*SD(g),L=c*_D(_),N=c*SD(_);if(A>AD){var F,R=f*_D(b),I=f*SD(b),j=c*_D(x),B=c*SD(x);if(h<CD&&(F=ID(P,O,j,B,R,I,L,N))){var q=P-F[0],z=O-F[1],V=R-F[0],U=I-F[1],W=1/SD(MD((q*V+z*U)/(kD(q*q+z*z)*kD(V*V+U*U)))/2),Y=kD(F[0]*F[0]+F[1]*F[1]);C=ED(A,(c-Y)/(W-1)),T=ED(A,(f-Y)/(W+1))}}E>AD?T>AD?(y=jD(j,B,P,O,f,T,m),v=jD(R,I,L,N,f,T,m),s.moveTo(y.cx+y.x01,y.cy+y.y01),T<A?s.arc(y.cx,y.cy,T,xD(y.y01,y.x01),xD(v.y01,v.x01),!m):(s.arc(y.cx,y.cy,T,xD(y.y01,y.x01),xD(y.y11,y.x11),!m),s.arc(0,0,f,xD(y.cy+y.y11,y.cx+y.x11),xD(v.cy+v.y11,v.cx+v.x11),!m),s.arc(v.cx,v.cy,T,xD(v.y11,v.x11),xD(v.y01,v.x01),!m))):(s.moveTo(P,O),s.arc(0,0,f,g,b,!m)):s.moveTo(P,O),c>AD&&w>AD?C>AD?(y=jD(L,N,R,I,c,-C,m),v=jD(P,O,j,B,c,-C,m),s.lineTo(y.cx+y.x01,y.cy+y.y01),C<A?s.arc(y.cx,y.cy,C,xD(y.y01,y.x01),xD(v.y01,v.x01),!m):(s.arc(y.cx,y.cy,C,xD(y.y01,y.x01),xD(y.y11,y.x11),!m),s.arc(0,0,c,xD(y.cy+y.y11,y.cx+y.x11),xD(v.cy+v.y11,v.cx+v.x11),m),s.arc(v.cx,v.cy,C,xD(v.y11,v.x11),xD(v.y01,v.x01),!m))):s.arc(0,0,c,_,x,m):s.lineTo(L,N)}else s.moveTo(0,0);if(s.closePath(),u)return s=null,u+\"\"||null}return u.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-CD/2;return[_D(r)*n,SD(r)*n]},u.innerRadius=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(+t),u):e},u.outerRadius=function(e){return arguments.length?(t=\"function\"==typeof e?e:gD(+e),u):t},u.cornerRadius=function(e){return arguments.length?(n=\"function\"==typeof e?e:gD(+e),u):n},u.padRadius=function(e){return arguments.length?(r=null==e?null:\"function\"==typeof e?e:gD(+e),u):r},u.startAngle=function(e){return arguments.length?(i=\"function\"==typeof e?e:gD(+e),u):i},u.endAngle=function(e){return arguments.length?(o=\"function\"==typeof e?e:gD(+e),u):o},u.padAngle=function(e){return arguments.length?(a=\"function\"==typeof e?e:gD(+e),u):a},u.context=function(e){return arguments.length?(s=null==e?null:e,u):s},u}var qD=Array.prototype.slice;function zD(e){return\"object\"==typeof e&&\"length\"in e?e:Array.from(e)}function VD(e){this._context=e}function UD(e){return new VD(e)}function WD(e){return e[0]}function YD(e){return e[1]}function XD(e,t){var n=gD(!0),r=null,i=UD,o=null;function a(a){var s,u,l,c=(a=zD(a)).length,f=!1;for(null==r&&(o=i(l=Nw())),s=0;s<=c;++s)!(s<c&&n(u=a[s],s,a))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+e(u,s,a),+t(u,s,a));if(l)return o=null,l+\"\"||null}return e=\"function\"==typeof e?e:void 0===e?WD:gD(e),t=\"function\"==typeof t?t:void 0===t?YD:gD(t),a.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(+t),a):e},a.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:gD(+e),a):t},a.defined=function(e){return arguments.length?(n=\"function\"==typeof e?e:gD(!!e),a):n},a.curve=function(e){return arguments.length?(i=e,null!=r&&(o=i(r)),a):i},a.context=function(e){return arguments.length?(null==e?r=o=null:o=i(r=e),a):r},a}function HD(e,t,n){var r=null,i=gD(!0),o=null,a=UD,s=null;function u(u){var l,c,f,p,d,h=(u=zD(u)).length,m=!1,y=new Array(h),v=new Array(h);for(null==o&&(s=a(d=Nw())),l=0;l<=h;++l){if(!(l<h&&i(p=u[l],l,u))===m)if(m=!m)c=l,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=l-1;f>=c;--f)s.point(y[f],v[f]);s.lineEnd(),s.areaEnd()}m&&(y[l]=+e(p,l,u),v[l]=+t(p,l,u),s.point(r?+r(p,l,u):y[l],n?+n(p,l,u):v[l]))}if(d)return s=null,d+\"\"||null}function l(){return XD().defined(i).curve(a).context(o)}return e=\"function\"==typeof e?e:void 0===e?WD:gD(+e),t=\"function\"==typeof t?t:gD(void 0===t?0:+t),n=\"function\"==typeof n?n:void 0===n?YD:gD(+n),u.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(+t),r=null,u):e},u.x0=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(+t),u):e},u.x1=function(e){return arguments.length?(r=null==e?null:\"function\"==typeof e?e:gD(+e),u):r},u.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:gD(+e),n=null,u):t},u.y0=function(e){return arguments.length?(t=\"function\"==typeof e?e:gD(+e),u):t},u.y1=function(e){return arguments.length?(n=null==e?null:\"function\"==typeof e?e:gD(+e),u):n},u.lineX0=u.lineY0=function(){return l().x(e).y(t)},u.lineY1=function(){return l().x(e).y(n)},u.lineX1=function(){return l().x(r).y(t)},u.defined=function(e){return arguments.length?(i=\"function\"==typeof e?e:gD(!!e),u):i},u.curve=function(e){return arguments.length?(a=e,null!=o&&(s=a(o)),u):a},u.context=function(e){return arguments.length?(null==e?o=s=null:s=a(o=e),u):o},u}function GD(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function $D(e){return e}function KD(){var e=$D,t=GD,n=null,r=gD(0),i=gD(DD),o=gD(0);function a(a){var s,u,l,c,f,p=(a=zD(a)).length,d=0,h=new Array(p),m=new Array(p),y=+r.apply(this,arguments),v=Math.min(DD,Math.max(-DD,i.apply(this,arguments)-y)),g=Math.min(Math.abs(v)/p,o.apply(this,arguments)),b=g*(v<0?-1:1);for(s=0;s<p;++s)(f=m[h[s]=s]=+e(a[s],s,a))>0&&(d+=f);for(null!=t?h.sort((function(e,n){return t(m[e],m[n])})):null!=n&&h.sort((function(e,t){return n(a[e],a[t])})),s=0,l=d?(v-p*b)/d:0;s<p;++s,y=c)u=h[s],c=y+((f=m[u])>0?f*l:0)+b,m[u]={data:a[u],index:s,value:f,startAngle:y,endAngle:c,padAngle:g};return m}return a.value=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(+t),a):e},a.sortValues=function(e){return arguments.length?(t=e,n=null,a):t},a.sort=function(e){return arguments.length?(n=e,t=null,a):n},a.startAngle=function(e){return arguments.length?(r=\"function\"==typeof e?e:gD(+e),a):r},a.endAngle=function(e){return arguments.length?(i=\"function\"==typeof e?e:gD(+e),a):i},a.padAngle=function(e){return arguments.length?(o=\"function\"==typeof e?e:gD(+e),a):o},a}VD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var ZD=QD(UD);function JD(e){this._curve=e}function QD(e){function t(t){return new JD(e(t))}return t._curve=e,t}function eM(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(e){return arguments.length?t(QD(e)):t()._curve},e}function tM(){return eM(XD().curve(ZD))}function nM(){var e=HD().curve(ZD),t=e.curve,n=e.lineX0,r=e.lineX1,i=e.lineY0,o=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return eM(n())},delete e.lineX0,e.lineEndAngle=function(){return eM(r())},delete e.lineX1,e.lineInnerRadius=function(){return eM(i())},delete e.lineY0,e.lineOuterRadius=function(){return eM(o())},delete e.lineY1,e.curve=function(e){return arguments.length?t(QD(e)):t()._curve},e}function rM(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}JD.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};class iM{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t)}this._x0=e,this._y0=t}}class oM{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,t){if(e=+e,t=+t,0==this._point++)this._x0=e,this._y0=t;else{const n=rM(this._x0,this._y0),r=rM(this._x0,this._y0=(this._y0+t)/2),i=rM(e,this._y0),o=rM(e,t);this._context.moveTo(...n),this._context.bezierCurveTo(...r,...i,...o)}}}function aM(e){return new iM(e,!0)}function sM(e){return new iM(e,!1)}function uM(e){return new oM(e)}function lM(e){return e.source}function cM(e){return e.target}function fM(e){let t=lM,n=cM,r=WD,i=YD,o=null,a=null;function s(){let s;const u=qD.call(arguments),l=t.apply(this,u),c=n.apply(this,u);if(null==o&&(a=e(s=Nw())),a.lineStart(),u[0]=l,a.point(+r.apply(this,u),+i.apply(this,u)),u[0]=c,a.point(+r.apply(this,u),+i.apply(this,u)),a.lineEnd(),s)return a=null,s+\"\"||null}return s.source=function(e){return arguments.length?(t=e,s):t},s.target=function(e){return arguments.length?(n=e,s):n},s.x=function(e){return arguments.length?(r=\"function\"==typeof e?e:gD(+e),s):r},s.y=function(e){return arguments.length?(i=\"function\"==typeof e?e:gD(+e),s):i},s.context=function(t){return arguments.length?(null==t?o=a=null:a=e(o=t),s):o},s}function pM(){return fM(aM)}function dM(){return fM(sM)}function hM(){const e=fM(uM);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const mM=kD(3),yM={draw(e,t){const n=.59436*kD(t+ED(t/28,.75)),r=n/2,i=r*mM;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}},vM={draw(e,t){const n=kD(t/CD);e.moveTo(n,0),e.arc(0,0,n,0,DD)}},gM={draw(e,t){const n=kD(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},bM=kD(1/3),xM=2*bM,_M={draw(e,t){const n=kD(t/xM),r=n*bM;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},wM={draw(e,t){const n=.62625*kD(t);e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}},EM={draw(e,t){const n=.87559*kD(t-ED(t/7,2));e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}},SM={draw(e,t){const n=kD(t),r=-n/2;e.rect(r,r,n,n)}},kM={draw(e,t){const n=.4431*kD(t);e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}},AM=SD(CD/10)/SD(7*CD/10),CM=SD(DD/10)*AM,TM=-_D(DD/10)*AM,DM={draw(e,t){const n=kD(.8908130915292852*t),r=CM*n,i=TM*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){const o=DD*t/5,a=_D(o),s=SD(o);e.lineTo(s*n,-a*n),e.lineTo(a*r-s*i,s*r+a*i)}e.closePath()}},MM=kD(3),PM={draw(e,t){const n=-kD(t/(3*MM));e.moveTo(0,2*n),e.lineTo(-MM*n,-n),e.lineTo(MM*n,-n),e.closePath()}},OM=kD(3),LM={draw(e,t){const n=.6824*kD(t),r=n/2,i=n*OM/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}},NM=-.5,FM=kD(3)/2,RM=1/kD(12),IM=3*(RM/2+1),jM={draw(e,t){const n=kD(t/IM),r=n/2,i=n*RM,o=r,a=n*RM+n,s=-o,u=a;e.moveTo(r,i),e.lineTo(o,a),e.lineTo(s,u),e.lineTo(NM*r-FM*i,FM*r+NM*i),e.lineTo(NM*o-FM*a,FM*o+NM*a),e.lineTo(NM*s-FM*u,FM*s+NM*u),e.lineTo(NM*r+FM*i,NM*i-FM*r),e.lineTo(NM*o+FM*a,NM*a-FM*o),e.lineTo(NM*s+FM*u,NM*u-FM*s),e.closePath()}},BM={draw(e,t){const n=.6189*kD(t-ED(t/6,1.7));e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}},qM=[vM,gM,_M,SM,DM,PM,jM],zM=[vM,EM,BM,LM,yM,kM,wM];function VM(e,t){let n=null;function r(){let r;if(n||(n=r=Nw()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),r)return n=null,r+\"\"||null}return e=\"function\"==typeof e?e:gD(e||vM),t=\"function\"==typeof t?t:gD(void 0===t?64:+t),r.type=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(t),r):e},r.size=function(e){return arguments.length?(t=\"function\"==typeof e?e:gD(+e),r):t},r.context=function(e){return arguments.length?(n=null==e?null:e,r):n},r}function UM(){}function WM(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function YM(e){this._context=e}function XM(e){return new YM(e)}function HM(e){this._context=e}function GM(e){return new HM(e)}function $M(e){this._context=e}function KM(e){return new $M(e)}function ZM(e,t){this._basis=new YM(e),this._beta=t}YM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:WM(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:WM(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},HM.prototype={areaStart:UM,areaEnd:UM,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:WM(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},$M.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:WM(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}},ZM.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r,i=e[0],o=t[0],a=e[n]-i,s=t[n]-o,u=-1;++u<=n;)r=u/n,this._basis.point(this._beta*e[u]+(1-this._beta)*(i+r*a),this._beta*t[u]+(1-this._beta)*(o+r*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const JM=function e(t){function n(e){return 1===t?new YM(e):new ZM(e,t)}return n.beta=function(t){return e(+t)},n}(.85);function QM(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function eP(e,t){this._context=e,this._k=(1-t)/6}eP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:QM(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:QM(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const tP=function e(t){function n(e){return new eP(e,t)}return n.tension=function(t){return e(+t)},n}(0);function nP(e,t){this._context=e,this._k=(1-t)/6}nP.prototype={areaStart:UM,areaEnd:UM,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:QM(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const rP=function e(t){function n(e){return new nP(e,t)}return n.tension=function(t){return e(+t)},n}(0);function iP(e,t){this._context=e,this._k=(1-t)/6}iP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:QM(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const oP=function e(t){function n(e){return new iP(e,t)}return n.tension=function(t){return e(+t)},n}(0);function aP(e,t,n){var r=e._x1,i=e._y1,o=e._x2,a=e._y2;if(e._l01_a>AD){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,u=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/u,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/u}if(e._l23_a>AD){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*l+e._x1*e._l23_2a-t*e._l12_2a)/c,a=(a*l+e._y1*e._l23_2a-n*e._l12_2a)/c}e._context.bezierCurveTo(r,i,o,a,e._x2,e._y2)}function sP(e,t){this._context=e,this._alpha=t}sP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:aP(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const uP=function e(t){function n(e){return t?new sP(e,t):new eP(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function lP(e,t){this._context=e,this._alpha=t}lP.prototype={areaStart:UM,areaEnd:UM,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:aP(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const cP=function e(t){function n(e){return t?new lP(e,t):new nP(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function fP(e,t){this._context=e,this._alpha=t}fP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:aP(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const pP=function e(t){function n(e){return t?new fP(e,t):new iP(e,0)}return n.alpha=function(t){return e(+t)},n}(.5);function dP(e){this._context=e}function hP(e){return new dP(e)}function mP(e){return e<0?-1:1}function yP(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),a=(n-e._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(mP(o)+mP(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function vP(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function gP(e,t,n){var r=e._x0,i=e._y0,o=e._x1,a=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,a-s*n,o,a)}function bP(e){this._context=e}function xP(e){this._context=new _P(e)}function _P(e){this._context=e}function wP(e){return new bP(e)}function EP(e){return new xP(e)}function SP(e){this._context=e}function kP(e){var t,n,r=e.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,o[t]=4,a[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,o[r-1]=7,a[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/o[t-1],o[t]-=n,a[t]-=n*a[t-1];for(i[r-1]=a[r-1]/o[r-1],t=r-2;t>=0;--t)i[t]=(a[t]-i[t+1])/o[t];for(o[r-1]=(e[r]+i[r-1])/2,t=0;t<r-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function AP(e){return new SP(e)}function CP(e,t){this._context=e,this._t=t}function TP(e){return new CP(e,.5)}function DP(e){return new CP(e,0)}function MP(e){return new CP(e,1)}function PP(e,t){if((i=e.length)>1)for(var n,r,i,o=1,a=e[t[0]],s=a.length;o<i;++o)for(r=a,a=e[t[o]],n=0;n<s;++n)a[n][1]+=a[n][0]=isNaN(r[n][1])?r[n][0]:r[n][1]}function OP(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function LP(e,t){return e[t]}function NP(e){const t=[];return t.key=e,t}function FP(){var e=gD([]),t=OP,n=PP,r=LP;function i(i){var o,a,s=Array.from(e.apply(this,arguments),NP),u=s.length,l=-1;for(const e of i)for(o=0,++l;o<u;++o)(s[o][l]=[0,+r(e,s[o].key,l,i)]).data=e;for(o=0,a=zD(t(s));o<u;++o)s[a[o]].index=o;return n(s,a),s}return i.keys=function(t){return arguments.length?(e=\"function\"==typeof t?t:gD(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=\"function\"==typeof e?e:gD(+e),i):r},i.order=function(e){return arguments.length?(t=null==e?OP:\"function\"==typeof e?e:gD(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=null==e?PP:e,i):n},i}function RP(e,t){if((r=e.length)>0){for(var n,r,i,o=0,a=e[0].length;o<a;++o){for(i=n=0;n<r;++n)i+=e[n][o][1]||0;if(i)for(n=0;n<r;++n)e[n][o][1]/=i}PP(e,t)}}function IP(e,t){if((s=e.length)>0)for(var n,r,i,o,a,s,u=0,l=e[t[0]].length;u<l;++u)for(o=a=0,n=0;n<s;++n)(i=(r=e[t[n]][u])[1]-r[0])>0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)}function jP(e,t){if((n=e.length)>0){for(var n,r=0,i=e[t[0]],o=i.length;r<o;++r){for(var a=0,s=0;a<n;++a)s+=e[a][r][1]||0;i[r][1]+=i[r][0]=-s/2}PP(e,t)}}function BP(e,t){if((i=e.length)>0&&(r=(n=e[t[0]]).length)>0){for(var n,r,i,o=0,a=1;a<r;++a){for(var s=0,u=0,l=0;s<i;++s){for(var c=e[t[s]],f=c[a][1]||0,p=(f-(c[a-1][1]||0))/2,d=0;d<s;++d){var h=e[t[d]];p+=(h[a][1]||0)-(h[a-1][1]||0)}u+=f,l+=p*f}n[a-1][1]+=n[a-1][0]=o,u&&(o-=l/u)}n[a-1][1]+=n[a-1][0]=o,PP(e,t)}}function qP(e){var t=e.map(zP);return OP(e).sort((function(e,n){return t[e]-t[n]}))}function zP(e){for(var t,n=-1,r=0,i=e.length,o=-1/0;++n<i;)(t=+e[n][1])>o&&(o=t,r=n);return r}function VP(e){var t=e.map(UP);return OP(e).sort((function(e,n){return t[e]-t[n]}))}function UP(e){for(var t,n=0,r=-1,i=e.length;++r<i;)(t=+e[r][1])&&(n+=t);return n}function WP(e){return VP(e).reverse()}function YP(e){var t,n,r=e.length,i=e.map(UP),o=qP(e),a=0,s=0,u=[],l=[];for(t=0;t<r;++t)n=o[t],a<s?(a+=i[n],u.push(n)):(s+=i[n],l.push(n));return l.reverse().concat(u)}function XP(e){return OP(e).reverse()}dP.prototype={areaStart:UM,areaEnd:UM,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}},bP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:gP(this,this._t0,vP(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(t=+t,(e=+e)!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,gP(this,vP(this,n=yP(this,e,t)),n);break;default:gP(this,this._t0,n=yP(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},(xP.prototype=Object.create(bP.prototype)).point=function(e,t){bP.prototype.point.call(this,t,e)},_P.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}},SP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),2===n)this._context.lineTo(e[1],t[1]);else for(var r=kP(e),i=kP(t),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[a],t[a]);(this._line||0!==this._line&&1===n)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}},CP.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};var HP=\"%Y-%m-%dT%H:%M:%S.%LZ\",GP=Date.prototype.toISOString?function(e){return e.toISOString()}:Qk(HP);const $P=GP;var KP=+new Date(\"2000-01-01T00:00:00.000Z\")?function(e){var t=new Date(e);return isNaN(t)?null:t}:eA(HP);const ZP=KP;function JP(e,t,n){var r=new Jl,i=t;return null==t?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(e,t,n){t=+t,n=null==n?Kl():+n,r._restart((function o(a){a+=i,r._restart(o,i+=t,n),e(a)}),t,n)},r.restart(e,t,n),r)}const QP=e=>()=>e;function eO(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function tO(e,t,n){this.k=e,this.x=t,this.y=n}tO.prototype={constructor:tO,scale:function(e){return 1===e?this:new tO(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new tO(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return\"translate(\"+this.x+\",\"+this.y+\") scale(\"+this.k+\")\"}};var nO=new tO(1,0,0);function rO(e){for(;!e.__zoom;)if(!(e=e.parentNode))return nO;return e.__zoom}function iO(e){e.stopImmediatePropagation()}function oO(e){e.preventDefault(),e.stopImmediatePropagation()}function aO(e){return!(e.ctrlKey&&\"wheel\"!==e.type||e.button)}function sO(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute(\"viewBox\")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function uO(){return this.__zoom||nO}function lO(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function cO(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function fO(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function pO(){var e,t,n,r=aO,i=sO,o=fO,a=lO,s=cO,u=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,f=mw,p=fs(\"start\",\"zoom\",\"end\"),d=500,h=0,m=10;function y(e){e.property(\"__zoom\",uO).on(\"wheel.zoom\",E,{passive:!1}).on(\"mousedown.zoom\",S).on(\"dblclick.zoom\",k).filter(s).on(\"touchstart.zoom\",A).on(\"touchmove.zoom\",C).on(\"touchend.zoom touchcancel.zoom\",T).style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function v(e,t){return(t=Math.max(u[0],Math.min(u[1],t)))===e.k?e:new tO(t,e.x,e.y)}function g(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new tO(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,t,n,r){e.on(\"start.zoom\",(function(){_(this,arguments).event(r).start()})).on(\"interrupt.zoom end.zoom\",(function(){_(this,arguments).event(r).end()})).tween(\"zoom\",(function(){var e=this,o=arguments,a=_(e,o).event(r),s=i.apply(e,o),u=null==n?b(s):\"function\"==typeof n?n.apply(e,o):n,l=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),c=e.__zoom,p=\"function\"==typeof t?t.apply(e,o):t,d=f(c.invert(u).concat(l/c.k),p.invert(u).concat(l/p.k));return function(e){if(1===e)e=p;else{var t=d(e),n=l/t[2];e=new tO(n,u[0]-t[0]*n,u[1]-t[1]*n)}a.zoom(null,e)}}))}function _(e,t,n){return!n&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function E(e,...t){if(r.apply(this,arguments)){var n=_(this,t).event(e),i=this.__zoom,s=Math.max(u[0],Math.min(u[1],i.k*Math.pow(2,a.apply(this,arguments)))),c=Bl(e);if(n.wheel)n.mouse[0][0]===c[0]&&n.mouse[0][1]===c[1]||(n.mouse[1]=i.invert(n.mouse[0]=c)),clearTimeout(n.wheel);else{if(i.k===s)return;n.mouse=[c,i.invert(c)],fc(this),n.start()}oO(e),n.wheel=setTimeout(f,150),n.zoom(\"mouse\",o(g(v(i,s),n.mouse[0],n.mouse[1]),n.extent,l))}function f(){n.wheel=null,n.end()}}function S(e,...t){if(!n&&r.apply(this,arguments)){var i=e.currentTarget,a=_(this,t,!0).event(e),s=Cu(e.view).on(\"mousemove.zoom\",p,!0).on(\"mouseup.zoom\",d,!0),u=Bl(e,i),c=e.clientX,f=e.clientY;Ou(e.view),iO(e),a.mouse=[u,this.__zoom.invert(u)],fc(this),a.start()}function p(e){if(oO(e),!a.moved){var t=e.clientX-c,n=e.clientY-f;a.moved=t*t+n*n>h}a.event(e).zoom(\"mouse\",o(g(a.that.__zoom,a.mouse[0]=Bl(e,i),a.mouse[1]),a.extent,l))}function d(e){s.on(\"mousemove.zoom mouseup.zoom\",null),Lu(e.view,a.moved),oO(e),a.event(e).end()}}function k(e,...t){if(r.apply(this,arguments)){var n=this.__zoom,a=Bl(e.changedTouches?e.changedTouches[0]:e,this),s=n.invert(a),u=n.k*(e.shiftKey?.5:2),f=o(g(v(n,u),a,s),i.apply(this,t),l);oO(e),c>0?Cu(this).transition().duration(c).call(x,f,a,e):Cu(this).call(y.transform,f,a,e)}}function A(n,...i){if(r.apply(this,arguments)){var o,a,s,u,l=n.touches,c=l.length,f=_(this,i,n.changedTouches.length===c).event(n);for(iO(n),a=0;a<c;++a)u=[u=Bl(s=l[a],this),this.__zoom.invert(u),s.identifier],f.touch0?f.touch1||f.touch0[2]===u[2]||(f.touch1=u,f.taps=0):(f.touch0=u,o=!0,f.taps=1+!!e);e&&(e=clearTimeout(e)),o&&(f.taps<2&&(t=u[0],e=setTimeout((function(){e=null}),d)),fc(this),f.start())}}function C(e,...t){if(this.__zooming){var n,r,i,a,s=_(this,t).event(e),u=e.changedTouches,c=u.length;for(oO(e),n=0;n<c;++n)i=Bl(r=u[n],this),s.touch0&&s.touch0[2]===r.identifier?s.touch0[0]=i:s.touch1&&s.touch1[2]===r.identifier&&(s.touch1[0]=i);if(r=s.that.__zoom,s.touch1){var f=s.touch0[0],p=s.touch0[1],d=s.touch1[0],h=s.touch1[1],m=(m=d[0]-f[0])*m+(m=d[1]-f[1])*m,y=(y=h[0]-p[0])*y+(y=h[1]-p[1])*y;r=v(r,Math.sqrt(m/y)),i=[(f[0]+d[0])/2,(f[1]+d[1])/2],a=[(p[0]+h[0])/2,(p[1]+h[1])/2]}else{if(!s.touch0)return;i=s.touch0[0],a=s.touch0[1]}s.zoom(\"touch\",o(g(r,i,a),s.extent,l))}}function T(e,...r){if(this.__zooming){var i,o,a=_(this,r).event(e),s=e.changedTouches,u=s.length;for(iO(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),d),i=0;i<u;++i)o=s[i],a.touch0&&a.touch0[2]===o.identifier?delete a.touch0:a.touch1&&a.touch1[2]===o.identifier&&delete a.touch1;if(a.touch1&&!a.touch0&&(a.touch0=a.touch1,delete a.touch1),a.touch0)a.touch0[1]=this.__zoom.invert(a.touch0[0]);else if(a.end(),2===a.taps&&(o=Bl(o,this),Math.hypot(t[0]-o[0],t[1]-o[1])<m)){var l=Cu(this).on(\"dblclick.zoom\");l&&l.apply(this,arguments)}}}return y.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(\"__zoom\",uO),e!==i?x(e,t,n,r):i.interrupt().each((function(){_(this,arguments).event(r).start().zoom(null,\"function\"==typeof t?t.apply(this,arguments):t).end()}))},y.scaleBy=function(e,t,n,r){y.scaleTo(e,(function(){var e=this.__zoom.k,n=\"function\"==typeof t?t.apply(this,arguments):t;return e*n}),n,r)},y.scaleTo=function(e,t,n,r){y.transform(e,(function(){var e=i.apply(this,arguments),r=this.__zoom,a=null==n?b(e):\"function\"==typeof n?n.apply(this,arguments):n,s=r.invert(a),u=\"function\"==typeof t?t.apply(this,arguments):t;return o(g(v(r,u),a,s),e,l)}),n,r)},y.translateBy=function(e,t,n,r){y.transform(e,(function(){return o(this.__zoom.translate(\"function\"==typeof t?t.apply(this,arguments):t,\"function\"==typeof n?n.apply(this,arguments):n),i.apply(this,arguments),l)}),null,r)},y.translateTo=function(e,t,n,r,a){y.transform(e,(function(){var e=i.apply(this,arguments),a=this.__zoom,s=null==r?b(e):\"function\"==typeof r?r.apply(this,arguments):r;return o(nO.translate(s[0],s[1]).scale(a.k).translate(\"function\"==typeof t?-t.apply(this,arguments):-t,\"function\"==typeof n?-n.apply(this,arguments):-n),e,l)}),r,a)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit(\"start\")),this},zoom:function(e,t){return this.mouse&&\"mouse\"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&\"touch\"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&\"touch\"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(\"zoom\"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit(\"end\")),this},emit:function(e){var t=Cu(this.that).datum();p.call(e,this.that,new eO(e,{sourceEvent:this.sourceEvent,target:y,type:e,transform:this.that.__zoom,dispatch:p}),t)}},y.wheelDelta=function(e){return arguments.length?(a=\"function\"==typeof e?e:QP(+e),y):a},y.filter=function(e){return arguments.length?(r=\"function\"==typeof e?e:QP(!!e),y):r},y.touchable=function(e){return arguments.length?(s=\"function\"==typeof e?e:QP(!!e),y):s},y.extent=function(e){return arguments.length?(i=\"function\"==typeof e?e:QP([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),y):i},y.scaleExtent=function(e){return arguments.length?(u[0]=+e[0],u[1]=+e[1],y):[u[0],u[1]]},y.translateExtent=function(e){return arguments.length?(l[0][0]=+e[0][0],l[1][0]=+e[1][0],l[0][1]=+e[0][1],l[1][1]=+e[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(e){return arguments.length?(o=e,y):o},y.duration=function(e){return arguments.length?(c=+e,y):c},y.interpolate=function(e){return arguments.length?(f=e,y):f},y.on=function(){var e=p.on.apply(p,arguments);return e===p?y:e},y.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,y):Math.sqrt(h)},y.tapDistance=function(e){return arguments.length?(m=+e,y):m},y}rO.prototype=tO.prototype,__webpack_require__(76124);var dO=__webpack_require__(29656),hO=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function mO(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function yO(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}\"undefined\"!=typeof window&&void 0!==window.navigator&&__webpack_require__(71548);var vO=function(e){function t(){var e,n,r;mO(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=yO(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.componentDidMount=function(){var e=r.editor.editor;r.highlightSelectedLines(e,r.props.selectedLines)},r.highlightSelectedLines=function(e,t){Array.isArray(t)&&t.forEach((function(t){return e.addLineClass(t,\"wrap\",\"CodeMirror-activeline-background\")}))},r.updateCode=function(e,t,n){!r.props.readOnly&&r.props.onChange&&r.props.onChange(n)},yO(r,n)}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),hO(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.className,r=t.external,i=t.style,a=t.codeText,s={mode:\"jsx\",lineNumbers:!1,lineWrapping:!0,smartIndent:!1,matchBrackets:!0,theme:t.theme,readOnly:t.readOnly};return o.createElement(dO.Rt,{ref:function(t){e.editor=t},className:n,external:r,options:s,style:i,value:a,onChange:this.updateCode})}}]),t}(o.Component);vO.propTypes={className:u().string,codeText:u().string,external:u().bool,onChange:u().func,readOnly:u().bool,selectedLines:u().array,style:u().object,theme:u().string};const gO=vO;var bO=__webpack_require__(36931),xO=__webpack_require__(35563),_O=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function wO(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function EO(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 SO=[{key:\"array\",test:u().array,isRequired:u().array.isRequired},{key:\"boolean\",test:u().bool,isRequired:u().bool.isRequired},{key:\"function\",test:u().func,isRequired:u().func.isRequired},{key:\"number\",test:u().number,isRequired:u().number.isRequired},{key:\"object\",test:u().object,isRequired:u().array.isRequired},{key:\"string\",test:u().string,isRequired:u().string.isRequired},{key:\"node\",test:u().node,isRequired:u().node.isRequired},{key:\"element\",test:u().element,isRequired:u().element.isRequired}],kO=function(e){var t=\"custom\",n=!1;return SO.some((function(r){return e===r.test?(t=r.key,!0):e===r.isRequired&&(t=r.key,n=!0,!0)})),{name:t,isRequired:n}},AO=function(e){function t(){return wO(this,t),EO(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}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:\"render\",value:function(){var e=[],t=this.props,n=t.componentClass,r=t.ignore,i=t.propDescriptionMap;for(var a in n.propTypes)r.indexOf(a)&&e.push({propName:a,type:kO(n.propTypes[a]),description:i[a]||\"\"});return o.createElement(\"div\",{className:\"playgroundDocs\"},o.createElement(\"ul\",null,e.map((function(e){return o.createElement(\"li\",{key:e.propName},o.createElement(\"b\",null,e.propName+\": \"),o.createElement(\"i\",null,e.type.name),e.description&&\" - \"+e.description,o.createElement(\"b\",null,e.type.isRequired?\" required\":\"\"))}))))}}]),t}(o.Component);AO.defaultProps={propDescriptionMap:{},ignore:[]},AO.propTypes={componentClass:u().func,ignore:u().array,propDescriptionMap:u().object};const CO=AO;var TO=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function DO(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function MO(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 PO=function(e){function t(){var e,n,r;DO(this,t);for(var i=arguments.length,o=Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r=MO(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(o))),r.state={code:r.props.codeText,expandedCode:r.props.initiallyExpanded,external:!0},r.componentWillReceiveProps=function(e){r.setState({code:e.codeText,external:!0})},r._handleCodeChange=function(e){r.setState({code:e,external:!1})},r._toggleCode=function(){r.setState({expandedCode:!r.state.expandedCode})},MO(r,n)}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),TO(t,[{key:\"render\",value:function(){var e=this.state,t=e.code,n=e.external,r=e.expandedCode,i=this.props,a=i.codeText,s=i.collapsableCode,u=i.context,l=i.docClass,c=i.es6Console,f=i.noRender,p=i.previewComponent,d=i.propDescriptionMap,h=i.scope,m=i.selectedLines,y=i.theme;return o.createElement(\"div\",{className:\"playground\"+(s?\" collapsableCode\":\"\")},l?o.createElement(CO,{componentClass:l,propDescriptionMap:d}):null,o.createElement(\"div\",{className:\"playgroundCode\"+(r?\" expandedCode\":\"\")},o.createElement(gO,{className:\"playgroundStage\",codeText:a,external:n,onChange:this._handleCodeChange,selectedLines:m,theme:y})),s?o.createElement(\"div\",{className:\"playgroundToggleCodeBar\"},o.createElement(\"span\",{className:\"playgroundToggleCodeLink\",onClick:this._toggleCode},r?\"collapse\":\"expand\")):null,o.createElement(\"div\",{className:\"playgroundPreview\"},c?o.createElement(xO.Z,{code:t,scope:h}):o.createElement(bO.Z,{context:u,code:t,scope:h,noRender:f,previewComponent:p})))}}]),t}(o.Component);PO.defaultProps={theme:\"monokai\",noRender:!0,context:{},initiallyExpanded:!1},PO.propTypes={codeText:u().string.isRequired,scope:u().object.isRequired,collapsableCode:u().bool,docClass:u().func,propDescriptionMap:u().object,theme:u().string,selectedLines:u().array,noRender:u().bool,es6Console:u().bool,context:u().object,initiallyExpanded:u().bool,previewComponent:u().node};const OO=PO;var LO=__webpack_require__(73303),NO=__webpack_require__.n(LO),FO=__webpack_require__(23560),RO=__webpack_require__.n(FO),IO=__webpack_require__(52353),jO=__webpack_require__.n(IO);function BO(e,t,n){return RO()(t[e])&&RO()(n[e])?n[e]:null}function qO(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return e(...r,...n)}}const zO=u().oneOfType([u().string,u().number,u().array,u().func]),VO=(u().oneOf([\"linear\",\"time\",\"ordinal\",\"log\",\"pow\"]),u().oneOfType([u().number,u().string,u().instanceOf(Date),u().func]));var UO=__webpack_require__(45220),WO=__webpack_require__.n(UO),YO=__webpack_require__(39601),XO=__webpack_require__.n(YO),HO=__webpack_require__(81763),GO=__webpack_require__.n(HO),$O=__webpack_require__(47960),KO=__webpack_require__.n($O),ZO=__webpack_require__(44908),JO=__webpack_require__.n(ZO),QO=__webpack_require__(85564),eL=__webpack_require__.n(QO),tL=__webpack_require__(39693),nL=__webpack_require__.n(tL),rL=__webpack_require__(17204),iL=__webpack_require__.n(rL),oL=__webpack_require__(27361),aL=__webpack_require__.n(oL),sL=__webpack_require__(84753),uL=__webpack_require__.n(sL),lL=__webpack_require__(24350),cL=__webpack_require__.n(lL),fL=__webpack_require__(45578),pL=__webpack_require__.n(fL),dL=__webpack_require__(18721),hL=__webpack_require__.n(dL),mL=__webpack_require__(84486),yL=__webpack_require__.n(mL),vL=__webpack_require__(6557),gL=__webpack_require__.n(vL);function bL(e){return RO()(e)?e:WO()(e)||jO()(e)?gL():XO()(e)}function xL(e){return RO()(e)?e:()=>e}function _L(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return RO()(e)?e(...n):e}function wL(e){if(Array.isArray(e.datasets))return e.datasets;if(Array.isArray(e.data))return[e.data];if(o.Children.count(e.children)){let t=[];return o.Children.forEach(e.children,(e=>{t=t.concat(wL(e.props))})),t}return[]}function EL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gL();if(Array.isArray(e))return e.every(((e,n)=>void 0===t(e,n)))?\"categorical\":e.every(((e,n)=>GO()(t(e,n))||void 0===t(e,n)))?\"number\":e.every(((e,n)=>KO()(t(e,n))||void 0===t(e,n)))?\"time\":\"categorical\";throw new Error(\"inferDataType expects a data array\")}function SL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gL();if(!Array.isArray(e))throw new Error(\"inferDatasetsType expects a datasets array\");const n=e.map((e=>EL(e,t))),r=JO()(n);return 1===r.length?r[0]:\"categorical\"}function kL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"categorical\";return Array.isArray(e)&&!!e.length&&(\"categorical\"===t||\"number\"===t&&2===e.length&&e.every(GO())||\"time\"===t&&2===e.length&&e.every(KO()))}function AL(e,t){if(Array.isArray(e))return\"categorical\"===t?JO()(eL()(nL()(e))):Hp(eL()(e))}function CL(e){return iL()([\"top\",\"bottom\",\"left\",\"right\"].map((t=>[t,aL()(uL()(e,t),t)])))}function TL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gL(),n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=n;return r||(r=EL(e,t)),\"number\"===r||\"time\"===r?Hp(e.map(t)):JO()(e.map(t))}function DL(e){const{horizontal:t,data:n,getX:r,getY:i}=e;return{[t?\"y\":\"x\"]:TL(n,bL(t?i:r))}}function ML(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:gL(),n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=n;r||(r=SL(e,t));const i=e.map((e=>TL(e,t,r)));return AL(i,r)}function PL(e,t,n,r){let i=r;switch(i||(i=EL(e,t)),i){case\"number\":case\"time\":return Hp(eL()([Hp(e,((e,n)=>+t(e,n))),Hp(e,((e,t)=>+n(e,t)))]));case\"categorical\":return JO()(eL()([e.map(t),e.map(n)]));default:return[]}}function OL(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"x\";const n=e.map((e=>{const{data:n}=e;return cL()(n,e.combineKey||t)})),r=[].concat(...e.map((e=>e.data.map(bL(e.combineKey||t))))),i=pL()(r,(e=>e instanceof Date?e.toString():e));return i.map((r=>{const i={[t]:r};return e.forEach(((e,t)=>{if(!e.dataKeys||!Object.keys(e.dataKeys).length)return;const o=n[t];if(!hL()(o,r))return;const a=o[r];yL()(e.dataKeys,((e,t)=>{i[e]=a[t]}))})),i}))}function LL(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class NL extends o.Component{constructor(){super(...arguments),LL(this,\"onMouseEnterSlice\",((e,t)=>{this.props.onMouseEnterSlice(e,t)})),LL(this,\"onMouseMoveSlice\",((e,t)=>{this.props.onMouseMoveSlice(e,t)})),LL(this,\"onMouseLeaveSlice\",((e,t)=>{this.props.onMouseLeaveSlice(e,t)})),LL(this,\"onMouseEnterLine\",((e,t)=>{this.props.onMouseEnterLine(e,t)})),LL(this,\"onMouseMoveLine\",((e,t)=>{this.props.onMouseMoveLine(e,t)})),LL(this,\"onMouseLeaveLine\",((e,t)=>{this.props.onMouseLeaveLine(e,t)})),LL(this,\"onClick\",((e,t)=>{this.props.onClick(e,t)}))}renderMarkerLine(e){const{markerLineClassName:t,markerLineStyle:n}=this.props,r={value:this.props.markerLineValue},[i,a,s,u]=[\"onMouseEnterLine\",\"onMouseMoveLine\",\"onMouseLeaveLine\",\"onClick\"].map((e=>{const t=BO(e,this.props,this);return RO()(t)?qO(t,r):null}));return o.createElement(\"path\",{style:n,className:`rct-marker-line ${t}`,d:e,onMouseEnter:i,onMouseMove:a,onMouseLeave:s,onClick:u})}renderSliceLabel(e,t,n,r,i){const{getPieSliceLabel:a,pieSliceLabelStyle:s,pieSliceLabelDistance:u}=this.props,l=(t.end-t.start)/2+t.start,c={textAnchor:\"middle\",dominantBaseline:\"central\"};s&&Object.assign(c,_L(s,e));const f=u?r+_L(u,e):r,p=n.x+Math.sin(2*Math.PI/(1/l))*f,d=n.y-Math.cos(2*Math.PI/(1/l))*f;return o.createElement(\"text\",{key:i,x:p,y:d,style:c},a(e))}renderCenterLabel(e){const{centerLabelStyle:t,centerLabelClassName:n,centerLabel:r}=this.props,{x:i,y:a}=e,s=Object.assign({},{textAnchor:\"middle\",dominantBaseline:\"central\"},t);return o.createElement(\"text\",{className:`rct-pie-label-center ${n}`,x:i,y:a,style:s},r)}render(){const{marginLeft:e,marginRight:t,marginTop:n,marginBottom:r,holeRadius:i}=this.props,a=this.props.width||(this.props.radius?2*this.props.radius+e+t:this.props.height)||150,s=this.props.height||(this.props.radius?2*this.props.radius+n+r:this.props.width)||150,u=this.props.radius||Math.min((a-(e+t))/2,(s-(n+r))/2),l={x:e+u,y:n+u},{data:c,total:f,centerLabel:p,getPieSliceLabel:d,markerLineValue:h,markerLineOverhangInner:m,markerLineOverhangOuter:y,pieSliceClassName:v}=this.props,g=bL(this.props.slice),b=NO()(c,g),x=f||b,_=isFinite(h)?h/x:null;let w=0;const E=c.map((e=>{const t=g(e)/x,n={start:w,end:w+t};return w+=t,n}));return o.createElement(\"svg\",{className:\"rct-pie-chart\",width:a,height:s},c.map(((e,t)=>{const[n,r,a,s]=[\"onMouseEnterSlice\",\"onMouseMoveSlice\",\"onMouseLeaveSlice\",\"onClick\"].map((t=>{const n=BO(t,this.props,this);return RO()(n)?qO(n,e):null})),c=`rct-pie-slice rct-pie-slice-${t} ${_L(v,e,t)||\"\"}`,f=E[t],p=FL(f.start,f.end,l,u,i),d=`pie-slice-${t}`;return o.createElement(\"path\",{className:c,d:p,onMouseEnter:n,onMouseMove:r,onMouseLeave:a,onClick:s,key:d,style:_L(this.props.pieSliceStyle,e,t)})})),b<x?o.createElement(\"path\",{className:\"rct-pie-slice rct-pie-slice-empty\",d:FL(w,1,l,u,i),key:\"pie-slice-empty\"}):null,null!==_&&isFinite(_)?this.renderMarkerLine(function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;const a=Math.sin(2*Math.PI/(1/e)),s=Math.cos(2*Math.PI/(1/e)),[u,l,c,f,p]=[t,n,r,a,s],[d,h]=[Math.max(c-o,0),l+i];return[`M ${u.x+f*d},${u.y-p*d}`,`L ${u.x+f*h},${u.y-p*h} z`].join(\" \")}(_,l,u,i,y,m)):null,p?this.renderCenterLabel(l):null,d?c.map(((e,t)=>this.renderSliceLabel(e,E[t],l,u,t))):null)}}function FL(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,o=t;1===o&&(o=.9999999);const a=Math.sin(2*Math.PI/(1/e)),s=Math.cos(2*Math.PI/(1/e)),u=Math.sin(2*Math.PI/(1/o)),l=Math.cos(2*Math.PI/(1/o)),c=o-e<=.5?0:1,[f,p,d,h,m,y,v]=[n,r,i,a,u,s,l];return[`M ${f.x+h*d},${f.y-y*d}`,`L ${f.x+h*p},${f.y-y*p}`,`A ${p},${p} 0 ${c} 1 ${f.x+m*p},${f.y-v*p}`].concat(i?[`L ${f.x+m*d},${f.y-v*d}`,`A ${d},${d} 0 ${c} 0 ${f.x+h*d},${f.y-y*d} z`]:\"z\").join(\" \")}LL(NL,\"propTypes\",{data:u().array.isRequired,slice:zO.isRequired,total:u().number,width:u().number,height:u().number,radius:u().number,marginTop:u().number,marginBottom:u().number,marginLeft:u().number,marginRight:u().number,holeRadius:u().number,centerLabel:u().string,centerLabelClassName:u().string,centerLabelStyle:u().object,getPieSliceLabel:u().func,pieSliceLabelStyle:u().oneOfType([u().object,u().func]),pieSliceLabelDistance:u().oneOfType([u().number,u().func]),pieSliceClassName:u().oneOfType([u().string,u().func]),pieSliceStyle:u().oneOfType([u().object,u().func]),markerLineValue:u().number,markerLineClassName:u().string,markerLineStyle:u().object,markerLineOverhangInner:u().number,markerLineOverhangOuter:u().number,onMouseEnterLine:u().func,onMouseMoveLine:u().func,onMouseLeaveLine:u().func,onMouseEnterSlice:u().func,onMouseMoveSlice:u().func,onMouseLeaveSlice:u().func,onClick:u().func}),LL(NL,\"defaultProps\",{centerLabelClassName:\"\",centerLabelStyle:{},pieSliceClassName:\"\",pieSliceStyle:{},markerLineClassName:\"\",markerLineOverhangInner:2,markerLineOverhangOuter:2,markerLineStyle:{},marginTop:0,marginBottom:0,marginLeft:0,marginRight:0});const RL=NL;function IL(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n>t||void 0===n&&t>=t)&&(n=t);else{let r=-1;for(let i of e)null!=(i=t(i,++r,e))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}function jL(e){return e.target.depth}function BL(e,t){return e.sourceLinks.length?e.depth:t-1}function qL(e,t){let n=0;if(void 0===t)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function zL(e){return function(){return e}}function VL(e,t){return WL(e.source,t.source)||e.index-t.index}function UL(e,t){return WL(e.target,t.target)||e.index-t.index}function WL(e,t){return e.y0-t.y0}function YL(e){return e.value}function XL(e){return e.index}function HL(e){return e.nodes}function GL(e){return e.links}function $L(e,t){const n=e.get(t);if(!n)throw new Error(\"missing: \"+t);return n}function KL({nodes:e}){for(const t of e){let e=t.y0,n=e;for(const n of t.sourceLinks)n.y0=e+n.width/2,e+=n.width;for(const e of t.targetLinks)e.y1=n+e.width/2,n+=e.width}}var ZL=Array.prototype.slice;function JL(e){return function(){return e}}function QL(e){return e[0]}function eN(e){return e[1]}function tN(e){return e.source}function nN(e){return e.target}function rN(e,t,n,r,i){e.moveTo(t,n),e.bezierCurveTo(t=(t+r)/2,n,t,i,r,i)}function iN(e){return[e.source.x1,e.y0]}function oN(e){return[e.target.x0,e.y1]}function aN(){return function(e){var t=tN,n=nN,r=QL,i=eN,o=null;function a(){var a,s=ZL.call(arguments),u=t.apply(this,s),l=n.apply(this,s);if(o||(o=a=np()),e(o,+r.apply(this,(s[0]=u,s)),+i.apply(this,s),+r.apply(this,(s[0]=l,s)),+i.apply(this,s)),a)return o=null,a+\"\"||null}return a.source=function(e){return arguments.length?(t=e,a):t},a.target=function(e){return arguments.length?(n=e,a):n},a.x=function(e){return arguments.length?(r=\"function\"==typeof e?e:JL(+e),a):r},a.y=function(e){return arguments.length?(i=\"function\"==typeof e?e:JL(+e),a):i},a.context=function(e){return arguments.length?(o=null==e?null:e,a):o},a}(rN).source(iN).target(oN)}var sN=__webpack_require__(47037),uN=__webpack_require__.n(sN),lN=__webpack_require__(57557),cN=__webpack_require__.n(lN),fN=__webpack_require__(50361),pN=__webpack_require__.n(fN),dN=__webpack_require__(35161),hN=__webpack_require__.n(dN);function mN(){return mN=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mN.apply(this,arguments)}function yN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yN(Object(n),!0).forEach((function(t){gN(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yN(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const bN=e=>{const{graph:t,node:n,nodeClassName:r,nodeStyle:i,onMouseEnterNode:a,onMouseLeaveNode:s,onMouseMoveNode:u,onMouseDownNode:l,onMouseUpNode:c,onClickNode:f}=e,p=e=>RO()(e)?qO(e,{node:n,graph:t}):null;return o.createElement(\"rect\",{x:n.x0,y:n.y0,width:Math.abs(n.x1-n.x0),height:Math.abs(n.y1-n.y0),className:`rct-sankey-node ${_L(r,n,t)}`,style:_L(i,n,t),onMouseEnter:p(a),onMouseLeave:p(s),onMouseMove:p(u),onMouseDown:p(l),onMouseUp:p(c),onClick:p(f)})};bN.propTypes={graph:u().object,node:u().object,nodeClassName:u().oneOfType([u().string,u().func]),nodeStyle:u().oneOfType([u().object,u().func]),onMouseEnterNode:u().func,onMouseLeaveNode:u().func,onMouseMoveNode:u().func,onMouseDownNode:u().func,onMouseUpNode:u().func,onClickNode:u().func};const xN=e=>{const{graph:t,link:n,linkPath:r,linkClassName:i,linkStyle:a,onMouseEnterLink:s,onMouseLeaveLink:u,onMouseMoveLink:l,onMouseDownLink:c,onMouseUpLink:f,onClickLink:p}=e,d=e=>RO()(e)?qO(e,{link:n,graph:t}):null;return o.createElement(\"path\",{d:r,className:`rct-sankey-link ${_L(i,n,t)}`,style:vN(vN({},_L(a,n,t)),{},{strokeWidth:n.width}),onMouseEnter:d(s),onMouseLeave:d(u),onMouseMove:d(l),onMouseDown:d(c),onMouseUp:d(f),onClick:d(p)})};xN.propTypes={graph:u().object,link:u().object,linkPath:u().string,linkClassName:u().oneOfType([u().string,u().func]),linkStyle:u().oneOfType([u().object,u().func]),onMouseEnterLink:u().func,onMouseLeaveLink:u().func,onMouseMoveLink:u().func,onMouseDownLink:u().func,onMouseUpLink:u().func,onClickLink:u().func};const _N=e=>{const{node:t,graph:n,nodeTerminalWidth:r,nodeTerminalDistance:i,nodeTerminalStyle:a,nodeTerminalClassName:s,nodeTerminalAttributes:u,onMouseEnterNodeTerminal:l,onMouseLeaveNodeTerminal:c,onMouseMoveNodeTerminal:f,onMouseDownNodeTerminal:p,onMouseUpNodeTerminal:d,onClickNodeTerminal:h}=e;if(!t.terminalValue)return null;const m=r=>RO()(r)?qO(r,{node:t,graph:n,props:e}):null,y=r=>_L(r,t,n,e),v=y(r)||0,g=y(i)||0,b=Math.abs(t.y1-t.y0)||0,x=(b*t.terminalValue||0)/(t.value||0)||0,_=y(a),w=`rct-sankey-node-terminal ${y(s)}`,E=y(u);return o.createElement(\"rect\",mN({x:t.x1+g,y:t.y0+(b-x),width:v,height:x,style:_,className:w},E,{onMouseEnter:m(l),onMouseLeave:m(c),onMouseMove:m(f),onMouseDown:m(p),onMouseUp:m(d),onClick:m(h)}))};_N.propTypes={node:u().object,graph:u().object,nodeTerminalWidth:u().oneOfType([u().bool,u().number]),nodeTerminalDistance:u().oneOfType([u().number,u().func]),nodeTerminalStyle:u().oneOfType([u().object,u().func]),nodeTerminalClassName:u().oneOfType([u().string,u().func]),nodeTerminalAttributes:u().oneOfType([u().object,u().func]),onMouseEnterNodeTerminal:u().func,onMouseLeaveNodeTerminal:u().func,onMouseMoveNodeTerminal:u().func,onMouseDownNodeTerminal:u().func,onMouseUpNodeTerminal:u().func,onClickNodeTerminal:u().func};const wN=e=>{const{node:t,graph:n,nodeLabelText:r,nodeId:i,nodeLabelPlacement:a,nodeLabelDistance:s}=e,u=r=>_L(r,t,n,e),l=RO()(r)?r:i,c=u(a),f=u(s)||0,p=u(l);if(WO()(p)||jO()(p)||!1===p||\"\"===p)return null;if(!uN()(p)&&!GO()(p))return p;const d=`rct-sankey-node-label ${u(e.nodeLabelClassName)}`,h=u(e.nodeLabelStyle);let m,y;\"above\"===c?(y=vN({alignmentBaseline:\"baseline\",textAnchor:\"middle\"},h),m={x:t.x0+Math.abs(t.x1-t.x0)/2,y:t.y0-f}):\"below\"===c?(y=vN({alignmentBaseline:\"hanging\",textAnchor:\"middle\"},h),m={x:t.x0+Math.abs(t.x1-t.x0)/2,y:t.y1+f}):\"before\"===c?(y=vN({alignmentBaseline:\"middle\",textAnchor:\"end\"},h),m={x:t.x0-f,y:t.y0+Math.abs(t.y1-t.y0)/2}):(jO()(c)||\"after\"===c||console.warn(`${c} is not a valid value for nodeLabelPlacement - defaulting to \"after\"`),y=vN({alignmentBaseline:\"middle\",textAnchor:\"start\"},h),m={x:t.x1+f,y:t.y0+Math.abs(t.y1-t.y0)/2});const v=`${d} rct-sankey-node-label-text`;return o.createElement(\"text\",mN({},m,{className:v,style:y}),p)};wN.propTypes={node:u().object,graph:u().object,nodeLabelClassName:u().oneOfType([u().string,u().func]),nodeLabelStyle:u().oneOfType([u().object,u().func]),nodeLabelText:u().func,nodeId:u().func,nodeLabelPlacement:u().oneOfType([u().oneOf([\"before\",\"after\",\"above\",\"below\"]),u().func]),nodeLabelDistance:u().oneOfType([u().number,u().func])};const EN=e=>{const{link:t,graph:n,linkLabelClassName:r,linkLabelStyle:i,linkLabelAttributes:a,linkLabelStartOffset:s,linkLabelText:u,linkPathId:l}=e,c=r=>_L(r,t,n,e),f=`rct-sankey-link-label ${c(r||\"\")}`,p=c(i||{}),d=c(a||{}),h=c(s||0);return o.createElement(\"text\",mN({className:f,style:p},d),o.createElement(\"textPath\",{startOffset:h,xlinkHref:`#${l}`},c(u)))};EN.propTypes={link:u().object,graph:u().object,linkLabelClassName:u().oneOfType([u().string,u().func]),linkLabelStyle:u().oneOfType([u().object,u().func]),linkLabelAttributes:u().oneOfType([u().object,u().func]),linkLabelStartOffset:u().oneOfType([u().string,u().number]),linkLabelText:u().func,linkPathId:u().string};const SN=e=>{const{x:t,y:n,stepLabelPadding:r,stepLabelText:i,stepLabelClassName:a,stepLabelStyle:s,step:u}=e;let l=n;return GO()(r)&&(l-=r),o.createElement(\"text\",{className:`rct-step-label ${_L(a,u)}`,style:_L(s,u),x:t,y:l,key:`step-${t}-${u}`},_L(i,u))};SN.propTypes={x:u().number,y:u().number,stepLabelPadding:u().number,stepLabelText:u().oneOfType([u().string,u().func]),stepLabelClassName:u().oneOfType([u().string,u().func]),stepLabelStyle:u().oneOfType([u().object,u().func]),step:u().string};const kN=e=>{const t=cN()(e,[\"standalone\"]);return e.standalone?o.createElement(\"svg\",t):o.createElement(\"g\",t)};function AN(e,t){return`link-${t(e.source)}-to-${t(e.target)}`}kN.propTypes={standalone:u().bool};const CN={left:function(e){return e.depth},right:function(e,t){return t-1-e.height},center:function(e){return e.targetLinks.length?e.depth:e.sourceLinks.length?IL(e.sourceLinks,jL)-1:0},justify:BL};class TN extends o.Component{static getDerivedStateFromProps(e,t){const{prevProps:n}=t;return[\"nodes\",\"links\",\"width\",\"height\",\"marginTop\",\"marginBottom\",\"marginLeft\",\"marginRight\",\"nodeId\",\"nodeWidth\",\"nodePadding\",\"nodeAlignment\"].some((t=>e[t]!==n[t]))?{graph:TN.makeSankeyGraph(e),prevProps:pN()(e)}:null}static makeSankeyGraph(e){const t=e.width-(e.marginLeft+e.marginRight),n=e.height-(e.marginTop+e.marginBottom),r=function(){let e,t,n,r=0,i=0,o=1,a=1,s=24,u=8,l=XL,c=BL,f=HL,p=GL,d=6;function h(){const e={nodes:f.apply(null,arguments),links:p.apply(null,arguments)};return m(e),y(e),v(e),g(e),b(e),KL(e),e}function m({nodes:e,links:t}){for(const[t,n]of e.entries())n.index=t,n.sourceLinks=[],n.targetLinks=[];const r=new Map(e.map(((t,n)=>[l(t,n,e),t])));for(const[e,n]of t.entries()){n.index=e;let{source:t,target:i}=n;\"object\"!=typeof t&&(t=n.source=$L(r,t)),\"object\"!=typeof i&&(i=n.target=$L(r,i)),t.sourceLinks.push(n),i.targetLinks.push(n)}if(null!=n)for(const{sourceLinks:t,targetLinks:r}of e)t.sort(n),r.sort(n)}function y({nodes:e}){for(const t of e)t.value=void 0===t.fixedValue?Math.max(qL(t.sourceLinks,YL),qL(t.targetLinks,YL)):t.fixedValue}function v({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.depth=i;for(const{target:t}of e.sourceLinks)r.add(t)}if(++i>t)throw new Error(\"circular link\");n=r,r=new Set}}function g({nodes:e}){const t=e.length;let n=new Set(e),r=new Set,i=0;for(;n.size;){for(const e of n){e.height=i;for(const{source:t}of e.targetLinks)r.add(t)}if(++i>t)throw new Error(\"circular link\");n=r,r=new Set}}function b(n){const l=function({nodes:e}){const n=ld(e,(e=>e.depth))+1,i=(o-r-s)/(n-1),a=new Array(n);for(const t of e){const e=Math.max(0,Math.min(n-1,Math.floor(c.call(null,t,n))));t.layer=e,t.x0=r+e*i,t.x1=t.x0+s,a[e]?a[e].push(t):a[e]=[t]}if(t)for(const e of a)e.sort(t);return a}(n);e=Math.min(u,(a-i)/(ld(l,(e=>e.length))-1)),function(t){const n=IL(t,(t=>(a-i-(t.length-1)*e)/qL(t,YL)));for(const r of t){let t=i;for(const i of r){i.y0=t,i.y1=t+i.value*n,t=i.y1+e;for(const e of i.sourceLinks)e.width=e.value*n}t=(a-t+e)/(r.length+1);for(let e=0;e<r.length;++e){const n=r[e];n.y0+=t*(e+1),n.y1+=t*(e+1)}A(r)}}(l);for(let e=0;e<d;++e){const t=Math.pow(.99,e),n=Math.max(1-t,(e+1)/d);_(l,t,n),x(l,t,n)}}function x(e,n,r){for(let i=1,o=e.length;i<o;++i){const o=e[i];for(const e of o){let t=0,r=0;for(const{source:n,value:i}of e.targetLinks){let o=i*(e.layer-n.layer);t+=C(n,e)*o,r+=o}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,k(e)}void 0===t&&o.sort(WL),w(o,r)}}function _(e,n,r){for(let i=e.length-2;i>=0;--i){const o=e[i];for(const e of o){let t=0,r=0;for(const{target:n,value:i}of e.sourceLinks){let o=i*(n.layer-e.layer);t+=T(e,n)*o,r+=o}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,k(e)}void 0===t&&o.sort(WL),w(o,r)}}function w(t,n){const r=t.length>>1,o=t[r];S(t,o.y0-e,r-1,n),E(t,o.y1+e,r+1,n),S(t,a,t.length-1,n),E(t,i,0,n)}function E(t,n,r,i){for(;r<t.length;++r){const o=t[r],a=(n-o.y0)*i;a>1e-6&&(o.y0+=a,o.y1+=a),n=o.y1+e}}function S(t,n,r,i){for(;r>=0;--r){const o=t[r],a=(o.y1-n)*i;a>1e-6&&(o.y0-=a,o.y1-=a),n=o.y0-e}}function k({sourceLinks:e,targetLinks:t}){if(void 0===n){for(const{source:{sourceLinks:e}}of t)e.sort(UL);for(const{target:{targetLinks:t}}of e)t.sort(VL)}}function A(e){if(void 0===n)for(const{sourceLinks:t,targetLinks:n}of e)t.sort(UL),n.sort(VL)}function C(t,n){let r=t.y0-(t.sourceLinks.length-1)*e/2;for(const{target:i,width:o}of t.sourceLinks){if(i===n)break;r+=o+e}for(const{source:e,width:i}of n.targetLinks){if(e===t)break;r-=i}return r}function T(t,n){let r=n.y0-(n.targetLinks.length-1)*e/2;for(const{source:i,width:o}of n.targetLinks){if(i===t)break;r+=o+e}for(const{target:e,width:i}of t.sourceLinks){if(e===n)break;r-=i}return r}return h.update=function(e){return KL(e),e},h.nodeId=function(e){return arguments.length?(l=\"function\"==typeof e?e:zL(e),h):l},h.nodeAlign=function(e){return arguments.length?(c=\"function\"==typeof e?e:zL(e),h):c},h.nodeSort=function(e){return arguments.length?(t=e,h):t},h.nodeWidth=function(e){return arguments.length?(s=+e,h):s},h.nodePadding=function(t){return arguments.length?(u=e=+t,h):u},h.nodes=function(e){return arguments.length?(f=\"function\"==typeof e?e:zL(e),h):f},h.links=function(e){return arguments.length?(p=\"function\"==typeof e?e:zL(e),h):p},h.linkSort=function(e){return arguments.length?(n=e,h):n},h.size=function(e){return arguments.length?(r=i=0,o=+e[0],a=+e[1],h):[o-r,a-i]},h.extent=function(e){return arguments.length?(r=+e[0][0],o=+e[1][0],i=+e[0][1],a=+e[1][1],h):[[r,i],[o,a]]},h.iterations=function(e){return arguments.length?(d=+e,h):d},h}().size([t,n]).nodeId(e.nodeId).nodeWidth(e.nodeWidth).nodePadding(e.nodePadding).nodeSort(e.nodeSort).linkSort(e.linkSort).nodeAlign(CN[e.nodeAlignment]||CN.justify)({nodes:e.shouldClone?pN()(e.nodes):e.nodes,links:e.shouldClone?pN()(e.links):e.links});return(i=r).nodes.forEach((e=>{const t=(e.sourceLinks||[]).reduce(((e,t)=>e+t.value),0);e.terminalValue=Math.max(e.value-t,0)})),i.links.forEach((e=>{e.valueSourceRelative=(e.value||0)/aL()(e,\"source.value\",0),e.valueTargetRelative=(e.value||0)/aL()(e,\"target.value\",0)})),i.maxDepth=uL()(i.nodes,\"depth\"),i.maxDepth=i.nodes.reduce(((e,t)=>Math.max(t.depth||0,e)),0),i;var i}constructor(e){super(e);const t=TN.makeSankeyGraph(e),n=pN()(e);this.state={graph:t,prevProps:n}}render(){const{width:e,height:t,style:n,standalone:r,nodeId:i,marginTop:a,marginBottom:s,marginLeft:u,marginRight:l}=this.props,{graph:c}=this.state,f=aN(),p=`rct-sankey-diagram ${this.props.className}`,d=e-(u+l),h=t-(a+s);function m(e,t,n){return e?o.createElement(\"g\",{className:t},(c.nodes||[]).map(((t,r)=>{if(!_L(e,t,c))return null;const o=`node-${i(t)}`;return n(t,r,o)}))):null}function y(e,t,n){return e?o.createElement(\"g\",{className:t},(c.links||[]).map(((t,r)=>{if(!_L(e,t,c))return null;const o=`link-${i(t.source)}-to-${i(t.target)}`;return n(t,r,o)}))):null}return o.createElement(kN,{standalone:r,width:e,height:t,className:p,style:n},o.createElement(\"g\",{width:d,height:h,transform:`translate(${u}, ${a})`},function(e,t,n,r,i){if(!e)return null;const a={},s={};return i.forEach((e=>{a[e.depth]=e.x0,s[e.depth]=s[e.depth]?Math.min(e.y0,s[e.depth]):e.y0})),o.createElement(\"g\",{className:\"rct-step-labels\",width:d,height:100},hN()(a,((i,a)=>{const u={y:s[a],step:a,x:i,stepLabelText:e,stepLabelClassName:t,stepLabelPadding:r,stepLabelStyle:n};return o.createElement(SN,mN({key:`rct-step-${a}`},u))})))}(this.props.stepLabelText,this.props.stepLabelClassName,this.props.stepLabelStyle,this.props.stepLabelPadding,c.nodes),y(this.props.showLinks,\"rct-sankey-links\",((e,t,n)=>{const r=vN(vN({},this.props),{},{key:n,graph:c,link:e,linkPath:f(e)});return o.createElement(xN,r)})),m(this.props.showNodes,\"rct-sankey-nodes\",((e,t,n)=>o.createElement(bN,mN({},this.props,{key:n,graph:c,node:e})))),\";\",m(this.props.showNodeTerminals,\"rct-sankey-node-terminals\",((e,t,n)=>o.createElement(_N,mN({},this.props,{key:n,graph:c,node:e})))),\";\",this.props.showLinkLabels||this.props.showLinkSourceLabels||this.props.showLinkTargetLabels?o.createElement(\"defs\",null,c.links.map((e=>{if(!(_L(this.props.showLinkLabels,e,c)||_L(this.props.showLinkSourceLabels,e,c)||_L(this.props.showLinkTargetLabels,e,c)))return null;const t=f(e),n=`${AN(e,i)}-path`;return o.createElement(\"path\",{id:n,d:t,key:n})}))):null,y(this.props.showLinkLabels,\"rct-sankey-link-labels\",((e,t,n)=>{const r=`${AN(e,i)}-path`,a=vN(vN({},this.props),{},{key:n,graph:c,link:e,linkPathId:r});return o.createElement(EN,a)})),m(this.props.showNodeLabels,\"rct-sankey-node-labels\",((e,t,n)=>o.createElement(wN,mN({},this.props,{key:n,graph:c,node:e})))),\";\",y(this.props.showLinkSourceLabels,\"rct-sankey-link-source-labels\",((e,t,n)=>{const r=`${AN(e,i)}-path`,a=vN(vN({},this.props),{},{key:n,graph:c,link:e,linkPathId:r}),s=vN(vN({},a),{},{linkLabelText:this.props.linkSourceLabelText,linkLabelClassName:this.props.linkSourceLabelClassName,linkLabelStyle:this.props.linkSourceLabelStyle,linkLabelAttributes:this.props.linkSourceLabelAttributes,linkLabelStartOffset:this.props.linkSourceLabelStartOffset});return o.createElement(EN,s)})),y(this.props.showLinkTargetLabels,\"rct-sankey-link-target-labels\",((e,t,n)=>{const r=`${AN(e,i)}-path`,a=vN(vN({},this.props),{},{key:n,graph:c,link:e,linkPathId:r}),s=vN(vN({},a),{},{linkLabelText:this.props.linkTargetLabelText,linkLabelClassName:this.props.linkTargetLabelClassName,linkLabelStyle:vN({textAnchor:\"end\"},this.props.linkTargetLabelStyle),linkLabelAttributes:this.props.linkTargetLabelAttributes,linkLabelStartOffset:this.props.linkTargetLabelStartOffset});return o.createElement(EN,s)}))))}}gN(TN,\"propTypes\",{nodes:u().arrayOf(u().object).isRequired,links:u().arrayOf(u().shape({source:u().oneOfType([u().string,u().number]),target:u().oneOfType([u().string,u().number]),value:u().number})).isRequired,width:u().number.isRequired,height:u().number.isRequired,shouldClone:u().bool,className:u().string,style:u().object,standalone:u().bool,marginTop:u().number,marginBottom:u().number,marginLeft:u().number,marginRight:u().number,showNodes:u().oneOfType([u().bool,u().func]),nodeId:u().func,nodeWidth:u().number,nodePadding:u().number,nodeAlignment:u().oneOf([\"left\",\"right\",\"center\",\"justify\"]),nodeClassName:u().oneOfType([u().string,u().func]),nodeStyle:u().oneOfType([u().object,u().func]),nodeSort:u().func,onMouseEnterNode:u().func,onMouseLeaveNode:u().func,onMouseMoveNode:u().func,onMouseDownNode:u().func,onMouseUpNode:u().func,onClickNode:u().func,showLinks:u().oneOfType([u().bool,u().func]),linkClassName:u().oneOfType([u().string,u().func]),linkSort:u().func,linkStyle:u().oneOfType([u().object,u().func]),onMouseEnterLink:u().func,onMouseLeaveLink:u().func,onMouseMoveLink:u().func,onMouseDownLink:u().func,onMouseUpLink:u().func,onClickLink:u().func,showNodeTerminals:u().oneOfType([u().bool,u().func]),nodeTerminalWidth:u().oneOfType([u().bool,u().number]),nodeTerminalDistance:u().oneOfType([u().number,u().func]),nodeTerminalClassName:u().oneOfType([u().string,u().func]),nodeTerminalStyle:u().oneOfType([u().object,u().func]),nodeTerminalAttributes:u().oneOfType([u().object,u().func]),onMouseEnterNodeTerminal:u().func,onMouseLeaveNodeTerminal:u().func,onMouseMoveNodeTerminal:u().func,onMouseDownNodeTerminal:u().func,onMouseUpNodeTerminal:u().func,onClickNodeTerminal:u().func,showNodeLabels:u().oneOfType([u().bool,u().func]),nodeLabelPlacement:u().oneOfType([u().oneOf([\"before\",\"after\",\"above\",\"below\"]),u().func]),nodeLabelDistance:u().oneOfType([u().number,u().func]),nodeLabelText:u().func,nodeLabelClassName:u().oneOfType([u().string,u().func]),nodeLabelStyle:u().oneOfType([u().object,u().func]),showLinkLabels:u().oneOfType([u().bool,u().func]),linkLabelText:u().func,linkLabelClassName:u().oneOfType([u().string,u().func]),linkLabelStyle:u().oneOfType([u().object,u().func]),linkLabelAttributes:u().oneOfType([u().object,u().func]),linkLabelStartOffset:u().oneOfType([u().string,u().number]),showLinkSourceLabels:u().oneOfType([u().bool,u().func]),linkSourceLabelText:u().func,linkSourceLabelClassName:u().oneOfType([u().string,u().func]),linkSourceLabelStyle:u().oneOfType([u().object,u().func]),linkSourceLabelAttributes:u().oneOfType([u().object,u().func]),linkSourceLabelStartOffset:u().oneOfType([u().string,u().number]),showLinkTargetLabels:u().oneOfType([u().bool,u().func]),linkTargetLabelText:u().func,linkTargetLabelClassName:u().oneOfType([u().string,u().func]),linkTargetLabelStyle:u().oneOfType([u().object,u().func]),linkTargetLabelAttributes:u().oneOfType([u().object,u().func]),linkTargetLabelStartOffset:u().oneOfType([u().string,u().number]),stepLabelText:u().oneOfType([u().string,u().func]),stepLabelClassName:u().oneOfType([u().string,u().func]),stepLabelStyle:u().oneOfType([u().object,u().func]),stepLabelPadding:u().number}),gN(TN,\"defaultProps\",{width:400,height:300,shouldClone:!0,className:\"\",style:{},standalone:!0,marginTop:0,marginBottom:0,marginLeft:0,marginRight:0,nodeId:e=>e.index,showNodes:!0,nodeWidth:12,nodePadding:8,stepLabelPadding:8,nodeAlignment:\"justify\",nodeClassName:\"\",nodeStyle:{},showLinks:!0,linkClassName:\"\",linkStyle:{},showNodeTerminals:!0,nodeTerminalWidth:5,nodeTerminalDistance:1,nodeTerminalClassName:\"\",nodeTerminalStyle:{},nodeTerminalAttributes:{rx:2,ry:2},showNodeLabels:!0,nodeLabelPlacement:(e,t)=>e.depth<t.maxDepth/2?\"after\":\"before\",nodeLabelDistance:4,nodeLabelText:(e,t,n)=>hL()(e,\"name\")?e.name:hL()(e,\"label\")?e.label:_L(n.nodeId,e,t,n),nodeLabelClassName:\"\",nodeLabelStyle:{},showLinkLabels:!1,linkLabelText:(e,t,n)=>{const r=e.value||0,i=ey(\".1~f\",r)(r);return`${_L(n.nodeLabelText,e.source,t,n)}→${_L(n.nodeLabelText,e.target,t,n)}: ${i}`},linkLabelClassName:\"\",linkLabelStyle:{},linkLabelAttributes:{},linkLabelStartOffset:\"25%\",showLinkSourceLabels:!1,linkSourceLabelText:(e,t,n)=>{const r=e.valueSourceRelative;return null!==r&&isFinite(r)?`${r<.001?\"<0.1%\":Qm(\".1~%\")(r)} to ${_L(n.nodeLabelText,e.target,t,n)}`:\"\"},linkSourceLabelClassName:\"\",linkSourceLabelStyle:{},linkSourceLabelAttributes:{},linkSourceLabelStartOffset:\"2%\",showLinkTargetLabels:!1,linkTargetLabelText:(e,t,n)=>{const r=e.valueTargetRelative;return null!==r&&isFinite(r)?`${r<.001?\"<0.1%\":Qm(\".1~%\")(r)} from ${_L(n.nodeLabelText,e.source,t,n)}`:\"\"},linkTargetLabelClassName:\"\",linkTargetLabelStyle:{},linkTargetLabelAttributes:{},linkTargetLabelStartOffset:\"98%\"});var DN=__webpack_require__(21804),MN=__webpack_require__.n(DN),PN=__webpack_require__(13218),ON=__webpack_require__.n(PN);function LN(){return LN=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},LN.apply(this,arguments)}const NN=e=>{const{node:t,getLabel:n,nodeStyle:r,labelStyle:i,minLabelWidth:a,minLabelHeight:s,NodeLabelComponent:u,parentNames:l}=e,{depth:c,parent:f,x0:p,y0:d,x1:h,y1:m}=t,y=aL()(f,\"data.name\"),v=`rct-tree-map-node node-depth-${c} ${f?`node-group-${MN()(y)} node-group-i-${l.indexOf(y)}`:\"\"}`,g={position:\"absolute\",width:h-p,height:m-d,top:d,left:p,transition:\"all .2s\"},b=RO()(r)?r(t):ON()(r)?r:{};Object.assign(g,b);const x=[\"onClick\",\"onMouseEnter\",\"onMouseLeave\",\"onMouseMove\"].reduce(((n,r)=>{const i=e[`${r}Node`];return i&&(n[r]=i.bind(null,t)),n}),{});return o.createElement(\"div\",LN({className:v,style:g},x),h-p>a&&m-d>s?o.createElement(u,{node:t,getLabel:n,labelStyle:i}):null)};NN.propTypes={node:u().shape({parent:u().object,children:u().array,value:u().number,depth:u().number,x:u().number,y:u().number,dx:u().number,dy:u().number,x0:u().number,y0:u().number,x1:u().number,y1:u().number}),nodeStyle:u().oneOfType([u().func,u().object]),minLabelWidth:u().number,minLabelHeight:u().number,getLabel:zO,labelStyle:u().oneOfType([u().func,u().object]),NodeLabelComponent:u().func,parentNames:u().arrayOf(u().string)},NN.defaultProps={minLabelWidth:0,minLabelHeight:0};const FN=NN,RN=e=>{const{node:t,getLabel:n,labelStyle:r}=e,{x1:i,x0:a}=t,s={width:i-a},u=RO()(r)?r(t):ON()(r)?r:{};return Object.assign(s,u),o.createElement(\"div\",{className:\"rct-node-label\",style:s},bL(n)(t))};RN.propTypes={node:u().object,getLabel:zO,labelStyle:u().oneOfType([u().func,u().object]),minLabelWidth:u().number,minLabelHeight:u().number};const IN=RN;function jN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class BN extends o.Component{static initTreemap(e,t,n){const{getValue:r,sort:i}=n,o=e.sum((e=>RO()(r)?r(e):uN()(r)?e[r]:0));return t(i?o.sort(i):o).descendants()}static getStateFromProps(e){const t=function(e){const{width:t,height:n,ratio:r,round:i,padding:o}=e,a=jO()(r)?cw:cw.ratio(r),s=sw().tile(a).size([t,n]);return jO()(o)||s.paddingOuter(o),jO()(i)||s.round(i),s}(e);return{tree:t,rootNode:function(e,t){const{getChildren:n}=t;return c_(e,bL(n))}(pN()(e.data),e),prevProps:pN()(e)}}static getDerivedStateFromProps(e,t){const{width:n,height:r,data:i,sticky:o}=t.prevProps;return o&&n===e.width&&r===e.height&&JSON.stringify(i)===JSON.stringify(e.data)?null:BN.getStateFromProps(e)}constructor(e){super(e),this.state=BN.getStateFromProps(e)}render(){const{width:e,height:t,nodeStyle:n,labelStyle:r,getLabel:i,minLabelWidth:a,minLabelHeight:s,onClickNode:u,onMouseEnterNode:l,onMouseLeaveNode:c,onMouseMoveNode:f,NodeComponent:p,NodeLabelComponent:d}=this.props,{rootNode:h,tree:m}=this.state,y=BN.initTreemap(h,m,this.props),v={position:\"relative\",width:e,height:t},g=JO()(hN()(y,\"parent.data.name\"));return o.createElement(\"div\",{className:\"rct-tree-map\",style:v},y.map(((e,t)=>o.createElement(p,{node:e,nodeStyle:n,minLabelWidth:a,minLabelHeight:s,labelStyle:r,getLabel:i,parentNames:g,NodeLabelComponent:d,onClickNode:u,onMouseEnterNode:l,onMouseLeaveNode:c,onMouseMoveNode:f,key:`node-${t}`}))))}}jN(BN,\"propTypes\",{width:u().number.isRequired,height:u().number.isRequired,data:u().object.isRequired,getValue:zO,getChildren:zO,getLabel:zO,sort:u().func,padding:u().number,round:u().bool,sticky:u().bool,ratio:u().number,nodeStyle:u().oneOfType([u().func,u().object]),labelStyle:u().oneOfType([u().func,u().object]),minLabelWidth:u().number,minLabelHeight:u().number,onClickNode:u().func,onMouseEnterNode:u().func,onMouseLeaveNode:u().func,onMouseMoveNode:u().func,NodeComponent:u().func,NodeLabelComponent:u().func}),jN(BN,\"defaultProps\",{getValue:\"value\",getChildren:\"children\",getLabel:\"name\",minLabelWidth:0,minLabelHeight:0,NodeComponent:FN,NodeLabelComponent:IN});const qN=BN;var zN=__webpack_require__(94174),VN=__webpack_require__.n(zN),UN=__webpack_require__(67523),WN=__webpack_require__.n(UN),YN=__webpack_require__(11700),XN=__webpack_require__.n(YN),HN=__webpack_require__(66604),GN=__webpack_require__.n(HN),$N=__webpack_require__(66678),KN=__webpack_require__.n($N);const ZN={top:0,bottom:0,left:0,right:0};function JN(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;const n=Object.keys(e).find((e=>!!e.match(new RegExp(t,\"i\"))));if(void 0!==n)return e[n]}function QN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Math.max(e-((JN(t,\"left\")||0)+(JN(t,\"right\")||0)),0)}function eF(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Math.max(e-((JN(t,\"top\")||0)+(JN(t,\"bottom\")||0)),0)}function tF(){let{width:e,height:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return{width:QN(e,n),height:eF(t,n)}}function nF(e,t){return t?WN()(e,((e,n)=>t+XN()(n))):e}function rF(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;return e.reduce(((e,t)=>GN()(e,((n,r)=>(e[r]||0)+(t[r]||0)))),KN()(nF(ZN,t)))}var iF=__webpack_require__(14176),oF=__webpack_require__.n(iF),aF=__webpack_require__(91747),sF=__webpack_require__.n(aF),uF=__webpack_require__(18446),lF=__webpack_require__.n(uF);function cF(e){return aL()({number:\"linear\",time:\"time\",categorical:\"ordinal\"},e,\"ordinal\")}function fF(e){return aL()({linear:\"number\",log:\"number\",pow:\"number\",time:\"time\",ordinal:\"categorical\"},e,\"categorical\")}function pF(e){if(!Array.isArray(e))throw new Error(\"invalid domain, inferDataTypeFromDomain cannot infer data type\");return 2!==e.length?\"categorical\":e.every(GO())?\"number\":e.every(KO())?\"time\":\"categorical\"}function dF(e){return e.ticks?KO()(e.domain()[0])?\"time\":e.base?\"log\":e.exponent?\"pow\":\"linear\":\"ordinal\"}function hF(e){switch(e){case\"linear\":return jE();case\"time\":return wC();case\"ordinal\":return mE();case\"log\":return GE();case\"pow\":return rS();default:return}}function mF(e){return RO()(e)&&RO()(e.domain)&&RO()(e.range)}function yF(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return\"ordinal\"===(t||dF(e))?e.domain():e.ticks(n)}function vF(e){let{ticks:t,tickCount:n,nice:r}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=dF(e),o=e.domain();return r&&\"ordinal\"!==i&&(e=e.copy().domain(o).nice(n||10)),Array.isArray(t)?AL([e.domain(),TL(t,gL(),fF(i))]):r&&\"ordinal\"!==i?e.domain():void 0}function gF(e,t){return mF(e)&&mF(t)?lF()(e.domain(),t.domain())&&lF()(e.range(),t.range()):e===t}function bF(e,t){const n=e.domain(),r=n.map((t=>e(t)));if(r.length<=1)return n[0];r[0]>r[1]&&(n.reverse(),r.reverse());const i=function(e,t){return t.reduce(((n,r,i)=>Math.abs(r-e)<Math.abs(t[n]-e)?i:n),0)}(t,r);return n[i]}function xF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _F(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xF(Object(n),!0).forEach((function(t){wF(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xF(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wF(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function EF(e){return[\"ordinal\",\"time\",\"log\",\"pow\",\"linear\"].includes(e)}function SF(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];if(!RO()(t))throw new Error(\"mapOverChildren iteratee must be a function\");return nL()(o.Children.map(e,(e=>e&&o.isValidElement(e)?t(e.props,e.type,...r):null)))}function kF(e){return oF()(e,(e=>jO()(e)||WO()(e)))}function AF(e){var t,n;return n=t=class extends o.Component{constructor(){super(...arguments),wF(this,\"_makeScales\",(e=>{let{width:t,height:n,xScaleType:r,yScaleType:i,invertXScale:o,invertYScale:a,xDomain:s,yDomain:u,xScale:l,yScale:c,marginTop:f,marginBottom:p,marginLeft:d,marginRight:h,spacingTop:m,spacingBottom:y,spacingLeft:v,spacingRight:g}=e;const b={top:m,bottom:y,left:v,right:g},x={top:f,bottom:p,left:d,right:h},_=QN(t,x),w=eF(n,x);let E=l,S=c;if(!mF(E)){const e=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=JN(t,\"left\")||0;return[Math.min(n,e),Math.min(n+QN(e,t),e)]}(_,b).map((e=>e-(b.left||0)));E=hF(r).domain(s).range(e),o&&E.domain(E.domain().reverse())}if(!mF(c)){const e=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=JN(t,\"top\")||0;return[Math.min(n+eF(e,t),e),Math.min(n,e)]}(w,b).map((e=>e-(b.top||0)));S=hF(i).domain(u).range(e),a&&S.domain(S.domain().reverse())}return{xScale:E,yScale:S}}))}_resolveScaleType(e,t){let{xScaleType:n,yScaleType:r}=e;const i=()=>[n,r].every(EF);if(i())return{xScaleType:n,yScaleType:r};if(RO()(t.getScaleType)){const o=kF(t.getScaleType(e));if(({xScaleType:n,yScaleType:r}=Object.assign(o,kF({xScaleType:n,yScaleType:r}))),i())return{xScaleType:n,yScaleType:r}}if(!EF(n)&&kL(e.xDomain)&&(n=cF(pF(e.xDomain))),!EF(r)&&kL(e.yDomain)&&(r=cF(pF(e.yDomain))),i())return{xScaleType:n,yScaleType:r};if(Array.isArray(e.data)||Array.isArray(e.datasets)){const t=Array.isArray(e.datasets)?e.datasets:[e.data];if(EF(n)||(n=cF(SL(t,xL(e.x)))),EF(r)||(r=cF(SL(t,xL(e.y)))),i())return{xScaleType:n,yScaleType:r}}if(o.Children.count(e.children)){const t=SF(e.children,this._resolveScaleType.bind(this));if(!EF(n)){const e=nL()(JO()(t.map((e=>e.xScaleType))));1===!e.length&&console.warn(\"Multiple children with different X scale types found - defaulting to 'ordinal'\"),n=1===e.length?e[0]:\"ordinal\"}if(!EF(r)){const e=nL()(JO()(t.map((e=>e.yScaleType))));1===!e.length&&console.warn(\"Multiple children with different Y scale types found - defaulting to 'ordinal'\"),r=1===e.length?e[0]:\"ordinal\"}}return{xScaleType:n,yScaleType:r}}_resolveDomain(e,t,n,r){let{xDomain:i,yDomain:a}=e;const{includeXZero:s,includeYZero:u}=e,l=fF(n),c=fF(r),f=()=>kL(i,l),p=()=>kL(a,c),d=()=>f()&&p();if(d())return{xDomain:i,yDomain:a};if(RO()(t.getDomain)){const{xDomain:o,yDomain:s}=t.getDomain(_F(_F({},e),{},{xScaleType:n,yScaleType:r}));f()||!o||kL(o,l)||console.warn(`Component.getDomain returned an invalid domain for data type '${l}': ${o} - ignoring`),!f()&&kL(o,l)&&(i=o),p()||!s||kL(s,c)||console.warn(`Component.getDomain returned an invalid domain for data type '${c}': ${s} - ignoring`),!p()&&kL(s,c)&&(a=s)}if(!d()&&(Array.isArray(e.data)||Array.isArray(e.datasets))){const t=Array.isArray(e.datasets)?e.datasets:[e.data];f()||(i=ML(t,xL(e.x),l)),p()||(a=ML(t,xL(e.y),c))}if(!d()&&o.Children.count(e.children)){const t=SF(e.children,this._resolveDomain.bind(this),n,r);if(!f()){const e=nL()(t.map((e=>e.xDomain)));i=AL(e,l)}if(!p()){const e=nL()(t.map((e=>e.yDomain)));a=AL(e,c)}}return d()&&(s&&!VN()(0,...i)&&(i[0]<0&&i[1]<0?i[1]=0:i[0]=0),u&&!VN()(0,...a)&&(a[0]<0&&a[1]<0?a[1]=0:a[0]=0)),{xDomain:i,yDomain:a}}_resolveTickDomain(e,t,n){let{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}=n;if(RO()(t.getTickDomain))return kF(t.getTickDomain(_F({xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l},e)));if(o.Children.count(e.children)){const t=SF(e.children,this._resolveTickDomain.bind(this),{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}),n=nL()(t.map((e=>e.xTickDomain))),o=n.length?AL(n,fF(r)):void 0,c=nL()(t.map((e=>e.yTickDomain)));return kF({xTickDomain:o,yTickDomain:c.length?AL(c,fF(i)):void 0})}return{}}_resolveMargin(e,t,n){let{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}=n,{marginTop:c,marginBottom:f,marginLeft:p,marginRight:d}=e;const h=()=>[c,f,p,d].every(GO());if(h())return{marginTop:c,marginBottom:f,marginLeft:p,marginRight:d};if(RO()(t.getMargin)){const n=kF(t.getMargin(_F(_F({},e),{},{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l})));if(({marginTop:c,marginBottom:f,marginLeft:p,marginRight:d}=Object.assign(n,kF({marginTop:c,marginBottom:f,marginLeft:p,marginRight:d}))),h())return{marginTop:c,marginBottom:f,marginLeft:p,marginRight:d}}if(o.Children.count(e.children)){const t=CL(SF(e.children,this._resolveMargin.bind(this),{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}).map((e=>({top:e.marginTop,bottom:e.marginBottom,left:e.marginLeft,right:e.marginRight}))));c=jO()(c)?t.top:c,f=jO()(f)?t.bottom:f,p=jO()(p)?t.left:p,d=jO()(d)?t.right:d}return{marginTop:c,marginBottom:f,marginLeft:p,marginRight:d}}_resolveSpacing(e,t,n){let{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}=n,{spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d}=e;const h=()=>[c,f,p,d].every(GO());if(h())return{spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d};if(RO()(t.getSpacing)){const n=kF(t.getSpacing(_F(_F({},e),{},{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l})));if(({spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d}=Object.assign(n,kF({spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d}))),h())return{spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d}}if(o.Children.count(e.children)){const t=CL(SF(e.children,this._resolveSpacing.bind(this),{xScaleType:r,yScaleType:i,xDomain:a,yDomain:s,xScale:u,yScale:l}).map((e=>({top:e.spacingTop,bottom:e.spacingBottom,left:e.spacingLeft,right:e.spacingRight}))));c=jO()(c)?t.top:c,f=jO()(f)?t.bottom:f,p=jO()(p)?t.left:p,d=jO()(d)?t.right:d}return h()?{spacingTop:c,spacingBottom:f,spacingLeft:p,spacingRight:d}:void 0}render(){const{props:t}=this,{width:n,height:r,invertXScale:i,invertYScale:a}=t,{xScaleType:s,yScaleType:u}=this._resolveScaleType(t,e);let{xDomain:l,yDomain:c}=this._resolveDomain(t,e,s,u);i&&(l=l.slice().reverse()),a&&(c=c.slice().reverse());let f={width:n,height:r,xScaleType:s,yScaleType:u,xDomain:l,yDomain:c,invertXScale:i,invertYScale:a,marginTop:t.marginTop,marginBottom:t.marginBottom,marginLeft:t.marginLeft,marginRight:t.marginRight,spacingTop:t.spacingTop,spacingBottom:t.spacingBottom,spacingLeft:t.spacingLeft,spacingRight:t.spacingRight,xScale:t.xScale,yScale:t.yScale},p=this._makeScales(f);const{xScale:d,yScale:h}=p,{xTickDomain:m,yTickDomain:y}=this._resolveTickDomain(t,e,{xScaleType:s,yScaleType:u,xDomain:l,yDomain:c,xScale:d,yScale:h});kL(m,fF(s))&&(l=AL([l,m],fF(s))),kL(y,fF(u))&&(c=AL([c,y],fF(u))),f=_F(_F({},f),{},{xDomain:l,yDomain:c}),p=this._makeScales(f);const{marginTop:v,marginBottom:g,marginLeft:b,marginRight:x}=sF()(this._resolveMargin(t,e,{xScaleType:s,yScaleType:u,xDomain:l,yDomain:c,xScale:p.xScale,yScale:p.yScale}),{marginTop:0,marginBottom:0,marginLeft:0,marginRight:0}),{spacingTop:_,spacingBottom:w,spacingLeft:E,spacingRight:S}=sF()(this._resolveSpacing(t,e,{xScaleType:s,yScaleType:u,xDomain:l,yDomain:c,xScale:p.xScale,yScale:p.yScale}),{spacingTop:0,spacingBottom:0,spacingLeft:0,spacingRight:0});f=_F(_F({},f),{},{marginTop:v,marginBottom:g,marginLeft:b,marginRight:x,spacingTop:_,spacingBottom:w,spacingLeft:E,spacingRight:S});const{xScale:k,yScale:A}=this._makeScales(f),C=Object.assign({},this.props,{xScale:k,yScale:A,xDomain:l,yDomain:c,xScaleType:s,yScaleType:u,marginTop:v,marginBottom:g,marginLeft:b,marginRight:x,spacingTop:_,spacingBottom:w,spacingLeft:E,spacingRight:S});return o.createElement(e,C)}},wF(t,\"propTypes\",{xScale:u().func,yScale:u().func,marginTop:u().number,marginBottom:u().number,marginLeft:u().number,marginRight:u().number,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,invertXScale:u().bool,invertYScale:u().bool,width:u().number,height:u().number}),wF(t,\"getScaleType\",e.getScaleType),wF(t,\"getSpacing\",e.getSpacing),wF(t,\"getDomain\",e.getDomain),wF(t,\"getMargin\",e.getMargin),wF(t,\"defaultProps\",e.defaultProps),n}function CF(){return CF=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},CF.apply(this,arguments)}function TF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function DF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?TF(Object(n),!0).forEach((function(t){MF(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):TF(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function MF(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class PF extends o.Component{constructor(){super(...arguments),MF(this,\"onXYMouseEvent\",((e,t)=>{const n=this.props[e];if(!RO()(n))return;const r=function(e,t){let{xScale:n,yScale:r,height:i,width:o,marginTop:a,marginBottom:s,marginLeft:u,marginRight:l}=t;const c=e.currentTarget.getBoundingClientRect(),f=Math.round(e.clientX-c.left),p=Math.round(e.clientY-c.top),d=f-(u||0),h=p-(a||0),m=tF({width:o,height:i},{top:a,bottom:s,left:u,right:l}),y=dF(n),v=dF(r);return{event:e,outerX:f,outerY:p,innerX:d,innerY:h,xValue:VN()(d,0,m.width)?\"ordinal\"===y?bF(n,d):n.invert(d):null,yValue:VN()(h,0,m.height)?\"ordinal\"===v?bF(r,h):r.invert(h):null,xScale:n,yScale:r,marginTop:a,marginBottom:s,marginLeft:u,marginRight:l}}(t,this.props);n(r)})),MF(this,\"onMouseMove\",this.onXYMouseEvent.bind(this,\"onMouseMove\")),MF(this,\"onMouseDown\",this.onXYMouseEvent.bind(this,\"onMouseDown\")),MF(this,\"onMouseUp\",this.onXYMouseEvent.bind(this,\"onMouseUp\")),MF(this,\"onClick\",this.onXYMouseEvent.bind(this,\"onClick\")),MF(this,\"onMouseEnter\",this.onXYMouseEvent.bind(this,\"onMouseEnter\")),MF(this,\"onMouseLeave\",this.onXYMouseEvent.bind(this,\"onMouseLeave\"))}render(){const{width:e,height:t,marginTop:n,marginBottom:r,marginLeft:i,marginRight:a,spacingTop:s,spacingBottom:u,spacingLeft:l,spacingRight:c,xyPlotContainerStyle:f,xyPlotStyle:p,xyPlotClassName:d,xScale:h,yScale:m}=this.props,y=tF({width:e,height:t},{top:n,bottom:r,left:i,right:a}),v=tF(y,{top:s,bottom:u,left:l,right:c}),g=[\"onMouseMove\",\"onMouseEnter\",\"onMouseLeave\",\"onMouseDown\",\"onMouseUp\",\"onClick\"],b=iL()(g.map((e=>[e,BO(e,this.props,this)]))),x={xScale:h,yScale:m},_=[...g,\"xyPlotContainerStyle\",\"xyPlotStyle\",\"xyPlotClassName\"],w=DF(DF(DF({},cN()(this.props,_)),v),x),E=`rct-xy-plot ${d}`;return o.createElement(\"svg\",CF({width:e,height:t,className:E,style:f},b),o.createElement(\"rect\",{className:\"rct-chart-background\",width:e,height:t,\"aria-hidden\":\"true\"}),o.createElement(\"g\",{transform:`translate(${i+l}, ${n+s})`,className:\"rct-chart-inner\"},o.createElement(\"rect\",CF({transform:`translate(${-l}, ${-s})`,className:\"rct-plot-background\",style:p,\"aria-hidden\":\"true\"},y)),o.Children.map(this.props.children,(e=>WO()(e)||jO()(e)?null:o.cloneElement(e,w)))))}}MF(PF,\"propTypes\",{width:u().number,height:u().number,xDomain:u().array,yDomain:u().array,xScaleType:u().string,yScaleType:u().string,invertXScale:u().bool,invertYScale:u().bool,includeXZero:u().bool,includeYZero:u().bool,marginTop:u().number,marginBottom:u().number,marginLeft:u().number,marginRight:u().number,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,onMouseMove:u().func,onMouseEnter:u().func,onMouseLeave:u().func,onMouseDown:u().func,onMouseUp:u().func,onClick:u().func,xyPlotContainerStyle:u().object,xyPlotStyle:u().object,xyPlotClassName:u().string,xScale:u().func,yScale:u().func,children:u().any}),MF(PF,\"defaultProps\",{width:400,height:250,invertXScale:!1,invertYScale:!1,includeXZero:!1,includeYZero:!1,xyPlotContainerStyle:{},xyPlotStyle:{},xyPlotClassName:\"\"});const OF=AF(PF);function LF(e){this._context=e}function NF(e){return new LF(e)}function FF(){var e=QL,t=eN,n=JL(!0),r=null,i=NF,o=null;function a(a){var s,u,l,c=a.length,f=!1;for(null==r&&(o=i(l=np())),s=0;s<=c;++s)!(s<c&&n(u=a[s],s,a))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+e(u,s,a),+t(u,s,a));if(l)return o=null,l+\"\"||null}return a.x=function(t){return arguments.length?(e=\"function\"==typeof t?t:JL(+t),a):e},a.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:JL(+e),a):t},a.defined=function(e){return arguments.length?(n=\"function\"==typeof e?e:JL(!!e),a):n},a.curve=function(e){return arguments.length?(i=e,null!=r&&(o=i(r)),a):i},a.context=function(e){return arguments.length?(null==e?r=o=null:o=i(r=e),a):r},a}LF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};var RF=__webpack_require__(7874),IF=__webpack_require__.n(RF);const jF=[\"margin\",\"scaleType\",\"spacing\",\"domain\",\"style\",\"data\"];function BF(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const i=r?jF.concat(n):n,o=i.concat(\"scale\"),a=IF()(cN()(e,o),cN()(t,o))&&i.every((n=>lF()(e[n],t[n])))&&[\"x\",\"y\"].every((t=>gF(aL()(e,`scale[${t}]`),aL()(e,`scale[${t}]`))));return a}function qF(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class zF extends o.Component{constructor(){super(...arguments),qF(this,\"state\",{bisectX:null}),qF(this,\"getHovered\",(e=>{const t=this.state.bisectX(this.props.data,e);return this.props.data[t]}))}static getBisectorState(e){return{bisectX:bS((t=>_L(e.x,t))).left}}static getDerivedStateFromProps(e){return e.x?zF.getBisectorState(e):null}shouldComponentUpdate(e){return!BF(this.props,e,[\"lineStyle\",\"lineClassName\"])}render(){const{data:e,xScale:t,yScale:n,x:r,y:i,curve:a,lineStyle:s,lineClassName:u}=this.props,l=FF().curve(a).x(((e,n)=>t(_L(r,e,n)))).y(((e,t)=>n(_L(i,e,t))))(e);return o.createElement(\"g\",{className:`rct-line-chart ${u}`,\"aria-hidden\":\"true\"},o.createElement(\"path\",{className:\"rct-line-path\",d:l,style:s}))}}function VF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function UF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?VF(Object(n),!0).forEach((function(t){WF(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):VF(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function WF(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}qF(zF,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,lineStyle:u().object,lineClassName:u().string,xScale:u().func,yScale:u().func,curve:u().func}),qF(zF,\"defaultProps\",{lineStyle:{},lineClassName:\"\",curve:NF});class YF extends o.Component{constructor(){super(...arguments),WF(this,\"onMouseEnterPoint\",((e,t)=>{this.props.onMouseEnterPoint(e,t)})),WF(this,\"onMouseMovePoint\",((e,t)=>{this.props.onMouseMovePoint(e,t)})),WF(this,\"onMouseLeavePoint\",((e,t)=>{this.props.onMouseLeavePoint(e,t)})),WF(this,\"renderPoint\",((e,t)=>{const[n,r,i]=[\"onMouseEnterPoint\",\"onMouseMovePoint\",\"onMouseLeavePoint\"].map((t=>{const n=BO(t,this.props,this);return RO()(n)?qO(n,e):null})),{xScale:a,yScale:s,x:u,y:l,pointRadius:c,pointOffset:f,pointStyle:p,pointClassName:d}=this.props;let{pointSymbol:h}=this.props;const m=`rct-chart-scatterplot-point ${_L(d,e,t)}`,y=_L(p,e,t),v={className:m,onMouseEnter:n,onMouseMove:r,onMouseLeave:i,key:`scatter-point-${t}`};RO()(h)&&(h=h(e,t)),(uN()(h)||GO()(h))&&(h=o.createElement(\"text\",null,h)),\"circle\"===h.type&&jO()(h.props.r)&&(v.r=c);const g=a(_L(u,e,t))+f[0],b=s(_L(l,e,t))+f[1];return\"circle\"===h.type||\"ellipse\"===h.type?Object.assign(v,{cx:g,cy:b,style:UF({},y)}):\"text\"===h.type?Object.assign(v,{x:g,y:b,style:UF({textAnchor:\"middle\",dominantBaseline:\"central\"},y)}):Object.assign(v,{x:g,y:b,style:UF({},y)}),o.cloneElement(h,v)}))}shouldComponentUpdate(e){return!BF(this.props,e,[\"pointStyle\"])}render(){return o.createElement(\"g\",{\"aria-hidden\":\"true\"},this.props.data.map(this.renderPoint))}}WF(YF,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,xScale:u().func,yScale:u().func,pointRadius:u().number,pointSymbol:u().oneOfType([u().node,u().func]),pointOffset:u().arrayOf(u().number),pointStyle:u().oneOfType([u().object,u().func]),pointClassName:u().oneOfType([u().string,u().func]),onMouseEnterPoint:u().func,onMouseMovePoint:u().func,onMouseLeavePoint:u().func}),WF(YF,\"defaultProps\",{pointRadius:3,pointSymbol:o.createElement(\"circle\",null),pointOffset:[0,0],pointStyle:{},pointClassName:\"\"});var XF=__webpack_require__(3736),HF=__webpack_require__.n(XF),GF=__webpack_require__(10928),$F=__webpack_require__.n(GF),KF=__webpack_require__(74691),ZF=__webpack_require__.n(KF),JF=__webpack_require__(41143),QF=__webpack_require__.n(JF);function eR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class tR extends o.Component{render(){const{xScale:e,yScale:t,x:n,xEnd:r,y:i,yEnd:a,thickness:s,style:u,onMouseEnter:l,onMouseMove:c,onMouseLeave:f,onClick:p,showLabel:d,className:h,labelFormat:m,labelDistance:y,labelClassName:v}=this.props;var g,b;QF()([g=r,b=a].some(jO())&&[g,b].some((e=>!jO()(e))),\"Bar expects an xEnd *or* yEnd prop, but not both.\");const x=jO()(r)?\"vertical\":\"horizontal\",_=`rct-chart-bar rct-chart-bar-${x} ${h}`,w=`rct-chart-bar-label ${v||\"\"}`;let E,S,k,A,C,T,D,M;if(\"horizontal\"===x){S=t(i)-s/2;const o=e(n),a=e(r);E=Math.min(o,a),k=Math.abs(a-o),A=s,C=Math.max(o,a)+y,T=S+s/2+5,D=\"\",M=r}else{E=e(n)-s/2;const r=t(i),o=t(a);S=Math.min(r,o),A=Math.abs(o-r),k=s,C=E+s/2,T=S-y,D=\"middle\",M=a}const P=o.createElement(\"rect\",{\"aria-hidden\":\"true\",x:E,y:S,className:_,width:k,height:A,style:u,onMouseEnter:l,onMouseMove:c,onMouseLeave:f,onClick:p}),O=o.createElement(\"text\",{textAnchor:D,x:C,y:T,className:w},m?m(M):M);return d?o.createElement(\"g\",{\"aria-hidden\":\"true\"},P,O):P}}function nR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}eR(tR,\"propTypes\",{x:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),y:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),xEnd:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),yEnd:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),thickness:u().number,className:u().string,style:u().object,onMouseMove:u().func,onMouseEnter:u().func,onMouseLeave:u().func,onClick:u().func,xScale:u().func,yScale:u().func,showLabel:u().bool,labelFormat:u().func,labelDistance:u().number,labelClassName:u().string}),eR(tR,\"defaultProps\",{x:0,y:0,thickness:8,className:\"\",style:{},labelDistance:24});class rR extends o.Component{static getDomain(e){const{xScaleType:t,yScaleType:n,horizontal:r,data:i,x:o,xEnd:a,y:s,yEnd:u}=e;return{[(r?\"x\":\"y\")+\"Domain\"]:PL(i,xL(r?o:s),xL(r?a:u),fF(r?t:n))}}static getSpacing(e){const{barThickness:t,horizontal:n,x:r,y:i,xScale:o,yScale:a,data:s,xDomain:u,yDomain:l}=e,c=t/2,f=n?l:u,p=n?a:o,d=TL(s,xL(n?i:r)),[h,m]=[HF()(f),$F()(f)].map(p).sort(),[y,v]=[HF()(d),$F()(d)].map(p).sort(),[g,b]=[ZF()(c-(m-v),0,c),ZF()(c-(y-h),0,c)];return n?{spacingTop:b,spacingBottom:g,spacingLeft:0,spacingRight:0}:{spacingTop:0,spacingBottom:0,spacingLeft:b,spacingRight:g}}shouldComponentUpdate(e){return!BF(this.props,e,[\"barStyle\"])}render(){const{xScale:e,yScale:t,data:n,horizontal:r,x:i,xEnd:a,y:s,yEnd:u,barThickness:l,barClassName:c,barStyle:f,showLabels:p,barLabelFormat:d,labelDistance:h,labelClassName:m}=this.props;return o.createElement(\"g\",{\"aria-hidden\":\"true\"},n.map(((n,y)=>{const[v,g,b,x]=[\"onMouseEnterBar\",\"onMouseMoveBar\",\"onMouseLeaveBar\",\"onClick\"].map((e=>{const t=aL()(this.props,e);return RO()(t)?qO(t,n):null})),_={x:_L(i,n,y),y:_L(s,n,y),xEnd:r?_L(a,n,y):void 0,yEnd:r?void 0:_L(u,n,y),xScale:e,yScale:t,key:`chart-bar-${y}`,onMouseEnter:v,onMouseMove:g,onMouseLeave:b,onClick:x,thickness:l,showLabel:p,labelFormat:d,labelDistance:h,labelClassName:_L(m,n,y),className:`rct-chart-bar ${_L(c,n,y)||\"\"}`,style:_L(f,n,y)};return o.createElement(tR,_)})))}}function iR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?iR(Object(n),!0).forEach((function(t){aR(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iR(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function aR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sR(e){const{horizontal:t,x:n,y:r}=e;return oR(oR({},e),{},{x:t?0:n,y:t?r:0,xEnd:t?n:void 0,yEnd:t?void 0:r})}nR(rR,\"propTypes\",{data:u().array.isRequired,horizontal:u().bool,x:VO,xEnd:VO,y:VO,yEnd:VO,xScale:u().func,yScale:u().func,barThickness:u().number,barStyle:u().oneOfType([u().object,u().func]),barClassName:u().oneOfType([u().string,u().func]),onMouseMoveBar:u().func,onMouseEnterBar:u().func,onMouseLeaveBar:u().func,onClick:u().func,showLabels:u().bool,barLabelFormat:u().func,labelDistance:u().number,labelClassName:u().string}),nR(rR,\"defaultProps\",{horizontal:!1,barThickness:8,barClassName:\"\",barStyle:{}});class uR extends o.Component{static getDomain(e){return rR.getDomain(sR(e))}static getSpacing(e){return rR.getSpacing(sR(e))}shouldComponentUpdate(e){return!BF(this.props,e,[\"barStyle\"])}render(){const e=sR(this.props);return o.createElement(rR,e)}}function lR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}aR(uR,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,xScale:u().func,yScale:u().func,horizontal:u().bool,barThickness:u().number,barStyle:u().oneOfType([u().object,u().func]),barClassName:u().oneOfType([u().string,u().func]),onMouseMoveBar:u().func,onMouseEnterBar:u().func,onMouseLeaveBar:u().func,onClick:u().func}),aR(uR,\"defaultProps\",{data:[],horizontal:!1,barThickness:8,barClassName:\"\",barStyle:{}});class cR extends o.Component{render(){const{xScale:e,yScale:t,x:n,xEnd:r,y:i,yEnd:a,style:s,onMouseEnter:u,onMouseMove:l,onMouseLeave:c,className:f}=this.props;QF()(mF(e),\"RangeRect.props.xScale is not a valid d3 scale\"),QF()(mF(t),\"RangeRect.props.yScale is not a valid d3 scale\");const p=e(n),d=e(r),h=t(i),m=t(a),y=Math.min(p,d),v=Math.min(h,m),g=Math.abs(d-p),b=Math.abs(m-h);return o.createElement(\"rect\",{\"aria-hidden\":\"true\",x:y,y:v,width:g,height:b,className:f,style:s,onMouseEnter:u,onMouseMove:l,onMouseLeave:c})}}function fR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}lR(cR,\"propTypes\",{xScale:u().func,yScale:u().func,x:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,xEnd:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,y:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,yEnd:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,className:u().string,style:u().object,onMouseMove:u().func,onMouseEnter:u().func,onMouseLeave:u().func}),lR(cR,\"defaultProps\",{className:\"\",style:{}});class pR extends o.Component{static getDomain(e){const{xScaleType:t,yScaleType:n,horizontal:r,data:i}=e,o=r?\"y\":\"x\",a=fF(\"x\"===o?t:n);return{[`${o}Domain`]:PL(i,xL(e[`${o}`]),xL(e[`${o}End`]),a)}}shouldComponentUpdate(e){return!BF(this.props,e,[\"barStyle\"])}render(){const{xScale:e,yScale:t,data:n,horizontal:r,x:i,xEnd:a,y:s,yEnd:u,barClassName:l,barStyle:c}=this.props;return o.createElement(\"g\",null,n.map(((n,f)=>{const[p,d,h]=[\"onMouseEnterBar\",\"onMouseMoveBar\",\"onMouseLeaveBar\"].map((e=>{const t=aL()(this.props,e);return RO()(t)?qO(t,n):null}));return o.createElement(cR,{xScale:e,yScale:t,className:`rct-chart-area-bar ${_L(l,n,f)}`,style:_L(c,n,f),x:r?0:_L(i,n,f),xEnd:_L(r?i:a,n,f),y:r?_L(s,n,f):0,yEnd:_L(r?u:s,n,f),key:`rct-chart-area-bar-${f}`,onMouseEnter:p,onMouseMove:d,onMouseLeave:h})})))}}function dR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hR(e){const{xEnd:t,yEnd:n,horizontal:r}=e;return(!r&&!jO()(n)||r&&!jO()(t))&&console.warn(\"Warning: MarkerLineChart can only show the independent variable as a range, not the dependent variable.\"),!r&&!jO()(t)||r&&!jO()(n)?\"RangeValue\":\"ValueValue\"}fR(pR,\"propTypes\",{xScale:u().func,yScale:u().func,data:u().array.isRequired,horizontal:u().bool,x:VO,xEnd:VO,y:VO,yEnd:VO,barClassName:u().oneOfType([u().string,u().func]),barStyle:u().oneOfType([u().object,u().func]),onMouseMoveBar:u().func,onMouseEnterBar:u().func,onMouseLeaveBar:u().func}),fR(pR,\"defaultProps\",{horizontal:!1,barClassName:\"\",barStyle:{}});class mR extends o.Component{constructor(){super(...arguments),dR(this,\"onMouseEnterLine\",((e,t)=>{this.props.onMouseEnterLine(e,t)})),dR(this,\"onMouseMoveLine\",((e,t)=>{this.props.onMouseMoveLine(e,t)})),dR(this,\"onMouseLeaveLine\",((e,t)=>{this.props.onMouseLeaveLine(e,t)})),dR(this,\"renderRangeValueLine\",((e,t)=>{const[n,r,i]=[\"onMouseEnterLine\",\"onMouseMoveLine\",\"onMouseLeaveLine\"].map((t=>{const n=BO(t,this.props,this);return RO()(n)?qO(n,e):null})),{x:a,xEnd:s,y:u,yEnd:l,horizontal:c,xScale:f,yScale:p,lineClassName:d,lineStyle:h}=this.props,m=f(xL(a)(e)),y=p(xL(u)(e)),v=jO()(s)?0:f(xL(s)(e)),g=jO()(l)?0:p(xL(l)(e)),[b,x]=[m,y],_=c?m:v,w=c?g:y,E=`marker-line-${t}`;return[b,_,x,w].every((e=>null!==e&&isFinite(e)))?o.createElement(\"line\",{className:`${_L(d,e,t)}`,style:_L(h,e,t),x1:b,x2:_,y1:x,y2:w,key:E,onMouseEnter:n,onMouseMove:r,onMouseLeave:i}):null})),dR(this,\"renderValueValueLine\",((e,t)=>{const[n,r,i]=[\"onMouseEnterLine\",\"onMouseMoveLine\",\"onMouseLeaveLine\"].map((t=>{const n=BO(t,this.props,this);return RO()(n)?qO(n,e):null})),{x:a,y:s,horizontal:u,lineLength:l,xScale:c,yScale:f,lineClassName:p,lineStyle:d}=this.props,h=c(xL(a)(e)),m=f(xL(s)(e)),y=u?h:h-l/2,v=u?h:h+l/2,g=u?m-l/2:m,b=u?m+l/2:m,x=`marker-line-${t}`;return[y,v,g,b].every((e=>null!==e&&isFinite(e)))?o.createElement(\"line\",{className:`${_L(p,e,t)}`,style:_L(d,e,t),x1:y,x2:v,y1:g,y2:b,key:x,onMouseEnter:n,onMouseMove:r,onMouseLeave:i}):null}))}static getSpacing(e){if(\"RangeValue\"===hR(e))return{spacingTop:0,spacingRight:0,spacingBottom:0,spacingLeft:0};const{lineLength:t,horizontal:n,data:r,xDomain:i,yDomain:o,xScale:a,yScale:s,x:u,y:l}=e,c=t/2,f=n?o:i,p=n?s:a,d=TL(r,xL(n?l:u)),[h,m]=[HF()(f),$F()(f)].map(p).sort(),[y,v]=[HF()(d),$F()(d)].map(p).sort(),[g,b]=[ZF()(c-(m-v),0,c),ZF()(c-(y-h),0,c)];return n?{spacingTop:b,spacingBottom:g,spacingLeft:0,spacingRight:0}:{spacingTop:0,spacingBottom:0,spacingLeft:b,spacingRight:g}}static getDomain(e){if(\"RangeValue\"===hR(e)){const{data:t,x:n,xEnd:r,y:i,yEnd:o,xScaleType:a,yScaleType:s,horizontal:u}=e;return{[(u?\"y\":\"x\")+\"Domain\"]:PL(t,xL(u?i:n),xL(u?o:r),fF(u?s:a))}}return{}}shouldComponentUpdate(e){return!BF(this.props,e,[])}render(){const e=hR(this.props);return o.createElement(\"g\",{className:\"rct-marker-line-chart\",\"aria-hidden\":\"true\"},\"RangeValue\"===e?this.props.data.map(this.renderRangeValueLine):this.props.data.map(this.renderValueValueLine))}}function yR(){var e=QL,t=null,n=JL(0),r=eN,i=JL(!0),o=null,a=NF,s=null;function u(u){var l,c,f,p,d,h=u.length,m=!1,y=new Array(h),v=new Array(h);for(null==o&&(s=a(d=np())),l=0;l<=h;++l){if(!(l<h&&i(p=u[l],l,u))===m)if(m=!m)c=l,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=l-1;f>=c;--f)s.point(y[f],v[f]);s.lineEnd(),s.areaEnd()}m&&(y[l]=+e(p,l,u),v[l]=+n(p,l,u),s.point(t?+t(p,l,u):y[l],r?+r(p,l,u):v[l]))}if(d)return s=null,d+\"\"||null}function l(){return FF().defined(i).curve(a).context(o)}return u.x=function(n){return arguments.length?(e=\"function\"==typeof n?n:JL(+n),t=null,u):e},u.x0=function(t){return arguments.length?(e=\"function\"==typeof t?t:JL(+t),u):e},u.x1=function(e){return arguments.length?(t=null==e?null:\"function\"==typeof e?e:JL(+e),u):t},u.y=function(e){return arguments.length?(n=\"function\"==typeof e?e:JL(+e),r=null,u):n},u.y0=function(e){return arguments.length?(n=\"function\"==typeof e?e:JL(+e),u):n},u.y1=function(e){return arguments.length?(r=null==e?null:\"function\"==typeof e?e:JL(+e),u):r},u.lineX0=u.lineY0=function(){return l().x(e).y(n)},u.lineY1=function(){return l().x(e).y(r)},u.lineX1=function(){return l().x(t).y(n)},u.defined=function(e){return arguments.length?(i=\"function\"==typeof e?e:JL(!!e),u):i},u.curve=function(e){return arguments.length?(a=e,null!=o&&(s=a(o)),u):a},u.context=function(e){return arguments.length?(null==e?o=s=null:s=a(o=e),u):o},u}dR(mR,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,xEnd:VO,yEnd:VO,horizontal:u().bool,lineLength:u().number,xScaleType:u().string,yScaleType:u().string,xScale:u().func,yScale:u().func,lineClassName:u().oneOfType([u().string,u().func]),lineStyle:u().oneOfType([u().object,u().func]),onMouseEnterLine:u().func,onMouseMoveLine:u().func,onMouseLeaveLine:u().func}),dR(mR,\"defaultProps\",{horizontal:!1,lineLength:10,lineClassName:\"\",lineStyle:{}});var vR=__webpack_require__(73955),gR=__webpack_require__.n(vR);function bR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class xR extends o.Component{static getDomain(e){const{data:t,x:n,y:r,yEnd:i}=e,o={x:xL(n),y:xL(r),yEnd:xL(i)};return{yDomain:AL([TL(t,o.y),TL(t,o.yEnd)])}}shouldComponentUpdate(e){return!BF(this.props,e,[\"pathStyle\",\"pathStylePositive\",\"pathStyleNegative\"])}render(){const{data:e,x:t,y:n,yEnd:r,xScale:i,yScale:a,isDifference:s,pathStyle:u,pathStylePositive:l,pathStyleNegative:c,shouldShowGaps:f,pathClassName:p,isDefined:d,curve:h}=this.props,m={x:xL(t),y:xL(n),yEnd:xL(r)},y=yR();f&&y.defined(((e,t)=>d(e,t,m))),y.x(((e,t)=>i(m.x(e,t)))).y0(((e,t)=>a(m.y(e,t)))).y1(((e,t)=>a(m.yEnd(e,t)))),h&&y.curve(h);const v=y(e);if(s){y.y0(this.props.height);const t=y(e);y.y0(0);const n=y(e),r=gR()(),i=`clip-above-area-${r}`,a=`clip-below-area-${r}`,s=l||u||{},f=c||u||{};return o.createElement(\"g\",{className:\"rct-area-chart--difference\"},o.createElement(\"clipPath\",{id:i},o.createElement(\"path\",{className:\"rct-area-chart-path\",d:n})),o.createElement(\"clipPath\",{id:a},o.createElement(\"path\",{className:\"rct-area-chart-path\",d:t})),o.createElement(\"path\",{className:`rct-area-chart-path ${p}`,d:v,clipPath:`url(#${i})`,style:s}),o.createElement(\"path\",{className:`rct-area-chart-path ${p}`,d:v,clipPath:`url(#${a})`,style:f}))}return o.createElement(\"g\",{className:\"rct-area-chart\",\"aria-hidden\":\"true\"},o.createElement(\"path\",{className:`rct-area-chart-path ${p}`,d:v,style:u||{}}))}}bR(xR,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,yEnd:VO,pathClassName:u().string,pathStyle:u().object,isDifference:u().bool,pathStylePositive:u().object,pathStyleNegative:u().object,shouldShowGaps:u().bool,isDefined:u().func,xScale:u().func,yScale:u().func,xScaleType:u().string,yScaleType:u().string,height:u().number,curve:u().func}),bR(xR,\"defaultProps\",{shouldShowGaps:!0,isDefined:(e,t,n)=>!jO()(n.y(e,t))&&!jO()(n.yEnd(e,t)),pathClassName:\"\",pathStyle:{}});var _R=__webpack_require__(98913),wR=__webpack_require__.n(_R),ER=__webpack_require__(96026),SR=__webpack_require__.n(ER);function kR(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function AR(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kR(Object(n),!0).forEach((function(t){CR(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kR(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function CR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class TR extends o.Component{static getDomain(e){const{xScaleType:t,yScaleType:n,data:r,x:i,xEnd:o,y:a,yEnd:s}=e;return{x:PL(r,xL(i),xL(o),fF(t)),y:PL(r,xL(a),xL(s),fF(n))}}shouldComponentUpdate(e){return!BF(this.props,e,[\"colors\",\"valueDomain\"])}render(){const{data:e,xScale:t,yScale:n,value:r,x:i,xEnd:a,y:s,yEnd:u,interpolator:l,rectStyle:c,rectClassName:f}=this.props,p=xL(r);let d;if(this.props.colorScale)d=this.props.colorScale;else{const t=this.props.valueDomain||TL(e,p),n=this.props.colors||(2===t.length?[\"#000000\",\"#ffffff\"]:wR()(t.length,BC().domain(SR()(10))));d=function(e,t,n){let r=n;return uN()(r)&&(r=function(e){switch(e.toLowerCase()){case\"hcl\":return _w;case\"hsl\":return vw;case\"lab\":default:return bw;case\"rgb\":return El}}(n)),jE().domain(e).range(t).interpolate(r)}(t,n,l)}return o.createElement(\"g\",{className:\"rct-color-heatmap-chart\",\"aria-hidden\":\"true\"},e.map(((e,r)=>{const l=d(p(e)),h=AR(AR({},_L(c,e,r)),{},{fill:l}),m=`${_L(f,e,r)}`,y=`heatmap-rect-${r}`;return o.createElement(cR,{x:_L(i,e,r),xEnd:_L(a,e,r),y:_L(s,e,r),yEnd:_L(u,e,r),xScale:t,yScale:n,style:h,className:m,key:y})})))}}function DR(){return DR=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},DR.apply(this,arguments)}function MR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}CR(TR,\"propTypes\",{data:u().array.isRequired,value:VO,x:VO,xEnd:VO,y:VO,yEnd:VO,xScale:u().func,yScale:u().func,colorScale:u().func,colors:u().array,valueDomain:u().array,interpolator:u().string,rectStyle:u().oneOfType([u().object,u().func]),rectClassName:u().oneOfType([u().string,u().func])}),CR(TR,\"defaultProps\",{interpolator:\"lab\",rectStyle:{},rectClassName:\"\"});class PR extends o.Component{constructor(){super(...arguments),MR(this,\"onMouseEnter\",(e=>{this.props.onMouseEnter(e)})),MR(this,\"onMouseLeave\",(e=>{this.props.onMouseLeave(e)})),MR(this,\"onMouseMove\",(e=>{const{xScale:t,yScale:n,onMouseMove:r}=this.props;if(!RO()(r))return;const i=this.refs.background.getBoundingClientRect();if(!i)return;const[o,a]=[e.clientX-(i.left||0),e.clientY-(i.top||0)],[s,u]=[t.invert(o),n.invert(a)];r(e,{xVal:s,yVal:u})}))}static getDomain(e){const{data:t,x:n,xEnd:r,y:i,yEnd:o}=e;return{x:Hp(eL()([t.map(xL(n)),t.map(xL(r))])),y:Hp(eL()([t.map(xL(i)),t.map(xL(o))]))}}shouldComponentUpdate(e){return!BF(this.props,e,[\"rectStyle\"])}render(){const{data:e,area:t,x:n,xEnd:r,y:i,yEnd:a,xScale:s,yScale:u,scaleWidth:l,scaleHeight:c,rectClassName:f,rectStyle:p}=this.props,[d,h,m,y,v]=[t,n,r,i,a].map(xL),g=this.props.unitsPerPixel||Math.max.apply(this,e.map(((e,o)=>_L(t,e,o)/Math.abs((s(_L(r,e,o))-s(_L(n,e,o)))*(u(_L(a,e,o))-u(_L(i,e,o))))))),b={onMouseMove:BO(\"onMouseMove\",this.props,this),onMouseEnter:BO(\"onMouseEnter\",this.props,this),onMouseLeave:BO(\"onMouseLeave\",this.props,this)};return o.createElement(\"g\",DR({className:\"rct-area-heatmap-chart\",\"aria-hidden\":\"true\"},b),o.createElement(\"rect\",{x:\"0\",y:\"0\",width:l,height:c,ref:\"background\",fill:\"transparent\"}),e.map(((e,l)=>{const[c,d,h,m,y]=[n,r,i,a,t].map((t=>_L(t,e,l))),v=Math.abs(s(d)-s(c)),b=Math.abs(u(m)-u(h)),x=Math.min(s(d),s(c)),_=Math.min(u(m),u(h)),w=y/g,E=Math.sqrt(w*(v/b)),S=Math.sqrt(w*(b/v)),k=x+(v-E)/2,A=_+(b-S)/2;if(![k,A,E,S].every((e=>null!==e&&isFinite(e))))return null;const C=`rct-area-heatmap-rect ${_L(f,e,l)}`,T=_L(p,e,l),D=`rect-${l}`;return o.createElement(\"rect\",{x:k,y:A,width:E,height:S,className:C,style:T,key:D})})))}}MR(PR,\"propTypes\",{data:u().array.isRequired,x:VO,xEnd:VO,y:VO,yEnd:VO,area:VO,unitsPerPixel:u().number,rectClassName:u().oneOfType([u().string,u().func]),rectStyle:u().oneOfType([u().object,u().func]),xScale:u().func,yScale:u().func,onMouseEnter:u().func,onMouseLeave:u().func,onMouseMove:u().func}),MR(PR,\"defaultProps\",{rectClassName:\"\",rectStyle:{}});var OR=Array.prototype,LR=OR.slice;OR.map;const NR=bS(gS),FR=NR.right,RR=(NR.left,bS((function(e){return null===e?NaN:+e})).center,FR);function IR(e){return function(){return e}}function jR(e){return e}function BR(){return BR=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},BR.apply(this,arguments)}function qR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class zR extends o.Component{constructor(){super(...arguments),qR(this,\"state\",{histogramData:null})}static getScaleType(){return{xScaleType:\"linear\",yScaleType:\"linear\"}}static getDomain(e){const{data:t,value:n,thresholds:r,binDomain:i,nice:o}=e,a=zR.computeHistogram(t,r,n,i,o),s={xDomain:[HF()(a).x0,$F()(a).x1],yDomain:[0,uL()(a,(e=>e.length)).length]};return s}static computeHistogram(e,t,n,r,i){let o=function(){var e=jR,t=Hp,n=Xp;function r(r){Array.isArray(r)||(r=Array.from(r));var i,o,a=r.length,s=new Array(a);for(i=0;i<a;++i)s[i]=e(r[i],i,r);var u=t(s),l=u[0],c=u[1],f=n(s,l,c);if(!Array.isArray(f)){const e=c,n=+f;if(t===Hp&&([l,c]=function(e,t,n){let r;for(;;){const i=Jp(e,t,n);if(i===r||0===i||!isFinite(i))return[e,t];i>0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}(l,c,n)),(f=Zp(l,c,n))[f.length-1]>=c)if(e>=c&&t===Hp){const e=Jp(l,c,n);isFinite(e)&&(e>0?c=(Math.floor(c/e)+1)*e:e<0&&(c=(Math.ceil(c*-e)+1)/-e))}else f.pop()}for(var p=f.length;f[0]<=l;)f.shift(),--p;for(;f[p-1]>c;)f.pop(),--p;var d,h=new Array(p+1);for(i=0;i<=p;++i)(d=h[i]=[]).x0=i>0?f[i-1]:l,d.x1=i<p?f[i]:c;for(i=0;i<a;++i)l<=(o=s[i])&&o<=c&&h[RR(f,o,0,p)].push(r[i]);return h}return r.value=function(t){return arguments.length?(e=\"function\"==typeof t?t:IR(t),r):e},r.domain=function(e){return arguments.length?(t=\"function\"==typeof e?e:IR([e[0],e[1]]),r):t},r.thresholds=function(e){return arguments.length?(n=\"function\"==typeof e?e:Array.isArray(e)?IR(LR.call(e)):IR(e),r):n},r}().value(n).thresholds(t);if(r)i&&console.warn(\"Warning: if binDomain is defined and nice = true, histogram prioritizes binDomain and disregards nice.\"),o=o.domain(r);else if(i){const t=jE().domain(Hp(e)).nice().ticks();o=o.domain([HF()(t),$F()(t)])}return o(e)}shouldComponentUpdate(e){return!BF(this.props,e,[])}render(){const{value:e,data:t,thresholds:n,binDomain:r,nice:i}=this.props,a=zR.computeHistogram(t,n,e,r,i);return a?o.createElement(pR,BR({},this.props,{data:a,x:VR,xEnd:UR,y:WR})):o.createElement(\"g\",null)}}function VR(e){return e.x0}function UR(e){return e.x1}function WR(e){return e.length}function YR(e,t){let n=0,r=0;if(void 0===t)for(let t of e)null!=t&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let o of e)null!=(o=t(o,++i,e))&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function XR(){return XR=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},XR.apply(this,arguments)}function HR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}qR(zR,\"propTypes\",{data:u().array.isRequired,value:u().func,xScale:u().func,yScale:u().func,thresholds:u().oneOfType([u().number,u().array]),binDomain:u().array,nice:u().bool,barClassName:u().oneOfType([u().string,u().func]),barStyle:u().oneOfType([u().object,u().func]),onMouseMoveBar:u().func,onMouseEnterBar:u().func,onMouseLeaveBar:u().func}),qR(zR,\"defaultProps\",{data:[],thresholds:30,nice:!1,barClassName:\"\",barStyle:{}});class GR extends o.Component{constructor(){super(...arguments),HR(this,\"state\",{kdeData:null})}static getDomain(){return{yDomain:[0,200]}}shouldComponentUpdate(e){return!BF(this.props,e,[])}static getDerivedStateFromProps(e,t){return{kdeData:GR.getKdeData(e)}}static getKdeData(e){const{data:t,bandwidth:n,sampleCount:r,xScale:i,width:o}=e,a=(s=n,function(e){return Math.abs(e/=s)<=1?.75*(1-e*e)/s:0});var s;return function(e,t){return function(n){return t.map((function(t){return[t,YR(n,(function(n){return e(t-n)}))]}))}}(a,i.ticks(r||Math.ceil(o/2)))(t)}render(){const{kdeData:e}=this.state;return o.createElement(zF,XR({},this.props,{data:e,x:e=>e[0],y:e=>500*e[1]}))}}HR(GR,\"propTypes\",{data:u().array.isRequired,bandwidth:u().number,sampleCount:u().number,lineStyle:u().object,lineClassName:u().string,x:VO,xScale:u().func,yScale:u().func}),HR(GR,\"defaultProps\",{bandwidth:.5,sampleCount:null,lineClassName:\"\",lineStyle:{}});const $R=GR;function KR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class ZR extends o.Component{static getDomain(e){const{data:t,xScaleType:n,yScaleType:r,x:i,y:o,horizontal:a}=e,[s,u]=[xL(i),xL(o)],[l,c]=[fF(n),fF(r)];return a?{xDomain:AL([TL(t,s,l),TL(t,((e,t)=>-s(e,t)),l)]),yDomain:TL(t,u,c)}:{xDomain:TL(t,s,l),yDomain:AL([TL(t,u,c),TL(t,((e,t)=>-u(e,t)),c)])}}shouldComponentUpdate(e){return!BF(this.props,e,[])}render(){const{data:e,xScale:t,yScale:n,color:r,pathStyle:i,x:a,y:s,horizontal:u,pathClassName:l}=this.props,c=yR();u?c.x0(((e,n)=>t(-_L(a,e,n)))).x1(((e,n)=>t(_L(a,e,n)))).y(((e,t)=>n(_L(s,e,t)))):c.x(((e,n)=>t(_L(a,e,n)))).y0(((e,t)=>n(-_L(s,e,t)))).y1(((e,t)=>n(_L(s,e,t))));const f=pE(BC).domain(SR()(10));return o.createElement(\"g\",{className:\"rct-funnel-chart\",\"aria-hidden\":\"true\"},e.map(((t,n)=>{if(0===n)return null;const a=c([e[n-1],t]),s=r?_L(r,t,n):f(n-1);let u=_L(i,t,n);return u=sF()({},u,{fill:s,stroke:\"transparent\"}),o.createElement(\"path\",{d:a,className:`${_L(l,t,n)||\"\"}`,style:u,key:n})})))}}function JR(e){const{ariaLabelGenerator:t,onKeyDown:n,height:r,width:i,datasetWithAccessor:a,xScale:s}=e,u=s.domain(),l={};a.forEach(((e,t)=>{let{data:n,accessor:r}=e;n.forEach((e=>{const n=_L(r,e),i=n.toString();l[i]||(l[i]={xValue:n,data:new Array(a.length)}),l[i].data[t]=e}))}));const c=Object.values(l).sort(((e,t)=>gS(e.xValue,t.xValue))),f=i/(c.length-1);return o.createElement(\"g\",{className:\"rct-chart-a11y\"},c.map(((e,i)=>{let{xValue:a,data:l}=e;return o.createElement(\"rect\",{className:\"rct-chart-visually-hidden-rect\",\"aria-label\":t(a,l,i),key:i,height:r,width:f,x:a===u[1]?s(c[i-1].xValue):s(a),y:0,role:\"button\",tabIndex:0,onKeyDown:e=>{n&&n(e,a,l)}})})))}function QR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}KR(ZR,\"propTypes\",{data:u().array.isRequired,x:VO,y:VO,color:u().oneOfType([u().string,u().func]),horizontal:u().bool,pathClassName:u().oneOfType([u().string,u().func]),pathStyle:u().oneOfType([u().object,u().func]),xScale:u().func,yScale:u().func}),KR(ZR,\"defaultProps\",{pathClassName:\"\",pathStyle:{}}),JR.propTypes={datasetWithAccessor:u().arrayOf(u().shape({data:u().arrayOf(u().object).isRequired,accessor:VO.isRequired})).isRequired,ariaLabelGenerator:u().func.isRequired,onKeyDown:u().func,height:u().number,width:u().number,xScale:u().func};class eI extends o.Component{render(){const{xScale:e,value:t,yScale:n,yLimit:r,yDomain:i,height:a,style:s,spacingTop:u,spacingBottom:l}=this.props,c=`rct-chart-line-x ${this.props.className}`,f=e(t);let p=-u,d=a+l;return void 0!==r&&(p=n(i[0])+l,d=n(r)),o.createElement(\"line\",{\"aria-hidden\":\"true\",x1:f,x2:f,y1:p,y2:d,className:c,style:s})}}function tI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}QR(eI,\"propTypes\",{height:u().number,xScale:u().func,value:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,yScale:u().func,yLimit:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),yDomain:u().array,spacingTop:u().number,spacingBottom:u().number,style:u().object,className:u().string}),QR(eI,\"defaultProps\",{style:{},className:\"\",spacingTop:0,spacingBottom:0});class nI extends o.Component{render(){const{width:e,yScale:t,value:n,xScale:r,xLimit:i,spacingLeft:a,spacingRight:s,style:u}=this.props,l=`rct-chart-line-y ${this.props.className||\"\"}`,c=t(n),f=void 0===i?e+s:r(i);return o.createElement(\"line\",{\"aria-hidden\":\"true\",x1:-a,x2:f,y1:c,y2:c,className:l,style:u})}}function rI(e){const{width:t,height:n,xScale:r,yScale:i,spacingTop:o,spacingBottom:a,spacingLeft:s,spacingRight:u,position:l,placement:c,ticks:f,tickCount:p,tickLength:d,tickClassName:h,tickStyle:m,title:y,titleDistance:v,titleAlign:g,titleRotate:b,titleStyle:x,labelDistance:_,labelClassName:w,labelStyle:E,labelFormat:S,labelFormats:k,labelOffset:A,labels:C,noLabelOverhang:T,gridLineClassName:D,gridLineStyle:M,onMouseEnterLabel:P,onMouseMoveLabel:O,onMouseLeaveLabel:L,onMouseClickLabel:N}=e;return{ticksProps:{width:t,height:n,xScale:r,yScale:i,ticks:f,tickCount:p,spacingTop:o,spacingBottom:a,spacingLeft:s,spacingRight:u,position:l,placement:c,tickLength:d,tickStyle:m,tickClassName:h},gridProps:{width:t,height:n,xScale:r,yScale:i,ticks:f,tickCount:p,spacingTop:o,spacingBottom:a,spacingLeft:s,spacingRight:u,lineClassName:D,lineStyle:M},labelsProps:{width:t,height:n,xScale:r,yScale:i,ticks:f,tickCount:p,spacingTop:o,spacingBottom:a,spacingLeft:s,spacingRight:u,position:l,placement:c,labels:C,labelClassName:w,labelStyle:E,noLabelOverhang:T,distance:_,format:S,formats:k,offset:A,onMouseEnterLabel:P,onMouseMoveLabel:O,onMouseLeaveLabel:L,onMouseClickLabel:N},titleProps:{width:t,height:n,position:l,placement:c,title:y,spacingTop:o,spacingBottom:a,spacingLeft:s,spacingRight:u,style:x,distance:v,alignment:g,rotate:b}}}function iI(e,t,n){QF()(\"x\"===e||\"y\"===e,\"axisType should be either x or y.\");const r=t.currentTarget.getBoundingClientRect(),i=dF(n),o=Math.round(t.clientY-r.top),a=Math.round(t.clientX-r.left),s=\"y\"===e,u=s?o:a,l=s?r.height:r.width,c=VN()(u,0,l)?\"ordinal\"===i?bF(n,u):n.invert(u):null,f={event:t,outerX:a,outerY:o};return s?(f.yValue=c,f.yScale=n):(f.xValue=c,f.xScale=n),f}tI(nI,\"propTypes\",{yScale:u().func,width:u().number,value:u().oneOfType([u().number,u().string,u().instanceOf(Date)]).isRequired,xScale:u().func,xLimit:u().oneOfType([u().number,u().string,u().instanceOf(Date)]),spacingLeft:u().number,spacingRight:u().number,style:u().object,className:u().string}),tI(nI,\"defaultProps\",{style:{},className:\"\",spacingLeft:0,spacingRight:0});var oI=__webpack_require__(22762),aI=__webpack_require__.n(oI),sI=__webpack_require__(6162),uI=__webpack_require__.n(sI),lI=__webpack_require__(48403),cI=__webpack_require__.n(lI),fI=__webpack_require__(87378),pI=__webpack_require__.n(fI);const dI=document.createElement(\"canvas\"),hI=400,mI=\"normal\",yI=(e,t)=>{if(!t.unit)return pI().parse(`${e.value*t.value}${e.unit}`);const n=[\"%\",\"ch\",\"cm\",\"em\",\"ex\"];if(-1!==n.indexOf(t.unit))throw new Error(`We do not currently support the unit ${t.unit}\\n      from the provided line-height ${t.value}.\\n      Unsupported units include ${n.join(\", \")}.`);return\"px\"===t.unit?t:pI().parse(pI().convert(t,\"px\"))},vI=e=>{let{text:t,fontFamily:n,fontSize:r,lineHeight:i,fontWeight:o=hI,fontStyle:a=mI,canvas:s=dI}=e;const u=s.getContext(\"2d\");u.font=`${o} ${a} ${r} ${n}`;const l=e=>({text:e,width:pI().parse(`${u.measureText(e).width}px`),height:yI(pI().parse(r),pI().parse(i))});return Array.isArray(t)?t.map(l).reduce(((e,t)=>({width:t.width.value>e.width.value?t.width:e.width,height:pI().parse(`${e.height.value+t.height.value}${t.height.unit}`),text:t.text.length>e.text.length?t.text:e.text}))):l(t)};function gI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class bI extends o.Component{static getLabel(e){const{value:t,format:n}=e,r=sF()(e.style,bI.defaultProps.style),i=n(t),o=Object.assign({text:i},r),a=vI(o);return{value:e.value,text:a.text,height:a.height.value,width:a.width.value}}render(){const{value:e,format:t}=this.props,n=cN()(this.props,[\"value\",\"format\"]);return o.createElement(\"text\",n,o.Children.count(this.props.children)?this.props.children:t(e))}}gI(bI,\"propTypes\",{value:u().any,format:u().func,children:u().any}),gI(bI,\"defaultProps\",{format:gL(),style:{fontFamily:\"Helvetica, sans-serif\",fontSize:\"20px\",lineHeight:1,textAnchor:\"middle\"}});var xI=__webpack_require__(13217),_I=__webpack_require__.n(xI),wI=__webpack_require__(53632),EI=__webpack_require__.n(wI),SI=__webpack_require__(54061),kI=__webpack_require__.n(SI);function AI(e){return\"ordinal\"===e?[gL()]:\"time\"===e?[\"%Y\",\"'%y\",\"%b %Y\",\"%m/%Y\"]:[\"~s\",\",d\",\".1~f\",\".2~f\",\".4~f\",\".6~f\"]}function CI(e,t){return e.map((e=>uN()(e)?\"time\"===t?t=>Zk(e)(t):t=>Qm(e)(t):e))}function TI(e){const t=hN()(e,\"text\");return JO()(t).length===t.length}function DI(e){return _I()(e).reduce(((t,n,r)=>function(e,t){if(![e,t].every((e=>Array.isArray(e)&&2===e.length&&e.every((e=>null!==e&&isFinite(e)))&&e[0]<=e[1])))throw new Error(\"checkRangesOverlap expects 2 range arrays with 2 numbers each, first <= second\");return e[0]<=t[1]&&t[0]<=e[1]}(e[r],n)?t+1:t),0)}function MI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";const r={start:0,middle:-.5,end:-1},i=e(t.value)+(r[n]||0)*t.width;return[i,i+t.width]}function PI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";const r={top:0,middle:-.5,bottom:-1},i=e(t.value)+(r[n]||0)*t.height;return[i,i+t.height]}function OI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";const[r,i]=MI(e,t,n),o=Math.ceil(Math.max(EI()(e.range())-r,0)),a=Math.ceil(Math.max(i-uI()(e.range()),0));return[o,a]}function LI(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";const[r,i]=PI(e,t,n),o=Math.ceil(Math.max(EI()(e.range())-r,0)),a=Math.ceil(Math.max(i-uI()(e.range()),0));return[o,a]}function NI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function FI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class RI extends o.Component{static getTickDomain(e){if(!e.xScale)return;const t=sF()({},e,RI.defaultProps);return{xTickDomain:vF(t.xScale,t)}}static getMargin(e){const t=sF()({},e,RI.defaultProps),{xScale:n,position:r,placement:i,distance:o}=t,a=t.labels||RI.getLabels(t),s={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};if(\"bottom\"===r&&\"above\"===i||\"top\"===r&&\"below\"===i)return s;const u=uI()(a.map((e=>Math.ceil(o+e.height))));let l=\"middle\";t.noLabelOverhang&&(l=\"start\");const[c,f]=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";return kI()(t,((t,r)=>{let[i,o]=t;const[a,s]=OI(e,r,n);return[Math.max(i,a),Math.max(o,s)]}),[0,0])}(n,a,l);return sF()({[`margin${cI()(r)}`]:u,marginLeft:c,marginRight:f},s)}static getLabels(e){const{tickCount:t,labelStyle:n,xScale:r}=sF()(e,{},RI.defaultProps),i=e.ticks||yF(r,null,t),o={labelStyle:n,defaultStyle:RI.defaultProps.labelStyle},a=e.format?[e.format]:e.formats,s=dF(r),u=CI(Array.isArray(a)&&a.length?a:AI(s),s),{labels:l}=function(e,t){let n,r=arguments.length>3?arguments[3]:void 0,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];const o=[],a=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).find((i=>{const a=t.map(((e,t)=>bI.getLabel({value:e,format:i,style:sF()(_L(r.labelStyle,{value:e},t),r.defaultStyle)}))),s=TI(a);if(!s)return o.push({labels:a,format:i,areLabelsDistinct:s}),!1;const u=DI(a.map((t=>MI(e,t,r.textAnchor||\"middle\"))));return u?(o.push({labels:a,format:i,areLabelsDistinct:s,collisionCount:u}),!1):(n=a,!0)}));if(!jO()(a))return{labels:n,format:a,areLabelsDistinct:!0,collisionCount:0};if(!i)return{attempts:o};const s=o.filter((e=>e.areLabelsDistinct));return 0===s.length?$F()(o):aI()(s,\"collisionCount\")}(r,i,u,o);return l}shouldComponentUpdate(e){return!BF(this.props,e)}render(){const{height:e,xScale:t,position:n,distance:r,labelStyle:i,labelClassName:a,spacingTop:s,spacingBottom:u,offset:l}=this.props,c=this.props.labels||RI.getLabels(this.props),f=this.props.placement||(\"top\"===n?\"above\":\"below\"),p=`rct-chart-value-label rct-chart-value-label-x ${a}`,d=\"bottom\"===n?`translate(0, ${e+u})`:`translate(0, ${-s})`;return o.createElement(\"g\",{className:\"rct-chart-value-labels-x\",transform:d},c.map(((e,n)=>{const a=t(e.value)+l,s=\"above\"===f?-e.height-r:r,[u,d,h,m]=[\"onMouseEnterLabel\",\"onMouseMoveLabel\",\"onMouseLeaveLabel\",\"onMouseClickLabel\"].map((t=>{const n=aL()(this.props,t);return RO()(n)?qO(n,e.value):null}));let y=\"middle\";this.props.noLabelOverhang&&(0===n&&(y=\"start\"),n===c.length-1&&t.range()[1]===a&&(y=\"end\"));const v=sF()({textAnchor:y},_L(i,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?NI(Object(n),!0).forEach((function(t){FI(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):NI(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({x:a,y:s},e),n),RI.defaultProps.labelStyle);return o.createElement(\"g\",{key:`x-axis-label-${n}`,\"aria-hidden\":\"true\",onMouseEnter:u,onMouseMove:d,onMouseLeave:h,onClick:m},o.createElement(bI,{value:e.value,x:a,y:s,className:p,dy:\"0.8em\",style:v},e.text))})))}}FI(RI,\"propTypes\",{height:u().number,position:u().oneOf([\"top\",\"bottom\"]),placement:u().oneOf([\"below\",\"above\"]),xScale:u().func,spacingTop:u().number,spacingBottom:u().number,distance:u().number,tickCount:u().number,ticks:u().array,labelStyle:u().oneOfType([u().func,u().object]),labelClassName:u().string,format:u().func,formats:u().array,labels:u().array,noLabelOverhang:u().bool,nice:u().bool,onMouseEnterLabel:u().func,onMouseMoveLabel:u().func,onMouseLeaveLabel:u().func,onMouseClickLabel:u().func,offset:u().number}),FI(RI,\"defaultProps\",{offset:0,height:250,position:\"bottom\",distance:4,nice:!0,tickCount:10,ticks:null,labelClassName:\"\",labelStyle:{fontFamily:\"Helvetica, sans-serif\",fontSize:\"14px\",lineHeight:1,textAnchor:\"middle\"}}),o.Component;const II=RI;function jI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function BI(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jI(Object(n),!0).forEach((function(t){qI(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jI(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function qI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class zI extends o.Component{static getMargin(e){const t=sF()({},e,zI.defaultProps),{distance:n,position:r,rotate:i}=t,o=t.placement||(\"bottom\"===r?\"below\":\"above\"),a={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};if(\"bottom\"===r&&\"above\"===o||\"top\"===r&&\"below\"===o)return a;const s=t.title||t.children,u=sF()(t.style,zI.defaultProps.style),l=Object.assign({text:s},u),c=vI(l),f=n+Math.ceil(i?c.width.value:c.height.value);return BI(BI({},a),{},\"bottom\"===r?{marginBottom:f}:{marginTop:f})}render(){const{height:e,width:t,distance:n,position:r,alignment:i,style:a,spacingTop:s,spacingBottom:u}=this.props,l=this.props.title||this.props.children,c=this.props.placement||(\"bottom\"===r?\"below\":\"above\"),f=this.props.rotate?-90:0,p=(\"bottom\"===r?e+u:-s)+(\"above\"===c?-n:n),d=\"center\"===i?t/2:\"right\"===i?t:0,h=f&&\"above\"===c?\"start\":f&&\"below\"===c?\"end\":\"left\"===i?\"start\":\"right\"===i?\"end\":\"middle\",m=f&&\"right\"===i?\"-0.2em\":f&&\"center\"===i?\"0.3em\":f||\"below\"===c?\"0.8em\":\"-0.2em\";return o.createElement(\"g\",{transform:`translate(${d},${p})`,\"aria-hidden\":\"true\"},o.createElement(\"text\",{style:BI(BI({},a),{},{textAnchor:h}),transform:`rotate(${f})`,dy:m},l))}}function VI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}qI(zI,\"propTypes\",{height:u().number,width:u().number,distance:u().number,position:u().oneOf([\"top\",\"bottom\"]),placement:u().oneOf([\"above\",\"below\"]),alignment:u().oneOf([\"left\",\"center\",\"right\"]),rotate:u().bool,style:u().object,spacingTop:u().number,spacingBottom:u().number,title:u().string,children:u().any}),qI(zI,\"defaultProps\",{height:250,width:400,distance:5,position:\"bottom\",alignment:\"center\",rotate:!1,style:{fontFamily:\"Helvetica, sans-serif\",fontSize:\"24px\",fontWeight:\"bold\",lineHeight:1},spacingTop:0,spacingBottom:0});class UI extends o.Component{static getTickDomain(e){if(!e.xScale)return;const t=sF()({},e,UI.defaultProps);return{xTickDomain:vF(t.xScale,t)}}render(){const{height:e,xScale:t,tickCount:n,lineClassName:r,lineStyle:i,spacingTop:a,spacingBottom:s,spacingLeft:u,spacingRight:l}=this.props,c=this.props.ticks||yF(t,null,n),f=`rct-chart-grid-line ${r||\"\"}`;return o.createElement(\"g\",{className:\"rct-chart-grid-x\",\"aria-hidden\":\"true\"},c.map(((n,r)=>o.createElement(eI,{height:e,xScale:t,className:f,spacingTop:a,spacingBottom:s,spacingLeft:u,spacingRight:l,value:n,style:i,key:`grid-x-line-${r}`}))))}}function WI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}VI(UI,\"propTypes\",{width:u().number,height:u().number,xScale:u().func,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,nice:u().bool,ticks:u().array,tickCount:u().number,lineClassName:u().string,lineStyle:u().object}),VI(UI,\"defaultProps\",{nice:!0,lineStyle:{}});class YI extends o.Component{static getTickDomain(e){if(!e.xScale)return;const t=sF()({},e,YI.defaultProps);return{xTickDomain:vF(t.xScale,t)}}static getMargin(e){const{tickLength:t,position:n}=sF()({},e,YI.defaultProps),r=e.placement||(\"top\"===n?\"above\":\"below\"),i={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};return\"bottom\"===n&&\"above\"===r||\"top\"===n&&\"below\"===r?i:sF()({[`margin${cI()(n)}`]:t||0},i)}render(){const{height:e,xScale:t,tickCount:n,position:r,tickLength:i,tickStyle:a,tickClassName:s,spacingTop:u,spacingBottom:l}=this.props,c=this.props.placement||(\"top\"===r?\"above\":\"below\"),f=this.props.ticks||yF(t,null,n),p=`rct-chart-tick rct-chart-tick-x ${s||\"\"}`,d=\"bottom\"===r?`translate(0, ${e+(l||0)})`:`translate(0, ${-u||0})`;return o.createElement(\"g\",{className:\"rct-chart-ticks-x\",transform:d,\"aria-hidden\":\"true\"},f.map(((e,n)=>{const r=t(e),s=\"above\"===c?-i:i;return o.createElement(\"line\",{x1:r,x2:r,y1:0,y2:s,className:p,style:a,key:`tick-${n}`})})))}}function XI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}WI(YI,\"propTypes\",{height:u().number,xScale:u().func,position:u().oneOf([\"bottom\",\"top\"]),placement:u().oneOf([\"above\",\"below\"]),ticks:u().array,tickCount:u().number,tickLength:u().number,tickStyle:u().object,tickClassName:u().string,spacingTop:u().number,spacingBottom:u().number,nice:u().bool}),WI(YI,\"defaultProps\",{position:\"bottom\",nice:!0,tickLength:5,tickStyle:{},tickClassName:\"\"});const HI=iI.bind(null,\"x\");class GI extends o.Component{constructor(){super(...arguments),XI(this,\"handleOnMouseMove\",(e=>{const{onMouseMoveAxis:t,xScale:n}=this.props;RO()(t)&&t(HI(e,n))})),XI(this,\"handleOnMouseEnter\",(e=>{const{onMouseEnterAxis:t,xScale:n}=this.props;RO()(t)&&t(HI(e,n))})),XI(this,\"handleOnMouseLeave\",(e=>{const{onMouseLeaveAxis:t,xScale:n}=this.props;RO()(t)&&t(HI(e,n))})),XI(this,\"handleOnClick\",(e=>{const{onMouseClickAxis:t,xScale:n}=this.props;RO()(t)&&t(HI(e,n))}))}static getTickDomain(e){if(!e.xScale)return;const t=sF()({},e,GI.defaultProps);return{xTickDomain:vF(t.xScale,t)}}static getMargin(e){const{ticksProps:t,labelsProps:n,titleProps:r}=rI(e),i=[];return e.showTicks&&i.push(YI.getMargin(t)),e.showTitle&&e.title&&i.push(zI.getMargin(r)),e.showLabels&&i.push(II.getMargin(n)),rF(i,\"margin\")}shouldComponentUpdate(e){return!BF(this.props,e)}render(){const{width:e,height:t,position:n,spacingTop:r,spacingBottom:i,spacingLeft:a,spacingRight:s,tickLength:u,titleDistance:l,labelDistance:c,showTitle:f,showLabels:p,showTicks:d,showGrid:h,showLine:m,lineStyle:y}=this.props,{ticksProps:v,gridProps:g,labelsProps:b,titleProps:x}=rI(this.props);if(b.distance=c+(d?u:0),f&&p){const e=II.getMargin(b);x.distance=l+e[`margin${XN()(n)}`]}else f&&d&&(x.distance=l+u);const _=\"bottom\"===n?t+i:-r;return o.createElement(\"g\",{className:\"rct-chart-axis rct-chart-axis-x\",\"aria-hidden\":\"true\",onMouseMove:this.handleOnMouseMove,onMouseEnter:this.handleOnMouseEnter,onMouseLeave:this.handleOnMouseLeave,onClick:this.handleOnClick},h?o.createElement(UI,g):null,d?o.createElement(YI,v):null,p?o.createElement(II,b):null,f?o.createElement(zI,x):null,m?o.createElement(\"line\",{className:\"rct-chart-axis-line rct-chart-axis-line-x\",x1:-a,x2:e+s,y1:_,y2:_,style:y}):null)}}function $I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function KI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}XI(GI,\"propTypes\",{xScale:u().func,width:u().number,height:u().number,position:u().string,placement:u().string,nice:u().bool,ticks:u().array,tickCount:u().number,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,showTitle:u().bool,showLabels:u().bool,showTicks:u().bool,showGrid:u().bool,title:u().string,titleDistance:u().number,titleAlign:u().string,titleRotate:u().bool,titleStyle:u().object,labelDistance:u().number,labelClassName:u().string,labelStyle:u().oneOfType([u().func,u().object]),labelFormat:u().func,labelFormats:u().array,labels:u().array,noLabelOverhang:u().bool,labelOffset:u().number,tickLength:u().number,tickClassName:u().string,tickStyle:u().object,gridLineClassName:u().string,gridLineStyle:u().object,onMouseClickLabel:u().func,onMouseEnterLabel:u().func,onMouseMoveLabel:u().func,onMouseLeaveLabel:u().func,onMouseEnterAxis:u().func,onMouseLeaveAxis:u().func,onMouseMoveAxis:u().func,onMouseClickAxis:u().func,showLine:u().bool,lineStyle:u().object}),XI(GI,\"defaultProps\",{width:400,height:250,position:\"bottom\",nice:!0,showTitle:!0,showLabels:!0,showTicks:!0,showGrid:!0,tickLength:5,labelDistance:3,titleDistance:5,spacingTop:0,spacingBottom:0,spacingLeft:0,spacingRight:0,showLine:!0,lineStyle:{}});class ZI extends o.Component{static getTickDomain(e){if(!e.yScale)return;const t=sF()({},e,ZI.defaultProps);return{yTickDomain:vF(t.yScale,t)}}static getMargin(e){const t=sF()({},e,ZI.defaultProps),{yScale:n,position:r,placement:i,distance:o}=t,a=t.labels||ZI.getLabels(t),s={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};if(\"left\"===r&&\"after\"===i||\"right\"===r&&\"before\"===i)return s;const u=uI()(a.map((e=>Math.ceil(o+e.width)))),[l,c]=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"middle\";return kI()(t,((t,r)=>{let[i,o]=t;const[a,s]=LI(e,r,n);return[Math.max(i,a),Math.max(o,s)]}),[0,0])}(n,a,\"middle\");return sF()({[`margin${cI()(r)}`]:u,marginTop:l,marginBottom:c},s)}static getLabels(e){const{tickCount:t,labelStyle:n,yScale:r}=sF()(e,{},ZI.defaultProps),i=e.ticks||yF(r,null,t),o={labelStyle:n,defaultStyle:ZI.defaultProps.labelStyle},a=dF(r),s=e.format?[e.format]:e.formats,u=CI(Array.isArray(s)&&s.length?s:AI(a),a),{labels:l}=function(e,t){let n,r=arguments.length>3?arguments[3]:void 0,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];const o=[],a=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).find((e=>{const i=t.map(((t,n)=>bI.getLabel({value:t,format:e,style:sF()(_L(r.labelStyle,{value:t},n),r.defaultStyle)}))),a=TI(i);return a?(n=i,!0):(o.push({labels:i,format:e,areLabelsDistinct:a}),!1)}));return jO()(a)?i?$F()(o):{attempts:o}:{labels:n,format:a,areLabelsDistinct:!0,collisionCount:0}}(r,i,u,o);return l}shouldComponentUpdate(e){return!BF(this.props,e)}render(){const{width:e,yScale:t,position:n,distance:r,labelStyle:i,labelClassName:a,spacingLeft:s,spacingRight:u,offset:l}=this.props,c=this.props.placement||(\"left\"===n?\"before\":\"after\"),f=`rct-chart-value-label rct-chart-value-label-y ${a}`,p=\"before\"===c?\"end\":\"start\",d=this.props.labels||ZI.getLabels(this.props),h=\"left\"===n?`translate(${-s}, 0)`:`translate(${e+u}, 0)`;return o.createElement(\"g\",{className:\"rct-chart-value-labels-y\",transform:h,\"aria-hidden\":\"true\"},d.map(((e,n)=>{const a=t(e.value)+l,s=\"before\"===c?-r:r,[u,d,h,m]=[\"onMouseEnterLabel\",\"onMouseMoveLabel\",\"onMouseLeaveLabel\",\"onMouseClickLabel\"].map((t=>{const n=aL()(this.props,t);return RO()(n)?qO(n,e.value):null})),y=sF()({textAnchor:p},_L(i,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$I(Object(n),!0).forEach((function(t){KI(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({x:s,y:a},e),n),ZI.defaultProps.labelStyle);return o.createElement(\"g\",{key:`x-axis-label-${n}`,onMouseEnter:u,onMouseMove:d,onMouseLeave:h,onClick:m},o.createElement(bI,{value:e.value,x:s,y:a,className:f,dy:\"0.35em\",style:y},e.text))})))}}KI(ZI,\"propTypes\",{yScale:u().func,height:u().number,width:u().number,position:u().oneOf([\"left\",\"right\"]),placement:u().oneOf([\"before\",\"after\"]),distance:u().number,nice:u().bool,tickCount:u().number,ticks:u().array,labelStyle:u().oneOfType([u().func,u().object]),labelClassName:u().string,spacingLeft:u().number,spacingRight:u().number,onMouseEnterLabel:u().func,onMouseMoveLabel:u().func,onMouseLeaveLabel:u().func,onMouseClickLabel:u().func,format:u().func,formats:u().array,labels:u().array,offset:u().number}),KI(ZI,\"defaultProps\",{offset:0,height:250,width:400,position:\"left\",distance:4,nice:!0,tickCount:10,ticks:null,labelClassName:\"\",labelStyle:{fontFamily:\"Helvetica, sans-serif\",fontSize:\"14px\",lineHeight:1,textAnchor:\"end\"}});const JI=ZI;function QI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ej(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?QI(Object(n),!0).forEach((function(t){tj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QI(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function tj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class nj extends o.Component{static getMargin(e){const t=sF()({},e,nj.defaultProps),{distance:n,position:r,rotate:i}=t,o=t.placement||(\"left\"===r?\"before\":\"after\"),a={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};if(\"left\"===r&&\"after\"===o||\"right\"===r&&\"before\"===o)return a;const s=t.title||t.children,u=sF()(t.style,nj.defaultProps.style),l=Object.assign({text:s},u),c=vI(l),f=n+Math.ceil(i?c.height.value:c.width.value);return ej(ej({},a),{},\"left\"===r?{marginLeft:f}:{marginRight:f})}render(){const{height:e,width:t,distance:n,position:r,alignment:i,style:a,spacingLeft:s,spacingRight:u}=this.props,l=this.props.title||this.props.children,c=this.props.placement||(\"left\"===r?\"before\":\"after\"),f=this.props.rotate?-90:0,p=(\"right\"===r?t+u:-s)+(\"before\"===c?-n:n),d=\"middle\"===i?e/2:\"bottom\"===i?e:0,h=f&&\"top\"===i?\"end\":f&&\"middle\"===i?\"middle\":f&&\"bottom\"===i?\"start\":\"before\"===c?\"end\":\"start\",m=f&&\"before\"===c?\"-0.2em\":f||\"top\"===i?\"0.8em\":\"middle\"===i?\"0.3em\":null;return o.createElement(\"g\",{transform:`translate(${p},${d})`,\"aria-hidden\":\"true\"},o.createElement(\"text\",{style:ej(ej({},a),{},{textAnchor:h}),transform:`rotate(${f})`,dy:m},l))}}function rj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}tj(nj,\"propTypes\",{height:u().number,width:u().number,distance:u().number,position:u().oneOf([\"left\",\"right\"]),alignment:u().oneOf([\"top\",\"middle\",\"bottom\"]),placement:u().oneOf([\"before\",\"after\"]),rotate:u().bool,style:u().object,spacingLeft:u().number,spacingRight:u().number,title:u().string,children:u().any}),tj(nj,\"defaultProps\",{height:250,width:400,distance:5,position:\"left\",alignment:\"middle\",rotate:!0,style:{fontFamily:\"Helvetica, sans-serif\",fontSize:\"24px\",fontWeight:\"bold\",lineHeight:1},spacingLeft:0,spacingRight:0});class ij extends o.Component{static getTickDomain(e){if(!e.yScale)return;const t=sF()({},e,ij.defaultProps);return{yTickDomain:vF(e.yScale,t)}}render(){const{width:e,yScale:t,tickCount:n,lineClassName:r,lineStyle:i,spacingTop:a,spacingBottom:s,spacingLeft:u,spacingRight:l}=this.props,c=this.props.ticks||yF(t,null,n),f=`rct-chart-grid-line ${r||\"\"}`;return o.createElement(\"g\",{className:\"rct-chart-grid-y\",\"aria-hidden\":\"true\"},c.map(((n,r)=>o.createElement(nI,{width:e,yScale:t,className:f,spacingTop:a,spacingBottom:s,spacingLeft:u,spacingRight:l,value:n,style:i,key:`grid-y-line-${r}`}))))}}function oj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}rj(ij,\"propTypes\",{width:u().number,height:u().number,yScale:u().func,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,nice:u().bool,ticks:u().array,tickCount:u().number,lineClassName:u().string,lineStyle:u().object}),rj(ij,\"defaultProps\",{nice:!0,lineStyle:{}});class aj extends o.Component{static getTickDomain(e){if(!e.yScale)return;const t=sF()({},e,aj.defaultProps);return{yTickDomain:vF(e.yScale,t)}}static getMargin(e){const{tickLength:t,position:n}=sF()({},e,aj.defaultProps),r=e.placement||(\"left\"===n?\"before\":\"after\"),i={marginTop:0,marginBottom:0,marginLeft:0,marginRight:0};return\"left\"===n&&\"after\"===r||\"right\"===n&&\"before\"===r?i:sF()({[`margin${cI()(n)}`]:t||0},i)}render(){const{width:e,yScale:t,tickCount:n,position:r,tickLength:i,tickStyle:a,tickClassName:s,spacingLeft:u,spacingRight:l}=this.props,c=this.props.placement||(\"left\"===r?\"before\":\"after\"),f=this.props.ticks||yF(t,null,n),p=`rct-chart-tick rct-chart-tick-y ${s||\"\"}`,d=\"right\"===r?`translate(${e+(l||0)}, 0)`:`translate(${-u||0}, 0)`;return o.createElement(\"g\",{className:\"rct-chart-ticks-y\",transform:d,\"aria-hidden\":\"true\"},f.map(((e,n)=>{const r=t(e),s=\"before\"===c?-i:i;return o.createElement(\"line\",{x1:0,x2:s,y1:r,y2:r,className:p,style:a,key:`tick-${n}`})})))}}function sj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}oj(aj,\"propTypes\",{width:u().number,yScale:u().func,position:u().oneOf([\"left\",\"right\"]),placement:u().oneOf([\"before\",\"after\"]),ticks:u().array,tickCount:u().number,tickLength:u().number,tickStyle:u().object,tickClassName:u().string,spacingLeft:u().number,spacingRight:u().number,nice:u().bool}),oj(aj,\"defaultProps\",{position:\"left\",nice:!0,tickLength:5,tickStyle:{}});const uj=iI.bind(null,\"y\");class lj extends o.Component{constructor(){super(...arguments),sj(this,\"handleOnMouseMove\",(e=>{const{onMouseMoveAxis:t,yScale:n}=this.props;RO()(t)&&t(uj(e,n))})),sj(this,\"handleOnMouseEnter\",(e=>{const{onMouseEnterAxis:t,yScale:n}=this.props;RO()(t)&&t(uj(e,n))})),sj(this,\"handleOnMouseLeave\",(e=>{const{onMouseLeaveAxis:t,yScale:n}=this.props;RO()(t)&&t(uj(e,n))})),sj(this,\"handleOnClick\",(e=>{const{onMouseClickAxis:t,yScale:n}=this.props;RO()(t)&&t(uj(e,n))}))}static getTickDomain(e){if(!e.yScale)return;const t=sF()({},e,lj.defaultProps);return{yTickDomain:vF(t.yScale,t)}}static getMargin(e){const{ticksProps:t,labelsProps:n,titleProps:r}=rI(e),i=[];return e.showTicks&&i.push(aj.getMargin(t)),e.showTitle&&e.title&&i.push(nj.getMargin(r)),e.showLabels&&i.push(JI.getMargin(n)),rF(i,\"margin\")}shouldComponentUpdate(e){return!BF(this.props,e)}render(){const{width:e,height:t,position:n,tickLength:r,titleDistance:i,labelDistance:a,showTitle:s,showLabels:u,showTicks:l,showGrid:c,spacingTop:f,spacingBottom:p,spacingLeft:d,spacingRight:h,showLine:m,lineStyle:y}=this.props,{ticksProps:v,gridProps:g,labelsProps:b,titleProps:x}=rI(this.props);if(b.distance=a+(l?r:0),s&&u){const e=JI.getMargin(b);x.distance=i+e[`margin${XN()(n)}`]}else s&&l&&(x.distance=i+r);const _=\"left\"===n?-d:e+h;return o.createElement(\"g\",{className:\"rct-chart-axis rct-chart-axis-y\",onMouseMove:this.handleOnMouseMove,onMouseEnter:this.handleOnMouseEnter,onMouseLeave:this.handleOnMouseLeave,onClick:this.handleOnClick,\"aria-hidden\":\"true\"},c?o.createElement(ij,g):null,l?o.createElement(aj,v):null,u?o.createElement(JI,b):null,s?o.createElement(nj,x):null,m?o.createElement(\"line\",{className:\"rct-chart-axis-line rct-chart-axis-line-y\",x1:_,x2:_,y1:-f,y2:t+p,style:y}):null)}}function cj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fj(e){const{zoomScale:t,zoomX:n,zoomY:r}=e;return nO.translate(n||0,r||0).scale(t||1)}sj(lj,\"propTypes\",{yScale:u().func,width:u().number,height:u().number,position:u().string,placement:u().string,nice:u().bool,ticks:u().array,tickCount:u().number,spacingTop:u().number,spacingBottom:u().number,spacingLeft:u().number,spacingRight:u().number,showTitle:u().bool,showLabels:u().bool,showTicks:u().bool,showGrid:u().bool,title:u().string,titleDistance:u().number,titleAlign:u().string,titleRotate:u().bool,titleStyle:u().object,labelDistance:u().number,labelClassName:u().string,labelStyle:u().oneOfType([u().func,u().object]),labelFormat:u().func,labelFormats:u().array,labels:u().array,labelOffset:u().number,tickLength:u().number,tickClassName:u().string,tickStyle:u().object,gridLineClassName:u().string,gridLineStyle:u().object,onMouseClickLabel:u().func,onMouseEnterLabel:u().func,onMouseMoveLabel:u().func,onMouseLeaveLabel:u().func,onMouseEnterAxis:u().func,onMouseLeaveAxis:u().func,onMouseMoveAxis:u().func,onMouseClickAxis:u().func,showLine:u().bool,lineStyle:u().object}),sj(lj,\"defaultProps\",{width:400,height:250,position:\"left\",nice:!0,showTitle:!0,showLabels:!0,showTicks:!0,showGrid:!0,tickLength:5,labelDistance:3,titleDistance:5,spacingTop:0,spacingBottom:0,spacingLeft:0,spacingRight:0,showLine:!0,lineStyle:{}});class pj extends o.Component{constructor(e){var t;super(e),t=this,cj(this,\"state\",{lastZoomTransform:null,selection:null}),cj(this,\"handleZoom\",(function(e){const n=e.transform;if(t.props.controlled){const{selection:e,lastZoomTransform:n}=t.state;t.zoom.on(\"zoom\",null),t.zoom.transform(e,n),t.zoom.on(\"zoom\",t.handleZoom)}else t.setState({zoomKey:Math.random()});for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.props.onZoom&&t.props.onZoom(n,...i)})),this.svgRef=o.createRef()}componentDidMount(){const e=fj(this.props),t=Cu(this.svgRef.current);this.zoom=pO(),t.call(this.zoom),this.props.disableMouseWheelZoom?t.call(this.zoom).on(\"wheel.zoom\",null):t.call(this.zoom),this.zoom.transform(t,e),this._updateZoomProps(),this.zoom.on(\"zoom\",this.handleZoom),this.setState({selection:t,lastZoomTransform:e})}componentDidUpdate(e){const t=this.props;if(e.controlled&&(t.zoomX!==e.zoomX||t.zoomY!==e.zoomY||t.zoomScale!==e.zoomScale)){this.zoom.on(\"zoom\",null);const e=fj(t);this.zoom.transform(this.state.selection,e),this.zoom.on(\"zoom\",this.handleZoom),this.setState({lastZoomTransform:e})}this._updateZoomProps(t)}_updateZoomProps(e){let t=e;t||(t=this.props);const{extent:n,scaleExtent:r,translateExtent:i,clickDistance:o,duration:a,interpolate:s,constrain:u,filter:l,touchable:c,wheelDelta:f}=t;Array.isArray(n)&&this.zoom.extent(n),Array.isArray(r)&&this.zoom.scaleExtent(r),Array.isArray(i)&&this.zoom.translateExtent(i),null!==o&&isFinite(o)&&this.zoom.clickDistance(o),null!==a&&isFinite(a)&&this.zoom.duration(a),RO()(s)&&this.zoom.interpolate(s),RO()(u)&&this.zoom.constrain(u),RO()(l)&&this.zoom.filter(l),RO()(c)&&this.zoom.touchable(c),RO()(f)&&this.zoom.wheelDelta(f)}render(){const e=this.svgRef&&this.svgRef.current?rO(this.svgRef.current):null;return o.createElement(\"svg\",{ref:this.svgRef,width:this.props.width,height:this.props.height},o.createElement(\"g\",{width:this.props.width,height:this.props.height,transform:e},this.props.children))}}cj(pj,\"propTypes\",{width:u().number,height:u().number,onZoom:u().func,controlled:u().bool,disableMouseWheelZoom:u().bool,zoomX:u().number,zoomY:u().number,zoomScale:u().number,extent:u().array,scaleExtent:u().array,translateExtent:u().array,clickDistance:u().number,duration:u().number,interpolate:u().func,constrain:u().func,filter:u().func,touchable:u().func,wheelDelta:u().func,children:u().any}),cj(pj,\"defaultProps\",{width:800,height:600,controlled:!1,disableMouseWheelZoom:!1,zoomX:0,zoomY:0,zoomScale:1});const dj={Data:r};function hj(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return se().reduce(se().range(e-1),(e=>e.concat(se().last(e)+se().random(-n,n))),[t])}function mj(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return hj(e,t,n).map(((e,t)=>[t,e]))}function yj(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Date(2015,0,1),i=r;return hj(e,t,n).map((e=>(i=new Date(i.getTime()+864e5),[i,e])))}function vj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gj(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vj(Object(n),!0).forEach((function(t){bj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vj(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function bj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}window.Reactochart=i;class xj extends o.Component{constructor(){super(...arguments),bj(this,\"onClick\",(e=>{this.props.onClick&&this.props.onClick(e,this.props.id)}))}render(){const{codeText:e,isExpanded:t,label:r,id:s,description:u}=this.props,l=gj(gj({React:o,ReactDOM:a,d3:n,_:se(),randomWalk:hj,randomWalkSeries:mj,randomWalkTimeSeries:yj},i),this.props.scope);return o.createElement(\"div\",{className:\"row example \"+(t?\"example-active\":\"example-inactive\")},o.createElement(\"div\",{className:\"col-md-12\"},o.createElement(\"h3\",{className:\"example-header\",onClick:this.onClick},r||s,\" \",t?\"▼\":\"►\"),t?o.createElement(\"div\",null,u?o.createElement(\"div\",{className:\"example-description\"},u):null,o.createElement(OO,{codeText:e,scope:l,noRender:!1})):null))}}bj(xj,\"propTypes\",{codeText:u().string,scope:u().object,isExpanded:u().bool,label:u().node,id:u().string,description:u().node,onClick:u().func}),bj(xj,\"defaultProps\",{codeText:\"\",scope:{},isExpanded:!0,label:\"Example\",id:\"\"});const _j=JSON.parse('{\"description\":\"`AreaBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\\\\nvalue on the *dependent* axis (Y axis for vertical bars), and the bar stretches from zero to this value.\\\\nHowever, on the *independent* axis, each bar represents a *range* (min/max) of values,\\\\nrather than being centered on a specific value.\\\\nIn other words, the bar *lengths* act the same way as standard bar chart bars,\\\\nbut their *thicknesses* are variable and meaningful.\\\\n`AreaBarChart`s are the correct way to display histograms with variable bin sizes.\\\\nThey are so named because, in cases like these histograms, since both the bar thickness and length are meaningful,\\\\nso too is the bar\\'s total *area*, unlike in other bar charts.\",\"displayName\":\"AreaBarChart\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot\"},\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to be plotted. One bar will be rendered per datum in this array.\"},\"horizontal\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart will use horizontal or vertical bars.\\\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `false`, this gets the start (min value) of the *independent* variable range, spanned by the bar\\'s thickness.\\\\nIf `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar\\'s length\"},\"xEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (max X value) of the *independent* variable range, spanned by the bar\\'s thickness.\\\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `true`, this gets the start (min value) of the *independent* variable range which is spanned by the bar\\'s thickness.\\\\nIf `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar\\'s length\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (max Y value) of the *independent* variable range, spanned by the bar\\'s thickness.\\\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"},\"barClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each bar\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"barStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each bar\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseMoveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a bar.\"},\"onMouseEnterBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a bar.\"},\"onMouseLeaveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a bar.\"}}}');function wj(){return wj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wj.apply(this,arguments)}const Ej=[{id:\"rates-by-age\",label:\"Smoking Rates by Age\",codeText:__webpack_require__(17140).Z},{id:\"basic\",label:\"Basic AreaBarChart\",codeText:__webpack_require__(51885).Z}];class Sj extends o.Component{render(){return o.createElement(eo,{name:\"AreaBarChart\",propDocs:_j},Ej.map((e=>o.createElement(xj,wj({},e,{key:e.id})))))}}const kj=JSON.parse('{\"description\":\"`AreaChart` represents a simple bivariate area chart,\\\\na filled path drawn between two lines (datasets).\",\"displayName\":\"AreaChart\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"The array of data objects\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for area X values, called once per datum,\\\\nor a single X value to be used for the entire line.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for area\\'s starting (minimum) Y values, called once per datum,\\\\nor a single Y value to be used for the entire line.\\\\nShould return the minimum of the Y range spanned by the area at this point.\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for area\\'s ending (maximum) Y values, called once per datum,\\\\nor a single Y value to be used for the entire line.\\\\nShould return the maximum of the Y range spanned by the area at this point.\"},\"pathClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to area path element.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"pathStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to area path element.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"isDifference\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"If isDifference is true, AreaChart generates a \\\\\"difference chart\\\\\" with two area paths instead of one:\\\\none path which shows when YEnd > Y, and one vice versa, allowing them to be styled differently (eg red/green).\"},\"pathStylePositive\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"When isDifference is true, pathStylePositive can be passed to style the\\\\npositive area difference.\\\\nIgnored if isDifference is false.\"},\"pathStyleNegative\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"When isDifference is true, pathStyleNegative can be passed to style the\\\\nnegative area difference.\\\\nIgnored if isDifference is false.\"},\"shouldShowGaps\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"If true, will show gaps in the shaded area for data where props.isDefined(datum) returns false.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"isDefined\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"If shouldShowGaps is true, isDefined function describes when a datum\\\\nshould be considered \\\\\"defined\\\\\" vs. when to show gap by default.\\\\nShows gap if either y or yEnd are undefined.\",\"defaultValue\":{\"value\":\"(d, i, accessors) => {\\\\n  return (\\\\n    !isUndefined(accessors.y(d, i)) && !isUndefined(accessors.yEnd(d, i))\\\\n  );\\\\n}\",\"computed\":false}},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"xScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Type of X scale - provided by XYPlot.\"},\"yScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Type of Y scale - provided by XYPlot.\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Height of chart - provided by XYPlot.\"},\"curve\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 curve for path generation.\"}}}');function Aj(){return Aj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Aj.apply(this,arguments)}const Cj=[{id:\"basic\",label:\"Basic AreaChart\",codeText:__webpack_require__(3307).Z},{id:\"twoDatasets\",label:\"Area Chart with Two Datasets\",codeText:__webpack_require__(3672).Z},{id:\"difference\",label:\"Difference Area Chart\",codeText:__webpack_require__(14983).Z}];class Tj extends o.Component{render(){return o.createElement(eo,{name:\"AreaChart\",propDocs:kj},Cj.map((e=>o.createElement(xj,Aj({},e,{key:e.id})))))}}const Dj=JSON.parse('{\"description\":\"`AreaHeatmap` is still undergoing experimental changes!\\\\nWe do not consider this chart to be production ready as it does not support categorical data.\",\"displayName\":\"AreaHeatmap\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseEnter\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseLeave\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseMove\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data objects.\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"\"},\"xEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"\"},\"area\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"\"},\"unitsPerPixel\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"rectClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each rect\\\\nor accessor function which returns a class\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"rectStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each rect,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot\"},\"onMouseEnter\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseLeave\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseMove\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"}}}');function Mj(){return Mj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mj.apply(this,arguments)}const Pj=[{id:\"basic\",label:\"Basic AreaHeatmap\",codeText:__webpack_require__(53440).Z}];class Oj extends o.Component{render(){return o.createElement(eo,{name:\"AreaHeatmap\",propDocs:Dj},Pj.map((e=>o.createElement(xj,Mj({},e,{key:e.id})))))}}const Lj=JSON.parse('{\"description\":\"`AriaLabelContainer` provides a mechanism for keyboard navigation of\\\\n`LineChart` and `AreaChart` graphs within `XYPlot`. This component renders\\\\na rectangle for a given `numFrames` across a Line/Area chart. `numFrames` should\\\\nbe equal to the number of data points in your dataset. Users can navigate to a frame\\\\neither by pressing `Tab`, or through their assistive technology. `AriaLabelContainer`\\\\ntakes an `ariaLabelGenerator`, which generates an aria-label for each frame of the chart.\\\\n[aria-labels](https://www.w3.org/TR/WCAG20-TECHS/ARIA6.html#ARIA6-description) are critical for users accessing\\\\nthe web with screenreaders or other assistive technologies.\",\"displayName\":\"AriaLabelContainer\",\"methods\":[],\"props\":{\"datasetWithAccessor\":{\"type\":{\"name\":\"arrayOf\",\"value\":{\"name\":\"shape\",\"value\":{\"data\":{\"name\":\"arrayOf\",\"value\":{\"name\":\"object\"},\"required\":true},\"accessor\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor.isRequired\",\"required\":true}}}},\"required\":true,\"description\":\"An array containing n objects in the following shape:\\\\n[{\\\\n   data: Array of your data points, normally used in rendering specific line or area charts\\\\n   accessor: A function used to access the data point on the x axis from the `data` attribute\\\\n             (datum) => number\\\\n}]\"},\"ariaLabelGenerator\":{\"type\":{\"name\":\"func\"},\"required\":true,\"description\":\"A function that takes the xValue at the start of the frame, an array of datapoints at that xValue, and the index of the frame,\\\\nand returns a string to render as an aria label\\\\nfor the specific frame in the Interface.\\\\n\\\\n(xValue, [datapoints], frameIndex) => string\"},\"onKeyDown\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"an optional `onKeyDown` event handler to provide for each frame\\\\nwhen selected.\\\\nBest practices are to describe how the user will interact with the chart in\\\\nthe ariaLabelGenerator\\\\n\\\\n(event, xValue, [datapoints]) => void\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"height of the chart - provided by `XYPlot`\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"width of the chart - provided by `XYPlot`\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"}}}');function Nj(){return Nj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nj.apply(this,arguments)}const Fj=[{id:\"one-dataset\",label:\"With One Dataset\",codeText:__webpack_require__(24756).Z},{id:\"two-dataset\",label:\"With Two Datasets\",codeText:__webpack_require__(29247).Z},{id:\"action\",label:\"With Interactions\",codeText:__webpack_require__(31294).Z}];class Rj extends o.Component{render(){return o.createElement(eo,{name:\"AriaLabelContainer\",propDocs:Lj},Fj.map((e=>o.createElement(xj,Nj({},e,{key:e.id})))))}}const Ij=JSON.parse('{\"description\":\"Bar is a low-level component to be used in XYPlot-type charts (namely BarChart).\\\\nIt is specified in terms of a range (min & max) of values on one axis and a\\\\nsingle value on the other axis.\\\\nPassing props `x`, `xEnd` and `y` specifies a horizontal bar, centered on `y`\\\\nand spanning from `x` to `xEnd`.\\\\nPassing props `x`, `y`, and `yEnd\\' specifies a vertical bar, centered on `x`\\\\nand spanning from `y` to `yEnd`.\",\"displayName\":\"Bar\",\"methods\":[],\"props\":{\"x\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"For a vertical bar, `x` represents the X data value on which the bar is centered.\\\\nFor a horizontal bar, `x` represents the *starting* X value of the bar, ie. the minimum of the range it spans\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"y\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"For a horizontal bar, `y` represents the Y data value on which the bar is centered.\\\\nFor a vertical bar, `y` represents the *starting* Y value of the bar, ie. the minimum of the range it spans\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"xEnd\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"For a horizontal bar, `xEnd` represents the *ending* X data value of the bar, ie. the maximum of the range it spans.\\\\nThis prop should not be defined if the bar is vertical.\"},\"yEnd\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"For a vertical bar, `yEnd` represents the *ending* Y data value of the bar, ie. the maximum of the range it spans.\\\\nThis prop should not be defined if the bar is horizontal.\"},\"thickness\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The thickness of the bar, in pixels. (width of vertical bar, or height of horizontal bar).\",\"defaultValue\":{\"value\":\"8\",\"computed\":false}},\"className\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class name(s) to be included on the bar\\'s <rect> element.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be included on the bar\\'s <rect> element.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseMove\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the bar.\"},\"onMouseEnter\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the bar.\"},\"onMouseLeave\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the bar.\"},\"onClick\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user clicks the bar.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"showLabel\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Conditional if column should display values above/beside bar.\"},\"labelFormat\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Format to use for the values or accessor that returns the updated value.\"},\"labelDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The distance from the column the label appears in pixels.\",\"defaultValue\":{\"value\":\"24\",\"computed\":false}},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class name(s) to be included on the bar\\'s <text> element.\"}}}');function jj(){return jj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jj.apply(this,arguments)}const Bj=[{id:\"basic\",label:\"Basic Bar\",codeText:__webpack_require__(97288).Z}];class qj extends o.Component{render(){return o.createElement(eo,{name:\"Bar\",propDocs:Ij},Bj.map((e=>o.createElement(xj,jj({},e,{key:e.id})))))}}const zj=JSON.parse('{\"description\":\"`BarChart` represents a basic \\\\\"Value/Value\\\\\" bar chart,\\\\nwhere each bar represents a single independent variable value and a single dependent value,\\\\nwith bars that are centered horizontally on x-value and extend from 0 to y-value,\\\\n(or centered vertically on their y-value and extend from 0 to the x-value, in the case of horizontal chart variant)\\\\n\\\\nFor other bar chart types, see RangeBarChart and AreaBarChart\",\"displayName\":\"BarChart\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getSpacing\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Array of data to be plotted. One bar will be rendered per datum in the array.\",\"defaultValue\":{\"value\":\"[]\",\"computed\":false}},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `true`, this becomes 0.\\\\nIf `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar\\'s length.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `false`, this becomes 0.\\\\nIf `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar\\'s length.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"horizontal\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart will use horizontal or vertical bars.\\\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"barThickness\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width).\",\"defaultValue\":{\"value\":\"8\",\"computed\":false}},\"barStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each bar,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"barClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each bar,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"onMouseMoveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a bar.\"},\"onMouseEnterBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a bar.\"},\"onMouseLeaveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a bar.\"},\"onClick\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user clicks the bar.\"}}}');function Vj(){return Vj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vj.apply(this,arguments)}const Uj=[{id:\"basic\",label:\"Basic BarChart\",codeText:__webpack_require__(99676).Z},{id:\"gradient\",label:\"BarChart with Linear Gradient\",codeText:__webpack_require__(31434).Z}];class Wj extends o.Component{render(){return o.createElement(eo,{name:\"BarChart\",propDocs:zj},Uj.map((e=>o.createElement(xj,Vj({},e,{key:e.id})))))}}const Yj=JSON.parse('{\"description\":\"`ColorHeatmap` can be used to represent individual values contained in a matrix through colors.\",\"displayName\":\"ColorHeatmap\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to be plotted - should be 1D array of all grid values\"},\"value\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the value of the datum, called once per datum, or a\\\\nsingle value to be used for all data.\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for x values, called once per datum, or a\\\\nsingle value to be used for all `x` data.\"},\"xEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for x end values, called once per datum, or a\\\\nsingle value to be used for all `xEnd` data.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for y values, called once per datum, or a\\\\nsingle value to be used for all `y` data.\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for y end values, called once per datum, or a\\\\nsingle value to be used for all `yEnd` data.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot\"},\"colorScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"A d3 color scale or function which receives the datum value as an argument.\\\\nThis will be constructred from the `colors`, `valueDomain` and\\\\n`interpolator` props, if `colorScale` is undefined.\"},\"colors\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"An array of color strings\"},\"valueDomain\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom domain of the data.\\\\nOtherwise it will be the extent of your data.\"},\"interpolator\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Interpolator for colors. Possible options include \\\\\"hcl\\\\\", \\\\\"hsl\\\\\", \\\\\"lab\\\\\" and \\\\\"rgb\\\\\"\",\"defaultValue\":{\"value\":\"\\'lab\\'\",\"computed\":false}},\"rectStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each rect,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"rectClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each rect,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}}}}');function Xj(){return Xj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xj.apply(this,arguments)}const Hj=[{id:\"basic\",label:\"Basic ColorHeatmap\",codeText:__webpack_require__(69022).Z},{id:\"categorical\",label:\"Categorical ColorHeatmap\",codeText:__webpack_require__(44309).Z}];class Gj extends o.Component{render(){return o.createElement(eo,{name:\"ColorHeatmap\",propDocs:Yj},Hj.map((e=>o.createElement(xj,Xj({},e,{key:e.id})))))}}const $j=JSON.parse('{\"description\":\"`FunnelChart` is used to visualize the progressive reduction of data as it passes\\\\nfrom one phase to another.\",\"displayName\":\"FunnelChart\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to be plotted.\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for X values, called once per datum, or a single value to be used for all data.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for Y values, called once per datum, or a single value to be used for all data.\"},\"color\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Color applied to the path element,\\\\nor accessor function which returns a class.\\\\n\\\\nNote that the first datum\\'s color would not be applied since it fills in the area of the path\"},\"horizontal\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart will be horizontal.\"},\"pathClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Classname applied to each path element,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"pathStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Style applied to each path element,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"}}}');function Kj(){return Kj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Kj.apply(this,arguments)}const Zj=[{id:\"basic\",label:\"Basic FunnelChart\",codeText:__webpack_require__(46613).Z}];class Jj extends o.Component{render(){return o.createElement(eo,{name:\"FunnelChart\",propDocs:$j},Zj.map((e=>o.createElement(xj,Kj({},e,{key:e.id})))))}}const Qj=JSON.parse('{\"description\":\"`Histogram` is used to represent the distribution of numerical data. Histograms, only relate\\\\nto one variable, where data is typically \\\\\"binned\\\\\" and counted.\",\"displayName\":\"Histogram\",\"methods\":[{\"name\":\"getScaleType\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[],\"returns\":null},{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"computeHistogram\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"data\",\"type\":null},{\"name\":\"thresholds\",\"type\":null},{\"name\":\"accessor\",\"type\":null},{\"name\":\"binDomain\",\"type\":null},{\"name\":\"nice\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"The array of data objects for the histogram.\\\\nThese should be individual \\\\\"samples\\\\\" or \\\\\"facts\\\\\", not an array of bins -\\\\nthis component will count and bin the samples for you. If you have data that is already binned,\\\\nuse the `<AreaBarChart>` component.\",\"defaultValue\":{\"value\":\"[]\",\"computed\":false}},\"value\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Data value accessor function, called once per datum, which returns the values to bin and plot in the histogram.\\\\nIf `data` is just an array of numbers, this may be the identity function (`d => d`).\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"thresholds\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"array\"}]},\"required\":false,\"description\":\"Following [d3\\'s thresholds documentation](https://github.com/d3/d3-array#histogram_thresholds) ...\\\\n\\\\nIf a number `count`  is specified, then the domain will be uniformly divided into approximately `count` bins.\\\\n\\\\nIf an array `[x0, x1 ... xN]` is specified, then any value less than `x0` will be placed in the first bin; any value greater than\\\\nor equal to `x0` but less than `x1` will be placed in the second bin; and so on. The generated histogram will have `array.length` + 1 bins.\",\"defaultValue\":{\"value\":\"30\",\"computed\":false}},\"binDomain\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"The domain over which your data will be binned. Defined as an array `[min, max]`.\\\\nIf not provided, binDomain will be the domain of your data values by default.\\\\n\\\\nWarning: This prop takes priority if `nice = true`.\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"If true, nicely rounds the start and end values of your bins.\\\\nImplemented using [d3\\'s ticks nicing logic](https://github.com/d3/d3-array#ticks).\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"barClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each bar,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"barStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each bar,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseMoveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a bar.\"},\"onMouseEnterBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a bar.\"},\"onMouseLeaveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a bar.\"}}}');function eB(){return eB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},eB.apply(this,arguments)}const tB=[{id:\"basic\",label:\"Basic Histogram\",codeText:__webpack_require__(1730).Z}];class nB extends o.Component{render(){return o.createElement(eo,{name:\"Histogram\",propDocs:Qj},tB.map((e=>o.createElement(xj,eB({},e,{key:e.id})))))}}const rB=JSON.parse('{\"description\":\"Kernel Density Estimation is still undergoing experimental changes!\\\\nWe do not consider this chart to be production ready but\\\\nencourage you to try it out and contribute to any of its missing features.\",\"displayName\":\"KernelDensityEstimation\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[],\"returns\":null},{\"name\":\"getKdeData\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data objects.\"},\"bandwidth\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Kernel bandwidth for kernel density estimator.\\\\nHigh bandwidth => oversmoothing & underfitting; low bandwidth => undersmoothing & overfitting\",\"defaultValue\":{\"value\":\"0.5\",\"computed\":false}},\"sampleCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of samples to take from the KDE,\\\\nie. the resolution/smoothness of the KDE line - more samples => higher resolution, smooth line.\\\\nDefaults to null, which causes it to be auto-determined based on width.\",\"defaultValue\":{\"value\":\"null\",\"computed\":false}},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the line path.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"lineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to the line path.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar X values, called once per bar (datum).\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"}}}');function iB(){return iB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},iB.apply(this,arguments)}const oB=[{id:\"basic\",label:\"Basic KernelDensityEstimation\",codeText:__webpack_require__(70703).Z}];class aB extends o.Component{render(){return o.createElement(eo,{name:\"KernelDensityEstimation\",propDocs:rB},oB.map((e=>o.createElement(xj,iB({},e,{key:e.id})))))}}const sB=JSON.parse('{\"description\":\"`LineChart` displays a series of points connected by straight line segments.\\\\nEach `LineChart` renders one line.\",\"displayName\":\"LineChart\",\"methods\":[{\"name\":\"getBisectorState\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getHovered\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"x\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data objects\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for line X values, called once per datum, or a single value to be used for the entire line.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for line Y values, called once per datum, or a single value to be used for the entire line.\"},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the line path.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"lineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to the line path.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"curve\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 curve for path generation\",\"defaultValue\":{\"value\":\"curveLinear\",\"computed\":true}}}}');function uB(){return uB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},uB.apply(this,arguments)}const lB=[{id:\"basic\",label:\"Basic LineChart\",codeText:__webpack_require__(48547).Z},{id:\"interactive\",label:\"Interactive LineChart\",codeText:__webpack_require__(11196).Z}];class cB extends o.Component{render(){return o.createElement(eo,{name:\"LineChart\",propDocs:sB},lB.map((e=>o.createElement(xj,uB({},e,{key:e.id})))))}}const fB=JSON.parse('{\"description\":\"`MarkerLineChart` is similar to a bar chart,\\\\nexcept that it just draws a line at the data value, rather than a full bar.\\\\nIf the independent variable is a range, the length of the line will represent that range,\\\\notherwise all lines will be the same length.\\\\nThe dependent variable must be a single value, not a range.\",\"displayName\":\"MarkerLineChart\",\"methods\":[{\"name\":\"getSpacing\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseEnterLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseMoveLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseLeaveLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"renderRangeValueLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"d\",\"type\":null},{\"name\":\"i\",\"type\":null}],\"returns\":null},{\"name\":\"renderValueValueLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"d\",\"type\":null},{\"name\":\"i\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data objects. One marker line will be rendered per datum in the array.\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for marker line\\'s X values, called once per line (datum), or a single value to be used for all marker lines.\\\\nIf `horizontal` is `false`, this gets the *independent* variable value on which the line is centered.\\\\nIf `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for marker line\\'s Y values, called once per line (datum), or a single value to be used for all marker lines.\\\\nIf `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable.\\\\nIf `horizontal` is `true`, this gets the *independent* variable value on which the line is centered.\"},\"xEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (maximum X-values) of the *dependent* variable, which is where the marker line is rendered,\\\\nor a single value to be used for all marker lines.\\\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (maximum Y-values) of the *dependent* variable range which is where the marker line is rendered,\\\\nor a single value to be used for all marker lines.\\\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"},\"horizontal\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart will be horizontal.\\\\nWhen `true` the X-axis will be treated as the dependent axis.\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"lineLength\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Length of the marker line.\",\"defaultValue\":{\"value\":\"10\",\"computed\":false}},\"xScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"D3 scale type for X axis - provided by XYPlot.\"},\"yScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"D3 scale type for Y axis - provided by XYPlot.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"lineClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to the line path,\\\\nor an accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"lineStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each marker line,\\\\nor an accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseEnterLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a marker line.\"},\"onMouseMoveLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a marker line.\"},\"onMouseLeaveLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a marker line.\"}}}');function pB(){return pB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pB.apply(this,arguments)}const dB=[{id:\"basic\",label:\"Basic MarkerLineChart\",codeText:__webpack_require__(7082).Z},{id:\"withBar\",label:\"MarkerLineChart with BarChart\",codeText:__webpack_require__(90992).Z}];class hB extends o.Component{render(){return o.createElement(eo,{name:\"MarkerLineChart\",propDocs:fB},dB.map((e=>o.createElement(xj,pB({},e,{key:e.id})))))}}__webpack_require__(56684).Z,o.Component;const mB=JSON.parse('{\"description\":\"`PieChart` is a circular graphic that is divided into slices to illustrate proportions or percentages.\",\"displayName\":\"PieChart\",\"methods\":[{\"name\":\"onMouseEnterSlice\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseMoveSlice\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseLeaveSlice\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseEnterLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseMoveLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseLeaveLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onClick\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"renderMarkerLine\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"pathData\",\"type\":null}],\"returns\":null},{\"name\":\"renderSliceLabel\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"value\",\"type\":null},{\"name\":\"slice\",\"type\":null},{\"name\":\"center\",\"type\":null},{\"name\":\"radius\",\"type\":null},{\"name\":\"index\",\"type\":null}],\"returns\":null},{\"name\":\"renderCenterLabel\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"center\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to plot with pie chart.\"},\"slice\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.getter.isRequired\"},\"required\":false,\"description\":\"\"},\"total\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Total expected sum of all the pie slice values.\\\\nIf provided && slices don\\'t add up to total, an \\\\\"empty\\\\\" slice will be rendered for the rest\\\\nIf not provided, will be the sum of all values (ie. all values will always add up to 100%)\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Optional width of the SVG\\\\nif not passed in and height is passed in, same # is used for both (ie. width=100 means height=100 also)\\\\nif neither is passed, but radius is, radius+margins is used\\\\nif neither is passed, and radius isn\\'t either, 150 is used\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Optional height of the SVG\\\\nif not passed in and width is passed in, same # is used for both (ie. width=100 means height=100 also)\\\\nif neither is passed, but radius is, radius+margins is used\\\\nif neither is passed, and radius isn\\'t either, 150 is used\"},\"radius\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Optional radius of the pie chart, inferred from margin/width/height if not provided.\"},\"marginTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"holeRadius\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Optional radius of the \\\\\"donut hole\\\\\" circle drawn on top of the pie chart to turn it into a donut chart.\"},\"centerLabel\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Optional label text to display in the middle of the pie/donut.\"},\"centerLabelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to center label.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"centerLabelStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to center label.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"getPieSliceLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor for getting labels that are rendered outside each slice of the pie chart.\\\\nIf not provided no labels will be rendered.\"},\"pieSliceLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object applied to each slice label.\\\\nWhen a function is provided it will receive the value for the slice and should return the\\\\nstyle object for that slice\\'s label.\\\\nUsed along with `getPieSliceLabel`.\"},\"pieSliceLabelDistance\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Distance to render the label from the outer edge of the pie chart. Positive numbers will\\\\nmove away from the center and negative numbers will move toward the center.\\\\nWhen a function is provided it will receive the value for the slice and should return the\\\\ndistance for that slice\\'s label.\\\\nUsed along with `getPieSliceLabel`.\"},\"pieSliceClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each pie slice,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"pieSliceStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object applied to each pie slice.\\\\nWhen a function is provided it will receive the value and index for the\\\\nslice as its parameters, and should return the style object for the slice.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"markerLineValue\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Value for where to place markerline.\"},\"markerLineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to marker line.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"markerLineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to marker line.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"markerLineOverhangInner\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of pixels marker line hangs inside the pie chart.\",\"defaultValue\":{\"value\":\"2\",\"computed\":false}},\"markerLineOverhangOuter\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of pixels marker line hangs outside the pie chart.\",\"defaultValue\":{\"value\":\"2\",\"computed\":false}},\"onMouseEnterLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the marker line.\"},\"onMouseMoveLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the marker line.\"},\"onMouseLeaveLine\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the marker line.\"},\"onMouseEnterSlice\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a pie slice.\"},\"onMouseMoveSlice\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a pie slice.\"},\"onMouseLeaveSlice\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a pie slice.\"},\"onClick\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user click a pie slice.\"}}}');function yB(){return yB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yB.apply(this,arguments)}const vB=[{id:\"basic\",label:\"Basic PieChart\",codeText:__webpack_require__(97693).Z}];class gB extends o.Component{render(){return o.createElement(eo,{name:\"PieChart\",propDocs:mB},vB.map((e=>o.createElement(xj,yB({},e,{key:e.id})))))}}const bB=JSON.parse('{\"description\":\"`RangeBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\\\\nvalue on the *independent* axis (X axis for vertical bars), and is centered on this value.\\\\nHowever, on the *dependent* axis, each bar represents a *range* (min/max) of values,\\\\nrather than always starting at zero.\",\"displayName\":\"RangeBarChart\",\"methods\":[{\"name\":\"getDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getSpacing\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to be plotted. One bar will be rendered per datum in this array.\"},\"horizontal\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart will use horizontal or vertical bars.\\\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `false`, this gets the *independent* variable value on which the bar is centered.\\\\nIf `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar\\'s length.\"},\"xEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (maximum X-values) of the *dependent* variable range which is spanned by the bar\\'s length,\\\\nor a single value to be used for all bars.\\\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\\\nIf `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar\\'s length.\\\\nIf `horizontal` is `true`, this gets the *independent* variable value on which the bar is centered.\"},\"yEnd\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for the end (maximum Y-values) of the *dependent* variable range which is spanned by the bar\\'s length,\\\\nor a single value to be used for all bars.\\\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"barThickness\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width),\",\"defaultValue\":{\"value\":\"8\",\"computed\":false}},\"barStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each bar,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"barClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each bar,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"onMouseMoveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a bar.\"},\"onMouseEnterBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a bar.\"},\"onMouseLeaveBar\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a bar.\"},\"onClick\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user clicks the bar.\"},\"showLabels\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Conditional if column should display values above/beside each bar.\"},\"barLabelFormat\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Format to use for the values or accessor that returns the updated value on each bar.\"},\"labelDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The distance from the column the text appears in pixels - default is 24.\"},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class name(s) to be included on each bar\\'s <text> element.\"}}}');function xB(){return xB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xB.apply(this,arguments)}const _B=[{id:\"basic\",label:\"Basic RangeBarChart\",codeText:__webpack_require__(55958).Z}];class wB extends o.Component{render(){return o.createElement(eo,{name:\"RangeBarChart\",propDocs:bB},_B.map((e=>o.createElement(xj,xB({},e,{key:e.id})))))}}const EB=JSON.parse('{\"description\":\"RangeRect is a low-level component to be used in XYPlot-type charts (namely AreaBarChart).\\\\nIt is a rectangle which represents a range (min & max) of values on both (X & Y) axes.\\\\nIt takes a single datum object, and getters which specify how to retrieve the range values from it.\",\"displayName\":\"RangeRect\",\"methods\":[],\"props\":{\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for the X (horizontal) axis.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for the Y (vertical) axis.\"},\"x\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"Starting (minimum) X value (left edge, usually) of the rectangle range\"},\"xEnd\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"Ending (maximum) X value (right edge, usually) of the rectangle range\"},\"y\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"Starting (minimum) Y value (bottom edge, usually) of the rectangle range\"},\"yEnd\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"Ending (maximum) Y value (top edge, usually) of the rectangle range\"},\"className\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to the rectangle element\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the rectangle element\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseMove\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the rectangle.\"},\"onMouseEnter\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the rectangle.\"},\"onMouseLeave\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the rectangle.\"}}}');function SB(){return SB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},SB.apply(this,arguments)}const kB=[{id:\"basic\",label:\"Basic RangeRect\",codeText:__webpack_require__(22053).Z}];class AB extends o.Component{render(){return o.createElement(eo,{name:\"RangeRect\",propDocs:EB},kB.map((e=>o.createElement(xj,SB({},e,{key:e.id})))))}}const CB=JSON.parse('{\"description\":\"A `SankeyDiagram` is a type of flow diagram which visualizes directed flow between nodes\\\\nof a network graph. Currently only *acyclic* networks are supported.\",\"displayName\":\"SankeyDiagram\",\"methods\":[{\"name\":\"makeSankeyGraph\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"nodes\":{\"type\":{\"name\":\"arrayOf\",\"value\":{\"name\":\"object\"}},\"required\":true,\"description\":\"Array of node objects, represented by vertical rectangles.\\\\nThese represent the base entities which links flow into & out of.\"},\"links\":{\"type\":{\"name\":\"arrayOf\",\"value\":{\"name\":\"shape\",\"value\":{\"source\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"number\"}],\"required\":false},\"target\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"number\"}],\"required\":false},\"value\":{\"name\":\"number\",\"required\":false}}}},\"required\":true,\"description\":\"Array of link objects, represented by curved paths between nodes.\\\\nLinks represent a magnitude of flow between one node and another.\\\\nEach should have a \\'source\\' node [identifier], a \\'target\\' node [identifier],\\\\nand a numerical value representing flow magnitude.\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Width of the SVG element.\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Height of the SVG element.\",\"defaultValue\":{\"value\":\"300\",\"computed\":false}},\"shouldClone\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which decides if the nodes & links props should be cloned before being mutated into\\\\nthe Sankey data structure. Passing `false` is faster, but may cause unintended side effects\\\\nif nodes or links data are used elsewhere\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"className\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"`className` attribute to be applied to the SVG element.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the SVG element.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"standalone\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the chart should be rendered as a standalone `<svg>` element\\\\nor a `<g>` group element (as a child within an existing `<svg>`).\\\\nTrue by default, pass `false` to render in a `<g>`.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"marginTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal top margin, in pixels. Generally used to leave extra space inside the SVG for labels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal bottom margin, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal left margin, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"marginRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal right margin, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"showNodes\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if node rectangles should be shown,\\\\nor function (`showNode(node, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"nodeId\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor function `nodeId(node, graph)` which specifies how to access the ID of each node object.\\\\nThese should be the same identifiers used by `links[].source` and `.target`.\\\\nUses the node\\'s index in `nodes` array by default.\",\"defaultValue\":{\"value\":\"node => node.index\",\"computed\":false}},\"nodeWidth\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Width (in pixels) of the vertical node rectangles.\",\"defaultValue\":{\"value\":\"12\",\"computed\":false}},\"nodePadding\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Vertical padding (in pixels) between each of the node lines.\",\"defaultValue\":{\"value\":\"8\",\"computed\":false}},\"nodeAlignment\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'left\\'\",\"computed\":false},{\"value\":\"\\'right\\'\",\"computed\":false},{\"value\":\"\\'center\\'\",\"computed\":false},{\"value\":\"\\'justify\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Node alignment method used to layout the nodes.\\\\nMust be \\'left\\', \\'right\\', \\'center\\', or \\'justify\\'.\\\\nSee [d3-sankey alignment docs](https://github.com/d3/d3-sankey#alignments) for more details.\",\"defaultValue\":{\"value\":\"\\'justify\\'\",\"computed\":false}},\"nodeClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each node,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"nodeStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each node,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"nodeSort\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node sort function\"},\"onMouseEnterNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `mouseenter` event handler, called when user\\'s mouse enters a node.\"},\"onMouseLeaveNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `mouseleave` event handler, called when user\\'s mouse leaves a node.\"},\"onMouseMoveNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `mousemove` event handler, called when user\\'s mouse moves within a node.\"},\"onMouseDownNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `mousedown` event handler, called when user\\'s mouse button is depressed within a node.\"},\"onMouseUpNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `mouseup` event handler, called when user\\'s mouse button is released within a node.\"},\"onClickNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node `click` event handler, called when user clicks within a node.\"},\"showLinks\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if link paths should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"linkClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each link,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"linkSort\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link sort function\"},\"linkStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each link,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"onMouseEnterLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `mouseenter` event handler, called when user\\'s mouse enters a link.\"},\"onMouseLeaveLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `mouseleave` event handler, called when user\\'s mouse leaves a link.\"},\"onMouseMoveLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `mousemove` event handler, called when user\\'s mouse moves within a link.\"},\"onMouseDownLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `mousedown` event handler, called when user\\'s mouse button is depressed within a link.\"},\"onMouseUpLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `mouseup` event handler, called when user\\'s mouse button is released within a link.\"},\"onClickLink\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Link `click` event handler, called when user clicks within a link.\"},\"showNodeTerminals\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if node terminals should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean.\\\\nTerminals are bars that run alongside to show the amount\\\\nwhich has flowed *in* but not *out*\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"nodeTerminalWidth\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"number\"}]},\"required\":false,\"description\":\"Width (in pixels) of the node terminal rectangles,\\\\nor accessor function `f(node, graph)` which returns a width.\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"nodeTerminalDistance\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Distance (in pixels) between nodes and their terminals,\\\\nor accessor function `f(node, graph)` which returns a distance.\",\"defaultValue\":{\"value\":\"1\",\"computed\":false}},\"nodeTerminalClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each node terminal,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"nodeTerminalStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each node terminal,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"nodeTerminalAttributes\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Attributes object to be applied to each node terminal element,\\\\nor accessor function which returns an object.\",\"defaultValue\":{\"value\":\"{ rx: 2, ry: 2 }\",\"computed\":false}},\"onMouseEnterNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `mouseenter` event handler, called when user\\'s mouse enters a node terminal.\"},\"onMouseLeaveNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `mouseleave` event handler, called when user\\'s mouse leaves a node terminal.\"},\"onMouseMoveNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `mousemove` event handler, called when user\\'s mouse moves within a node terminal.\"},\"onMouseDownNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `mousedown` event handler, called when user\\'s mouse button is depressed within a node terminal.\"},\"onMouseUpNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `mouseup` event handler, called when user\\'s mouse button is released within a node terminal.\"},\"onClickNodeTerminal\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Node terminal `click` event handler, called when user clicks within a node terminal.\"},\"showNodeLabels\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if node labels should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"nodeLabelPlacement\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"enum\",\"value\":[{\"value\":\"\\'before\\'\",\"computed\":false},{\"value\":\"\\'after\\'\",\"computed\":false},{\"value\":\"\\'above\\'\",\"computed\":false},{\"value\":\"\\'below\\'\",\"computed\":false}]},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Placement of the node label relative to the node rectangle.\\\\nExpects \\'before\\', \\'after\\', \\'above\\' or \\'below\\', or a function which returns one of these.\\\\nBy default, labels in the left half of the diagram are placed \\'after\\' and those in the right half \\'before\\'\",\"defaultValue\":{\"value\":\"(node, graph) => {\\\\n  return node.depth < graph.maxDepth / 2 ? \\'after\\' : \\'before\\';\\\\n}\",\"computed\":false}},\"nodeLabelDistance\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Distance (in pixels) between nodes and their labels,\\\\nor accessor function `f(node, graph)` which returns a distance.\",\"defaultValue\":{\"value\":\"4\",\"computed\":false}},\"nodeLabelText\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor function `nodeLabelText(node, graph)` which returns the content to be used for node labels.\\\\nThe function may return a string/number (rendered as SVG `<text>`),\\\\nor arbitrary React SVG element(s) (rendered as-is inside the SVG).\\\\nNOTE: in the latter case (returning arbitrary SVG), `nodeLabelPlacement`, `nodeLabelDistance`,\\\\n`nodeLabelClassName` and `nodeLabelStyle` props will not be applied -\\\\nuser is responsible for all positioning and attributes on this element.\",\"defaultValue\":{\"value\":\"(node, graph, props) => {\\\\n  if (has(node, \\'name\\')) return node.name;\\\\n  if (has(node, \\'label\\')) return node.label;\\\\n  return getValue(props.nodeId, node, graph, props);\\\\n}\",\"computed\":false}},\"nodeLabelClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each node label,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"nodeLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each node label,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"showLinkLabels\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if link labels should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"linkLabelText\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor function `f(link, graph)` which returns the text to be used for link labels.\",\"defaultValue\":{\"value\":\"(link, graph, props) => {\\\\n  const linkValue = link.value || 0;\\\\n  const valueText = formatPrefix(\\'.1~f\\', linkValue)(linkValue);\\\\n  const sourceText = getValue(\\\\n    props.nodeLabelText,\\\\n    link.source,\\\\n    graph,\\\\n    props,\\\\n  );\\\\n  const targetText = getValue(\\\\n    props.nodeLabelText,\\\\n    link.target,\\\\n    graph,\\\\n    props,\\\\n  );\\\\n  return `${sourceText}→${targetText}: ${valueText}`;\\\\n}\",\"computed\":false}},\"linkLabelClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each link label,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"linkLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each link label,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkLabelAttributes\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Attributes object to be applied to each link label element,\\\\nor accessor function which returns an object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkLabelStartOffset\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"number\"}]},\"required\":false,\"description\":\"`startOffset` attribute to apply to the link label `<textpath>` element.\\\\nMay be a number (in SVG units) or percent string (`\\\\\"25%\\\\\"`)\",\"defaultValue\":{\"value\":\"\\'25%\\'\",\"computed\":false}},\"showLinkSourceLabels\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if link *source* labels should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"linkSourceLabelText\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor function `f(link, graph)` which returns the text to be used for link *source* labels.\",\"defaultValue\":{\"value\":\"(link, graph, props) => {\\\\n  const valueRelative = link.valueSourceRelative;\\\\n  if (valueRelative === null || !isFinite(valueRelative)) return \\'\\';\\\\n  const percentText =\\\\n    valueRelative < 0.001 ? \\'<0.1%\\' : numberFormat(\\'.1~%\\')(valueRelative);\\\\n  return `${percentText} to ${getValue(\\\\n    props.nodeLabelText,\\\\n    link.target,\\\\n    graph,\\\\n    props,\\\\n  )}`;\\\\n}\",\"computed\":false}},\"linkSourceLabelClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each link *source* label,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"linkSourceLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each link *source* label,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkSourceLabelAttributes\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Attributes object to be applied to each link *source* label,\\\\nor accessor function which returns an object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkSourceLabelStartOffset\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"number\"}]},\"required\":false,\"description\":\"`startOffset` attribute to apply to the link *source* label `<textpath>` element.\\\\nMay be a number (in SVG units) or percent string (`\\\\\"25%\\\\\"`)\",\"defaultValue\":{\"value\":\"\\'2%\\'\",\"computed\":false}},\"showLinkTargetLabels\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"bool\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Boolean which determines if link *target* labels should be shown,\\\\nor function (`showLink(link, graph)`) which returns a boolean\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"linkTargetLabelText\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Accessor function `f(link, graph)` which returns the text to be used for link *target* labels.\",\"defaultValue\":{\"value\":\"(link, graph, props) => {\\\\n  const valueRelative = link.valueTargetRelative;\\\\n  if (valueRelative === null || !isFinite(valueRelative)) return \\'\\';\\\\n  const percentText =\\\\n    valueRelative < 0.001 ? \\'<0.1%\\' : numberFormat(\\'.1~%\\')(valueRelative);\\\\n  return `${percentText} from ${getValue(\\\\n    props.nodeLabelText,\\\\n    link.source,\\\\n    graph,\\\\n    props,\\\\n  )}`;\\\\n}\",\"computed\":false}},\"linkTargetLabelClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute to be applied to each link *target* label,\\\\nor accessor function which returns a class (string).\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"linkTargetLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each link *target* label,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkTargetLabelAttributes\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Attributes object to be applied to each link *target* label,\\\\nor accessor function which returns an object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"linkTargetLabelStartOffset\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"number\"}]},\"required\":false,\"description\":\"`startOffset` attribute to apply to the link *target* label `<textpath>` element.\\\\nMay be a number (in SVG units) or percent string (`\\\\\"25%\\\\\"`)\",\"defaultValue\":{\"value\":\"\\'98%\\'\",\"computed\":false}},\"stepLabelText\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Text for step label or\\\\naccessor function `f(step)` that returns the label text\"},\"stepLabelClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"`className` attribute applied to each label,\\\\nor accessor function which returns a class (string)\"},\"stepLabelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each label,\\\\nor accessor function which returns an object\"},\"stepLabelPadding\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Vertical padding (in pixels) between step label and uppermost positioned node of that step\",\"defaultValue\":{\"value\":\"8\",\"computed\":false}}}}');function TB(){return TB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},TB.apply(this,arguments)}const DB=[{id:\"basic\",label:\"Basic SankeyDiagram\",codeText:__webpack_require__(15766).Z},{id:\"interactive\",label:\"Interactive Sankey Diagram\",codeText:__webpack_require__(74207).Z}];class MB extends o.Component{render(){return o.createElement(eo,{name:\"SankeyDiagram\",propDocs:CB},DB.map((e=>o.createElement(xj,TB({},e,{key:e.id})))))}}const PB=JSON.parse('{\"description\":\"`ScatterPlot` displays its data as a collection of points. Each point represents\\\\nthe relationship between two variables, one plotted along the x-axis and the other on the y-axis.\",\"displayName\":\"ScatterPlot\",\"methods\":[{\"name\":\"onMouseEnterPoint\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseMovePoint\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"onMouseLeavePoint\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"e\",\"type\":null},{\"name\":\"d\",\"type\":null}],\"returns\":null},{\"name\":\"renderPoint\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"d\",\"type\":null},{\"name\":\"i\",\"type\":null}],\"returns\":null}],\"props\":{\"data\":{\"type\":{\"name\":\"array\"},\"required\":true,\"description\":\"Array of data to be plotted.\"},\"x\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for plot X values, called once per datum, or a single value to be used for all points.\"},\"y\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.valueOrAccessor\"},\"required\":false,\"description\":\"Accessor function for plot Y values, called once per datum, or a single value to be used for all points.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"pointRadius\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Used with the default point symbol (circle), defines the circle radius.\",\"defaultValue\":{\"value\":\"3\",\"computed\":false}},\"pointSymbol\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"node\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Text or SVG node to use as custom point symbol, or function which returns text/SVG.\",\"defaultValue\":{\"value\":\"<circle />\",\"computed\":false}},\"pointOffset\":{\"type\":{\"name\":\"arrayOf\",\"value\":{\"name\":\"number\"}},\"required\":false,\"description\":\"Manual x and y offset applied to the point to center it, for custom point symbols which can\\'t be auto-centered.\",\"defaultValue\":{\"value\":\"[0, 0]\",\"computed\":false}},\"pointStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"object\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Inline style object to be applied to each point,\\\\nor accessor function which returns a style object.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"pointClassName\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"string\"},{\"name\":\"func\"}]},\"required\":false,\"description\":\"Class attribute to be applied to each point,\\\\nor accessor function which returns a class.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"onMouseEnterPoint\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a point.\"},\"onMouseMovePoint\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a point.\"},\"onMouseLeavePoint\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a point.\"}}}');function OB(){return OB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},OB.apply(this,arguments)}const LB=[{id:\"basic\",label:\"Basic ScatterPlot\",codeText:__webpack_require__(57827).Z}];class NB extends o.Component{render(){return o.createElement(eo,{name:\"ScatterPlot\",propDocs:PB},LB.map((e=>o.createElement(xj,OB({},e,{key:e.id})))))}}const FB=JSON.parse('{\"description\":\"`TreeMap` displays hierarchical data where a leaf node\\'s rectangle has an area proportional to a specified dimension of the data.\",\"displayName\":\"TreeMap\",\"methods\":[{\"name\":\"initTreemap\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"rootNode\",\"type\":null},{\"name\":\"tree\",\"type\":null},{\"name\":\"options\",\"type\":null}],\"returns\":null},{\"name\":\"getStateFromProps\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":true,\"description\":\"\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":true,\"description\":\"\"},\"data\":{\"type\":{\"name\":\"object\"},\"required\":true,\"description\":\"Data is an object with a key of `children` and an array of objects as its value.\\\\ni.e. { children: [{ children: [{ size: 3 }, { size: 8 }] }, { size: 4 }]}\"},\"getValue\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.getter\"},\"required\":false,\"description\":\"Key or accessor to retrieve value of data point\",\"defaultValue\":{\"value\":\"\\'value\\'\",\"computed\":false}},\"getChildren\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.getter\"},\"required\":false,\"description\":\"Key or accessor to retrieve children of data point\",\"defaultValue\":{\"value\":\"\\'children\\'\",\"computed\":false}},\"getLabel\":{\"type\":{\"name\":\"custom\",\"raw\":\"CustomPropTypes.getter\"},\"required\":false,\"description\":\"Key or accessor to retrieve label for given Node\",\"defaultValue\":{\"value\":\"\\'name\\'\",\"computed\":false}},\"sort\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Function passed in to sort nodes\"},\"padding\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"See d3 docs for treemap - Adds outer and inner padding to tree\"},\"round\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"See d3 docs for treemap - Enables or disables rounding\"},\"sticky\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"If sticky, on data change the TreeMap will not force a recreation of the tree and animate data changes.\\\\nOtherwise we recreate the tree given its new props\"},\"ratio\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Sets the desired aspect ratio of the generated rectangles\"},\"nodeStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"Inline style object applied to each Node,\\\\nor accessor function which returns a style object\"},\"labelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"Inline style object applied to each Label,\\\\nor accessor function which returns a style object\"},\"minLabelWidth\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"minLabelHeight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"onClickNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`onClick` event handler callback, called when user clicks a NodeComponent.\"},\"onMouseEnterNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters a NodeComponent.\"},\"onMouseLeaveNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves a NodeComponent.\"},\"onMouseMoveNode\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within a NodeComponent.\"},\"NodeComponent\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Optional treemap node, otherwise we default to our TreeMapNode component\",\"defaultValue\":{\"value\":\"TreeMapNode\",\"computed\":true}},\"NodeLabelComponent\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Optional treemap node label, otherwise we default to our TreeMapNodeLabel component\",\"defaultValue\":{\"value\":\"TreeMapNodeLabel\",\"computed\":true}}}}');function RB(){return RB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},RB.apply(this,arguments)}const IB=[{id:\"basic\",label:\"Basic TreeMap\",codeText:__webpack_require__(82872).Z},{id:\"animated\",label:\"Animated TreeMap\",codeText:__webpack_require__(78877).Z}];class jB extends o.Component{render(){return o.createElement(eo,{name:\"TreeMap\",propDocs:FB},IB.map((e=>o.createElement(xj,RB({},e,{key:e.id})))))}}const BB=JSON.parse('{\"description\":\"`XAxis` is the horizontal axis of the chart. `XAxis` is a wrapper around `XGrid`, `XTicks`,\\\\n`XAxisLabels`, and `XAxisTitle`. See their respective docs for prop documentation.\",\"displayName\":\"XAxis\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseMove\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseEnter\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseLeave\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnClick\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null}],\"props\":{\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'bottom\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Extends the x domain to start and end on rounded values,\\\\nguaranteeing the original domain will be covered.\\\\nSee d3 docs for more information\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal top spacing of XAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal bottom spacing of XAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal left spacing of XAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal right spacing of XAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"showTitle\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showLabels\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showTicks\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showGrid\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"title\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"titleDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"titleAlign\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"titleRotate\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\"},\"titleStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"labelDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"3\",\"computed\":false}},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"labelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"\"},\"labelFormat\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"labelFormats\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"labels\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"noLabelOverhang\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\"},\"labelOffset\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Adds horizontal offset (along the XAxis) to the labels\"},\"tickLength\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"tickClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"tickStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"gridLineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"gridLineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"onMouseClickLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseEnterLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseMoveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseLeaveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseEnterAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the x axis.\"},\"onMouseLeaveAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the x axis.\"},\"onMouseMoveAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the x axis.\"},\"onMouseClickAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user\\'s mouse clicks on the x axis.\"},\"showLine\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Show X Axis line\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the X Axis line\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}}}}');function qB(){return qB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qB.apply(this,arguments)}const zB=[{id:\"basic\",label:\"Basic XAxis\",codeText:__webpack_require__(91186).Z},{id:\"customTicks\",label:\"XAxis with custom ticks\",codeText:__webpack_require__(44266).Z}];class VB extends o.Component{render(){return o.createElement(eo,{name:\"XAxis\",propDocs:BB},zB.map((e=>o.createElement(xj,qB({},e,{key:e.id})))))}}const UB=JSON.parse('{\"description\":\"\",\"displayName\":\"XAxisLabels\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getLabels\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'top\\'\",\"computed\":false},{\"value\":\"\\'bottom\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of x axis labels. Accepted options are \\\\\"top\\\\\" or \\\\\"bottom\\\\\".\",\"defaultValue\":{\"value\":\"\\'bottom\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'below\\'\",\"computed\":false},{\"value\":\"\\'above\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of labels in regards to the x axis. Accepted options are \\\\\"above\\\\\" or \\\\\"below\\\\\".\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the label given spacingTop.\"},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the label given spacingBottom.\"},\"distance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Label distance from X Axis.\",\"defaultValue\":{\"value\":\"4\",\"computed\":false}},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of ticks on axis.\",\"defaultValue\":{\"value\":\"10\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom ticks to display.\",\"defaultValue\":{\"value\":\"null\",\"computed\":false}},\"labelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"Inline style object applied to each label,\\\\nor accessor function which returns a style object\\\\n\\\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\\\nin order to ensure that our collision library measureText is able to calculate the\\\\nsmallest amount of possible collissions along the axis. It\\'s therefore dependent on\\\\nfontFamily, size and fontStyle to always be passed in. If you\\'re looking to have a centralized\\\\nstylesheet, we suggest creating a styled label component that wraps XAxisLabels with your preferred styles.\",\"defaultValue\":{\"value\":\"{\\\\n  fontFamily: \\'Helvetica, sans-serif\\',\\\\n  fontSize: \\'14px\\',\\\\n  lineHeight: 1,\\\\n  textAnchor: \\'middle\\',\\\\n}\",\"computed\":false}},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"format\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"An accessor function that returns the updated label.\\\\n\\\\nFor example, given labels with real numbers one can pass in the following accessor,\\\\n(label) => `${label}%`, to display percentages.\"},\"formats\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\\\\nto use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\\\\ncan be either string(s) or function(s), utilizing d3-format.\\\\n\\\\nFor example, given labels with real numbers one can pass in [\\\\\".0%\\\\\"] for a rounded percentage, like 12%.\"},\"labels\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom labels provided. Note that each object in the array has to be of shape.\\\\n`{\\\\n value,\\\\n text,\\\\n height,\\\\n width\\\\n}`\\\\nvalue - value you\\'d like this label to be aligned with\\\\ntext - text you\\'d like displayed\\\\nheight - height of the given label\\\\nwidth - width of the given label\"},\"noLabelOverhang\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Default label behavior places the text centered below the data point it delineates. This can allow\\\\noverhang where the first and possibly last labels\\' text hangs over the edges of the x axis range.\\\\nSetting this to `true` will force the first and last labels to align in such a way that their text does\\\\nnot exceed the x range. That is, the first label will be text-anchor: \\\\\"start\\\\\" instead of \\\\\"middle\\\\\", and\\\\nthe label marking the right edge of the chart will be anchored to the \\\\\"end\\\\\" instead of \\\\\"middle\\\\\".\\\\n\\\\nThis affects spacing calculations.\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Round ticks to capture extent of given x domain from XYPlot.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"onMouseEnterLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the label.\"},\"onMouseMoveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the label.\"},\"onMouseLeaveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the label.\"},\"onMouseClickLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseclick` event handler callback, called when user\\'s mouse clicks the label.\"},\"offset\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Adds horizontal offset (along the XAxis) to the labels\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}}}}');function WB(){return WB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},WB.apply(this,arguments)}const YB=[{id:\"basic\",label:\"Basic XAxisLabels\",codeText:__webpack_require__(19433).Z}];class XB extends o.Component{render(){return o.createElement(eo,{name:\"XAxisLabels\",propDocs:UB},YB.map((e=>o.createElement(xj,WB({},e,{key:e.id})))))}}const HB=JSON.parse('{\"description\":\"\",\"displayName\":\"XAxisTitle\",\"methods\":[{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"distance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Title distance from X Axis\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'top\\'\",\"computed\":false},{\"value\":\"\\'bottom\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of title in regards to the x axis. Accepted options are \\\\\"top\\\\\" or \\\\\"bottom\\\\\"\",\"defaultValue\":{\"value\":\"\\'bottom\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'above\\'\",\"computed\":false},{\"value\":\"\\'below\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of title in regards to the x axis. Accepted options are \\\\\"above\\\\\" or \\\\\"below\\\\\"\"},\"alignment\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'left\\'\",\"computed\":false},{\"value\":\"\\'center\\'\",\"computed\":false},{\"value\":\"\\'right\\'\",\"computed\":false}]},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'center\\'\",\"computed\":false}},\"rotate\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Object declaring styles for label.\\\\n\\\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\\\nin order to ensure that our collision library measureText is able to calculate the\\\\nsmallest amount of possible collisions along the axis. It\\'s therefore dependent on\\\\nfontFamily, size and fontStyle to always be passed in. If you\\'re looking to have a centralized\\\\nstylesheet, we suggest creating a styled title component that wraps XAxisTitle with your preferred styles.\",\"defaultValue\":{\"value\":\"{\\\\n  fontFamily: \\'Helvetica, sans-serif\\',\\\\n  fontSize: \\'24px\\',\\\\n  fontWeight: \\'bold\\',\\\\n  lineHeight: 1,\\\\n}\",\"computed\":false}},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"title\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"children\":{\"type\":{\"name\":\"any\"},\"required\":false,\"description\":\"\"}}}');function GB(){return GB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},GB.apply(this,arguments)}const $B=[{id:\"basic\",label:\"Basic XAxisTitle\",codeText:__webpack_require__(86881).Z},{id:\"all\",label:\"All XAxisTitle Options\",codeText:__webpack_require__(7620).Z}];class KB extends o.Component{render(){return o.createElement(eo,{name:\"XAxisTitle\",propDocs:HB},$B.map((e=>o.createElement(xj,GB({},e,{key:e.id})))))}}const ZB=JSON.parse('{\"description\":\"\",\"displayName\":\"XGrid\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"lineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}}}}');function JB(){return JB=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},JB.apply(this,arguments)}const QB=[{id:\"basic\",label:\"Basic XGrid\",codeText:__webpack_require__(50648).Z}];class eq extends o.Component{render(){return o.createElement(eo,{name:\"XGrid\",propDocs:ZB},QB.map((e=>o.createElement(xj,JB({},e,{key:e.id})))))}}const tq=JSON.parse('{\"description\":\"`XLine` is a vertical line rendered on the x axis\",\"displayName\":\"XLine\",\"methods\":[],\"props\":{\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Height of chart - provided by XYPlot\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"},\"value\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot\"},\"yLimit\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"\"},\"yDomain\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"The Y domain of the data as an array - provided by XYPlot\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing top - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing bottom - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the line\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"className\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to the line\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}}}}');function nq(){return nq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nq.apply(this,arguments)}const rq=[{id:\"basic\",label:\"Basic XLine\",codeText:__webpack_require__(58703).Z}];class iq extends o.Component{render(){return o.createElement(eo,{name:\"XLine\",propDocs:tq},rq.map((e=>o.createElement(xj,nq({},e,{key:e.id})))))}}const oq=JSON.parse('{\"description\":\"\",\"displayName\":\"XTicks\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Height of chart - provided by XYPlot.\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot.\"},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'bottom\\'\",\"computed\":false},{\"value\":\"\\'top\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of x ticks. Accepted options are \\\\\"bottom\\\\\" or \\\\\"top\\\\\".\",\"defaultValue\":{\"value\":\"\\'bottom\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'above\\'\",\"computed\":false},{\"value\":\"\\'below\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of ticks in regards to the x axis. Accepted options are \\\\\"above\\\\\" or \\\\\"below\\\\\".\"},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom ticks to display.\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of ticks on axis.\"},\"tickLength\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"tickStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object applied to each tick.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"tickClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to each tick.\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingTop.\"},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingBottom.\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Round ticks to capture extent of given x domain from XYPlot.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}}}}');function aq(){return aq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},aq.apply(this,arguments)}const sq=[{id:\"basic\",label:\"Basic XTicks\",codeText:__webpack_require__(50128).Z}];class uq extends o.Component{render(){return o.createElement(eo,{name:\"XTicks\",propDocs:oq},sq.map((e=>o.createElement(xj,aq({},e,{key:e.id})))))}}const lq=JSON.parse('{\"description\":\"\",\"displayName\":\"XYPlot\",\"methods\":[{\"name\":\"onXYMouseEvent\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"callbackKey\",\"type\":null},{\"name\":\"event\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"(outer) width of the chart (SVG element).\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"(outer) width of the chart (SVG element).\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"xDomain\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"The X domain of the data as an array.\\\\nFor numerical scales, this is represented as [min, max] of the data;\\\\nfor ordinal/categorical scales it is an array of known values ie. [\\'a\\', \\'b\\', \\'c\\'].\\\\nAutomatically determined from data if not passed.\"},\"yDomain\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"The Y domain of the data as an array.\\\\nFor numerical scales, this is represented as [min, max] of the data;\\\\nfor ordinal/categorical scales it is an array of known values ie. [\\'a\\', \\'b\\', \\'c\\'].\\\\nAutomatically determined from data if not passed.\"},\"xScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"yScaleType\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"invertXScale\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Whether or not to invert the x scale\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"invertYScale\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Whether or not to invert the y scale\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"includeXZero\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Whether or not to coerce 0 into your x domain\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"includeYZero\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Whether or not to coerce 0 into your y domain\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"marginTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal top margin, in pixels.\"},\"marginBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal bottom margin, in pixels.\"},\"marginLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal left margin, in pixels.\"},\"marginRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal right margin, in pixels.\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal top spacing of XYPlot, in pixels.\"},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal bottom spacing of XYPlot, in pixels.\"},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal left spacing of XYPlot, in pixels.\"},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal right spacing of XYPlot, in pixels.\"},\"onMouseMove\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseEnter\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseLeave\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseDown\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseUp\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onClick\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"xyPlotContainerStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the parent SVG element that wraps XYPlot.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"xyPlotStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the plot.\\\\nThis is the inner rect DOM element where the graphs are rendered within the axes.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"xyPlotClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute applied to xy plot\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Scale determined by our resolveXYScales higher order component.\\\\nOverride this prop if you\\'d like to pass in your own d3 scale.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Scale determined by our resolveXYScales higher order component.\\\\nOverride this prop if you\\'d like to pass in your own d3 scale.\"},\"children\":{\"type\":{\"name\":\"any\"},\"required\":false,\"description\":\"\"}}}');function cq(){return cq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cq.apply(this,arguments)}const fq=[{id:\"basic\",label:\"Basic XYPlot\",codeText:__webpack_require__(36138).Z},{id:\"spacing\",label:\"Custom Spacing\",codeText:__webpack_require__(1884).Z}];class pq extends o.Component{render(){return o.createElement(eo,{name:\"XYPlot\",propDocs:lq},fq.map((e=>o.createElement(xj,cq({},e,{key:e.id})))))}}const dq=JSON.parse('{\"description\":\"`YAxis` is the vertical axis of the chart. `YAxis` is a wrapper around `YGrid`, `YTicks`,\\\\n`YAxisLabels`, and `YAxisTitle`. See their respective docs for prop documentation.\",\"displayName\":\"YAxis\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseMove\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseEnter\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnMouseLeave\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null},{\"name\":\"handleOnClick\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null}],\"returns\":null}],\"props\":{\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'left\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Extends the y domain to start and end on rounded values,\\\\nguaranteeing the original domain will be covered.\\\\nSee d3 docs for more information\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal top spacing of YAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal bottom spacing of YAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal left spacing of YAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Internal right spacing of YAxis, in pixels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"showTitle\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showLabels\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showTicks\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"showGrid\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"title\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"titleDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"titleAlign\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"titleRotate\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\"},\"titleStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"labelDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"3\",\"computed\":false}},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"labelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"\"},\"labelFormat\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"labelFormats\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"labels\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"labelOffset\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Adds vertical offset (along the YAxis) to the labels\"},\"tickLength\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"tickClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"tickStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"gridLineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"gridLineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\"},\"onMouseClickLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseEnterLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseMoveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseLeaveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"onMouseEnterAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the y axis.\"},\"onMouseLeaveAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the y axis.\"},\"onMouseMoveAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the y axis.\"},\"onMouseClickAxis\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`click` event handler callback, called when user\\'s mouse clicks on the y axis.\"},\"showLine\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Show Y Axis line\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the Y Axis line\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}}}}');function hq(){return hq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hq.apply(this,arguments)}const mq=[{id:\"basic\",label:\"Basic YAxis\",codeText:__webpack_require__(99038).Z},{id:\"customTicks\",label:\"YAxis with custom ticks\",codeText:__webpack_require__(61341).Z}];class yq extends o.Component{render(){return o.createElement(eo,{name:\"YAxis\",propDocs:dq},mq.map((e=>o.createElement(xj,hq({},e,{key:e.id})))))}}const vq=JSON.parse('{\"description\":\"\",\"displayName\":\"YAxisLabels\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getLabels\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Height of chart - provided by XYPlot.\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Width of chart - provided by XYPlot.\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'left\\'\",\"computed\":false},{\"value\":\"\\'right\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of y axis labels. Accepted options are \\\\\"left\\\\\" or \\\\\"right\\\\\".\",\"defaultValue\":{\"value\":\"\\'left\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'before\\'\",\"computed\":false},{\"value\":\"\\'after\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of labels in regards to the y axis. Accepted options are \\\\\"before\\\\\" or \\\\\"after\\\\\".\"},\"distance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Label distance from Y Axis.\",\"defaultValue\":{\"value\":\"4\",\"computed\":false}},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Round ticks to capture extent of given y domain from XYPlot.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of ticks on axis.\",\"defaultValue\":{\"value\":\"10\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom ticks to display.\",\"defaultValue\":{\"value\":\"null\",\"computed\":false}},\"labelStyle\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"func\"},{\"name\":\"object\"}]},\"required\":false,\"description\":\"Inline style object applied to each label,\\\\nor accessor function which returns a style object\\\\n\\\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\\\nin order to ensure that our collision library measureText is able to calculate the\\\\nsmallest amount of possible collisions along the axis. It\\'s therefore dependent on\\\\nfontFamily, size and fontStyle to always be passed in. If you\\'re looking to have a centralized\\\\nstylesheet, we suggest creating a styled label component that wraps YAxisLabels with your preferred styles.\",\"defaultValue\":{\"value\":\"{\\\\n  fontFamily: \\'Helvetica, sans-serif\\',\\\\n  fontSize: \\'14px\\',\\\\n  lineHeight: 1,\\\\n  textAnchor: \\'end\\',\\\\n}\",\"computed\":false}},\"labelClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the label given spacingLeft\"},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the label given spacingRight\"},\"onMouseEnterLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseenter` event handler callback, called when user\\'s mouse enters the label.\"},\"onMouseMoveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mousemove` event handler callback, called when user\\'s mouse moves within the label.\"},\"onMouseLeaveLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseleave` event handler callback, called when user\\'s mouse leaves the label.\"},\"onMouseClickLabel\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"`mouseclick` event handler callback, called when user\\'s mouse clicks the label.\"},\"format\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"An accessor function that returns the updated label.\\\\n\\\\nFor example, given labels with real numbers one can pass in the following accessor,\\\\n(label) => `${label}%`, to display percentages.\"},\"formats\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\\\\nto use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\\\\ncan be either string(s) or function(s), utilizing d3-format.\\\\n\\\\nFor example, given labels with real numbers one can pass in [\\\\\".0%\\\\\"] for a rounded percentage, like 12%.\"},\"labels\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom labels provided. Note that each object in the array has to be of shape.\\\\n`{\\\\n value,\\\\n text,\\\\n height,\\\\n width\\\\n}`\\\\nvalue - value you\\'d like this label to be aligned with\\\\ntext - text you\\'d like displayed\\\\nheight - height of the given label\\\\nwidth - width of the given label\"},\"offset\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Adds vertical offset (along the YAxis) to the labels.\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}}}}');function gq(){return gq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gq.apply(this,arguments)}const bq=[{id:\"basic\",label:\"Basic YAxisLabels\",codeText:__webpack_require__(47447).Z}];class xq extends o.Component{render(){return o.createElement(eo,{name:\"YAxisLabels\",propDocs:vq},bq.map((e=>o.createElement(xj,gq({},e,{key:e.id})))))}}const _q=JSON.parse('{\"description\":\"\",\"displayName\":\"YAxisTitle\",\"methods\":[{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"250\",\"computed\":false}},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"400\",\"computed\":false}},\"distance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Title distance from Y Axis\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'left\\'\",\"computed\":false},{\"value\":\"\\'right\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of title in regards to the y axis. Accepted options are \\\\\"left\\\\\" or \\\\\"right\\\\\"\",\"defaultValue\":{\"value\":\"\\'left\\'\",\"computed\":false}},\"alignment\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'top\\'\",\"computed\":false},{\"value\":\"\\'middle\\'\",\"computed\":false},{\"value\":\"\\'bottom\\'\",\"computed\":false}]},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"\\'middle\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'before\\'\",\"computed\":false},{\"value\":\"\\'after\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of title in regards to the y axis. Accepted options are \\\\\"before\\\\\" or \\\\\"after\\\\\"\"},\"rotate\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Object declaring styles for label.\\\\n\\\\nDisclaimer: style will merge its defaults with the given style prop\\\\nin order to ensure that our collision library measureText is able to calculate the\\\\nsmallest amount of possible collisions along the axis. It\\'s therefore dependent on\\\\nfontFamily, size and fontStyle to always be passed in. If you\\'re looking to have a centralized\\\\nstylesheet, we suggest creating a styled title component that wraps YAxisTitle with your preferred styles.\",\"defaultValue\":{\"value\":\"{\\\\n  fontFamily: \\'Helvetica, sans-serif\\',\\\\n  fontSize: \\'24px\\',\\\\n  fontWeight: \\'bold\\',\\\\n  lineHeight: 1,\\\\n}\",\"computed\":false}},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"title\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"children\":{\"type\":{\"name\":\"any\"},\"required\":false,\"description\":\"\"}}}');function wq(){return wq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wq.apply(this,arguments)}const Eq=[{id:\"basic\",label:\"Basic YAxisTitle\",codeText:__webpack_require__(14044).Z},{id:\"all\",label:\"YAxisTitle Positions and Placements\",codeText:__webpack_require__(26538).Z}];class Sq extends o.Component{render(){return o.createElement(eo,{name:\"YAxisTitle\",propDocs:_q},Eq.map((e=>o.createElement(xj,wq({},e,{key:e.id})))))}}const kq=JSON.parse('{\"description\":\"\",\"displayName\":\"YGrid\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"\"},\"spacingTop\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingBottom\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\"},\"lineClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"\"},\"lineStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}}}}');function Aq(){return Aq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Aq.apply(this,arguments)}const Cq=[{id:\"basic\",label:\"Basic YGrid\",codeText:__webpack_require__(85822).Z}];class Tq extends o.Component{render(){return o.createElement(eo,{name:\"YGrid\",propDocs:kq},Cq.map((e=>o.createElement(xj,Aq({},e,{key:e.id})))))}}const Dq=JSON.parse('{\"description\":\"`YLine` is a horizontal line rendered on the y axis\",\"displayName\":\"YLine\",\"methods\":[],\"props\":{\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot\"},\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Width of chart - provided by XYPlot.\"},\"value\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":true,\"description\":\"\"},\"xScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for X axis - provided by XYPlot\"},\"xLimit\":{\"type\":{\"name\":\"union\",\"value\":[{\"name\":\"number\"},{\"name\":\"string\"},{\"name\":\"instanceOf\",\"value\":\"Date\"}]},\"required\":false,\"description\":\"\"},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing left - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing right - provided by XYPlot\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"style\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to the line\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"className\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to the line\",\"defaultValue\":{\"value\":\"\\'\\'\",\"computed\":false}}}}');function Mq(){return Mq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mq.apply(this,arguments)}const Pq=[{id:\"basic\",label:\"Basic YLine\",codeText:__webpack_require__(95877).Z}];class Oq extends o.Component{render(){return o.createElement(eo,{name:\"YLine\",propDocs:Dq},Pq.map((e=>o.createElement(xj,Mq({},e,{key:e.id})))))}}const Lq=JSON.parse('{\"description\":\"\",\"displayName\":\"YTicks\",\"methods\":[{\"name\":\"getTickDomain\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null},{\"name\":\"getMargin\",\"docblock\":null,\"modifiers\":[\"static\"],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Width of chart - provided by XYPlot.\"},\"yScale\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"D3 scale for Y axis - provided by XYPlot.\"},\"position\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'left\\'\",\"computed\":false},{\"value\":\"\\'right\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Position of y ticks. Accepted options are \\\\\"left\\\\\" or \\\\\"right\\\\\".\",\"defaultValue\":{\"value\":\"\\'left\\'\",\"computed\":false}},\"placement\":{\"type\":{\"name\":\"enum\",\"value\":[{\"value\":\"\\'before\\'\",\"computed\":false},{\"value\":\"\\'after\\'\",\"computed\":false}]},\"required\":false,\"description\":\"Placement of ticks in regards to the y axis. Accepted options are \\\\\"before\\\\\" or \\\\\"after\\\\\".\"},\"ticks\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Custom ticks to display.\"},\"tickCount\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Number of ticks on axis.\"},\"tickLength\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"\",\"defaultValue\":{\"value\":\"5\",\"computed\":false}},\"tickStyle\":{\"type\":{\"name\":\"object\"},\"required\":false,\"description\":\"Inline style object to be applied to each tick.\",\"defaultValue\":{\"value\":\"{}\",\"computed\":false}},\"tickClassName\":{\"type\":{\"name\":\"string\"},\"required\":false,\"description\":\"Class attribute to be applied to each tick.\"},\"spacingLeft\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingLeft.\"},\"spacingRight\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingRight.\"},\"nice\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Round ticks to capture extent of given y domain from XYPlot.\",\"defaultValue\":{\"value\":\"true\",\"computed\":false}}}}');function Nq(){return Nq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nq.apply(this,arguments)}const Fq=[{id:\"basic\",label:\"Basic YTicks\",codeText:__webpack_require__(97289).Z}];class Rq extends o.Component{render(){return o.createElement(eo,{name:\"YTicks\",propDocs:Lq},Fq.map((e=>o.createElement(xj,Nq({},e,{key:e.id})))))}}const Iq=JSON.parse('{\"description\":\"`ZoomContainer` is a wrapper that gives users the ability to zoom in, zoom out and drag its children components.\",\"displayName\":\"ZoomContainer\",\"methods\":[{\"name\":\"handleZoom\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"event\",\"type\":null},{\"name\":\"...args\",\"type\":null}],\"returns\":null},{\"name\":\"_updateZoomProps\",\"docblock\":null,\"modifiers\":[],\"params\":[{\"name\":\"props\",\"type\":null}],\"returns\":null}],\"props\":{\"width\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"(outer) width of the chart (SVG element).\",\"defaultValue\":{\"value\":\"800\",\"computed\":false}},\"height\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"(outer) width of the chart (SVG element).\",\"defaultValue\":{\"value\":\"600\",\"computed\":false}},\"onZoom\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Zoom callback function, called when zoom changes.\\\\nFor controlled version of this component, you should update zoomX, zoomY and zoomScale props in this callback.\"},\"controlled\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Boolean which determines whether the component is \\\\\"controlled\\\\\" (true) or \\\\\"stateful\\\\\" (false).\\\\nWhen true, zoom transformation is controlled entirely by the `zoomX`, `zoomY` and `zoomScale` props, which\\\\nyou are responsible for updating in the `onZoom` callback function.\\\\nWhen false, zoom transformation is handled by internal state, and the `zoomX`, `zoomY` and `zoomScale` props\\\\nspecify only the initial X, Y and scale transformation of the component.\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"disableMouseWheelZoom\":{\"type\":{\"name\":\"bool\"},\"required\":false,\"description\":\"Disables wheel-driven zooming (say to not interfere with native scrolling).\",\"defaultValue\":{\"value\":\"false\",\"computed\":false}},\"zoomX\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The X-coordinate of the zoom transformation (or initial X-coordinate, if `controlled` is false).\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"zoomY\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The Y-coordinate of the zoom transformation (or initial Y-coordinate, if `controlled` is false).\",\"defaultValue\":{\"value\":\"0\",\"computed\":false}},\"zoomScale\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"The scaling factor of the zoom transformation (or initial scaling, if `controlled` is false).\\\\n1.0 is normal size, 2.0 is double size, 0.5 is half size.\",\"defaultValue\":{\"value\":\"1\",\"computed\":false}},\"extent\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Sets the viewport extent to the specified array of points [[x0, y0], [x1, y1]],\\\\nwhere [x0, y0] is the top-left corner of the viewport and [x1, y1] is the bottom-right corner of the viewport.\\\\nSee d3-zoom docs for more information.\"},\"scaleExtent\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Sets the scale extent to the specified array of numbers [k0, k1]\\\\nwhere k0 is the minimum allowed scale factor and k1 is the maximum allowed scale factor.\\\\nSee d3-zoom docs for more information.\"},\"translateExtent\":{\"type\":{\"name\":\"array\"},\"required\":false,\"description\":\"Sets the translate extent to the specified array of points [[x0, y0], [x1, y1]],\\\\nwhere [x0, y0] is the top-left corner of the world and [x1, y1] is the bottom-right corner of the world.\\\\nSee d3-zoom docs for more information.\"},\"clickDistance\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Sets the maximum distance that the mouse can move between mousedown and mouseup that will trigger\\\\na subsequent click event.\\\\nSee d3-zoom docs for more information.\"},\"duration\":{\"type\":{\"name\":\"number\"},\"required\":false,\"description\":\"Sets the duration for zoom transitions on double-click and double-tap to the specified number of milliseconds.\\\\nSee d3-zoom docs for more information.\"},\"interpolate\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Sets the interpolation factory for zoom transitions to the specified function.\\\\nSee d3-zoom docs for more information.\"},\"constrain\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Sets the transform constraint function to the specified function.\\\\nSee d3-zoom docs for more information.\"},\"filter\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Sets the zoom event filter to the specified function.\\\\nSee d3-zoom docs for more information.\"},\"touchable\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Sets the touch support detector to the specified function.\\\\nSee d3-zoom docs for more information.\"},\"wheelDelta\":{\"type\":{\"name\":\"func\"},\"required\":false,\"description\":\"Sets the wheel delta function to the specified function.\\\\nSee d3-zoom docs for more information.\"},\"children\":{\"type\":{\"name\":\"any\"},\"required\":false,\"description\":\"\"}}}');function jq(){return jq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jq.apply(this,arguments)}const Bq=[{id:\"basic\",label:\"Basic ZoomContainer\",codeText:__webpack_require__(883).Z},{id:\"controlled\",label:\"Controlled ZoomContainer\",codeText:__webpack_require__(82768).Z}];class qq extends o.Component{render(){return o.createElement(eo,{name:\"ZoomContainer\",propDocs:Iq},Bq.map((e=>o.createElement(xj,jq({},e,{key:e.id})))))}}class zq extends o.Component{render(){const{name:e,children:t}=this.props;return o.createElement(\"div\",null,o.createElement(\"h2\",null,e),t)}}function Vq(){return Vq=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vq.apply(this,arguments)}!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(zq,\"propTypes\",{name:u().string,children:u().any});const Uq=[{id:\"basic\",label:\"Quick Start Example\",codeText:__webpack_require__(87886).Z}];class Wq extends o.Component{render(){return o.createElement(zq,{name:\"Quick Start\",componentName:\"QuickStart\"},o.createElement(\"p\",null,\"To get started using Reactochart, first install it using\",\" \",o.createElement(\"code\",null,\"npm\"),\":\"),o.createElement(\"pre\",null,\"npm install --save reactochart\"),o.createElement(\"p\",null,\"Then you can \",o.createElement(\"code\",null,\"import\"),\" individual Reactochart components:\"),o.createElement(\"pre\",null,\"import LineChart from 'reactochart/LineChart'\"),o.createElement(\"p\",null,\"The examples in this documentation will omit these imports to save space, so make sure you remember to include them in your code to get things working. For example, the example below requires importing the following components:\"),o.createElement(\"pre\",null,\"import XYPlot from 'reactochart/XYPlot';\",o.createElement(\"br\",null),\"import XAxis from 'reactochart/XAxis';\",o.createElement(\"br\",null),\"import YAxis from 'reactochart/YAxis';\",o.createElement(\"br\",null),\"import LineChart from 'reactochart/LineChart';\"),o.createElement(\"p\",null,\"If you prefer, you can import all of Reactochart at once, though this may hinder some optimizations, such as \",o.createElement(\"code\",null,\"webpack\"),\" \",\"tree-shaking:\"),o.createElement(\"pre\",null,\"import \",\"{\",\"XYPlot, XAxis, YAxis, LineChart\",\"}\",\" from 'reactochart';\",o.createElement(\"br\",null),\"// or \",o.createElement(\"br\",null),\"import * as Reactochart from 'reactochart';\"),o.createElement(\"p\",null,\"And now, here's our first line chart showing the basic usage of these components. In this and all future examples, the code on the left side is editable and will update the preview on the right - so experiment and see for yourself how things work!\"),Uq.map((e=>o.createElement(xj,Vq({},e,{key:e.id})))))}}class Yq extends o.Component{render(){return o.createElement(zq,{name:\"XY Plots\",componentName:\"XYPlots\"},o.createElement(\"p\",null,'Nearly all of the chart components included in Reactochart (except PieChart and TreeMap) are cartesian or \"X/Y\"-type charts. They accept an array of ',o.createElement(\"code\",null,\"data\"),\" and represent these data with some form of SVG marks on a 2-dimensional X/Y coordinate plane.\"),o.createElement(\"p\",null,\"These chart components are not meant to be rendered on their own, but should instead always be wrapped in a\",o.createElement(\"code\",null,\"<\",\"XYPlot\",\">\"),\" \",\"component. \",o.createElement(\"code\",null,\"XYPlot\"),\" is a wrapper which iterates over all of its charts and generates a common set of X and Y\",\" \",o.createElement(\"a\",{href:\"https://github.com/d3/d3-scale\"},\"scales\"),\", which are shared and provided to its children as \",o.createElement(\"code\",null,\"scale\"),\" props.\",\" \",o.createElement(\"code\",null,\"XYPlot\"),\" also accepts several other props which apply to all of its children, such as \",o.createElement(\"code\",null,\"width\"),\" and\",\" \",o.createElement(\"code\",null,\"height\"),\".\"),o.createElement(\"p\",null,\"Here's an example of basic \",o.createElement(\"code\",null,\"XYPlot\"),\" to render a\",\" \",o.createElement(\"code\",null,\"LineChart\"),\":\"),o.createElement(xj,{id:\"basic\",label:\"XYPlot and LineChart\",codeText:__webpack_require__(28489).Z}),o.createElement(\"p\",null,\"Generally, you will want to render a \",o.createElement(\"code\",null,\"XAxis\"),\" and a\",\" \",o.createElement(\"code\",null,\"YAxis\"),\" component along with your chart. These components render titles, labels, ticks and grid lines to denote your X and Y axes. One advantage of using a common \",o.createElement(\"code\",null,\"XYPlot\"),\" wrapper is that it ensures the axis labels are using the same scales as the charts themselves, and are therefore correctly labeling them.\",\" \",o.createElement(\"code\",null,\"XAxis\"),\" and \",o.createElement(\"code\",null,\"YAxis\"),\" accept several props to control how they are displayed; see their docs for more information.\"),o.createElement(\"p\",null,\"Note that the axes will take up some space in the margin around the chart. The \",o.createElement(\"code\",null,\"width\"),\" and \",o.createElement(\"code\",null,\"height\"),\" props provided to \",o.createElement(\"code\",null,\"XYPlot\"),\" control the \",o.createElement(\"strong\",null,\"outer\"),\" width of the chart, including the margin and the axes inside them. The inner size of the chart plot itself is determined by \",o.createElement(\"code\",null,\"XYPlot\"),\" and passed down to children charts as (smaller) \",o.createElement(\"code\",null,\"width\"),\" and\",\" \",o.createElement(\"code\",null,\"height\"),\" props.\"),o.createElement(xj,{id:\"lineChartWithAxis\",label:\"LineChart with axes\",codeText:__webpack_require__(57365).Z}),o.createElement(\"p\",null,\"Another advantage of \",o.createElement(\"code\",null,\"XYPlot\"),\" is that it provides a common container for rendering multiple charts together on the same axes. These can be charts of the same type (ie. multiple\",\" \",o.createElement(\"code\",null,\"LineCharts\"),\"), and/or multiple kinds of charts. Any of the XY-type charts in Reactochart can be rendered alongside one another inside \",o.createElement(\"code\",null,\"XYPlot\"),\".\"),o.createElement(\"p\",null,\"Note that these charts render SVG elements, which do not respect\",\" \",o.createElement(\"code\",null,\"z-index\"),\"; instead their Z-order is determined by the order in which they are drawn. So if you want to draw a\",\" \",o.createElement(\"code\",null,\"BarChart\"),\" underneath a \",o.createElement(\"code\",null,\"LineChart\"),\", put it before the \",o.createElement(\"code\",null,\"LineChart\"),\" inside \",o.createElement(\"code\",null,\"XYPlot\"),\".\"),o.createElement(xj,{id:\"multiChart\",label:\"Multiple Charts in one XYPlot\",codeText:__webpack_require__(34617).Z}))}}__webpack_require__(24788),o.Component,__webpack_require__(98334).Z,o.Component,o.Component;const Xq=[{name:\"Quick Start\",path:\"/quick-start\",Component:Wq},{name:\"XY Plots\",path:\"/xy-plots\",Component:Yq}],Hq=[{name:\"XYPlot\",path:\"/xy-plot\",Component:pq},{name:\"ZoomContainer\",path:\"/zoom-container\",Component:qq}],Gq=[{name:\"AriaLabelContainer\",path:\"/aria-label-container\",Component:Rj},{name:\"AreaBarChart\",path:\"/area-bar-chart\",Component:Sj},{name:\"AreaChart\",path:\"/area-chart\",Component:Tj},{name:\"AreaHeatmap\",path:\"/area-heatmap\",Component:Oj},{name:\"BarChart\",path:\"/bar-chart\",Component:Wj},{name:\"ColorHeatmap\",path:\"/color-heatmap\",Component:Gj},{name:\"FunnelChart\",path:\"/funnel-chart\",Component:Jj},{name:\"Histogram\",path:\"/histogram\",Component:nB},{name:\"KernelDensityEstimation\",path:\"/kernel-density-estimation\",Component:aB},{name:\"LineChart\",path:\"/line-chart\",Component:cB},{name:\"MarkerLineChart\",path:\"/marker-line-chart\",Component:hB},{name:\"RangeBarChart\",path:\"/range-bar-chart\",Component:wB},{name:\"ScatterPlot\",path:\"/scatter-plot\",Component:NB}],$q=[{name:\"PieChart\",path:\"/pie-chart\",Component:gB},{name:\"SankeyDiagram\",path:\"/sankey\",Component:MB},{name:\"TreeMap\",path:\"/tree-map\",Component:jB}],Kq=[{name:\"Bar\",path:\"/bar\",Component:qj},{name:\"RangeRect\",path:\"/range-rect\",Component:AB},{name:\"XLine\",path:\"/x-line\",Component:iq},{name:\"YLine\",path:\"/y-line\",Component:Oq}],Zq=[{name:\"XAxis\",path:\"/x-axis\",Component:VB},{name:\"XAxisLabels\",path:\"/x-axis-labels\",Component:XB},{name:\"XAxisTitle\",path:\"/x-axis-title\",Component:KB},{name:\"XGrid\",path:\"/x-grid\",Component:eq},{name:\"XTicks\",path:\"/x-ticks\",Component:uq},{name:\"YAxis\",path:\"/y-axis\",Component:yq},{name:\"YAxisLabels\",path:\"/y-axis-labels\",Component:xq},{name:\"YAxisTitle\",path:\"/y-axis-title\",Component:Sq},{name:\"YGrid\",path:\"/y-grid\",Component:Tq},{name:\"YTicks\",path:\"/y-ticks\",Component:Rq}],Jq=Xq.concat(Hq).concat(Gq).concat($q).concat(Kq).concat(Zq),Qq=e=>{let{label:t,to:n}=e;return o.createElement(H,{path:n,exact:!0,children:e=>{let{match:r}=e;return o.createElement(\"li\",{className:\"example-link \"+(r?\"active\":\"\")},o.createElement(re,{to:n},t))}})};Qq.propTypes={label:u().string,to:u().string};const ez=()=>o.createElement(\"div\",{className:\"sidebar-nav col-md-2\",style:{backgroundColor:\"#2E2F33\"}},o.createElement(\"h3\",null,\"Lessons\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},Xq.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`lesson-${t}`})))),o.createElement(\"h3\",null,\"Component Docs\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},Hq.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`chart-component-${t}`})))),o.createElement(\"h4\",null,\"XY Chart Components\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},Gq.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`chart-component-${t}`})))),o.createElement(\"h4\",null,\"Standalone Chart Components\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},$q.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`chart-component-${t}`})))),o.createElement(\"h4\",null,\"XY Data Components\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},Kq.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`data-component-${t}`})))),o.createElement(\"h4\",null,\"XY Axis Components\"),o.createElement(\"ul\",{className:\"nav-inverse nav-tabs nav-stacked\"},Zq.map(((e,t)=>o.createElement(Qq,{to:e.path,label:e.name,key:`axis-component-${t}`}))))),tz=()=>o.createElement(\"div\",{className:\"docs-home\"},o.createElement(\"p\",null,\"Reactochart is a library of React components for creating charts and graphs, used internally at Spotify.\"),o.createElement(dz,null)),nz=()=>o.createElement(Z,null,o.createElement(\"div\",{className:\"row docs-home\"},o.createElement(ez,null),o.createElement(\"div\",{className:\"col-md-10\"},o.createElement(H,{exact:!0,path:\"/\",component:tz}),Jq.map(((e,t)=>o.createElement(H,{path:e.path,component:e.Component,key:t})))))),{XYPlot:rz,XAxis:iz,YAxis:oz,RangeBarChart:az,LineChart:sz,ScatterPlot:uz,BarChart:lz,MarkerLineChart:cz,ColorHeatmap:fz,AreaHeatmap:pz}=i;class dz extends o.Component{render(){return o.createElement(\"div\",null,o.createElement(rz,{xDomain:[-2,2],yDomain:[-2,2],width:400,height:400},o.createElement(iz,{title:\"Phase\"}),o.createElement(oz,{title:\"Intensity\"}),o.createElement(az,{data:se().range(0,2,.03),x:e=>e,y:e=>.7*Math.sin(3*e)+1.2,yEnd:e=>Math.sin(3*e)*Math.cos(3*e)*.7+1.2,barThickness:2,barStyle:{fill:\"#3690c0\"}}),o.createElement(sz,{data:se().range(-2,0,.005),x:e=>e,y:e=>1.8*Math.pow(Math.abs(Math.sin(5*e)),Math.abs(Math.sin(.25*e))),lineStyle:{stroke:\"#02818a\",strokeWidth:3}}),o.createElement(uz,{data:se().range(-2,0,.05),x:e=>e,y:e=>.1*Math.pow(2,1.8*(e+2)),pointSymbol:o.createElement(\"rect\",{width:5,height:5,fill:\"#3690c0\"})}),o.createElement(lz,{data:se().range(0,2,.03),x:e=>e,y:e=>-Math.abs(Math.sin(4*e)*Math.cos(3*e)),barThickness:3,barStyle:{fill:\"#67a9cf\"}}),o.createElement(cz,{data:se().range(0,1.5,.1),x:e=>e,y:e=>Math.cos(e),lineStyle:{stroke:\"#ec7014\",strokeWidth:3}}),o.createElement(fz,{data:se().flatten(se().range(-2,0,.1).map((e=>se().range(-2,0,.1).map((t=>[e,t]))))),value:e=>{let[t,n]=e;return Math.sin(t*n*5)},x:e=>{let[t,n]=e;return t},xEnd:e=>{let[t,n]=e;return t+.1},y:e=>{let[t,n]=e;return n},yEnd:e=>{let[t,n]=e;return n+.1},colors:[\"#d0d1e6\",\"#016450\"],interpolator:\"lab\"}),o.createElement(pz,{data:se().flatten(se().range(0,2,.1).map((e=>se().range(-2,-1,.1).map((t=>[e,t]))))),area:e=>{let[t,n]=e;return-Math.sin(t*n*5)},x:e=>{let[t,n]=e;return t},xEnd:e=>{let[t,n]=e;return t+.1},y:e=>{let[t,n]=e;return n},yEnd:e=>{let[t,n]=e;return n+.1},rectStyle:{fill:\"#016450\"}})))}}a.render(o.createElement(nz,null),document.getElementById(\"container\"))})()})();\n//# sourceMappingURL=bundle.6ab8ef2cbcf9e159df8e.js.map"
  },
  {
    "path": "docs/build/bundle.6ab8ef2cbcf9e159df8e.js.LICENSE.txt",
    "content": "/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n/*!\n\t * RegJSGen\n\t * Copyright 2014 Benjamin Tan <https://d10.github.io/>\n\t * Available under MIT license <http://d10.mit-license.org/>\n\t */\n\n/*!\n\t * The buffer module from node.js, for the browser.\n\t *\n\t * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n\t * @license  MIT\n\t */\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n/*! Based on https://mths.be/fromcodepoint v0.2.0 by @mathias */\n\n/*! https://mths.be/fromcodepoint v0.2.1 by @mathias */\n\n/*! https://mths.be/jsesc v1.3.0 by @mathias */\n\n/*! https://mths.be/regenerate v1.3.2 by @mathias | MIT license */\n\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** @license React v0.19.1\n * scheduler.production.min.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/** @license React v16.13.1\n * react-is.production.min.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/** @license React v16.14.0\n * react-dom-server.browser.production.min.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/** @license React v16.14.0\n * react-dom.production.min.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/** @license React v16.14.0\n * react.production.min.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"
  },
  {
    "path": "docs/build/index.html",
    "content": "<!doctype html><html><head lang=\"en\"><meta charset=\"UTF-8\"><title>Reactochart Docs</title><link href=\"https://sp-bootstrap.global.ssl.fastly.net/8.0.0/sp-bootstrap.min.css\" rel=\"stylesheet\"><link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.0.0/codemirror.min.css\"/><link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.0.0/theme/monokai.min.css\"/><link rel=\"shortcut icon\" href=\"build/assets/favicon.png\"><script defer=\"defer\" src=\"bundle.6ab8ef2cbcf9e159df8e.js\"></script></head><body><div class=\"navbar navbar-default\" role=\"navigation\"><div class=\"container-fluid\"><div class=\"navbar-header\"><a class=\"navbar-brand\" href=\"#\"><span class=\"navbar-logo\">Spotify</span> <span class=\"navbar-title\">Reactochart</span></a></div><div class=\"collapse navbar-collapse\"></div></div></div><div class=\"container-fluid\" id=\"container\">Loading...</div></body></html>"
  },
  {
    "path": "docs/index.html",
    "content": "<html>\n  <head>\n    <title>Redirect</title>\n    <meta http-equiv=\"refresh\" content=\"0;URL=build\" />\n  </head>\n  <body bgcolor=\"#ffffff\">\n    Redirecting to docs...\n  </body>\n</html>\n"
  },
  {
    "path": "docs/src/App.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HashRouter as Router, Link, Route } from 'react-router-dom';\nimport _ from 'lodash';\n\nimport * as Docs from './docs';\nimport * as Lessons from './lessons';\n\nconst lessons = [\n  {\n    name: 'Quick Start',\n    path: '/quick-start',\n    Component: Lessons.QuickStartLesson,\n  },\n  { name: 'XY Plots', path: '/xy-plots', Component: Lessons.XYPlotsLesson },\n  // TODO lesson needs to be cleaned up, see lessons/GettersAndAccessors\n  // {name: \"Getters & Accessors\", path: '/getters-and-accessors', Component: Lessons.GettersAndAccessorsLesson},\n  // TODO lesson needs to be cleaned up, see lessons/Interaction\n  // {name: \"Interaction\", path: '/interaction', Component: Lessons.InteractionLesson},\n];\n\nconst mainComponents = [\n  { name: 'XYPlot', path: '/xy-plot', Component: Docs.XYPlotDocs },\n  {\n    name: 'ZoomContainer',\n    path: '/zoom-container',\n    Component: Docs.ZoomContainerDocs,\n  },\n];\n\nconst xyChartComponents = [\n  {\n    name: 'AriaLabelContainer',\n    path: '/aria-label-container',\n    Component: Docs.AriaLabelContainerDocs,\n  },\n  {\n    name: 'AreaBarChart',\n    path: '/area-bar-chart',\n    Component: Docs.AreaBarChartDocs,\n  },\n  { name: 'AreaChart', path: '/area-chart', Component: Docs.AreaChartDocs },\n  {\n    name: 'AreaHeatmap',\n    path: '/area-heatmap',\n    Component: Docs.AreaHeatmapDocs,\n  },\n  { name: 'BarChart', path: '/bar-chart', Component: Docs.BarChartDocs },\n  {\n    name: 'ColorHeatmap',\n    path: '/color-heatmap',\n    Component: Docs.ColorHeatmapDocs,\n  },\n  {\n    name: 'FunnelChart',\n    path: '/funnel-chart',\n    Component: Docs.FunnelChartDocs,\n  },\n  { name: 'Histogram', path: '/histogram', Component: Docs.HistogramDocs },\n  {\n    name: 'KernelDensityEstimation',\n    path: '/kernel-density-estimation',\n    Component: Docs.KernelDensityEstimationDocs,\n  },\n  { name: 'LineChart', path: '/line-chart', Component: Docs.LineChartDocs },\n  {\n    name: 'MarkerLineChart',\n    path: '/marker-line-chart',\n    Component: Docs.MarkerLineChartDocs,\n  },\n  {\n    name: 'RangeBarChart',\n    path: '/range-bar-chart',\n    Component: Docs.RangeBarChartDocs,\n  },\n  {\n    name: 'ScatterPlot',\n    path: '/scatter-plot',\n    Component: Docs.ScatterPlotDocs,\n  },\n];\n\nconst standaloneChartComponents = [\n  { name: 'PieChart', path: '/pie-chart', Component: Docs.PieChartDocs },\n  { name: 'SankeyDiagram', path: '/sankey', Component: Docs.SankeyDiagramDocs },\n  { name: 'TreeMap', path: '/tree-map', Component: Docs.TreeMapDocs },\n];\n\nconst dataMarkComponents = [\n  { name: 'Bar', path: '/bar', Component: Docs.BarDocs },\n  { name: 'RangeRect', path: '/range-rect', Component: Docs.RangeRectDocs },\n  { name: 'XLine', path: '/x-line', Component: Docs.XLineDocs },\n  { name: 'YLine', path: '/y-line', Component: Docs.YLineDocs },\n];\n\nconst axisComponents = [\n  { name: 'XAxis', path: '/x-axis', Component: Docs.XAxisDocs },\n  {\n    name: 'XAxisLabels',\n    path: '/x-axis-labels',\n    Component: Docs.XAxisLabelsDocs,\n  },\n  { name: 'XAxisTitle', path: '/x-axis-title', Component: Docs.XAxisTitleDocs },\n  { name: 'XGrid', path: '/x-grid', Component: Docs.XGridDocs },\n  { name: 'XTicks', path: '/x-ticks', Component: Docs.XTicksDocs },\n  { name: 'YAxis', path: '/y-axis', Component: Docs.YAxisDocs },\n  {\n    name: 'YAxisLabels',\n    path: '/y-axis-labels',\n    Component: Docs.YAxisLabelsDocs,\n  },\n  { name: 'YAxisTitle', path: '/y-axis-title', Component: Docs.YAxisTitleDocs },\n  { name: 'YGrid', path: '/y-grid', Component: Docs.YGridDocs },\n  { name: 'YTicks', path: '/y-ticks', Component: Docs.YTicksDocs },\n];\n\nconst allComponents = lessons\n  .concat(mainComponents)\n  .concat(xyChartComponents)\n  .concat(standaloneChartComponents)\n  .concat(dataMarkComponents)\n  .concat(axisComponents);\n\nconst NavLink = ({ label, to }) => {\n  return (\n    <Route\n      path={to}\n      exact\n      children={({ match }) => (\n        <li className={`example-link ${match ? 'active' : ''}`}>\n          <Link to={to}>{label}</Link>\n        </li>\n      )}\n    />\n  );\n};\n\nNavLink.propTypes = {\n  label: PropTypes.string,\n  to: PropTypes.string,\n};\n\nconst Nav = () => {\n  return (\n    <div\n      className=\"sidebar-nav col-md-2\"\n      style={{ backgroundColor: '#2E2F33' }}\n    >\n      <h3>Lessons</h3>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {lessons.map((lesson, i) => {\n          return (\n            <NavLink to={lesson.path} label={lesson.name} key={`lesson-${i}`} />\n          );\n        })}\n      </ul>\n\n      <h3>Component Docs</h3>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {mainComponents.map((component, i) => {\n          return (\n            <NavLink\n              to={component.path}\n              label={component.name}\n              key={`chart-component-${i}`}\n            />\n          );\n        })}\n      </ul>\n\n      <h4>XY Chart Components</h4>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {xyChartComponents.map((component, i) => {\n          return (\n            <NavLink\n              to={component.path}\n              label={component.name}\n              key={`chart-component-${i}`}\n            />\n          );\n        })}\n      </ul>\n\n      <h4>Standalone Chart Components</h4>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {standaloneChartComponents.map((component, i) => {\n          return (\n            <NavLink\n              to={component.path}\n              label={component.name}\n              key={`chart-component-${i}`}\n            />\n          );\n        })}\n      </ul>\n\n      <h4>XY Data Components</h4>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {dataMarkComponents.map((component, i) => {\n          return (\n            <NavLink\n              to={component.path}\n              label={component.name}\n              key={`data-component-${i}`}\n            />\n          );\n        })}\n      </ul>\n\n      <h4>XY Axis Components</h4>\n      <ul className=\"nav-inverse nav-tabs nav-stacked\">\n        {axisComponents.map((component, i) => {\n          return (\n            <NavLink\n              to={component.path}\n              label={component.name}\n              key={`axis-component-${i}`}\n            />\n          );\n        })}\n      </ul>\n    </div>\n  );\n};\n\nexport const Home = () => (\n  <div className=\"docs-home\">\n    <p>\n      Reactochart is a library of React components for creating charts and\n      graphs, used internally at Spotify.\n    </p>\n\n    <MultipleXYExample />\n  </div>\n);\n\nexport const App = () => (\n  <Router>\n    <div className=\"row docs-home\">\n      <Nav />\n      <div className=\"col-md-10\">\n        <Route exact path=\"/\" component={Home} />\n        {allComponents.map((c, i) => (\n          <Route path={c.path} component={c.Component} key={i} />\n        ))}\n      </div>\n    </div>\n  </Router>\n);\n\nimport * as Reactochart from '../../src';\nconst {\n  XYPlot,\n  XAxis,\n  YAxis,\n  RangeBarChart,\n  LineChart,\n  ScatterPlot,\n  BarChart,\n  MarkerLineChart,\n  ColorHeatmap,\n  AreaHeatmap,\n} = Reactochart;\n\nclass MultipleXYExample extends React.Component {\n  render() {\n    return (\n      <div>\n        <XYPlot\n          xDomain={[-2, 2]}\n          yDomain={[-2, 2]}\n          {...{ width: 400, height: 400 }}\n        >\n          <XAxis title=\"Phase\" />\n          <YAxis title=\"Intensity\" />\n\n          <RangeBarChart\n            data={_.range(0, 2, 0.03)}\n            x={d => d}\n            y={d => Math.sin(d * 3) * 0.7 + 1.2}\n            yEnd={d => Math.sin(d * 3) * Math.cos(d * 3) * 0.7 + 1.2}\n            barThickness={2}\n            barStyle={{ fill: '#3690c0' }}\n          />\n\n          <LineChart\n            data={_.range(-2, 0, 0.005)}\n            x={d => d}\n            y={d =>\n              Math.pow(\n                Math.abs(Math.sin(d * 5)),\n                Math.abs(Math.sin(d * 0.25)),\n              ) * 1.8\n            }\n            lineStyle={{ stroke: '#02818a', strokeWidth: 3 }}\n          />\n\n          <ScatterPlot\n            data={_.range(-2, 0, 0.05)}\n            x={d => d}\n            y={d => Math.pow(2, (d + 2) * 1.8) * 0.1}\n            pointSymbol={<rect width={5} height={5} fill=\"#3690c0\" />}\n          />\n\n          <BarChart\n            data={_.range(0, 2, 0.03)}\n            x={d => d}\n            y={d => -Math.abs(Math.sin(d * 4) * Math.cos(d * 3))}\n            barThickness={3}\n            barStyle={{ fill: '#67a9cf' }}\n          />\n\n          <MarkerLineChart\n            data={_.range(0, 1.5, 0.1)}\n            x={d => d}\n            y={d => Math.cos(d)}\n            lineStyle={{ stroke: '#ec7014', strokeWidth: 3 }}\n          />\n\n          <ColorHeatmap\n            data={_.flatten(\n              _.range(-2, 0, 0.1).map(i =>\n                _.range(-2, 0, 0.1).map(j => [i, j]),\n              ),\n            )}\n            value={([i, j]) => Math.sin(i * j * 5)}\n            /* eslint-disable */\n            x={([i, j]) => i}\n            xEnd={([i, j]) => i + 0.1}\n            y={([i, j]) => j}\n            yEnd={([i, j]) => j + 0.1}\n            /* eslint-enable */\n            colors={['#d0d1e6', '#016450']}\n            interpolator=\"lab\"\n          />\n\n          <AreaHeatmap\n            data={_.flatten(\n              _.range(0, 2, 0.1).map(i =>\n                _.range(-2, -1, 0.1).map(j => [i, j]),\n              ),\n            )}\n            area={([i, j]) => -Math.sin(i * j * 5)}\n            /* eslint-disable no-unused-vars */\n            x={([i, j]) => i}\n            xEnd={([i, j]) => i + 0.1}\n            y={([i, j]) => j}\n            yEnd={([i, j]) => j + 0.1}\n            /* eslint-enable no-unused-vars */\n            rectStyle={{ fill: '#016450' }}\n          />\n        </XYPlot>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/ComponentDocs.js",
    "content": "import _ from 'lodash';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { remark } from 'remark';\nimport remarkReact from 'remark-react';\n\nconst ComponentDocs = props => {\n  const { name, propDocs, children } = props;\n  const componentProps = _.get(propDocs, 'props');\n\n  const sortedProps = Object.entries(componentProps)\n    .sort((a, b) => (a[0] < b[0] ? -1 : 1))\n    .reduce((acc, [key, value]) => {\n      acc[key] = value;\n      return acc;\n    }, {});\n\n  return (\n    <div className=\"container-fluid component-docs\">\n      <div className=\"row\">\n        <h2>{name}</h2>\n      </div>\n\n      {propDocs.description ? (\n        <div className=\"row component-description\">\n          {renderMarkdown(propDocs.description)}\n        </div>\n      ) : null}\n\n      <div className=\"row prop-docs\">\n        <h4>{name} props:</h4>\n        {_.map(sortedProps, (propInfo, propKey) => {\n          return (\n            <div key={propKey} className=\"prop-doc\">\n              <strong>{propKey}</strong>: {renderType(propInfo)}\n              <i>{propInfo.required && ' (required)'}</i>\n              {propInfo.description ? <br /> : null}\n              {propInfo.description ? (\n                <span className=\"prop-description\">\n                  {renderMarkdown(propInfo.description)}\n                </span>\n              ) : null}\n              {propInfo.defaultValue ? (\n                <div className=\"prop-default\">\n                  default value: <code>{propInfo.defaultValue.value}</code>\n                </div>\n              ) : null}\n            </div>\n          );\n        })}\n      </div>\n\n      {children}\n    </div>\n  );\n};\n\nComponentDocs.propTypes = {\n  name: PropTypes.string,\n  propDocs: PropTypes.object,\n  children: PropTypes.any,\n};\n\nfunction renderTypeValues(propInfo, propKey) {\n  return _.get(propInfo, 'value', [])\n    .map(propType => {\n      const type = _.get(propType, propKey, '');\n      if (type === 'enum') {\n        return renderTypeValues(propType, 'value');\n      } else if (type === 'instanceOf') {\n        return _.get(propType, 'value', '').toLowerCase();\n      }\n      return type;\n    })\n    .join(' || ');\n}\n\nfunction renderType(propInfo) {\n  const typeInfo = _.get(propInfo, 'type');\n\n  if (!typeInfo) {\n    return 'unknown';\n  }\n\n  const typeName = _.get(typeInfo, 'name', 'unknown');\n  let type = typeName;\n\n  if (typeName === 'union') {\n    if (!typeInfo.computed) {\n      type = renderTypeValues(typeInfo, 'name');\n    } else {\n      // Handle custom proptypes\n      type = 'func || value';\n    }\n  } else if (typeName === 'custom') {\n    if (typeInfo.raw === 'CustomPropTypes.valueOrAccessor') {\n      type = 'date || func || number || string';\n    } else if (typeInfo.raw === 'CustomPropTypes.getter') {\n      type = 'array || func || number || string';\n    }\n  } else if (typeName === 'arrayOf') {\n    const arrayType = _.get(propInfo, 'type.value.name', {});\n    type = `Array<${arrayType}>`;\n  } else if (typeName === 'enum') {\n    type = renderTypeValues(typeInfo, 'value');\n  }\n\n  return type;\n}\n\nfunction renderMarkdown(markdownText = '') {\n  return remark()\n    .use(remarkReact, React)\n    .processSync(markdownText).contents;\n}\n\nexport default ComponentDocs;\n"
  },
  {
    "path": "docs/src/ExampleSection.js",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport _ from 'lodash';\nimport * as d3 from 'd3'; // eslint-disable-line no-restricted-imports\nimport Playground from 'component-playground';\n\n// import *all* reactochart components/utils - usually you'd import one at a time\nimport * as Reactochart from '../../src';\n\nimport {\n  randomWalk,\n  randomWalkSeries,\n  randomWalkTimeSeries,\n} from './data/util';\nwindow.Reactochart = Reactochart;\n\nexport default class ExampleSection extends React.Component {\n  static propTypes = {\n    codeText: PropTypes.string,\n    scope: PropTypes.object,\n    isExpanded: PropTypes.bool,\n    label: PropTypes.node,\n    id: PropTypes.string,\n    description: PropTypes.node,\n    onClick: PropTypes.func,\n  };\n  static defaultProps = {\n    codeText: '',\n    scope: {},\n    isExpanded: true,\n    label: 'Example',\n    id: '',\n  };\n\n  onClick = e => {\n    if (this.props.onClick) {\n      this.props.onClick(e, this.props.id);\n    }\n  };\n\n  render() {\n    const { codeText, isExpanded, label, id, description } = this.props;\n    const scope = {\n      React,\n      ReactDOM,\n      d3,\n      _,\n      randomWalk,\n      randomWalkSeries,\n      randomWalkTimeSeries,\n      // include all Reactochart components in scope\n      ...Reactochart,\n      ...this.props.scope,\n    };\n\n    return (\n      <div\n        className={`row example ${\n          isExpanded ? 'example-active' : 'example-inactive'\n        }`}\n      >\n        <div className=\"col-md-12\">\n          <h3 className=\"example-header\" onClick={this.onClick}>\n            {label || id} {isExpanded ? '▼' : '►'}\n          </h3>\n\n          {isExpanded ? (\n            <div>\n              {description ? (\n                <div className=\"example-description\">{description}</div>\n              ) : null}\n              <Playground codeText={codeText} scope={scope} noRender={false} />\n            </div>\n          ) : null}\n        </div>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/Lesson.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class Lesson extends React.Component {\n  static propTypes = {\n    name: PropTypes.string,\n    children: PropTypes.any,\n  };\n\n  render() {\n    const { name, children } = this.props;\n\n    return (\n      <div>\n        <h2>{name}</h2>\n\n        {children}\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/data/util.js",
    "content": "import _ from 'lodash';\n\nexport function randomWalk(length = 100, start = 0, variance = 10) {\n  return _.reduce(\n    _.range(length - 1),\n    sequence => {\n      return sequence.concat(_.last(sequence) + _.random(-variance, variance));\n    },\n    [start],\n  );\n}\n\nexport function randomWalkSeries(length = 100, start = 0, variance = 10) {\n  return randomWalk(length, start, variance).map((n, i) => [i, n]);\n}\n\nexport function randomWalkTimeSeries(\n  length = 100,\n  start = 0,\n  variance = 10,\n  startDate = new Date(2015, 0, 1),\n) {\n  let date = startDate;\n  return randomWalk(length, start, variance).map(n => {\n    date = new Date(date.getTime() + 24 * 60 * 60 * 1000);\n    return [date, n];\n  });\n}\n\nexport function removeRandomData(data, removeCount = 5) {\n  const gapData = data.slice();\n  _.times(removeCount, () => {\n    if (!gapData.length) return;\n    const gapIndex = _.random(gapData.length - 1);\n    gapData.splice(gapIndex, 1);\n  });\n  return gapData;\n}\n"
  },
  {
    "path": "docs/src/docs/AreaBarChart/AreaBarChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'rates-by-age',\n    label: 'Smoking Rates by Age',\n    codeText: require('./examples/RatesByAge.js.example').default,\n  },\n  {\n    id: 'basic',\n    label: 'Basic AreaBarChart',\n    codeText: require('./examples/AreaBarChart.js.example').default,\n  },\n];\n\nexport default class AreaBarChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"AreaBarChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AreaBarChart/examples/AreaBarChart.js.example",
    "content": "const AreaBarChartExample = (props) => {\n  return <div>\n    <XYPlot width={500} height={320}>\n      <XAxis /><YAxis labelFormats={['0.1f']} />\n      <AreaBarChart\n        data={_.range(15)}\n        x={d => Math.sin(d / 10) * 10}\n        xEnd={d => Math.sin((d + 1) / 10) * 10}\n        y={d => Math.cos(d / (Math.PI))}\n      />\n    </XYPlot>\n    <XYPlot width={320} height={500}>\n      <XAxis /><YAxis />\n      <AreaBarChart\n        horizontal\n        data={_.range(15)}\n        x={d => Math.cos(d / (Math.PI))}\n        y={d => Math.sin(d / 10) * 10}\n        yEnd={d => Math.sin((d + 1) / 10) * 10}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<AreaBarChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaBarChart/examples/RatesByAge.js.example",
    "content": "const RatesByAge = (props) => {\n  return <div>\n    <h3 style={{textAlign: 'center'}}>US Smoking Rates by Age Group</h3>\n    <XYPlot width={500} height={320} yDomain={[0, .2]}>\n      <XAxis title=\"Age\" ticks={[18, 25, 45, 65]} nice={false}/>\n      <YAxis title=\"Cigarette Use\" tickCount={4} labelFormats={['.1%']} />\n      <AreaBarChart\n        data={[\n          {ageMin: 18, ageMax: 25, rate: .13},\n          {ageMin: 25, ageMax: 45, rate: .177},\n          {ageMin: 45, ageMax: 65, rate: .17},\n          {ageMin: 65, ageMax: 85, rate: .084}\n        ]}\n        x={d => d.ageMin}\n        xEnd={d => d.ageMax}\n        y={d => d.rate}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<RatesByAge />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaBarChart/propDocs.json",
    "content": "{\n  \"description\": \"`AreaBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\\nvalue on the *dependent* axis (Y axis for vertical bars), and the bar stretches from zero to this value.\\nHowever, on the *independent* axis, each bar represents a *range* (min/max) of values,\\nrather than being centered on a specific value.\\nIn other words, the bar *lengths* act the same way as standard bar chart bars,\\nbut their *thicknesses* are variable and meaningful.\\n`AreaBarChart`s are the correct way to display histograms with variable bin sizes.\\nThey are so named because, in cases like these histograms, since both the bar thickness and length are meaningful,\\nso too is the bar's total *area*, unlike in other bar charts.\",\n  \"displayName\": \"AreaBarChart\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot\"\n    },\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to be plotted. One bar will be rendered per datum in this array.\"\n    },\n    \"horizontal\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart will use horizontal or vertical bars.\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `false`, this gets the start (min value) of the *independent* variable range, spanned by the bar's thickness.\\nIf `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar's length\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (max X value) of the *independent* variable range, spanned by the bar's thickness.\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `true`, this gets the start (min value) of the *independent* variable range which is spanned by the bar's thickness.\\nIf `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar's length\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (max Y value) of the *independent* variable range, spanned by the bar's thickness.\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"\n    },\n    \"barClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each bar\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"barStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each bar\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMoveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a bar.\"\n    },\n    \"onMouseEnterBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a bar.\"\n    },\n    \"onMouseLeaveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a bar.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AreaChart/AreaChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic AreaChart',\n    codeText: require('./examples/AreaChart.js.example').default,\n  },\n  {\n    id: 'twoDatasets',\n    label: 'Area Chart with Two Datasets',\n    codeText: require('./examples/Area2Datasets.js.example').default,\n  },\n  {\n    id: 'difference',\n    label: 'Difference Area Chart',\n    codeText: require('./examples/AreaDifference.js.example').default,\n  },\n];\n\nexport default class AreaChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"AreaChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AreaChart/examples/Area2Datasets.js.example",
    "content": "class Area2DatasetsExample extends React.Component {\n  render() {\n    const data1 = randomWalkTimeSeries(115).map(([x,y]) => ({x, y}));\n    const data2 = randomWalkTimeSeries(115).map(([x,y]) => ({x, y}));\n\n    // we have two datasets, but AreaChart takes one combined dataset\n    // so combine the two datasets into one using the combineDatasets utility function\n    // (import from 'Reactochart/utils')\n    // original datasets are of the shape [{x: ..., y: 20}]\n    // combined is of the shape [{x: ..., y0: 20, y1: 30}]\n    const combined = utils.Data.combineDatasets([\n      {data: data1, combineKey: 'x', dataKeys: {y: 'y0'}},\n      {data: data2, combineKey: 'x', dataKeys: {y: 'y1'}}\n    ], 'x');\n\n    return <div>\n      <XYPlot width={500}>\n        <XAxis tickCount={4}/><YAxis/>\n        <AreaChart\n          data={combined}\n          x={d => d.x}\n          y={d => d.y0}\n          yEnd={d => d.y1}\n        />\n      </XYPlot>\n    </div>\n  }\n}\n\nReactDOM.render(<Area2DatasetsExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaChart/examples/AreaChart.js.example",
    "content": "const AreaChartExample = (props) => {\n  return <div>\n    <XYPlot width={400} height={400}>\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\n      <AreaChart\n        data={_.range(41)}\n        x={d => d}\n        y={d => Math.sin(d / 10) * 10}\n        yEnd={d => Math.cos((d + 1) / 10) * 10}\n      />\n    </XYPlot>\n  </div>\n}\n\nReactDOM.render(<AreaChartExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaChart/examples/AreaDifference.js.example",
    "content": "class AreaDifferenceExample extends React.Component {\n  render() {\n    const data1 = randomWalkTimeSeries(115).map(([x, y]) => ({x, y}));\n    const data2 = randomWalkTimeSeries(115).map(([x, y]) => ({x, y}));\n\n    // we have two datasets, but AreaChart takes one combined dataset\n    // so combine the two datasets into one using the combineDatasets utility function\n    // (from 'reactochart/utils/Data')\n    const combined = utils.Data.combineDatasets([\n      {data: data1, combineKey: 'x', dataKeys: {y: 'y0'}},\n      {data: data2, combineKey: 'x', dataKeys: {y: 'y1'}}\n    ], 'x');\n\n    return <div>\n      <XYPlot width={450}>\n        <XAxis tickCount={4}/><YAxis/>\n\n        <AreaChart\n          data={combined}\n          isDifference={true}\n          pathStyleNegative={{fill: 'lightcoral'}}\n          pathStylePositive={{fill: 'lightgreen'}}\n          x={d => d.x}\n          y={d => d.y0}\n          yEnd={d => d.y1}\n        />\n        <LineChart\n          data={data1}\n          x={d => d.x} y={d => d.y}\n          lineStyle={{strokeWidth: 3}}\n        />\n        <LineChart\n          data={data2}\n          x={d => d.x} y={d => d.y}\n        />\n      </XYPlot>\n    </div>\n  }\n}\nReactDOM.render(<AreaDifferenceExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaChart/propDocs.json",
    "content": "{\n  \"description\": \"`AreaChart` represents a simple bivariate area chart,\\na filled path drawn between two lines (datasets).\",\n  \"displayName\": \"AreaChart\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"The array of data objects\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for area X values, called once per datum,\\nor a single X value to be used for the entire line.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for area's starting (minimum) Y values, called once per datum,\\nor a single Y value to be used for the entire line.\\nShould return the minimum of the Y range spanned by the area at this point.\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for area's ending (maximum) Y values, called once per datum,\\nor a single Y value to be used for the entire line.\\nShould return the maximum of the Y range spanned by the area at this point.\"\n    },\n    \"pathClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to area path element.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"pathStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to area path element.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"isDifference\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"If isDifference is true, AreaChart generates a \\\"difference chart\\\" with two area paths instead of one:\\none path which shows when YEnd > Y, and one vice versa, allowing them to be styled differently (eg red/green).\"\n    },\n    \"pathStylePositive\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"When isDifference is true, pathStylePositive can be passed to style the\\npositive area difference.\\nIgnored if isDifference is false.\"\n    },\n    \"pathStyleNegative\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"When isDifference is true, pathStyleNegative can be passed to style the\\nnegative area difference.\\nIgnored if isDifference is false.\"\n    },\n    \"shouldShowGaps\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"If true, will show gaps in the shaded area for data where props.isDefined(datum) returns false.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"isDefined\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"If shouldShowGaps is true, isDefined function describes when a datum\\nshould be considered \\\"defined\\\" vs. when to show gap by default.\\nShows gap if either y or yEnd are undefined.\",\n      \"defaultValue\": {\n        \"value\": \"(d, i, accessors) => {\\n  return (\\n    !isUndefined(accessors.y(d, i)) && !isUndefined(accessors.yEnd(d, i))\\n  );\\n}\",\n        \"computed\": false\n      }\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"xScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Type of X scale - provided by XYPlot.\"\n    },\n    \"yScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Type of Y scale - provided by XYPlot.\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Height of chart - provided by XYPlot.\"\n    },\n    \"curve\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 curve for path generation.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AreaHeatmap/AreaHeatmapDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic AreaHeatmap',\n    codeText: require('./examples/AreaHeatmap.js.example').default,\n  },\n];\n\nexport default class AreaHeatmapExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"AreaHeatmap\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AreaHeatmap/examples/AreaHeatmap.js.example",
    "content": "const AreaHeatmapExample = (props) => {\n  const gridData = _.range(30).map(m => {\n    return _.range(30).map(n => {\n      return {\n        x: n,\n        xEnd: n + 1,\n        y: m,\n        yEnd: m + 1,\n        value: Math.sin(m * n * 0.01)\n      };\n    });\n  });\n\n  const data = _.flatten(gridData);\n\n  return <div>\n    <XYPlot {...{width: 500, height: 500}}>\n      <XAxis /><YAxis />\n\n      <AreaHeatmap\n        data={data}\n        area={d => d.value}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        rectStyle={{fill: 'rebeccapurple'}}\n      />\n    </XYPlot>\n\n    <XYPlot {...{width: 500, height: 500}}>\n      <XAxis /><YAxis />\n\n      <AreaHeatmap\n        data={data}\n        area={d => d.value}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        rectStyle={{fill: '#41ab5d'}}\n      />\n      <AreaHeatmap\n        data={data}\n        area={d => d.value * -1}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        rectStyle={{fill: '#fc4e2a'}}\n      />\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<AreaHeatmapExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AreaHeatmap/propDocs.json",
    "content": "{\n  \"description\": \"`AreaHeatmap` is still undergoing experimental changes!\\nWe do not consider this chart to be production ready as it does not support categorical data.\",\n  \"displayName\": \"AreaHeatmap\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseEnter\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseLeave\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseMove\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data objects.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"area\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"unitsPerPixel\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"rectClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each rect\\nor accessor function which returns a class\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"rectStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each rect,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot\"\n    },\n    \"onMouseEnter\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseLeave\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseMove\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AriaLabelContainer/AriaLabelContainerDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'one-dataset',\n    label: 'With One Dataset',\n    codeText: require('./examples/OneDataset.js.example').default,\n  },\n  {\n    id: 'two-dataset',\n    label: 'With Two Datasets',\n    codeText: require('./examples/TwoDatasets.js.example').default,\n  },\n  {\n    id: 'action',\n    label: 'With Interactions',\n    codeText: require('./examples/WithActions.js.example').default,\n  },\n];\n\nexport default class AriaLabelContainerExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"AriaLabelContainer\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/AriaLabelContainer/examples/OneDataset.js.example",
    "content": "const AriaLabelContainerExample = (props) => {\n  const data = _.range(10).map(d => ({\n    x: d,\n    y: Math.round(d * Math.random() * 10)\n  }))\n  return <XYPlot scaleType=\"linear\" width={600} height={350}>\n      <XAxis title=\"X Axis\" />\n      <YAxis title=\"Y Axis\" />\n      <LineChart\n        data={data}\n        x={d => d.x}\n        y={d => d.y}\n        lineStyle={{stroke: '#ff7f0e', strokeWidth: 3}}\n      />\n      <AriaLabelContainer\n        ariaLabelGenerator={(xValue, datasets) => {\n          const { 0: dataPoint } = datasets;\n          if(xValue){\n            return `xValue, ${dataPoint.x}; yValue, ${dataPoint.y}`\n          }\n        }}\n        datasetWithAccessor={\n          [{\n            data: data,\n            accessor: d => d.x\n          }]\n        }\n       />\n    </XYPlot>;\n};\n\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AriaLabelContainer/examples/TwoDatasets.js.example",
    "content": "const AriaLabelContainerExample = (props) => {\n  const data0 = _.range(10).map(d => ({\n    x: d,\n    y: Math.round(d * Math.random() * 10)\n  }))\n  const data1 = _.range(7).map(d => ({\n    x: d,\n    y: Math.round(d * Math.random() * 10)\n  }))\n\n  const ariaLabelGenerator = (xValue, datasets) => {\n    const { 0: data0Point, 1: data1Point } = datasets;\n    let ariaLabelString = `x Value, ${xValue}`;\n    if(data0Point) {\n      ariaLabelString += `, data0 y Value ${data0Point.y}`;\n    }\n    if(data1Point) {\n      ariaLabelString += `, data1 y Value ${data1Point.y}`;\n    }\n    return ariaLabelString;\n  }\n        \n        \n  return <XYPlot scaleType=\"linear\" width={600} height={350}>\n      <XAxis title=\"X Axis\" />\n      <YAxis title=\"Y Axis\" />\n      <LineChart\n        data={data0}\n        x={d => d.x}\n        y={d => d.y}\n        lineStyle={{stroke: '#ff7f0e', strokeWidth: 3}}\n      />\n      <LineChart\n        data={data1}\n        x={d => d.x}\n        y={d => d.y}\n        lineStyle={{stroke: '#2ca02c', strokeWidth: 3}}\n      />\n      <AriaLabelContainer\n        ariaLabelGenerator={ariaLabelGenerator}\n        datasetWithAccessor={[\n          {\n            data: data0,\n            accessor: d => d.x,\n          },\n          {\n            data: data1,\n            accessor: d => d.x,\n          }\n        ]}\n       />\n    </XYPlot>;\n};\n\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AriaLabelContainer/examples/WithActions.js.example",
    "content": "const AriaLabelContainerExample = (props) => {\n  const [selectedValue, setSelectedValue] = React.useState();\n\n  const data = _.range(10).map(d => ({\n    x: d,\n    y: d * 50,\n  }))\n\n  const onMouseMove = ({xValue, yValue}) => {\n    setSelectedValue({ x: xValue, y: yValue });\n  }  \n\n  const onMouseLeave = () => setSelectedValue();\n\n  const onKeyDown = (event, xValue, datasets) => {\n    const dataPoint = datasets[0];\n    switch (event.keyCode) {\n        // enter key code\n        case 13:\n          setSelectedValue(dataPoint);\n          break;\n        default:\n          break;\n      }\n  }\n\n\n  return (<div>\n    <XYPlot\n      scaleType=\"linear\"\n      width={600}\n      height={350}\n      onMouseMove={onMouseMove}\n      onMouseLeave={onMouseLeave}>\n        <XAxis title=\"X Axis\" />\n        <YAxis title=\"Y Axis\" />\n        <LineChart\n          data={data}\n          x={d => d.x}\n          y={d => d.y}\n          lineStyle={{stroke: '#ff7f0e', strokeWidth: 3}}\n        />\n        <AriaLabelContainer\n          ariaLabelGenerator={(xValue, datasets) => {\n            const dataPoint = datasets[0];\n            if(dataPoint) {\n              return `x Value, ${dataPoint.x}; y Value: ${dataPoint.y}`\n            } \n          }}\n          onKeyDown={onKeyDown}\n          datasetWithAccessor={[\n            {\n              data,\n              accessor: d => d.x\n            }\n          ]}\n        />\n      </XYPlot>\n      {selectedValue && <h3>{`(${selectedValue.x}, ${selectedValue.y})`}</h3>}\n    </div>);\n};\n\nReactDOM.render(<AriaLabelContainerExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/AriaLabelContainer/propDocs.json",
    "content": "{\n  \"description\": \"`AriaLabelContainer` provides a mechanism for keyboard navigation of\\n`LineChart` and `AreaChart` graphs within `XYPlot`. This component renders\\na rectangle for a given `numFrames` across a Line/Area chart. `numFrames` should\\nbe equal to the number of data points in your dataset. Users can navigate to a frame\\neither by pressing `Tab`, or through their assistive technology. `AriaLabelContainer`\\ntakes an `ariaLabelGenerator`, which generates an aria-label for each frame of the chart.\\n[aria-labels](https://www.w3.org/TR/WCAG20-TECHS/ARIA6.html#ARIA6-description) are critical for users accessing\\nthe web with screenreaders or other assistive technologies.\",\n  \"displayName\": \"AriaLabelContainer\",\n  \"methods\": [],\n  \"props\": {\n    \"datasetWithAccessor\": {\n      \"type\": {\n        \"name\": \"arrayOf\",\n        \"value\": {\n          \"name\": \"shape\",\n          \"value\": {\n            \"data\": {\n              \"name\": \"arrayOf\",\n              \"value\": {\n                \"name\": \"object\"\n              },\n              \"required\": true\n            },\n            \"accessor\": {\n              \"name\": \"custom\",\n              \"raw\": \"CustomPropTypes.valueOrAccessor.isRequired\",\n              \"required\": true\n            }\n          }\n        }\n      },\n      \"required\": true,\n      \"description\": \"An array containing n objects in the following shape:\\n[{\\n   data: Array of your data points, normally used in rendering specific line or area charts\\n   accessor: A function used to access the data point on the x axis from the `data` attribute\\n             (datum) => number\\n}]\"\n    },\n    \"ariaLabelGenerator\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": true,\n      \"description\": \"A function that takes the xValue at the start of the frame, an array of datapoints at that xValue, and the index of the frame,\\nand returns a string to render as an aria label\\nfor the specific frame in the Interface.\\n\\n(xValue, [datapoints], frameIndex) => string\"\n    },\n    \"onKeyDown\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"an optional `onKeyDown` event handler to provide for each frame\\nwhen selected.\\nBest practices are to describe how the user will interact with the chart in\\nthe ariaLabelGenerator\\n\\n(event, xValue, [datapoints]) => void\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"height of the chart - provided by `XYPlot`\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"width of the chart - provided by `XYPlot`\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/Bar/BarDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic Bar',\n    codeText: require('./examples/Bar.js.example').default,\n  },\n];\n\nexport default class BarExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"Bar\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/Bar/examples/Bar.js.example",
    "content": "const BarExample = (props) => {\n  return <div>\n    <XYPlot\n      width={500} height={320}\n      xDomain={['a', 'b', 'c', 'd']} yDomain={[0, 100]}\n    >\n      <XAxis /><YAxis />\n      <Bar\n        x={'b'}\n        y={0} yEnd={75}\n        thickness={15}\n      />\n      <Bar\n        x={'c'}\n        y={45} yEnd={80}\n        thickness={30}\n        style={{fill: 'coral'}}\n      />\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<BarExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/Bar/propDocs.json",
    "content": "{\n  \"description\": \"Bar is a low-level component to be used in XYPlot-type charts (namely BarChart).\\nIt is specified in terms of a range (min & max) of values on one axis and a\\nsingle value on the other axis.\\nPassing props `x`, `xEnd` and `y` specifies a horizontal bar, centered on `y`\\nand spanning from `x` to `xEnd`.\\nPassing props `x`, `y`, and `yEnd' specifies a vertical bar, centered on `x`\\nand spanning from `y` to `yEnd`.\",\n  \"displayName\": \"Bar\",\n  \"methods\": [],\n  \"props\": {\n    \"x\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"For a vertical bar, `x` represents the X data value on which the bar is centered.\\nFor a horizontal bar, `x` represents the *starting* X value of the bar, ie. the minimum of the range it spans\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"For a horizontal bar, `y` represents the Y data value on which the bar is centered.\\nFor a vertical bar, `y` represents the *starting* Y value of the bar, ie. the minimum of the range it spans\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"For a horizontal bar, `xEnd` represents the *ending* X data value of the bar, ie. the maximum of the range it spans.\\nThis prop should not be defined if the bar is vertical.\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"For a vertical bar, `yEnd` represents the *ending* Y data value of the bar, ie. the maximum of the range it spans.\\nThis prop should not be defined if the bar is horizontal.\"\n    },\n    \"thickness\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The thickness of the bar, in pixels. (width of vertical bar, or height of horizontal bar).\",\n      \"defaultValue\": {\n        \"value\": \"8\",\n        \"computed\": false\n      }\n    },\n    \"className\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class name(s) to be included on the bar's <rect> element.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be included on the bar's <rect> element.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMove\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the bar.\"\n    },\n    \"onMouseEnter\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the bar.\"\n    },\n    \"onMouseLeave\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the bar.\"\n    },\n    \"onClick\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user clicks the bar.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"showLabel\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Conditional if column should display values above/beside bar.\"\n    },\n    \"labelFormat\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Format to use for the values or accessor that returns the updated value.\"\n    },\n    \"labelDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The distance from the column the label appears in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"24\",\n        \"computed\": false\n      }\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class name(s) to be included on the bar's <text> element.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/BarChart/BarChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic BarChart',\n    codeText: require('./examples/BarChart.js.example').default,\n  },\n  {\n    id: 'gradient',\n    label: 'BarChart with Linear Gradient',\n    codeText: require('./examples/BarChartLinearGradient.js.example').default,\n  },\n];\n\nexport default class BarChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"BarChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/BarChart/examples/BarChart.js.example",
    "content": "const BarChartExample = (props) => {\n  const count = 30;\n  const startDate = new Date(1992, 0, 1);\n\n  const numbers = _.range(count);\n  const letters = _.times(count, n => String.fromCharCode(97 + n));\n  const dates = _.times(count, n => new Date(+(startDate) + (n * 1000 * 60 * 60 * 24 * 100)));\n\n  const getNumberValue = (d) => 1.97 + Math.cos(d / 10);\n  const getDateValue = (d) => getNumberValue(d.getFullYear() + (d.getMonth() / 12));\n  const getLetterValue = (d) => getNumberValue(d.charCodeAt(0));\n\n  const chartDefs = _.zip([numbers, letters, dates], [getNumberValue, getLetterValue, getDateValue]);\n\n  return <div>\n    {([true, false]).map((horizontal, index) => {\n      return <div key={index}>\n        <h4>{horizontal ? \"Horizontal\" : \"Vertical\"}</h4>\n\n        {chartDefs.map(([data, getValue], index2) => {\n          return <XYPlot width={320} height={320} key={index2}>\n            <XAxis /><YAxis />\n            <BarChart\n              data={data}\n              horizontal={horizontal}\n              x={horizontal ? getValue : d => d}\n              y={horizontal ? d => d : getValue}\n            />\n          </XYPlot>;\n        })}\n      </div>;\n    })}\n  </div>\n};\n\nReactDOM.render(<BarChartExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/BarChart/examples/BarChartLinearGradient.js.example",
    "content": "const BarChartWithDefs = (props) => {\n  const data = [\n    {x: 0, y: 80},\n    {x: 5, y: 60},\n    {x: 10, y: 90},\n    {x: 15, y: 30},\n  ];\n  return <div>\n  <svg width=\"0\" height=\"0\" style={{ position: 'absolute' }}>\n    <defs>\n      <linearGradient id=\"Gradient\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">\n        <stop offset=\"0%\" stopColor=\"blue\" />\n        <stop offset=\"50%\" stopColor=\"white\" />\n        <stop offset=\"100%\" stopColor=\"red\" />\n      </linearGradient>\n    </defs>\n  </svg>\n  <XYPlot width={400} height={300}>\n    <XAxis showGrid={false} title=\"Days since Zombiepocalypse\" />\n    <YAxis title=\"Zombie Attacks\"/>\n    <BarChart\n      barStyle={{fill: \"url(#Gradient)\"}}\n      data={data}\n      x={d => d.x}\n      y={d => d.y}\n      barThickness={40}\n    />\n  </XYPlot>\n</div>\n};\n\nReactDOM.render(<BarChartWithDefs />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/BarChart/propDocs.json",
    "content": "{\n  \"description\": \"`BarChart` represents a basic \\\"Value/Value\\\" bar chart,\\nwhere each bar represents a single independent variable value and a single dependent value,\\nwith bars that are centered horizontally on x-value and extend from 0 to y-value,\\n(or centered vertically on their y-value and extend from 0 to the x-value, in the case of horizontal chart variant)\\n\\nFor other bar chart types, see RangeBarChart and AreaBarChart\",\n  \"displayName\": \"BarChart\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getSpacing\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Array of data to be plotted. One bar will be rendered per datum in the array.\",\n      \"defaultValue\": {\n        \"value\": \"[]\",\n        \"computed\": false\n      }\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `true`, this becomes 0.\\nIf `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar's length.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `false`, this becomes 0.\\nIf `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar's length.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"horizontal\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart will use horizontal or vertical bars.\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"barThickness\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width).\",\n      \"defaultValue\": {\n        \"value\": \"8\",\n        \"computed\": false\n      }\n    },\n    \"barStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each bar,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"barClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each bar,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMoveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a bar.\"\n    },\n    \"onMouseEnterBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a bar.\"\n    },\n    \"onMouseLeaveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a bar.\"\n    },\n    \"onClick\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user clicks the bar.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ColorHeatmap/ColorHeatmapDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic ColorHeatmap',\n    codeText: require('./examples/ColorHeatmap.js.example').default,\n  },\n  {\n    id: 'categorical',\n    label: 'Categorical ColorHeatmap',\n    codeText: require('./examples/CategoricalColorHeatmap.js.example').default,\n  },\n];\n\nexport default class ColorHeatmapExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"ColorHeatmap\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ColorHeatmap/examples/CategoricalColorHeatmap.js.example",
    "content": "const CategoricalColorHeatmapExample = (props) => {\n  // sorry, kinda hacky currently!\n  // working on a better solution... -d\n  const playTypes = ['www', 'open', 'play', 'other'];\n  const platforms = ['desktop', 'mobile', 'webplayer', 'other'];\n\n  const gridData = playTypes.map(function(n, i) {\n    return platforms.map(function(m, j) {\n      return {\n        x: i,\n        xEnd: i + 1,\n        y: j,\n        yEnd: j+1,\n        value: Math.sin(i * j * 0.1)\n      };\n    })\n  });\n  const data = _.flatten(gridData);\n\n  return <div>\n    <XYPlot width={400} height={400}>\n      <ColorHeatmap\n        data={data}\n        value={d => d.value}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        colors={['rebeccapurple', 'goldenrod']}\n        interpolator={'lab'}\n      />\n      <XAxis\n        showGrid={false}\n        ticks={playTypes.map((t, i) => i + 0.5)}\n        labelFormat={d => playTypes[Math.round(d - 0.5)]}\n      />\n      <YAxis\n        showGrid={false}\n        ticks={platforms.map((t, i) => i + 0.5)}\n        labelFormat={d => platforms[Math.round(d - 0.5)]}\n      />\n      <XGrid tickCount={4} />\n      <YGrid tickCount={4} />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<CategoricalColorHeatmapExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/ColorHeatmap/examples/ColorHeatmap.js.example",
    "content": "const ColorHeatMapExample = (props) => {\n  const gridData = _.range(30).map(m => {\n    return _.range(30).map(n => {\n      return {\n        x: n,\n        xEnd: n + 1,\n        y: m,\n        yEnd: m + 1,\n        value: Math.sin(m * n * 0.01)\n      };\n    });\n  });\n\n  const data = _.flatten(gridData);\n\n  return <div>\n    <XYPlot width={500} height={500}>\n      <ColorHeatmap\n        data={data}\n        value={d => d.value}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        colors={['rebeccapurple', 'goldenrod']}\n        interpolator={'lab'}\n      />\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\n    </XYPlot>\n\n    <XYPlot width={500} height={500}>\n      <ColorHeatmap\n        data={data}\n        value={d => d.value}\n        x={d => d.x}\n        xEnd={d => d.xEnd}\n        y={d => d.y}\n        yEnd={d => d.yEnd}\n        valueDomain={[-1, 0, 1]}\n        colors={['Crimson', '#eee', 'ForestGreen']}\n        interpolator={'lab'}\n      />\n      <XAxis gridLineStyle={{stroke: '#666'}}/>\n      <YAxis gridLineStyle={{stroke: '#666'}}/>\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<ColorHeatMapExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/ColorHeatmap/propDocs.json",
    "content": "{\n  \"description\": \"`ColorHeatmap` can be used to represent individual values contained in a matrix through colors.\",\n  \"displayName\": \"ColorHeatmap\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to be plotted - should be 1D array of all grid values\"\n    },\n    \"value\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the value of the datum, called once per datum, or a\\nsingle value to be used for all data.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for x values, called once per datum, or a\\nsingle value to be used for all `x` data.\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for x end values, called once per datum, or a\\nsingle value to be used for all `xEnd` data.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for y values, called once per datum, or a\\nsingle value to be used for all `y` data.\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for y end values, called once per datum, or a\\nsingle value to be used for all `yEnd` data.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot\"\n    },\n    \"colorScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"A d3 color scale or function which receives the datum value as an argument.\\nThis will be constructred from the `colors`, `valueDomain` and\\n`interpolator` props, if `colorScale` is undefined.\"\n    },\n    \"colors\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"An array of color strings\"\n    },\n    \"valueDomain\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom domain of the data.\\nOtherwise it will be the extent of your data.\"\n    },\n    \"interpolator\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Interpolator for colors. Possible options include \\\"hcl\\\", \\\"hsl\\\", \\\"lab\\\" and \\\"rgb\\\"\",\n      \"defaultValue\": {\n        \"value\": \"'lab'\",\n        \"computed\": false\n      }\n    },\n    \"rectStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each rect,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"rectClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each rect,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/FunnelChart/FunnelChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic FunnelChart',\n    codeText: require('./examples/FunnelChart.js.example').default,\n  },\n];\n\nexport default class FunnelChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"FunnelChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/FunnelChart/examples/FunnelChart.js.example",
    "content": "const FunnelChartExample = (props) => {\n  const funnelData = [\n    {observation: 1, value: 100},\n    {observation: 2, value: 85},\n    {observation: 3, value: 42},\n    {observation: 4, value: 37},\n    {observation: 5, value: 12}\n  ];\n\n  return <div>\n    <XYPlot width={500} height={500}>\n      <XAxis />\n      <YAxis />\n      <FunnelChart\n        data={funnelData}\n        x={d => d.observation}\n        y={d => d.value}\n      />\n    </XYPlot>\n\n    <XYPlot width={500} height={500} invertYScale={true}>\n      <XAxis />\n      <YAxis />\n      <FunnelChart\n        horizontal\n        data={funnelData}\n        x={d => d.value}\n        y={d => d.observation}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<FunnelChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/FunnelChart/propDocs.json",
    "content": "{\n  \"description\": \"`FunnelChart` is used to visualize the progressive reduction of data as it passes\\nfrom one phase to another.\",\n  \"displayName\": \"FunnelChart\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to be plotted.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for X values, called once per datum, or a single value to be used for all data.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for Y values, called once per datum, or a single value to be used for all data.\"\n    },\n    \"color\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Color applied to the path element,\\nor accessor function which returns a class.\\n\\nNote that the first datum's color would not be applied since it fills in the area of the path\"\n    },\n    \"horizontal\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart will be horizontal.\"\n    },\n    \"pathClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Classname applied to each path element,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"pathStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Style applied to each path element,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/Histogram/HistogramDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic Histogram',\n    codeText: require('./examples/Histogram.js.example').default,\n  },\n];\n\nexport default class HistogramExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"Histogram\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/Histogram/examples/Histogram.js.example",
    "content": "const HistogramExample = (props) => {\n  const randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\n\n  return <div>\n    <div>\n      <XYPlot\n        width={450}\n        height={300}\n      >\n        <XAxis /><YAxis />\n        <Histogram\n          data={randomNormalArr}\n          value={d => d}\n        />\n      </XYPlot>\n    </div>\n    <div>\n      <h4>With nicing applied</h4>\n      <XYPlot\n        width={450}\n        height={300}\n      >\n        <XAxis /><YAxis />\n        <Histogram\n          data={randomNormalArr}\n          value={d => d}\n          nice={true}\n          thresholds={10}\n        />\n      </XYPlot>\n    </div>\n    <div>\n      <h4>With specified binDomain</h4>\n      <XYPlot\n        width={450}\n        height={300}\n      >\n        <XAxis /><YAxis />\n        <Histogram\n          data={randomNormalArr}\n          value={d => d}\n          binDomain={[-6, 6]}\n        />\n      </XYPlot>\n    </div>\n  </div>;\n};\n\nReactDOM.render(<HistogramExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/Histogram/propDocs.json",
    "content": "{\n  \"description\": \"`Histogram` is used to represent the distribution of numerical data. Histograms, only relate\\nto one variable, where data is typically \\\"binned\\\" and counted.\",\n  \"displayName\": \"Histogram\",\n  \"methods\": [\n    {\n      \"name\": \"getScaleType\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"computeHistogram\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"data\",\n          \"type\": null\n        },\n        {\n          \"name\": \"thresholds\",\n          \"type\": null\n        },\n        {\n          \"name\": \"accessor\",\n          \"type\": null\n        },\n        {\n          \"name\": \"binDomain\",\n          \"type\": null\n        },\n        {\n          \"name\": \"nice\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"The array of data objects for the histogram.\\nThese should be individual \\\"samples\\\" or \\\"facts\\\", not an array of bins -\\nthis component will count and bin the samples for you. If you have data that is already binned,\\nuse the `<AreaBarChart>` component.\",\n      \"defaultValue\": {\n        \"value\": \"[]\",\n        \"computed\": false\n      }\n    },\n    \"value\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Data value accessor function, called once per datum, which returns the values to bin and plot in the histogram.\\nIf `data` is just an array of numbers, this may be the identity function (`d => d`).\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"thresholds\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"array\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Following [d3's thresholds documentation](https://github.com/d3/d3-array#histogram_thresholds) ...\\n\\nIf a number `count`  is specified, then the domain will be uniformly divided into approximately `count` bins.\\n\\nIf an array `[x0, x1 ... xN]` is specified, then any value less than `x0` will be placed in the first bin; any value greater than\\nor equal to `x0` but less than `x1` will be placed in the second bin; and so on. The generated histogram will have `array.length` + 1 bins.\",\n      \"defaultValue\": {\n        \"value\": \"30\",\n        \"computed\": false\n      }\n    },\n    \"binDomain\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"The domain over which your data will be binned. Defined as an array `[min, max]`.\\nIf not provided, binDomain will be the domain of your data values by default.\\n\\nWarning: This prop takes priority if `nice = true`.\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"If true, nicely rounds the start and end values of your bins.\\nImplemented using [d3's ticks nicing logic](https://github.com/d3/d3-array#ticks).\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"barClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each bar,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"barStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each bar,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMoveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a bar.\"\n    },\n    \"onMouseEnterBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a bar.\"\n    },\n    \"onMouseLeaveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a bar.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/KernelDensityEstimation/KernelDensityEstimationDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic KernelDensityEstimation',\n    codeText: require('./examples/KernelDensityEstimation.js.example').default,\n  },\n];\n\nexport default class KernelDensityEstimationExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"KernelDensityEstimation\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/KernelDensityEstimation/examples/KernelDensityEstimation.js.example",
    "content": "const KernelDensityEstimationExample = (props) => {\n  const randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\n\n  return <div>\n    <div>\n      <XYPlot yDomain={[0,200]} marginLeft={40} marginRight={8} width={700} height={300}>\n        <XAxis /><YAxis />\n        <Histogram\n          data={randomNormalArr} value={d => d}\n        />\n        <KernelDensityEstimation\n          data={randomNormalArr} x={d => d} bandwidth={0.5}\n        />\n        <KernelDensityEstimation\n          data={randomNormalArr} x={d => d} bandwidth={0.1}\n        />\n        <KernelDensityEstimation\n          data={randomNormalArr} x={d => d} bandwidth={2}\n        />\n      </XYPlot>\n    </div>\n    {/*<div>*/}\n      {/*<XYPlot*/}\n        {/*margin={{left: 40, right: 8}}*/}\n        {/*width={700} height={40}*/}\n        {/*showGrid={false}*/}\n        {/*showLabels={false}*/}\n        {/*showTicks={false}*/}\n      {/*>*/}\n        {/*<ScatterPlot*/}\n          {/*data={randomNormalArr}*/}\n          {/*getX={null}*/}\n          {/*getY={() => Math.random()}*/}\n          {/*pointRadius={1}*/}\n        {/*/>*/}\n      {/*</XYPlot>*/}\n    {/*</div>*/}\n  </div>;\n};\n\nReactDOM.render(<KernelDensityEstimationExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/KernelDensityEstimation/propDocs.json",
    "content": "{\n  \"description\": \"Kernel Density Estimation is still undergoing experimental changes!\\nWe do not consider this chart to be production ready but\\nencourage you to try it out and contribute to any of its missing features.\",\n  \"displayName\": \"KernelDensityEstimation\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getKdeData\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data objects.\"\n    },\n    \"bandwidth\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Kernel bandwidth for kernel density estimator.\\nHigh bandwidth => oversmoothing & underfitting; low bandwidth => undersmoothing & overfitting\",\n      \"defaultValue\": {\n        \"value\": \"0.5\",\n        \"computed\": false\n      }\n    },\n    \"sampleCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of samples to take from the KDE,\\nie. the resolution/smoothness of the KDE line - more samples => higher resolution, smooth line.\\nDefaults to null, which causes it to be auto-determined based on width.\",\n      \"defaultValue\": {\n        \"value\": \"null\",\n        \"computed\": false\n      }\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the line path.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"lineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the line path.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar X values, called once per bar (datum).\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/LineChart/LineChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic LineChart',\n    codeText: require('./examples/LineChart.js.example').default,\n  },\n  {\n    id: 'interactive',\n    label: 'Interactive LineChart',\n    codeText: require('./examples/InteractiveLineChart.js.example').default,\n  },\n];\n\nexport default class LineChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"LineChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/LineChart/examples/InteractiveLineChart.js.example",
    "content": "const line1 = d => Math.sin(d*.1);\nconst line2 = d => Math.cos(d*.1);\nconst line3 = d => Math.sin(d*.2) * 1.5;\n\nconst dPlusOne = d => d + 1;\n\nconst gridData = _.range(30).map(m => {\n  return _.range(30).map(n => {\n    return {\n      x: n,\n      xEnd: n + 1,\n      y: m,\n      yEnd: m + 1,\n      value: Math.sin(m * n * 0.01)\n    };\n  });\n});\n\nconst randomNormalArr = _.times(1000, d3.randomNormal(0, 1)).concat(_.times(1000, d3.randomNormal(3, 0.5)));\n\nclass InteractiveLineChartExample extends React.Component {\n  state = {\n    activeX: null\n  };\n\n  _onMouseMove = ({xValue, yValue}) => {\n    this.setState({activeX: xValue});\n  };\n\n  render() {\n    const {activeX} = this.state;\n    const colors = d3.scaleOrdinal(d3.schemeCategory10);\n\n    return <div>\n      <XYPlot scaleType=\"linear\" {...{width: 600, height: 350, yDomain: [-2, 2]}} onMouseMove={this._onMouseMove}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n\n        {/*<ScatterPlot*/}\n          {/*data={_.range(100)}*/}\n          {/*x={_.identity}*/}\n          {/*y={line1}*/}\n          {/*pointStyle={{stroke: colors(0), strokeWidth: 3}}*/}\n        {/*/>*/}\n        <LineChart\n          data={_.range(100)}\n          x={_.identity}\n          y={line1}\n          lineStyle={{stroke: colors(0), strokeWidth: 3}}\n        />\n        <LineChart\n          data={_.range(100)}\n          x={_.identity}\n          y={line2}\n          lineStyle={{stroke: colors(1), strokeWidth: 2}}\n        />\n        <LineChart\n          data={_.range(100)}\n          x={_.identity}\n          y={line3}\n          lineStyle={{stroke: colors(2), strokeWidth: 1}}\n        />\n\n        <MarkerLineChart\n          data={_.range(100)}\n          x={_.identity}\n          xEnd={dPlusOne}\n          y={line1}\n        />\n\n        {activeX ?\n          <XLine value={activeX} style={{stroke: '#666'}} /> :\n          null\n        }\n\n        {/*{activeX ?*/}\n          {/*<ScatterPlot*/}\n            {/*data={[line1, line2, line3].map(lineFunc => [activeX, lineFunc(activeX)])}*/}\n            {/*getX={0}*/}\n            {/*getY={1}*/}\n            {/*pointRadius={5}*/}\n          {/*/> :*/}\n          {/*null*/}\n        {/*}*/}\n      </XYPlot>\n\n      {activeX ?\n        <h3>{this.state.activeX.toFixed(3)}</h3> :\n        null\n      }\n    </div>\n  }\n}\n\nReactDOM.render(<InteractiveLineChartExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/LineChart/examples/LineChart.js.example",
    "content": "const LineChartExample = (props) => {\n  return <div>\n    <XYPlot scaleType=\"linear\" width={600} height={350} xDomain={[-20, 120]}>\n      <XAxis title=\"Phase\" />\n      <YAxis title=\"Intensity\" />\n      <LineChart\n        data={_.range(100)}\n        x={d => d}\n        y={d => Math.sin(d*.1)}\n        lineStyle={{stroke: '#ff7f0e', strokeWidth: 3}}\n      />\n      <LineChart\n        data={_.range(100)}\n        x={d => d}\n        y={d => Math.cos(d*.1)}\n        lineStyle={{stroke: '#1f77b4', strokeWidth: 2}}\n      />\n      <LineChart\n        data={_.range(100)}\n        x={d => d}\n        y={d => Math.sin(d*.2) * 1.5}\n        lineStyle={{stroke: '#2ca02c', strokeWidth: 1}}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<LineChartExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/LineChart/propDocs.json",
    "content": "{\n  \"description\": \"`LineChart` displays a series of points connected by straight line segments.\\nEach `LineChart` renders one line.\",\n  \"displayName\": \"LineChart\",\n  \"methods\": [\n    {\n      \"name\": \"getBisectorState\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getHovered\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"x\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data objects\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for line X values, called once per datum, or a single value to be used for the entire line.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for line Y values, called once per datum, or a single value to be used for the entire line.\"\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the line path.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"lineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the line path.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"curve\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 curve for path generation\",\n      \"defaultValue\": {\n        \"value\": \"curveLinear\",\n        \"computed\": true\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/MarkerLineChart/MarkerLineChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic MarkerLineChart',\n    codeText: require('./examples/MarkerLineChart.js.example').default,\n  },\n  {\n    id: 'withBar',\n    label: 'MarkerLineChart with BarChart',\n    codeText: require('./examples/MarkerLineWithBarChart.js.example').default,\n  },\n];\n\nexport default class MarkerLineChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"MarkerLineChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/MarkerLineChart/examples/MarkerLineChart.js.example",
    "content": "const MarkerLineChartExample = (props) => {\n  return <div>\n    <div>\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n        <MarkerLineChart\n          data={_.range(30)}\n          x={d => d}\n          y={d => Math.sin(d / (Math.PI))}\n        />\n      </XYPlot>\n\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n        <MarkerLineChart\n          horizontal\n          data={_.range(30)}\n          x={d => d}\n          y={d => Math.sin(d / (Math.PI))}\n        />\n      </XYPlot>\n    </div>\n\n    <div>\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n        <MarkerLineChart\n          data={_.range(15)}\n          x={d => Math.sin(d / 10) * 10}\n          xEnd={d => Math.sin((d + 1) / 10) * 10}\n          y={d => Math.sin(d / (Math.PI))}\n        />\n      </XYPlot>\n\n      <XYPlot scaleType=\"linear\" {...{width: 500, height: 500}}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n        <MarkerLineChart\n          horizontal\n          data={_.range(15)}\n          x={d => Math.sin(d / (Math.PI))}\n          y={d => Math.sin(d / 10) * 10}\n          yEnd={d => Math.sin((d + 1) / 10) * 10}\n        />\n      </XYPlot>\n    </div>\n  </div>;\n};\n\nReactDOM.render(<MarkerLineChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/MarkerLineChart/examples/MarkerLineWithBarChart.js.example",
    "content": "const MarkerLineWithBarChartExample = (props) => {\n  const data1 = [[1, 12], [2, 23], [3, 14], [4, 17], [5, 29], [6, 21]];\n  const data2 = [[1, 14], [2, 21], [3, 19], [4, 11], [5, 27], [6, 11]];\n\n  return <div>\n    <XYPlot width={300} height={300}>\n      <XAxis />\n      <YAxis />\n      <BarChart\n        data={data1}\n        x={d => d[0]}\n        y={d => d[1]}\n      />\n      <MarkerLineChart\n        data={data2}\n        x={d => d[0]}\n        y={d => d[1]}\n        lineLength={15}\n      />\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<MarkerLineWithBarChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/MarkerLineChart/propDocs.json",
    "content": "{\n  \"description\": \"`MarkerLineChart` is similar to a bar chart,\\nexcept that it just draws a line at the data value, rather than a full bar.\\nIf the independent variable is a range, the length of the line will represent that range,\\notherwise all lines will be the same length.\\nThe dependent variable must be a single value, not a range.\",\n  \"displayName\": \"MarkerLineChart\",\n  \"methods\": [\n    {\n      \"name\": \"getSpacing\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseEnterLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseMoveLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseLeaveLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderRangeValueLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"d\",\n          \"type\": null\n        },\n        {\n          \"name\": \"i\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderValueValueLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"d\",\n          \"type\": null\n        },\n        {\n          \"name\": \"i\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data objects. One marker line will be rendered per datum in the array.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for marker line's X values, called once per line (datum), or a single value to be used for all marker lines.\\nIf `horizontal` is `false`, this gets the *independent* variable value on which the line is centered.\\nIf `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for marker line's Y values, called once per line (datum), or a single value to be used for all marker lines.\\nIf `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable.\\nIf `horizontal` is `true`, this gets the *independent* variable value on which the line is centered.\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (maximum X-values) of the *dependent* variable, which is where the marker line is rendered,\\nor a single value to be used for all marker lines.\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (maximum Y-values) of the *dependent* variable range which is where the marker line is rendered,\\nor a single value to be used for all marker lines.\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"\n    },\n    \"horizontal\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart will be horizontal.\\nWhen `true` the X-axis will be treated as the dependent axis.\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"lineLength\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Length of the marker line.\",\n      \"defaultValue\": {\n        \"value\": \"10\",\n        \"computed\": false\n      }\n    },\n    \"xScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale type for X axis - provided by XYPlot.\"\n    },\n    \"yScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale type for Y axis - provided by XYPlot.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"lineClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the line path,\\nor an accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each marker line,\\nor an accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a marker line.\"\n    },\n    \"onMouseMoveLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a marker line.\"\n    },\n    \"onMouseLeaveLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a marker line.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/MeasuredValueLabel/MeasuredValueLabelDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic MeasuredValueLabel',\n    codeText: require('./examples/MeasuredValueLabel.js.example').default,\n  },\n];\n\nexport default class MeasuredValueLabelExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"MeasuredValueLabel\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/MeasuredValueLabel/examples/MeasuredValueLabel.js.example",
    "content": "const MeasuredValueLabelExample = (props) => {\n  return <div>insert example here</div>;\n};\n\nReactDOM.render(<MeasuredValueLabelExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/MeasuredValueLabel/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"MeasuredValueLabel\",\n  \"methods\": [\n    {\n      \"name\": \"getLabel\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"value\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"format\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"identity\",\n        \"computed\": true\n      }\n    },\n    \"children\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"style\": {\n      \"defaultValue\": {\n        \"value\": \"{\\n  fontFamily: 'Helvetica, sans-serif',\\n  fontSize: '20px',\\n  lineHeight: 1,\\n  textAnchor: 'middle',\\n}\",\n        \"computed\": false\n      },\n      \"required\": false\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/PieChart/PieChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic PieChart',\n    codeText: require('./examples/PieChart.js.example').default,\n  },\n];\n\nexport default class PieChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"PieChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/PieChart/examples/PieChart.js.example",
    "content": "class PieChartExample extends React.Component {\n  state = { sinVal: 0 };\n\n  _animateValue = () => {\n    const sinVal = Math.min(\n      Math.abs(\n        Math.cos(new Date() * 0.001) * Math.sin(new Date() * 0.0011) + 1,\n      ),\n      2,\n    );\n    this.setState({ sinVal });\n  };\n\n  componentDidMount() {\n    this._interval = setInterval(this._animateValue, 20);\n  }\n  componentWillUnmount() {\n    clearInterval(this._interval);\n  }\n\n  getPieSliceFill = datum => {\n    const color = d3.interpolateSinebow(datum / 100);\n    return {\n      fill: color,\n    };\n  };\n\n  render() {\n    const slice = d => d;\n    return (\n      <div>\n        <PieChart\n          slice={slice}\n          data={[45, 25, 78]}\n          pieSliceStyle={this.getPieSliceFill}\n        />\n        <PieChart\n          slice={slice}\n          data={[10, 20, 30]}\n          radius={100}\n          holeRadius={50}\n          margin={20}\n          markerLineValue={20}\n        />\n        <PieChart\n          slice={slice}\n          data={[42]}\n          total={100}\n          radius={80}\n          holeRadius={50}\n          centerLabel=\"42%\"\n        />\n        <PieChart\n          slice={slice}\n          data={[this.state.sinVal]}\n          total={2}\n          radius={200}\n          holeRadius={50}\n          centerLabel={(this.state.sinVal * 50).toFixed(0)}\n        />\n        <PieChart\n          slice={slice}\n          data={[45, 35, 20]}\n          getPieSliceLabel={val => `${val}%`}\n          pieSliceLabelDistance={20}\n          holeRadius={75}\n          radius={100}\n          marginTop={50}\n          marginBottom={50}\n          marginLeft={50}\n          marginRight={50}\n        />\n      </div>\n    );\n  }\n}\n\nReactDOM.render(<PieChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/PieChart/propDocs.json",
    "content": "{\n  \"description\": \"`PieChart` is a circular graphic that is divided into slices to illustrate proportions or percentages.\",\n  \"displayName\": \"PieChart\",\n  \"methods\": [\n    {\n      \"name\": \"onMouseEnterSlice\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseMoveSlice\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseLeaveSlice\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseEnterLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseMoveLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseLeaveLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onClick\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderMarkerLine\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"pathData\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderSliceLabel\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"value\",\n          \"type\": null\n        },\n        {\n          \"name\": \"slice\",\n          \"type\": null\n        },\n        {\n          \"name\": \"center\",\n          \"type\": null\n        },\n        {\n          \"name\": \"radius\",\n          \"type\": null\n        },\n        {\n          \"name\": \"index\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderCenterLabel\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"center\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to plot with pie chart.\"\n    },\n    \"slice\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter.isRequired\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"total\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Total expected sum of all the pie slice values.\\nIf provided && slices don't add up to total, an \\\"empty\\\" slice will be rendered for the rest\\nIf not provided, will be the sum of all values (ie. all values will always add up to 100%)\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Optional width of the SVG\\nif not passed in and height is passed in, same # is used for both (ie. width=100 means height=100 also)\\nif neither is passed, but radius is, radius+margins is used\\nif neither is passed, and radius isn't either, 150 is used\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Optional height of the SVG\\nif not passed in and width is passed in, same # is used for both (ie. width=100 means height=100 also)\\nif neither is passed, but radius is, radius+margins is used\\nif neither is passed, and radius isn't either, 150 is used\"\n    },\n    \"radius\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Optional radius of the pie chart, inferred from margin/width/height if not provided.\"\n    },\n    \"marginTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"holeRadius\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Optional radius of the \\\"donut hole\\\" circle drawn on top of the pie chart to turn it into a donut chart.\"\n    },\n    \"centerLabel\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Optional label text to display in the middle of the pie/donut.\"\n    },\n    \"centerLabelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to center label.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"centerLabelStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to center label.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"getPieSliceLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor for getting labels that are rendered outside each slice of the pie chart.\\nIf not provided no labels will be rendered.\"\n    },\n    \"pieSliceLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each slice label.\\nWhen a function is provided it will receive the value for the slice and should return the\\nstyle object for that slice's label.\\nUsed along with `getPieSliceLabel`.\"\n    },\n    \"pieSliceLabelDistance\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Distance to render the label from the outer edge of the pie chart. Positive numbers will\\nmove away from the center and negative numbers will move toward the center.\\nWhen a function is provided it will receive the value for the slice and should return the\\ndistance for that slice's label.\\nUsed along with `getPieSliceLabel`.\"\n    },\n    \"pieSliceClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each pie slice,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"pieSliceStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each pie slice.\\nWhen a function is provided it will receive the value and index for the\\nslice as its parameters, and should return the style object for the slice.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"markerLineValue\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Value for where to place markerline.\"\n    },\n    \"markerLineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to marker line.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"markerLineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to marker line.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"markerLineOverhangInner\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of pixels marker line hangs inside the pie chart.\",\n      \"defaultValue\": {\n        \"value\": \"2\",\n        \"computed\": false\n      }\n    },\n    \"markerLineOverhangOuter\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of pixels marker line hangs outside the pie chart.\",\n      \"defaultValue\": {\n        \"value\": \"2\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the marker line.\"\n    },\n    \"onMouseMoveLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the marker line.\"\n    },\n    \"onMouseLeaveLine\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the marker line.\"\n    },\n    \"onMouseEnterSlice\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a pie slice.\"\n    },\n    \"onMouseMoveSlice\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a pie slice.\"\n    },\n    \"onMouseLeaveSlice\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a pie slice.\"\n    },\n    \"onClick\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user click a pie slice.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/RangeBarChart/RangeBarChartDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic RangeBarChart',\n    codeText: require('./examples/RangeBarChart.js.example').default,\n  },\n];\n\nexport default class RangeBarChartExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"RangeBarChart\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/RangeBarChart/examples/RangeBarChart.js.example",
    "content": "const RangeBarChartExample = (props) => {\n  const count = 30;\n  const dateDomain = [new Date(1992, 0, 1), new Date(2001, 0, 1)];\n  const numberDomain = [-2, 2];\n  const ordinalDomain = _.range(count).map(n => String.fromCharCode(97 + n));\n\n  const dates = _.range(30).map(n => new Date(+(dateDomain[0]) + (n * 1000 * 60 * 60 * 24 * 100)));\n\n  const addDays = (date, n) => new Date(+(date) + (1000 * 60 * 60 * 24 * n));\n\n  const numberRanges =\n    _.range(30).map(n => [Math.sin(n/5), Math.sin(n/8) + Math.cos(n/5)].sort((a, b) => (a - b)));\n  const dateRanges =\n    _.range(30).map(n => [dates[n], addDays(dates[n], (Math.sin(n/8) * 100))].sort((a, b) => (a - b)));\n\n  const numberNumberRangeData = _.zip(_.range(30), numberRanges);\n  const dateNumberRangeData = _.zip(dates, numberRanges);\n  const ordinalNumberRangeData = _.zip(ordinalDomain, numberRanges);\n\n  const numberDateRangeData = _.zip(_.range(30), dateRanges);\n  const dateDateRangeData = _.zip(dates, dateRanges);\n  const ordinalDateRangeData = _.zip(ordinalDomain, dateRanges);\n\n  return <div>\n\n    {[true, false].map(horizontal => {\n      const title = horizontal ? \"Horizontal\" : \"Vertical\";\n      const getters = horizontal ?\n        {y: d => d[0], x: d => d[1][0], xEnd: d => d[1][1]} :\n        {x: d => d[0], y: d => d[1][0], yEnd: d => d[1][1]};\n\n      const depDomain = horizontal ? 'xDomain' : 'yDomain';\n      const indepDomain = horizontal ? 'yDomain' : 'xDomain';\n      const size = {width: 300, height: 350};\n\n      return <div key={horizontal}>\n        <h2>{title}</h2>\n\n        <div>\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={numberNumberRangeData}\n              {...getters}\n            />\n          </XYPlot>\n\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={dateNumberRangeData}\n              {...getters}\n            />\n          </XYPlot>\n\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={ordinalNumberRangeData}\n              {...getters}\n            />\n          </XYPlot>\n        </div>\n\n        <div>\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={numberDateRangeData}\n              {...getters}\n            />\n          </XYPlot>\n\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={dateDateRangeData}\n              {...getters}\n            />\n          </XYPlot>\n\n          <XYPlot {...size}>\n            <XAxis/><YAxis/>\n            <RangeBarChart\n              horizontal={horizontal}\n              data={ordinalDateRangeData}\n              {...getters}\n            />\n          </XYPlot>\n        </div>\n      </div>\n    })}\n\n    <XYPlot {...{width: 300, height: 350}}>\n      <XAxis/><YAxis/>\n      <RangeBarChart\n        data={_.range(-1, 1, .1)}\n        x={d => d}\n        y={d => Math.sin(d*2)}\n        yEnd={d => Math.sin(d*2) * Math.cos(d*2)}\n        barThickness={6}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<RangeBarChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/RangeBarChart/propDocs.json",
    "content": "{\n  \"description\": \"`RangeBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\\nvalue on the *independent* axis (X axis for vertical bars), and is centered on this value.\\nHowever, on the *dependent* axis, each bar represents a *range* (min/max) of values,\\nrather than always starting at zero.\",\n  \"displayName\": \"RangeBarChart\",\n  \"methods\": [\n    {\n      \"name\": \"getDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getSpacing\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to be plotted. One bar will be rendered per datum in this array.\"\n    },\n    \"horizontal\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart will use horizontal or vertical bars.\\nWhen `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `false`, this gets the *independent* variable value on which the bar is centered.\\nIf `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar's length.\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (maximum X-values) of the *dependent* variable range which is spanned by the bar's length,\\nor a single value to be used for all bars.\\nShould only be passed when `horizontal` is `true` (ignored otherwise).\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\\nIf `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar's length.\\nIf `horizontal` is `true`, this gets the *independent* variable value on which the bar is centered.\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for the end (maximum Y-values) of the *dependent* variable range which is spanned by the bar's length,\\nor a single value to be used for all bars.\\nShould only be passed when `horizontal` is `false` (ignored otherwise).\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"barThickness\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width),\",\n      \"defaultValue\": {\n        \"value\": \"8\",\n        \"computed\": false\n      }\n    },\n    \"barStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each bar,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"barClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each bar,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMoveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a bar.\"\n    },\n    \"onMouseEnterBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a bar.\"\n    },\n    \"onMouseLeaveBar\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a bar.\"\n    },\n    \"onClick\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user clicks the bar.\"\n    },\n    \"showLabels\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Conditional if column should display values above/beside each bar.\"\n    },\n    \"barLabelFormat\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Format to use for the values or accessor that returns the updated value on each bar.\"\n    },\n    \"labelDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The distance from the column the text appears in pixels - default is 24.\"\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class name(s) to be included on each bar's <text> element.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/RangeRect/RangeRectDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic RangeRect',\n    codeText: require('./examples/RangeRect.js.example').default,\n  },\n];\n\nexport default class RangeRectExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"RangeRect\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/RangeRect/examples/RangeRect.js.example",
    "content": "const RangeRectExample = (props) => {\n  return <div>\n    <XYPlot\n      width={500} height={320}\n      xDomain={[0, 100]} yDomain={[0, 100]}\n    >\n      <XAxis /><YAxis />\n      <RangeRect\n        x={10} xEnd={40}\n        y={50} yEnd={80}\n        style={{fill: 'rebeccapurple'}}\n      />\n      <RangeRect\n        x={65} xEnd={85}\n        y={15} yEnd={95}\n        style={{fill: 'coral'}}\n      />\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<RangeRectExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/RangeRect/propDocs.json",
    "content": "{\n  \"description\": \"RangeRect is a low-level component to be used in XYPlot-type charts (namely AreaBarChart).\\nIt is a rectangle which represents a range (min & max) of values on both (X & Y) axes.\\nIt takes a single datum object, and getters which specify how to retrieve the range values from it.\",\n  \"displayName\": \"RangeRect\",\n  \"methods\": [],\n  \"props\": {\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for the X (horizontal) axis.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for the Y (vertical) axis.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"Starting (minimum) X value (left edge, usually) of the rectangle range\"\n    },\n    \"xEnd\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"Ending (maximum) X value (right edge, usually) of the rectangle range\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"Starting (minimum) Y value (bottom edge, usually) of the rectangle range\"\n    },\n    \"yEnd\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"Ending (maximum) Y value (top edge, usually) of the rectangle range\"\n    },\n    \"className\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the rectangle element\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the rectangle element\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseMove\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the rectangle.\"\n    },\n    \"onMouseEnter\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the rectangle.\"\n    },\n    \"onMouseLeave\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the rectangle.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/SankeyDiagram/SankeyDiagramDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic SankeyDiagram',\n    codeText: require('./examples/SankeyDiagram.js.example').default,\n  },\n  {\n    id: 'interactive',\n    label: 'Interactive Sankey Diagram',\n    codeText: require('./examples/SankeyInteractive.js.example').default,\n  },\n];\n\nexport default class SankeyDiagramExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"SankeyDiagram\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/SankeyDiagram/examples/SankeyDiagram.js.example",
    "content": "const SankeyDiagramExample = (props) => {\n  const graph = getSampleData();\n  return <div>\n    <SankeyDiagram\n      width={900}\n      height={500}\n      nodes={graph.nodes}\n      links={graph.links}\n    />\n  </div>;\n};\n\nReactDOM.render(<SankeyDiagramExample />, mountNode);\n\nfunction getSampleData() {\n  return {\"nodes\":[\n    {\"name\":\"Agricultural 'waste'\"},\n    {\"name\":\"Bio-conversion\"},\n    {\"name\":\"Liquid\"},\n    {\"name\":\"Losses\"},\n    {\"name\":\"Solid\"},\n    {\"name\":\"Gas\"},\n    {\"name\":\"Biofuel imports\"},\n    {\"name\":\"Biomass imports\"},\n    {\"name\":\"Coal imports\"},\n    {\"name\":\"Coal\"},\n    {\"name\":\"Coal reserves\"},\n    {\"name\":\"District heating\"},\n    {\"name\":\"Industry\"},\n    {\"name\":\"Heating and cooling - commercial\"},\n    {\"name\":\"Heating and cooling - homes\"},\n    {\"name\":\"Electricity grid\"},\n    {\"name\":\"Over generation / exports\"},\n    {\"name\":\"H2 conversion\"},\n    {\"name\":\"Road transport\"},\n    {\"name\":\"Agriculture\"},\n    {\"name\":\"Rail transport\"},\n    {\"name\":\"Lighting & appliances - commercial\"},\n    {\"name\":\"Lighting & appliances - homes\"},\n    {\"name\":\"Gas imports\"},\n    {\"name\":\"Ngas\"},\n    {\"name\":\"Gas reserves\"},\n    {\"name\":\"Thermal generation\"},\n    {\"name\":\"Geothermal\"},\n    {\"name\":\"H2\"},\n    {\"name\":\"Hydro\"},\n    {\"name\":\"International shipping\"},\n    {\"name\":\"Domestic aviation\"},\n    {\"name\":\"International aviation\"},\n    {\"name\":\"National navigation\"},\n    {\"name\":\"Marine algae\"},\n    {\"name\":\"Nuclear\"},\n    {\"name\":\"Oil imports\"},\n    {\"name\":\"Oil\"},\n    {\"name\":\"Oil reserves\"},\n    {\"name\":\"Other waste\"},\n    {\"name\":\"Pumped heat\"},\n    {\"name\":\"Solar PV\"},\n    {\"name\":\"Solar Thermal\"},\n    {\"name\":\"Solar\"},\n    {\"name\":\"Tidal\"},\n    {\"name\":\"UK land based bioenergy\"},\n    {\"name\":\"Wave\"},\n    {\"name\":\"Wind\"}\n  ],\n    \"links\":[\n      {\"source\":0,\"target\":1,\"value\":124.729},\n      {\"source\":1,\"target\":2,\"value\":0.597},\n      {\"source\":1,\"target\":3,\"value\":26.862},\n      {\"source\":1,\"target\":4,\"value\":280.322},\n      {\"source\":1,\"target\":5,\"value\":81.144},\n      {\"source\":6,\"target\":2,\"value\":35},\n      {\"source\":7,\"target\":4,\"value\":35},\n      {\"source\":8,\"target\":9,\"value\":11.606},\n      {\"source\":10,\"target\":9,\"value\":63.965},\n      {\"source\":9,\"target\":4,\"value\":75.571},\n      {\"source\":11,\"target\":12,\"value\":10.639},\n      {\"source\":11,\"target\":13,\"value\":22.505},\n      {\"source\":11,\"target\":14,\"value\":46.184},\n      {\"source\":15,\"target\":16,\"value\":104.453},\n      {\"source\":15,\"target\":14,\"value\":113.726},\n      {\"source\":15,\"target\":17,\"value\":27.14},\n      {\"source\":15,\"target\":12,\"value\":342.165},\n      {\"source\":15,\"target\":18,\"value\":37.797},\n      {\"source\":15,\"target\":19,\"value\":4.412},\n      {\"source\":15,\"target\":13,\"value\":40.858},\n      {\"source\":15,\"target\":3,\"value\":56.691},\n      {\"source\":15,\"target\":20,\"value\":7.863},\n      {\"source\":15,\"target\":21,\"value\":90.008},\n      {\"source\":15,\"target\":22,\"value\":93.494},\n      {\"source\":23,\"target\":24,\"value\":40.719},\n      {\"source\":25,\"target\":24,\"value\":82.233},\n      {\"source\":5,\"target\":13,\"value\":0.129},\n      {\"source\":5,\"target\":3,\"value\":1.401},\n      {\"source\":5,\"target\":26,\"value\":151.891},\n      {\"source\":5,\"target\":19,\"value\":2.096},\n      {\"source\":5,\"target\":12,\"value\":48.58},\n      {\"source\":27,\"target\":15,\"value\":7.013},\n      {\"source\":17,\"target\":28,\"value\":20.897},\n      {\"source\":17,\"target\":3,\"value\":6.242},\n      {\"source\":28,\"target\":18,\"value\":20.897},\n      {\"source\":29,\"target\":15,\"value\":6.995},\n      {\"source\":2,\"target\":12,\"value\":121.066},\n      {\"source\":2,\"target\":30,\"value\":128.69},\n      {\"source\":2,\"target\":18,\"value\":135.835},\n      {\"source\":2,\"target\":31,\"value\":14.458},\n      {\"source\":2,\"target\":32,\"value\":206.267},\n      {\"source\":2,\"target\":19,\"value\":3.64},\n      {\"source\":2,\"target\":33,\"value\":33.218},\n      {\"source\":2,\"target\":20,\"value\":4.413},\n      {\"source\":34,\"target\":1,\"value\":4.375},\n      {\"source\":24,\"target\":5,\"value\":122.952},\n      {\"source\":35,\"target\":26,\"value\":839.978},\n      {\"source\":36,\"target\":37,\"value\":504.287},\n      {\"source\":38,\"target\":37,\"value\":107.703},\n      {\"source\":37,\"target\":2,\"value\":611.99},\n      {\"source\":39,\"target\":4,\"value\":56.587},\n      {\"source\":39,\"target\":1,\"value\":77.81},\n      {\"source\":40,\"target\":14,\"value\":193.026},\n      {\"source\":40,\"target\":13,\"value\":70.672},\n      {\"source\":41,\"target\":15,\"value\":59.901},\n      {\"source\":42,\"target\":14,\"value\":19.263},\n      {\"source\":43,\"target\":42,\"value\":19.263},\n      {\"source\":43,\"target\":41,\"value\":59.901},\n      {\"source\":4,\"target\":19,\"value\":0.882},\n      {\"source\":4,\"target\":26,\"value\":400.12},\n      {\"source\":4,\"target\":12,\"value\":46.477},\n      {\"source\":26,\"target\":15,\"value\":525.531},\n      {\"source\":26,\"target\":3,\"value\":787.129},\n      {\"source\":26,\"target\":11,\"value\":79.329},\n      {\"source\":44,\"target\":15,\"value\":9.452},\n      {\"source\":45,\"target\":1,\"value\":182.01},\n      {\"source\":46,\"target\":15,\"value\":19.013},\n      {\"source\":47,\"target\":15,\"value\":289.366}\n    ]};\n}"
  },
  {
    "path": "docs/src/docs/SankeyDiagram/examples/SankeyInteractive.js.example",
    "content": "const graph = getSampleData();\n\nclass SankeyInteractiveExample extends React.Component {\n  state = {\n    activeNode: undefined,\n    activeLinkSource: undefined,\n    activeLinkTarget: undefined\n  };\n\n  render() {\n    return <div>\n      <ZoomContainer width={900} height={500}>\n        <SankeyDiagram\n          width={900}\n          height={500}\n          marginTop={50}\n          marginRight={50}\n          stepLabelText={step =>  `Step: ${step}`}\n          stepLabelPadding={16}\n          nodes={graph.nodes}\n          links={graph.links}\n          nodeId={getNodeId}\n          nodeAlignment=\"left\"\n          nodeLabelPlacement=\"after\"\n          nodeLabelText={getNodeLabel}\n          nodeStyle={(node) => {\n            const nodeId = getNodeId(node);\n            if(nodeId === this.state.activeNode)\n              return {fill: 'red'};\n            if(nodeId === this.state.activeLinkSource || nodeId === this.state.activeLinkTarget)\n              return {fill: 'blue'};\n            return {};\n          }}\n          linkStyle={(link) => {\n            const sourceId = getNodeId(link.source);\n            const targetId = getNodeId(link.target);\n            if(this.state.activeLinkSource === sourceId && this.state.activeLinkTarget === targetId)\n              return {stroke: 'thistle'};\n            return {};\n          }}\n          onMouseEnterNode={(event, info) => {\n            this.setState({activeNode: getNodeId(info.node)})\n          }}\n          onMouseLeaveNode={(event, info) => {\n            this.setState({activeNode: undefined})\n          }}\n          onMouseEnterLink={(event, info) => {\n            this.setState({\n              activeLinkSource: getNodeId(info.link.source),\n              activeLinkTarget: getNodeId(info.link.target),\n            });\n          }}\n          onMouseLeaveLink={(event, info) => {\n            this.setState({activeLinkSource: undefined, activeLinkTarget: undefined});\n          }}\n        />\n      </ZoomContainer>\n\n    </div>;\n  }\n}\n\nReactDOM.render(<SankeyInteractiveExample />, mountNode);\n\nfunction getNodeId(node) { return node.id }\nfunction getNodeLabel(node) { return node.label; }\n\n\nfunction getSampleData() {\n  return {\n    nodes: [\n      {id: 'week', label: \"Week\"},\n      {id: 'weekdays', label: \"Weekdays\"},\n      {id: 'weekends', label: \"Weekends\"},\n      {id: 'sleep', label: \"Sleep\"},\n      {id: 'work', label: \"Work\"},\n      {id: 'eating', label: \"Eating\"},\n      {id: 'free', label: \"Free Time\"},\n      {id: 'meetings', label: \"Meetings\"},\n      {id: 'communication', label: \"Communication\"},\n      {id: 'programming', label: \"Programming\"},\n      {id: 'socializing', label: \"Socializing\"},\n      {id: 'media', label: \"Media (TV, books, etc.)\"},\n      {id: 'outdoors', label: \"Outdoors\"},\n    ],\n    links: [\n      {source: 'week', target: 'weekdays', value: 120},\n      {source: 'week', target: 'weekends', value: 48},\n      {source: 'weekdays', target: 'sleep', value: 40},\n      {source: 'weekdays', target: 'work', value: 40},\n      {source: 'weekdays', target: 'eating', value: 10},\n      {source: 'weekdays', target: 'free', value: 30},\n      {source: 'weekends', target: 'sleep', value: 16},\n      {source: 'weekends', target: 'eating', value: 4},\n      {source: 'weekends', target: 'free', value: 28},\n      {source: 'free', target: 'socializing', value: 20},\n      {source: 'free', target: 'media', value: 20},\n      {source: 'free', target: 'outdoors', value: 10},\n      {source: 'work', target: 'meetings', value: 10},\n      {source: 'work', target: 'communication', value: 8},\n      {source: 'work', target: 'programming', value: 22}\n    ]\n  }\n}"
  },
  {
    "path": "docs/src/docs/SankeyDiagram/propDocs.json",
    "content": "{\n  \"description\": \"A `SankeyDiagram` is a type of flow diagram which visualizes directed flow between nodes\\nof a network graph. Currently only *acyclic* networks are supported.\",\n  \"displayName\": \"SankeyDiagram\",\n  \"methods\": [\n    {\n      \"name\": \"makeSankeyGraph\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"nodes\": {\n      \"type\": {\n        \"name\": \"arrayOf\",\n        \"value\": {\n          \"name\": \"object\"\n        }\n      },\n      \"required\": true,\n      \"description\": \"Array of node objects, represented by vertical rectangles.\\nThese represent the base entities which links flow into & out of.\"\n    },\n    \"links\": {\n      \"type\": {\n        \"name\": \"arrayOf\",\n        \"value\": {\n          \"name\": \"shape\",\n          \"value\": {\n            \"source\": {\n              \"name\": \"union\",\n              \"value\": [\n                {\n                  \"name\": \"string\"\n                },\n                {\n                  \"name\": \"number\"\n                }\n              ],\n              \"required\": false\n            },\n            \"target\": {\n              \"name\": \"union\",\n              \"value\": [\n                {\n                  \"name\": \"string\"\n                },\n                {\n                  \"name\": \"number\"\n                }\n              ],\n              \"required\": false\n            },\n            \"value\": {\n              \"name\": \"number\",\n              \"required\": false\n            }\n          }\n        }\n      },\n      \"required\": true,\n      \"description\": \"Array of link objects, represented by curved paths between nodes.\\nLinks represent a magnitude of flow between one node and another.\\nEach should have a 'source' node [identifier], a 'target' node [identifier],\\nand a numerical value representing flow magnitude.\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Width of the SVG element.\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Height of the SVG element.\",\n      \"defaultValue\": {\n        \"value\": \"300\",\n        \"computed\": false\n      }\n    },\n    \"shouldClone\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which decides if the nodes & links props should be cloned before being mutated into\\nthe Sankey data structure. Passing `false` is faster, but may cause unintended side effects\\nif nodes or links data are used elsewhere\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"className\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to the SVG element.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the SVG element.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"standalone\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the chart should be rendered as a standalone `<svg>` element\\nor a `<g>` group element (as a child within an existing `<svg>`).\\nTrue by default, pass `false` to render in a `<g>`.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"marginTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal top margin, in pixels. Generally used to leave extra space inside the SVG for labels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal bottom margin, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal left margin, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"marginRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal right margin, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"showNodes\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if node rectangles should be shown,\\nor function (`showNode(node, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"nodeId\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function `nodeId(node, graph)` which specifies how to access the ID of each node object.\\nThese should be the same identifiers used by `links[].source` and `.target`.\\nUses the node's index in `nodes` array by default.\",\n      \"defaultValue\": {\n        \"value\": \"node => node.index\",\n        \"computed\": false\n      }\n    },\n    \"nodeWidth\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Width (in pixels) of the vertical node rectangles.\",\n      \"defaultValue\": {\n        \"value\": \"12\",\n        \"computed\": false\n      }\n    },\n    \"nodePadding\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Vertical padding (in pixels) between each of the node lines.\",\n      \"defaultValue\": {\n        \"value\": \"8\",\n        \"computed\": false\n      }\n    },\n    \"nodeAlignment\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'left'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'right'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'center'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'justify'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Node alignment method used to layout the nodes.\\nMust be 'left', 'right', 'center', or 'justify'.\\nSee [d3-sankey alignment docs](https://github.com/d3/d3-sankey#alignments) for more details.\",\n      \"defaultValue\": {\n        \"value\": \"'justify'\",\n        \"computed\": false\n      }\n    },\n    \"nodeClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each node,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"nodeStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each node,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"nodeSort\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node sort function\"\n    },\n    \"onMouseEnterNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `mouseenter` event handler, called when user's mouse enters a node.\"\n    },\n    \"onMouseLeaveNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `mouseleave` event handler, called when user's mouse leaves a node.\"\n    },\n    \"onMouseMoveNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `mousemove` event handler, called when user's mouse moves within a node.\"\n    },\n    \"onMouseDownNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `mousedown` event handler, called when user's mouse button is depressed within a node.\"\n    },\n    \"onMouseUpNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `mouseup` event handler, called when user's mouse button is released within a node.\"\n    },\n    \"onClickNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node `click` event handler, called when user clicks within a node.\"\n    },\n    \"showLinks\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if link paths should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"linkClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each link,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"linkSort\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link sort function\"\n    },\n    \"linkStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each link,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `mouseenter` event handler, called when user's mouse enters a link.\"\n    },\n    \"onMouseLeaveLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `mouseleave` event handler, called when user's mouse leaves a link.\"\n    },\n    \"onMouseMoveLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `mousemove` event handler, called when user's mouse moves within a link.\"\n    },\n    \"onMouseDownLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `mousedown` event handler, called when user's mouse button is depressed within a link.\"\n    },\n    \"onMouseUpLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `mouseup` event handler, called when user's mouse button is released within a link.\"\n    },\n    \"onClickLink\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Link `click` event handler, called when user clicks within a link.\"\n    },\n    \"showNodeTerminals\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if node terminals should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean.\\nTerminals are bars that run alongside to show the amount\\nwhich has flowed *in* but not *out*\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"nodeTerminalWidth\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"number\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Width (in pixels) of the node terminal rectangles,\\nor accessor function `f(node, graph)` which returns a width.\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"nodeTerminalDistance\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Distance (in pixels) between nodes and their terminals,\\nor accessor function `f(node, graph)` which returns a distance.\",\n      \"defaultValue\": {\n        \"value\": \"1\",\n        \"computed\": false\n      }\n    },\n    \"nodeTerminalClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each node terminal,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"nodeTerminalStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each node terminal,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"nodeTerminalAttributes\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Attributes object to be applied to each node terminal element,\\nor accessor function which returns an object.\",\n      \"defaultValue\": {\n        \"value\": \"{ rx: 2, ry: 2 }\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `mouseenter` event handler, called when user's mouse enters a node terminal.\"\n    },\n    \"onMouseLeaveNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `mouseleave` event handler, called when user's mouse leaves a node terminal.\"\n    },\n    \"onMouseMoveNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `mousemove` event handler, called when user's mouse moves within a node terminal.\"\n    },\n    \"onMouseDownNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `mousedown` event handler, called when user's mouse button is depressed within a node terminal.\"\n    },\n    \"onMouseUpNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `mouseup` event handler, called when user's mouse button is released within a node terminal.\"\n    },\n    \"onClickNodeTerminal\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Node terminal `click` event handler, called when user clicks within a node terminal.\"\n    },\n    \"showNodeLabels\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if node labels should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"nodeLabelPlacement\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"enum\",\n            \"value\": [\n              {\n                \"value\": \"'before'\",\n                \"computed\": false\n              },\n              {\n                \"value\": \"'after'\",\n                \"computed\": false\n              },\n              {\n                \"value\": \"'above'\",\n                \"computed\": false\n              },\n              {\n                \"value\": \"'below'\",\n                \"computed\": false\n              }\n            ]\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of the node label relative to the node rectangle.\\nExpects 'before', 'after', 'above' or 'below', or a function which returns one of these.\\nBy default, labels in the left half of the diagram are placed 'after' and those in the right half 'before'\",\n      \"defaultValue\": {\n        \"value\": \"(node, graph) => {\\n  return node.depth < graph.maxDepth / 2 ? 'after' : 'before';\\n}\",\n        \"computed\": false\n      }\n    },\n    \"nodeLabelDistance\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Distance (in pixels) between nodes and their labels,\\nor accessor function `f(node, graph)` which returns a distance.\",\n      \"defaultValue\": {\n        \"value\": \"4\",\n        \"computed\": false\n      }\n    },\n    \"nodeLabelText\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function `nodeLabelText(node, graph)` which returns the content to be used for node labels.\\nThe function may return a string/number (rendered as SVG `<text>`),\\nor arbitrary React SVG element(s) (rendered as-is inside the SVG).\\nNOTE: in the latter case (returning arbitrary SVG), `nodeLabelPlacement`, `nodeLabelDistance`,\\n`nodeLabelClassName` and `nodeLabelStyle` props will not be applied -\\nuser is responsible for all positioning and attributes on this element.\",\n      \"defaultValue\": {\n        \"value\": \"(node, graph, props) => {\\n  if (has(node, 'name')) return node.name;\\n  if (has(node, 'label')) return node.label;\\n  return getValue(props.nodeId, node, graph, props);\\n}\",\n        \"computed\": false\n      }\n    },\n    \"nodeLabelClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each node label,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"nodeLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each node label,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"showLinkLabels\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if link labels should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"linkLabelText\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function `f(link, graph)` which returns the text to be used for link labels.\",\n      \"defaultValue\": {\n        \"value\": \"(link, graph, props) => {\\n  const linkValue = link.value || 0;\\n  const valueText = formatPrefix('.1~f', linkValue)(linkValue);\\n  const sourceText = getValue(\\n    props.nodeLabelText,\\n    link.source,\\n    graph,\\n    props,\\n  );\\n  const targetText = getValue(\\n    props.nodeLabelText,\\n    link.target,\\n    graph,\\n    props,\\n  );\\n  return `${sourceText}→${targetText}: ${valueText}`;\\n}\",\n        \"computed\": false\n      }\n    },\n    \"linkLabelClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each link label,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"linkLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each link label,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkLabelAttributes\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Attributes object to be applied to each link label element,\\nor accessor function which returns an object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkLabelStartOffset\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"number\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`startOffset` attribute to apply to the link label `<textpath>` element.\\nMay be a number (in SVG units) or percent string (`\\\"25%\\\"`)\",\n      \"defaultValue\": {\n        \"value\": \"'25%'\",\n        \"computed\": false\n      }\n    },\n    \"showLinkSourceLabels\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if link *source* labels should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"linkSourceLabelText\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function `f(link, graph)` which returns the text to be used for link *source* labels.\",\n      \"defaultValue\": {\n        \"value\": \"(link, graph, props) => {\\n  const valueRelative = link.valueSourceRelative;\\n  if (valueRelative === null || !isFinite(valueRelative)) return '';\\n  const percentText =\\n    valueRelative < 0.001 ? '<0.1%' : numberFormat('.1~%')(valueRelative);\\n  return `${percentText} to ${getValue(\\n    props.nodeLabelText,\\n    link.target,\\n    graph,\\n    props,\\n  )}`;\\n}\",\n        \"computed\": false\n      }\n    },\n    \"linkSourceLabelClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each link *source* label,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"linkSourceLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each link *source* label,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkSourceLabelAttributes\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Attributes object to be applied to each link *source* label,\\nor accessor function which returns an object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkSourceLabelStartOffset\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"number\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`startOffset` attribute to apply to the link *source* label `<textpath>` element.\\nMay be a number (in SVG units) or percent string (`\\\"25%\\\"`)\",\n      \"defaultValue\": {\n        \"value\": \"'2%'\",\n        \"computed\": false\n      }\n    },\n    \"showLinkTargetLabels\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"bool\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines if link *target* labels should be shown,\\nor function (`showLink(link, graph)`) which returns a boolean\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"linkTargetLabelText\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function `f(link, graph)` which returns the text to be used for link *target* labels.\",\n      \"defaultValue\": {\n        \"value\": \"(link, graph, props) => {\\n  const valueRelative = link.valueTargetRelative;\\n  if (valueRelative === null || !isFinite(valueRelative)) return '';\\n  const percentText =\\n    valueRelative < 0.001 ? '<0.1%' : numberFormat('.1~%')(valueRelative);\\n  return `${percentText} from ${getValue(\\n    props.nodeLabelText,\\n    link.source,\\n    graph,\\n    props,\\n  )}`;\\n}\",\n        \"computed\": false\n      }\n    },\n    \"linkTargetLabelClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute to be applied to each link *target* label,\\nor accessor function which returns a class (string).\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"linkTargetLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each link *target* label,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkTargetLabelAttributes\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Attributes object to be applied to each link *target* label,\\nor accessor function which returns an object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"linkTargetLabelStartOffset\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"number\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`startOffset` attribute to apply to the link *target* label `<textpath>` element.\\nMay be a number (in SVG units) or percent string (`\\\"25%\\\"`)\",\n      \"defaultValue\": {\n        \"value\": \"'98%'\",\n        \"computed\": false\n      }\n    },\n    \"stepLabelText\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Text for step label or\\naccessor function `f(step)` that returns the label text\"\n    },\n    \"stepLabelClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"`className` attribute applied to each label,\\nor accessor function which returns a class (string)\"\n    },\n    \"stepLabelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each label,\\nor accessor function which returns an object\"\n    },\n    \"stepLabelPadding\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Vertical padding (in pixels) between step label and uppermost positioned node of that step\",\n      \"defaultValue\": {\n        \"value\": \"8\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ScatterPlot/ScatterPlotDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic ScatterPlot',\n    codeText: require('./examples/ScatterPlot.js.example').default,\n  },\n];\n\nexport default class ScatterPlotExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"ScatterPlot\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ScatterPlot/examples/ScatterPlot.js.example",
    "content": "const randomScatter = [\n  _.zip(randomWalk(20, 100), randomWalk(20, 100)),\n  _.zip(randomWalk(3000, 10000), randomWalk(3000, 10000)),\n  _.zip(randomWalk(50, 100), randomWalk(50, 100)),\n  _.zip(randomWalk(100, 100), randomWalk(100, 100)),\n  _.zip(randomWalk(200, 100), randomWalk(200, 100))\n];\n\nconst emojis = [\"😀\", \"😁\", \"😂\", \"😅\", \"😆\", \"😇\", \"😈\", \"👿\", \"😉\", \"😊\", \"😐\", \"😑\", \"😒\", \"😓\", \"😔\", \"😕\", \"😖\", \"😗\", \"😘\", \"😙\", \"😚\", \"😛\", \"😜\", \"😝\", \"👻\", \"👹\", \"👺\", \"💩\", \"💀\", \"👽\", \"👾\", \"🙇\", \"💁\", \"🙅\", \"🙆\", \"🙋\", \"🙎\", \"🙍\", \"💆\", \"💇\"];\n\nconst ScatterPlotExample = () => {\n  const rectangleSymbol = <rect width={5} height={5} fill=\"rebeccapurple\" />;\n  const triangleSymbol = <svg><polygon points=\"0,0 8,0 4,8\" style={{fill: 'darkgreen'}} /></svg>;\n  const randomEmoji = (d, i) => _.sample(emojis);\n\n  return <div>\n    <XYPlot width={500} height={500}>\n      <XAxis title=\"Phase\" />\n      <YAxis title=\"Intensity\" />\n\n      <ScatterPlot\n        data={randomScatter[3]}\n        x={d => d[0]}\n        y={d => d[1]}\n        pointSymbol={rectangleSymbol}\n      />\n      <ScatterPlot\n        data={randomScatter[4]}\n        x={d => d[0]}\n        y={d => d[1]}\n        pointSymbol={randomEmoji}\n        pointOffset={[0, 2]}\n      />\n\n      <ScatterPlot\n        data={randomScatter[0]}\n        x={d => d[0]}\n        y={d => d[1]}\n        pointSymbol={(d, i) => i}\n      />\n      <ScatterPlot\n        data={randomScatter[2]}\n        x={d => d[0]}\n        y={d => d[1]}\n        pointSymbol={triangleSymbol}\n        pointOffset={[-4, -3]}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<ScatterPlotExample/>, mountNode);\n"
  },
  {
    "path": "docs/src/docs/ScatterPlot/propDocs.json",
    "content": "{\n  \"description\": \"`ScatterPlot` displays its data as a collection of points. Each point represents\\nthe relationship between two variables, one plotted along the x-axis and the other on the y-axis.\",\n  \"displayName\": \"ScatterPlot\",\n  \"methods\": [\n    {\n      \"name\": \"onMouseEnterPoint\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseMovePoint\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"onMouseLeavePoint\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"e\",\n          \"type\": null\n        },\n        {\n          \"name\": \"d\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"renderPoint\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"d\",\n          \"type\": null\n        },\n        {\n          \"name\": \"i\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"data\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": true,\n      \"description\": \"Array of data to be plotted.\"\n    },\n    \"x\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for plot X values, called once per datum, or a single value to be used for all points.\"\n    },\n    \"y\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.valueOrAccessor\"\n      },\n      \"required\": false,\n      \"description\": \"Accessor function for plot Y values, called once per datum, or a single value to be used for all points.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"pointRadius\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Used with the default point symbol (circle), defines the circle radius.\",\n      \"defaultValue\": {\n        \"value\": \"3\",\n        \"computed\": false\n      }\n    },\n    \"pointSymbol\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"node\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Text or SVG node to use as custom point symbol, or function which returns text/SVG.\",\n      \"defaultValue\": {\n        \"value\": \"<circle />\",\n        \"computed\": false\n      }\n    },\n    \"pointOffset\": {\n      \"type\": {\n        \"name\": \"arrayOf\",\n        \"value\": {\n          \"name\": \"number\"\n        }\n      },\n      \"required\": false,\n      \"description\": \"Manual x and y offset applied to the point to center it, for custom point symbols which can't be auto-centered.\",\n      \"defaultValue\": {\n        \"value\": \"[0, 0]\",\n        \"computed\": false\n      }\n    },\n    \"pointStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"object\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each point,\\nor accessor function which returns a style object.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"pointClassName\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"func\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each point,\\nor accessor function which returns a class.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterPoint\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a point.\"\n    },\n    \"onMouseMovePoint\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a point.\"\n    },\n    \"onMouseLeavePoint\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a point.\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/TreeMap/TreeMapDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic TreeMap',\n    codeText: require('./examples/TreeMap.js.example').default,\n  },\n  {\n    id: 'animated',\n    label: 'Animated TreeMap',\n    codeText: require('./examples/AnimatedTreeMap.js.example').default,\n  },\n];\n\nexport default class TreeMapExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"TreeMap\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/TreeMap/examples/AnimatedTreeMap.js.example",
    "content": "class AnimatedTreeMapExample extends React.Component {\n  constructor(props) {\n    super(props);\n\n    const data = {\n      children: _.range(1, 5).map(n => ({\n        children: _.times(n * n, m => ({\n          size:  (n +1) * (m + 1) + (100 * Math.random()),\n          size2: (n +1) * (m + 1) + (100 * Math.random())\n        }))\n      }))\n    };\n\n    this.state = { getValue: \"size\", data };\n  }\n\n  _animateValue = () => {\n    if(this.state.getValue === \"size\")\n      this.setState({getValue: \"size2\"});\n    else\n      this.setState({getValue: \"size\"});\n  };\n\n  componentDidMount() {\n    this._interval = setInterval(this._animateValue, 1000);\n  }\n\n  componentWillUnmount() {\n    clearInterval(this._interval);\n  }\n\n  render() {\n    const {getValue, data} = this.state;\n\n    const colorScale = d3.scaleLinear()\n      .domain([0, 65])\n      .range(['#6b6ecf', '#8ca252'])\n      .interpolate(d3.interpolateHcl);\n\n    return <div>\n      <TreeMap\n        data={data}\n        getValue={getValue}\n        getLabel=\"size\"\n        nodeStyle={(node) => ({\n          backgroundColor: colorScale(parseInt(node.data.size)),\n          border: '1px solid #333'\n        })}\n        sticky\n        width={400}\n        height={500}\n      />\n    </div>\n  }\n}\n\nReactDOM.render(<AnimatedTreeMapExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/TreeMap/examples/TreeMap.js.example",
    "content": "const TreeMapExample = props => {\n  const data = {\n    children: _.range(1, 5).map(n => ({\n      children: _.times(n * n, m => ({\n        size: n * (m + 1)\n      }))\n    }))\n  };\n\n  const colorScale = d3\n    .scaleLinear()\n    .domain([0, 65])\n    .range([\"#6b6ecf\", \"#8ca252\"])\n    .interpolate(d3.interpolateHcl);\n\n  return (\n    <div>\n      <TreeMap\n        data={data}\n        getValue={d => d.size}\n        getLabel={d => d.value}\n        nodeStyle={node => ({\n          backgroundColor: colorScale(parseInt(node.data.size)),\n          border: \"1px solid #333\"\n        })}\n        width={400}\n        height={500}\n      />\n    </div>\n  );\n};\n\nReactDOM.render(<TreeMapExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/TreeMap/propDocs.json",
    "content": "{\n  \"description\": \"`TreeMap` displays hierarchical data where a leaf node's rectangle has an area proportional to a specified dimension of the data.\",\n  \"displayName\": \"TreeMap\",\n  \"methods\": [\n    {\n      \"name\": \"initTreemap\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"rootNode\",\n          \"type\": null\n        },\n        {\n          \"name\": \"tree\",\n          \"type\": null\n        },\n        {\n          \"name\": \"options\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getStateFromProps\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": true,\n      \"description\": \"\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": true,\n      \"description\": \"\"\n    },\n    \"data\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": true,\n      \"description\": \"Data is an object with a key of `children` and an array of objects as its value.\\ni.e. { children: [{ children: [{ size: 3 }, { size: 8 }] }, { size: 4 }]}\"\n    },\n    \"getValue\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter\"\n      },\n      \"required\": false,\n      \"description\": \"Key or accessor to retrieve value of data point\",\n      \"defaultValue\": {\n        \"value\": \"'value'\",\n        \"computed\": false\n      }\n    },\n    \"getChildren\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter\"\n      },\n      \"required\": false,\n      \"description\": \"Key or accessor to retrieve children of data point\",\n      \"defaultValue\": {\n        \"value\": \"'children'\",\n        \"computed\": false\n      }\n    },\n    \"getLabel\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter\"\n      },\n      \"required\": false,\n      \"description\": \"Key or accessor to retrieve label for given Node\",\n      \"defaultValue\": {\n        \"value\": \"'name'\",\n        \"computed\": false\n      }\n    },\n    \"sort\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Function passed in to sort nodes\"\n    },\n    \"padding\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"See d3 docs for treemap - Adds outer and inner padding to tree\"\n    },\n    \"round\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"See d3 docs for treemap - Enables or disables rounding\"\n    },\n    \"sticky\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"If sticky, on data change the TreeMap will not force a recreation of the tree and animate data changes.\\nOtherwise we recreate the tree given its new props\"\n    },\n    \"ratio\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the desired aspect ratio of the generated rectangles\"\n    },\n    \"nodeStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each Node,\\nor accessor function which returns a style object\"\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each Label,\\nor accessor function which returns a style object\"\n    },\n    \"minLabelWidth\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"minLabelHeight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"onClickNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`onClick` event handler callback, called when user clicks a NodeComponent.\"\n    },\n    \"onMouseEnterNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters a NodeComponent.\"\n    },\n    \"onMouseLeaveNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves a NodeComponent.\"\n    },\n    \"onMouseMoveNode\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within a NodeComponent.\"\n    },\n    \"NodeComponent\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Optional treemap node, otherwise we default to our TreeMapNode component\",\n      \"defaultValue\": {\n        \"value\": \"TreeMapNode\",\n        \"computed\": true\n      }\n    },\n    \"NodeLabelComponent\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Optional treemap node label, otherwise we default to our TreeMapNodeLabel component\",\n      \"defaultValue\": {\n        \"value\": \"TreeMapNodeLabel\",\n        \"computed\": true\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/TreeMapNode/TreeMapNodeDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic TreeMapNode',\n    codeText: require('./examples/TreeMapNode.js.example').default,\n  },\n];\n\nexport default class TreeMapNodeExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"TreeMapNode\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/TreeMapNode/examples/TreeMapNode.js.example",
    "content": "const TreeMapNodeExample = (props) => {\n  return <div>insert example here</div>;\n};\n\nReactDOM.render(<TreeMapNodeExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/TreeMapNode/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"methods\": [],\n  \"props\": {\n    \"node\": {\n      \"type\": {\n        \"name\": \"shape\",\n        \"value\": {\n          \"parent\": {\n            \"name\": \"object\",\n            \"required\": false\n          },\n          \"children\": {\n            \"name\": \"array\",\n            \"required\": false\n          },\n          \"value\": {\n            \"name\": \"number\",\n            \"required\": false\n          },\n          \"depth\": {\n            \"name\": \"number\",\n            \"required\": false\n          },\n          \"x\": {\n            \"name\": \"number\",\n            \"required\": false\n          },\n          \"y\": {\n            \"name\": \"number\",\n            \"required\": false\n          },\n          \"dx\": {\n            \"name\": \"number\",\n            \"required\": false\n          },\n          \"dy\": {\n            \"name\": \"number\",\n            \"required\": false\n          }\n        }\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"nodeStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"minLabelWidth\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"minLabelHeight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"getLabel\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"NodeLabelComponent\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}"
  },
  {
    "path": "docs/src/docs/TreeMapNodeLabel/TreeMapNodeLabelDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic TreeMapNodeLabel',\n    codeText: require('./examples/TreeMapNodeLabel.js.example').default,\n  },\n];\n\nexport default class TreeMapNodeLabelExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"TreeMapNodeLabel\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/TreeMapNodeLabel/examples/TreeMapNodeLabel.js.example",
    "content": "const TreeMapNodeLabelExample = (props) => {\n  return <div>insert example here</div>;\n};\n\nReactDOM.render(<TreeMapNodeLabelExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/TreeMapNodeLabel/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"methods\": [],\n  \"props\": {\n    \"node\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"getLabel\": {\n      \"type\": {\n        \"name\": \"custom\",\n        \"raw\": \"CustomPropTypes.getter\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"minLabelWidth\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"minLabelHeight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}"
  },
  {
    "path": "docs/src/docs/XAxis/XAxisDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XAxis',\n    codeText: require('./examples/XAxis.js.example').default,\n  },\n  {\n    id: 'customTicks',\n    label: 'XAxis with custom ticks',\n    codeText: require('./examples/XAxisCustomTicks.js.example').default,\n  },\n];\n\nexport default class XAxisExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XAxis\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XAxis/examples/XAxis.js.example",
    "content": "const XAxisExample = (props) => {\n  const dateDomain = [new Date(2008, 0, 1), new Date(2017, 0, 1)];\n  const numberDomain = [-20, 20];\n  const categoricalDomain = ['puppies', 'kitties', 'ponies'];\n  const smallSize = {width: 300, height: 100};\n\n  return <div>\n    <div style={{marginBottom: '10px'}}>\n      <XYPlot xDomain={numberDomain} yDomain={numberDomain} {...smallSize}>\n        <XAxis title=\"Number Axis\"/>\n      </XYPlot>\n    </div>\n    <div style={{marginBottom: '10px'}}>\n      <XYPlot xDomain={dateDomain} yDomain={dateDomain} {...smallSize}>\n        <XAxis title=\"Date Axis\"/>\n      </XYPlot>\n    </div>\n    <div style={{marginBottom: '10px'}}>\n      <XYPlot xDomain={categoricalDomain} yDomain={dateDomain} {...smallSize}>\n        <XAxis title=\"Categorical Axis\"/>\n      </XYPlot>\n    </div>\n  </div>\n};\n\nReactDOM.render(<XAxisExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XAxis/examples/XAxisCustomTicks.js.example",
    "content": "const XAxisExample = (props) => {\n  const size = {width: 350, height: 100};\n\n  return <div>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <XAxis title=\"Custom Ticks\" ticks={[-12, -5, -2, 0, 2, 5, 12]}/>\n      </XYPlot>\n  </div>\n};\n\nReactDOM.render(<XAxisExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XAxis/propDocs.json",
    "content": "{\n  \"description\": \"`XAxis` is the horizontal axis of the chart. `XAxis` is a wrapper around `XGrid`, `XTicks`,\\n`XAxisLabels`, and `XAxisTitle`. See their respective docs for prop documentation.\",\n  \"displayName\": \"XAxis\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseMove\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseEnter\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseLeave\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnClick\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"'bottom'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Extends the x domain to start and end on rounded values,\\nguaranteeing the original domain will be covered.\\nSee d3 docs for more information\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal top spacing of XAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal bottom spacing of XAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal left spacing of XAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal right spacing of XAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"showTitle\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showLabels\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showTicks\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showGrid\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"title\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"titleAlign\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleRotate\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"3\",\n        \"computed\": false\n      }\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelFormat\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelFormats\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labels\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"noLabelOverhang\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelOffset\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Adds horizontal offset (along the XAxis) to the labels\"\n    },\n    \"tickLength\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"tickClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"gridLineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"gridLineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseClickLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseEnterLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseMoveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseLeaveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseEnterAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the x axis.\"\n    },\n    \"onMouseLeaveAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the x axis.\"\n    },\n    \"onMouseMoveAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the x axis.\"\n    },\n    \"onMouseClickAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user's mouse clicks on the x axis.\"\n    },\n    \"showLine\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Show X Axis line\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the X Axis line\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XAxisLabels/XAxisLabelsDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XAxisLabels',\n    codeText: require('./examples/XAxisLabels.js.example').default,\n  },\n];\n\nexport default class XAxisLabelsExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XAxisLabels\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XAxisLabels/examples/XAxisLabels.js.example",
    "content": "const XAxisLabelsExample = (props) => {\n  const chartStyle = {marginBottom: '10px'};\n\n  return <div>\n    <div style={chartStyle}>\n      <XYPlot\n        width={400} height={150}\n        xDomain={[-20, 20]} yDomain={[-20, 20]}\n      >\n        <XAxisLabels\n          formats={[\"+\"]}\n        />\n        <XAxisLabels\n          format={label => label + \"%\"}\n          position=\"top\"\n          distance={2}\n          tickCount={5}\n          labelStyle={(label) => {\n              return {\n                fontSize: '10px',\n                fill: label.text === \"20%\" ? \"red\" : \"black\"\n              };\n            }\n          } />\n      </XYPlot>\n    </div>\n  </div>\n};\n\nReactDOM.render(<XAxisLabelsExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XAxisLabels/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"XAxisLabels\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getLabels\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'top'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'bottom'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of x axis labels. Accepted options are \\\"top\\\" or \\\"bottom\\\".\",\n      \"defaultValue\": {\n        \"value\": \"'bottom'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'below'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'above'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of labels in regards to the x axis. Accepted options are \\\"above\\\" or \\\"below\\\".\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the label given spacingTop.\"\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the label given spacingBottom.\"\n    },\n    \"distance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Label distance from X Axis.\",\n      \"defaultValue\": {\n        \"value\": \"4\",\n        \"computed\": false\n      }\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of ticks on axis.\",\n      \"defaultValue\": {\n        \"value\": \"10\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom ticks to display.\",\n      \"defaultValue\": {\n        \"value\": \"null\",\n        \"computed\": false\n      }\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each label,\\nor accessor function which returns a style object\\n\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\nin order to ensure that our collision library measureText is able to calculate the\\nsmallest amount of possible collissions along the axis. It's therefore dependent on\\nfontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\\nstylesheet, we suggest creating a styled label component that wraps XAxisLabels with your preferred styles.\",\n      \"defaultValue\": {\n        \"value\": \"{\\n  fontFamily: 'Helvetica, sans-serif',\\n  fontSize: '14px',\\n  lineHeight: 1,\\n  textAnchor: 'middle',\\n}\",\n        \"computed\": false\n      }\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"format\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"An accessor function that returns the updated label.\\n\\nFor example, given labels with real numbers one can pass in the following accessor,\\n(label) => `${label}%`, to display percentages.\"\n    },\n    \"formats\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\\nto use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\\ncan be either string(s) or function(s), utilizing d3-format.\\n\\nFor example, given labels with real numbers one can pass in [\\\".0%\\\"] for a rounded percentage, like 12%.\"\n    },\n    \"labels\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom labels provided. Note that each object in the array has to be of shape.\\n`{\\n value,\\n text,\\n height,\\n width\\n}`\\nvalue - value you'd like this label to be aligned with\\ntext - text you'd like displayed\\nheight - height of the given label\\nwidth - width of the given label\"\n    },\n    \"noLabelOverhang\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Default label behavior places the text centered below the data point it delineates. This can allow\\noverhang where the first and possibly last labels' text hangs over the edges of the x axis range.\\nSetting this to `true` will force the first and last labels to align in such a way that their text does\\nnot exceed the x range. That is, the first label will be text-anchor: \\\"start\\\" instead of \\\"middle\\\", and\\nthe label marking the right edge of the chart will be anchored to the \\\"end\\\" instead of \\\"middle\\\".\\n\\nThis affects spacing calculations.\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Round ticks to capture extent of given x domain from XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"onMouseEnterLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the label.\"\n    },\n    \"onMouseMoveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the label.\"\n    },\n    \"onMouseLeaveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the label.\"\n    },\n    \"onMouseClickLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseclick` event handler callback, called when user's mouse clicks the label.\"\n    },\n    \"offset\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Adds horizontal offset (along the XAxis) to the labels\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XAxisTitle/XAxisTitleDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XAxisTitle',\n    codeText: require('./examples/XAxisTitle.js.example').default,\n  },\n  {\n    id: 'all',\n    label: 'All XAxisTitle Options',\n    codeText: require('./examples/XAxisTitleAll.js.example').default,\n  },\n];\n\nexport default class XAxisTitleExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XAxisTitle\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XAxisTitle/examples/XAxisTitle.js.example",
    "content": "const XAxisTitleExample = (props) => {\n  const xyProps = {\n    width: 500, height: 200,\n    xDomain: [0, 100], yDomain: [0, 100]\n  };\n\n  return <XYPlot {...xyProps}>\n    <XAxisTitle title=\"Basic X Axis Title\" />\n  </XYPlot>;\n};\n\nReactDOM.render(<XAxisTitleExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XAxisTitle/examples/XAxisTitleAll.js.example",
    "content": "const XAxisTitleExample = (props) => {\n  const xyProps = {\n    width: 500, height: 360,\n    xDomain: [0, 100], yDomain: [0, 100]\n  };\n\n  return <XYPlot {...xyProps}>\n    <XAxisTitle title=\"AAAA\" alignment=\"left\" />\n    <XAxisTitle title=\"BBBB\" alignment=\"center\" />\n    <XAxisTitle title=\"CCCC\" alignment=\"right\" />\n\n    <XAxisTitle title=\"DDDD\" alignment=\"left\" placement=\"above\" />\n    <XAxisTitle title=\"EEEE\" alignment=\"center\" placement=\"above\" />\n    <XAxisTitle title=\"FFFF\" alignment=\"right\" placement=\"above\" />\n\n\n    <XAxisTitle title=\"GGGG\" alignment=\"left\" rotate={true} />\n    <XAxisTitle title=\"HHHH\" alignment=\"center\" rotate={true} />\n    <XAxisTitle title=\"IIII\" alignment=\"right\" rotate={true} />\n\n    <XAxisTitle title=\"JJJJ\" alignment=\"left\" placement=\"above\" rotate={true} />\n    <XAxisTitle title=\"KKKK\" alignment=\"center\" placement=\"above\" rotate={true} />\n    <XAxisTitle title=\"LLLL\" alignment=\"right\" placement=\"above\" rotate={true} />\n\n\n    <XAxisTitle title=\"MMMM\" position=\"top\" alignment=\"left\" />\n    <XAxisTitle title=\"NNNN\" position=\"top\" alignment=\"center\" />\n    <XAxisTitle title=\"OOOO\" position=\"top\" alignment=\"right\" />\n\n    <XAxisTitle title=\"PPPP\" position=\"top\" alignment=\"left\" placement=\"below\" />\n    <XAxisTitle title=\"QQQQ\" position=\"top\" alignment=\"center\" placement=\"below\" />\n    <XAxisTitle title=\"RRRR\" position=\"top\" alignment=\"right\" placement=\"below\" />\n\n\n    <XAxisTitle title=\"SSSS\" position=\"top\" alignment=\"left\" rotate={true} />\n    <XAxisTitle title=\"TTTT\" position=\"top\" alignment=\"center\" rotate={true} />\n    <XAxisTitle title=\"UUUU\" position=\"top\" alignment=\"right\" rotate={true} />\n\n    <XAxisTitle title=\"VVVV\" position=\"top\" alignment=\"left\" placement=\"below\" rotate={true} />\n    <XAxisTitle title=\"WWWW\" position=\"top\" alignment=\"center\" placement=\"below\" rotate={true} />\n    <XAxisTitle title=\"XXXX\" position=\"top\" alignment=\"right\" placement=\"below\" rotate={true} />\n  </XYPlot>;\n};\n\nReactDOM.render(<XAxisTitleExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XAxisTitle/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"XAxisTitle\",\n  \"methods\": [\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"distance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Title distance from X Axis\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'top'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'bottom'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of title in regards to the x axis. Accepted options are \\\"top\\\" or \\\"bottom\\\"\",\n      \"defaultValue\": {\n        \"value\": \"'bottom'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'above'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'below'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of title in regards to the x axis. Accepted options are \\\"above\\\" or \\\"below\\\"\"\n    },\n    \"alignment\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'left'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'center'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'right'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"'center'\",\n        \"computed\": false\n      }\n    },\n    \"rotate\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Object declaring styles for label.\\n\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\nin order to ensure that our collision library measureText is able to calculate the\\nsmallest amount of possible collisions along the axis. It's therefore dependent on\\nfontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\\nstylesheet, we suggest creating a styled title component that wraps XAxisTitle with your preferred styles.\",\n      \"defaultValue\": {\n        \"value\": \"{\\n  fontFamily: 'Helvetica, sans-serif',\\n  fontSize: '24px',\\n  fontWeight: 'bold',\\n  lineHeight: 1,\\n}\",\n        \"computed\": false\n      }\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"title\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"children\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XGrid/XGridDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XGrid',\n    codeText: require('./examples/XGrid.js.example').default,\n  },\n];\n\nexport default class XGridExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XGrid\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XGrid/examples/XGrid.js.example",
    "content": "const XGridExample = (props) => {\n  const size = {width: 400, height: 300};\n\n  return <div>\n    <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n      <XGrid tickCount={50} />\n      <XGrid tickCount={5} lineStyle={{stroke: 'blue', strokeWidth: 2}} />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<XGridExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XGrid/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"XGrid\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"lineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XLine/XLineDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XLine',\n    codeText: require('./examples/XLine.js.example').default,\n  },\n];\n\nexport default class XLineExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XLine\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XLine/examples/XLine.js.example",
    "content": "const XLineExample = (props) => {\n  return <div>\n    <XYPlot width={400} height={300} xDomain={[-20, 20]} yDomain={[-20, 20]} spacingTop={10}>\n      <XAxis/><YAxis/>\n      <XLine value={-12} style={{stroke: 'red'}} />\n      <XLine value={15} style={{stroke: 'blue', strokeWidth: 3}} />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<XLineExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XLine/propDocs.json",
    "content": "{\n  \"description\": \"`XLine` is a vertical line rendered on the x axis\",\n  \"displayName\": \"XLine\",\n  \"methods\": [],\n  \"props\": {\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Height of chart - provided by XYPlot\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    },\n    \"value\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot\"\n    },\n    \"yLimit\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"yDomain\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"The Y domain of the data as an array - provided by XYPlot\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing top - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing bottom - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the line\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"className\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the line\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XTicks/XTicksDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XTicks',\n    codeText: require('./examples/XTicks.js.example').default,\n  },\n];\n\nexport default class XTicksExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XTicks\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XTicks/examples/XTicks.js.example",
    "content": "const XTicksExample = (props) => {\n  const size = {width: 300, height: 100};\n  const chartStyle = {marginBottom: '10px'};\n\n  return <div>\n    <div style={chartStyle}>\n      Default: <br/>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <XTicks />\n      </XYPlot>\n    </div>\n    <div style={chartStyle}>\n      Multiple sets of ticks, with options: <br/>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <XTicks placement=\"above\" tickCount={10} />\n        <XTicks position=\"top\" placement=\"below\" tickCount={5} tickLength={20} />\n        <XTicks position=\"top\" tickCount={30} tickLength={15} tickStyle={{stroke: 'red'}} />\n      </XYPlot>\n    </div>\n  </div>\n};\n\n\nReactDOM.render(<XTicksExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XTicks/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"XTicks\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Height of chart - provided by XYPlot.\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot.\"\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'bottom'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'top'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of x ticks. Accepted options are \\\"bottom\\\" or \\\"top\\\".\",\n      \"defaultValue\": {\n        \"value\": \"'bottom'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'above'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'below'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of ticks in regards to the x axis. Accepted options are \\\"above\\\" or \\\"below\\\".\"\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom ticks to display.\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of ticks on axis.\"\n    },\n    \"tickLength\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"tickStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each tick.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"tickClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each tick.\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingTop.\"\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingBottom.\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Round ticks to capture extent of given x domain from XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XYPlot/XYPlotDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic XYPlot',\n    codeText: require('./examples/XYPlot.js.example').default,\n  },\n  {\n    id: 'spacing',\n    label: 'Custom Spacing',\n    codeText: require('./examples/CustomSpacing.js.example').default,\n  },\n];\n\nexport default class XYPlotExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"XYPlot\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/XYPlot/examples/CustomSpacing.js.example",
    "content": "const SpacingExample = (props) => {\n  const spacing = {spacingLeft: 10, spacingTop: 53, spacingRight: 16, spacingBottom: 9};\n\n  return <div>\n    <XYPlot {...{width: 400, height: 350}} {...spacing}>\n      <XAxis />\n      <YAxis />\n      <LineChart\n        data={_.range(100)}\n        x={d => d}\n        y={d => Math.sin(d*.1)}\n      />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<SpacingExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XYPlot/examples/XYPlot.js.example",
    "content": "const MultipleXYExample = (props) => {\n  return <div>\n    <XYPlot xyPlotContainerStyle={{ transform: \"translateX(50px)\" }} xyPlotStyle={{fill: \"white\"}} xDomain={[-2, 2]} yDomain={[-2, 2]} {...{width: 400, height: 400}}>\n      <XAxis title=\"Phase\" />\n      <YAxis title=\"Intensity\" />\n\n      <RangeBarChart\n        data={_.range(0, 2, .03)}\n        x={d => d}\n        y={d => (Math.sin(d*3) * .7) + 1.2}\n        yEnd={d => (Math.sin(d*3) * Math.cos(d*3) * .7) + 1.2}\n        barThickness={2}\n        barStyle={{fill: '#3690c0'}}\n      />\n\n      <LineChart\n        data={_.range(-2, 0, .005)}\n        x={d => d}\n        y={d => Math.pow(Math.abs(Math.sin(d*5)), Math.abs(Math.sin(d*.25))) * 1.8}\n        lineStyle={{stroke: '#02818a', strokeWidth: 3}}\n      />\n\n      <ScatterPlot\n        data={_.range(-2, 0, .05)}\n        x={d => d}\n        y={d => Math.pow(2, (d + 2) * 1.8) * 0.1}\n        pointSymbol={<rect width={5} height={5} fill=\"#3690c0\" />}\n      />\n\n      <BarChart\n        data={_.range(0, 2, .03)}\n        x={d => d}\n        y={d => -Math.abs(Math.sin(d*4) * Math.cos(d*3))}\n        barThickness={3}\n        barStyle={{fill: '#67a9cf'}}\n      />\n\n      <MarkerLineChart\n        data={_.range(0, 1.5, .1)}\n        x={d => d}\n        y={d => Math.cos(d)}\n        lineStyle={{stroke: '#ec7014', strokeWidth: 3}}\n      />\n\n      <ColorHeatmap\n        data={_.flatten(_.range(-2, 0, .1).map(i => _.range(-2, 0, .1).map(j => [i, j])))}\n        value={([i, j]) => Math.sin(i * j * 5)}\n        x={([i, j]) => i}\n        xEnd={([i, j]) => i + .1}\n        y={([i, j]) => j}\n        yEnd={([i, j]) => j + .1}\n        colors={['#d0d1e6', '#016450']}\n        interpolator={'lab'}\n      />\n\n      <AreaHeatmap\n        data={_.flatten(_.range(0, 2, .1).map(i => _.range(-2, -1, .1).map(j => [i, j])))}\n        area={([i, j]) => -Math.sin(i * j * 5)}\n        x={([i, j]) => i}\n        xEnd={([i, j]) => i + .1}\n        y={([i, j]) => j}\n        yEnd={([i, j]) => j + .1}\n        rectStyle={{fill: '#016450'}}\n      />\n    </XYPlot>\n  </div>;\n};\n\nReactDOM.render(<MultipleXYExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/XYPlot/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"XYPlot\",\n  \"methods\": [\n    {\n      \"name\": \"onXYMouseEvent\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"callbackKey\",\n          \"type\": null\n        },\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"(outer) width of the chart (SVG element).\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"(outer) width of the chart (SVG element).\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"xDomain\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"The X domain of the data as an array.\\nFor numerical scales, this is represented as [min, max] of the data;\\nfor ordinal/categorical scales it is an array of known values ie. ['a', 'b', 'c'].\\nAutomatically determined from data if not passed.\"\n    },\n    \"yDomain\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"The Y domain of the data as an array.\\nFor numerical scales, this is represented as [min, max] of the data;\\nfor ordinal/categorical scales it is an array of known values ie. ['a', 'b', 'c'].\\nAutomatically determined from data if not passed.\"\n    },\n    \"xScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"yScaleType\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"invertXScale\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Whether or not to invert the x scale\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"invertYScale\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Whether or not to invert the y scale\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"includeXZero\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Whether or not to coerce 0 into your x domain\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"includeYZero\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Whether or not to coerce 0 into your y domain\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"marginTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal top margin, in pixels.\"\n    },\n    \"marginBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal bottom margin, in pixels.\"\n    },\n    \"marginLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal left margin, in pixels.\"\n    },\n    \"marginRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal right margin, in pixels.\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal top spacing of XYPlot, in pixels.\"\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal bottom spacing of XYPlot, in pixels.\"\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal left spacing of XYPlot, in pixels.\"\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal right spacing of XYPlot, in pixels.\"\n    },\n    \"onMouseMove\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseEnter\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseLeave\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseDown\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseUp\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onClick\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"xyPlotContainerStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the parent SVG element that wraps XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"xyPlotStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the plot.\\nThis is the inner rect DOM element where the graphs are rendered within the axes.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"xyPlotClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute applied to xy plot\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Scale determined by our resolveXYScales higher order component.\\nOverride this prop if you'd like to pass in your own d3 scale.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Scale determined by our resolveXYScales higher order component.\\nOverride this prop if you'd like to pass in your own d3 scale.\"\n    },\n    \"children\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxis/YAxisDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YAxis',\n    codeText: require('./examples/YAxis.js.example').default,\n  },\n  {\n    id: 'customTicks',\n    label: 'YAxis with custom ticks',\n    codeText: require('./examples/YAxisCustomTicks.js.example').default,\n  },\n];\n\nexport default class YAxisExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YAxis\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxis/examples/YAxis.js.example",
    "content": "const YAxisExample = (props) => {\n  const dateDomain = [new Date(2008, 0, 1), new Date(2017, 0, 1)];\n  const numberDomain = [-20, 20];\n  const categoricalDomain = ['puppies', 'kitties', 'ponies'];\n  const size = {width: 100, height: 300};\n  const chartStyle = {display: 'inline-block', marginRight: '10px'};\n\n  return <div>\n    <div style={chartStyle}>\n      <XYPlot xDomain={numberDomain} yDomain={numberDomain} {...size}>\n        <YAxis title=\"Number\"/>\n      </XYPlot>\n    </div>\n    <div style={chartStyle}>\n      <XYPlot xDomain={numberDomain} yDomain={dateDomain} {...size}>\n        <YAxis title=\"Date\"/>\n      </XYPlot>\n    </div>\n    <div style={chartStyle}>\n      <XYPlot xDomain={numberDomain} yDomain={categoricalDomain} {...size}>\n        <YAxis title=\"Categorical\"/>\n      </XYPlot>\n    </div>\n  </div>\n};\n\n\nReactDOM.render(<YAxisExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YAxis/examples/YAxisCustomTicks.js.example",
    "content": "const YAxisCustomTicksExample = (props) => {\n  const size = {width: 150, height: 300};\n\n  return <div>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <YAxis title=\"Custom Ticks\" ticks={[-12, -5, -2, 0, 2, 5, 12]}/>\n      </XYPlot>\n  </div>\n};\n\nReactDOM.render(<YAxisCustomTicksExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YAxis/propDocs.json",
    "content": "{\n  \"description\": \"`YAxis` is the vertical axis of the chart. `YAxis` is a wrapper around `YGrid`, `YTicks`,\\n`YAxisLabels`, and `YAxisTitle`. See their respective docs for prop documentation.\",\n  \"displayName\": \"YAxis\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseMove\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseEnter\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnMouseLeave\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"handleOnClick\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"'left'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Extends the y domain to start and end on rounded values,\\nguaranteeing the original domain will be covered.\\nSee d3 docs for more information\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal top spacing of YAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal bottom spacing of YAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal left spacing of YAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Internal right spacing of YAxis, in pixels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"showTitle\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showLabels\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showTicks\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"showGrid\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"title\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"titleAlign\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleRotate\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"titleStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"3\",\n        \"computed\": false\n      }\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelFormat\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelFormats\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labels\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"labelOffset\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Adds vertical offset (along the YAxis) to the labels\"\n    },\n    \"tickLength\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"tickClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"gridLineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"gridLineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseClickLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseEnterLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseMoveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseLeaveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"onMouseEnterAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the y axis.\"\n    },\n    \"onMouseLeaveAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the y axis.\"\n    },\n    \"onMouseMoveAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the y axis.\"\n    },\n    \"onMouseClickAxis\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`click` event handler callback, called when user's mouse clicks on the y axis.\"\n    },\n    \"showLine\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Show Y Axis line\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the Y Axis line\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxisLabels/YAxisLabelsDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YAxisLabels',\n    codeText: require('./examples/YAxisLabels.js.example').default,\n  },\n];\n\nexport default class YAxisLabelsExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YAxisLabels\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxisLabels/examples/YAxisLabels.js.example",
    "content": "const YAxisLabelsExample = (props) => {\n  const chartStyle = {marginBottom: '10px'};\n\n  return <div>\n    <div style={chartStyle}>\n      <XYPlot\n        width={300} height={300}\n        xDomain={[-20, 20]} yDomain={[-20, 20]}\n      >\n        <YAxisLabels\n          formats={[\"+\"]}\n        />\n        <YAxisLabels\n          format={label => label + \"%\"}\n          position=\"right\"\n          tickCount={5}\n          labelStyle={(label) => {\n            const is20 = Math.abs(label.value) === 20;\n            return {\n              fill: is20 ? \"green\" : \"black\",\n              fontWeight: is20 ? 900 : 400\n            };\n          }}\n        />\n      </XYPlot>\n    </div>\n  </div>\n};\n\nReactDOM.render(<YAxisLabelsExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YAxisLabels/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"YAxisLabels\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getLabels\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Height of chart - provided by XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Width of chart - provided by XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'left'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'right'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of y axis labels. Accepted options are \\\"left\\\" or \\\"right\\\".\",\n      \"defaultValue\": {\n        \"value\": \"'left'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'before'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'after'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of labels in regards to the y axis. Accepted options are \\\"before\\\" or \\\"after\\\".\"\n    },\n    \"distance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Label distance from Y Axis.\",\n      \"defaultValue\": {\n        \"value\": \"4\",\n        \"computed\": false\n      }\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Round ticks to capture extent of given y domain from XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of ticks on axis.\",\n      \"defaultValue\": {\n        \"value\": \"10\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom ticks to display.\",\n      \"defaultValue\": {\n        \"value\": \"null\",\n        \"computed\": false\n      }\n    },\n    \"labelStyle\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"func\"\n          },\n          {\n            \"name\": \"object\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Inline style object applied to each label,\\nor accessor function which returns a style object\\n\\nDisclaimer: labelStyle will merge its defaults with the given labelStyle prop\\nin order to ensure that our collision library measureText is able to calculate the\\nsmallest amount of possible collisions along the axis. It's therefore dependent on\\nfontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\\nstylesheet, we suggest creating a styled label component that wraps YAxisLabels with your preferred styles.\",\n      \"defaultValue\": {\n        \"value\": \"{\\n  fontFamily: 'Helvetica, sans-serif',\\n  fontSize: '14px',\\n  lineHeight: 1,\\n  textAnchor: 'end',\\n}\",\n        \"computed\": false\n      }\n    },\n    \"labelClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the label given spacingLeft\"\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the label given spacingRight\"\n    },\n    \"onMouseEnterLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseenter` event handler callback, called when user's mouse enters the label.\"\n    },\n    \"onMouseMoveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mousemove` event handler callback, called when user's mouse moves within the label.\"\n    },\n    \"onMouseLeaveLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseleave` event handler callback, called when user's mouse leaves the label.\"\n    },\n    \"onMouseClickLabel\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"`mouseclick` event handler callback, called when user's mouse clicks the label.\"\n    },\n    \"format\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"An accessor function that returns the updated label.\\n\\nFor example, given labels with real numbers one can pass in the following accessor,\\n(label) => `${label}%`, to display percentages.\"\n    },\n    \"formats\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\\nto use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\\ncan be either string(s) or function(s), utilizing d3-format.\\n\\nFor example, given labels with real numbers one can pass in [\\\".0%\\\"] for a rounded percentage, like 12%.\"\n    },\n    \"labels\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom labels provided. Note that each object in the array has to be of shape.\\n`{\\n value,\\n text,\\n height,\\n width\\n}`\\nvalue - value you'd like this label to be aligned with\\ntext - text you'd like displayed\\nheight - height of the given label\\nwidth - width of the given label\"\n    },\n    \"offset\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Adds vertical offset (along the YAxis) to the labels.\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxisTitle/YAxisTitleDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YAxisTitle',\n    codeText: require('./examples/YAxisTitle.js.example').default,\n  },\n  {\n    id: 'all',\n    label: 'YAxisTitle Positions and Placements',\n    codeText: require('./examples/YAxisTitleAll.js.example').default,\n  },\n];\n\nexport default class YAxisTitleExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YAxisTitle\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YAxisTitle/examples/YAxisTitle.js.example",
    "content": "const YAxisTitleExample = (props) => {\n  const xyProps = {\n    width: 400, height: 300,\n    xDomain: [0, 100], yDomain: [0, 100]\n  };\n\n  return <XYPlot {...xyProps}>\n    <YAxisTitle title=\"Basic Y Axis Title\" />\n  </XYPlot>;\n};\n\nReactDOM.render(<YAxisTitleExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YAxisTitle/examples/YAxisTitleAll.js.example",
    "content": "const YAxisTitleExample = (props) => {\n  const xyProps = {\n    width: 500, height: 360,\n    xDomain: [0, 100], yDomain: [0, 100]\n  };\n\n  return <XYPlot {...xyProps}>\n    <YAxisTitle title=\"AAAA\" alignment=\"top\"  />\n    <YAxisTitle title=\"BBBB\" alignment=\"middle\" />\n    <YAxisTitle title=\"CCCC\" alignment=\"bottom\" />\n\n    <YAxisTitle title=\"DDDD\" alignment=\"top\" rotate={false} />\n    <YAxisTitle title=\"EEEE\" alignment=\"middle\" rotate={false} />\n    <YAxisTitle title=\"FFFF\" alignment=\"bottom\" rotate={false} />\n\n\n    <YAxisTitle title=\"GGGG\" alignment=\"top\" placement=\"after\" />\n    <YAxisTitle title=\"HHHH\" alignment=\"middle\" placement=\"after\" />\n    <YAxisTitle title=\"IIII\" alignment=\"bottom\" placement=\"after\" />\n\n    <YAxisTitle title=\"JJJJ\" alignment=\"top\" placement=\"after\" rotate={false} />\n    <YAxisTitle title=\"KKKK\" alignment=\"middle\" placement=\"after\" rotate={false} />\n    <YAxisTitle title=\"LLLL\" alignment=\"bottom\" placement=\"after\" rotate={false} />\n\n\n    <YAxisTitle title=\"MMMM\" alignment=\"top\" position=\"right\" />\n    <YAxisTitle title=\"NNNN\" alignment=\"middle\" position=\"right\" />\n    <YAxisTitle title=\"OOOO\" alignment=\"bottom\" position=\"right\" />\n\n    <YAxisTitle title=\"PPPP\" alignment=\"top\" position=\"right\" rotate={false} />\n    <YAxisTitle title=\"QQQQ\" alignment=\"middle\" position=\"right\" rotate={false} />\n    <YAxisTitle title=\"RRRR\" alignment=\"bottom\" position=\"right\" rotate={false} />\n\n\n    <YAxisTitle title=\"SSSS\" alignment=\"top\" placement=\"before\" position=\"right\" />\n    <YAxisTitle title=\"TTTT\" alignment=\"middle\" placement=\"before\" position=\"right\" />\n    <YAxisTitle title=\"UUUU\" alignment=\"bottom\" placement=\"before\" position=\"right\" />\n\n    <YAxisTitle title=\"VVVV\" alignment=\"top\" position=\"right\" placement=\"before\" rotate={false} />\n    <YAxisTitle title=\"WWWW\" alignment=\"middle\" position=\"right\" placement=\"before\" rotate={false} />\n    <YAxisTitle title=\"XXXX\" alignment=\"bottom\" position=\"right\" placement=\"before\" rotate={false} />\n  </XYPlot>;\n};\n\nReactDOM.render(<YAxisTitleExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YAxisTitle/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"YAxisTitle\",\n  \"methods\": [\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"250\",\n        \"computed\": false\n      }\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"400\",\n        \"computed\": false\n      }\n    },\n    \"distance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Title distance from Y Axis\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'left'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'right'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of title in regards to the y axis. Accepted options are \\\"left\\\" or \\\"right\\\"\",\n      \"defaultValue\": {\n        \"value\": \"'left'\",\n        \"computed\": false\n      }\n    },\n    \"alignment\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'top'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'middle'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'bottom'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"'middle'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'before'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'after'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of title in regards to the y axis. Accepted options are \\\"before\\\" or \\\"after\\\"\"\n    },\n    \"rotate\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Object declaring styles for label.\\n\\nDisclaimer: style will merge its defaults with the given style prop\\nin order to ensure that our collision library measureText is able to calculate the\\nsmallest amount of possible collisions along the axis. It's therefore dependent on\\nfontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\\nstylesheet, we suggest creating a styled title component that wraps YAxisTitle with your preferred styles.\",\n      \"defaultValue\": {\n        \"value\": \"{\\n  fontFamily: 'Helvetica, sans-serif',\\n  fontSize: '24px',\\n  fontWeight: 'bold',\\n  lineHeight: 1,\\n}\",\n        \"computed\": false\n      }\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"title\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"children\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YGrid/YGridDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YGrid',\n    codeText: require('./examples/YGrid.js.example').default,\n  },\n];\n\nexport default class YGridExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YGrid\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YGrid/examples/YGrid.js.example",
    "content": "const YGridExample = (props) => {\n  const size = {width: 400, height: 300};\n\n  return <div>\n    <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n      <YGrid tickCount={50} />\n      <YGrid tickCount={5} lineStyle={{stroke: 'blue', strokeWidth: 2}} />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<YGridExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YGrid/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"YGrid\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingTop\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingBottom\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"lineClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"lineStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YLine/YLineDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YLine',\n    codeText: require('./examples/YLine.js.example').default,\n  },\n];\n\nexport default class YLineExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YLine\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YLine/examples/YLine.js.example",
    "content": "const YLineExample = (props) => {\n  return <div>\n    <XYPlot width={400} height={300} xDomain={[-20, 20]} yDomain={[-20, 20]} spacingRight={10}>\n      <XAxis/><YAxis/>\n      <YLine value={-12} style={{stroke: 'red'}} />\n      <YLine value={15} style={{stroke: 'blue', strokeWidth: 3}} />\n    </XYPlot>\n  </div>\n};\n\nReactDOM.render(<YLineExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YLine/propDocs.json",
    "content": "{\n  \"description\": \"`YLine` is a horizontal line rendered on the y axis\",\n  \"displayName\": \"YLine\",\n  \"methods\": [],\n  \"props\": {\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot\"\n    },\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Width of chart - provided by XYPlot.\"\n    },\n    \"value\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": true,\n      \"description\": \"\"\n    },\n    \"xScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for X axis - provided by XYPlot\"\n    },\n    \"xLimit\": {\n      \"type\": {\n        \"name\": \"union\",\n        \"value\": [\n          {\n            \"name\": \"number\"\n          },\n          {\n            \"name\": \"string\"\n          },\n          {\n            \"name\": \"instanceOf\",\n            \"value\": \"Date\"\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"\"\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing left - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing right - provided by XYPlot\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"style\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to the line\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"className\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to the line\",\n      \"defaultValue\": {\n        \"value\": \"''\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YTicks/YTicksDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic YTicks',\n    codeText: require('./examples/YTicks.js.example').default,\n  },\n];\n\nexport default class YTicksExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"YTicks\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/YTicks/examples/YTicks.js.example",
    "content": "const YTicksExample = (props) => {\n  const size = {width: 100, height: 300};\n  const chartStyle = {display: 'inline-block', marginRight: '10px'};\n\n  return <div>\n    <div>\n      Left: default params<br />\n      Right: Multiple sets of ticks, with options\n    </div>\n    <div style={chartStyle}>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <YTicks />\n      </XYPlot>\n    </div>\n    <div style={chartStyle}>\n      <XYPlot xDomain={[-20, 20]} yDomain={[-20, 20]} {...size}>\n        <YTicks placement=\"after\" tickCount={10} />\n        <YTicks position=\"right\" placement=\"before\" tickCount={5} tickLength={20} />\n        <YTicks position=\"right\" tickCount={30} tickLength={15} tickStyle={{stroke: 'red'}} />\n      </XYPlot>\n    </div>\n  </div>\n};\n\n\nReactDOM.render(<YTicksExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/YTicks/propDocs.json",
    "content": "{\n  \"description\": \"\",\n  \"displayName\": \"YTicks\",\n  \"methods\": [\n    {\n      \"name\": \"getTickDomain\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"getMargin\",\n      \"docblock\": null,\n      \"modifiers\": [\"static\"],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Width of chart - provided by XYPlot.\"\n    },\n    \"yScale\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"D3 scale for Y axis - provided by XYPlot.\"\n    },\n    \"position\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'left'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'right'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Position of y ticks. Accepted options are \\\"left\\\" or \\\"right\\\".\",\n      \"defaultValue\": {\n        \"value\": \"'left'\",\n        \"computed\": false\n      }\n    },\n    \"placement\": {\n      \"type\": {\n        \"name\": \"enum\",\n        \"value\": [\n          {\n            \"value\": \"'before'\",\n            \"computed\": false\n          },\n          {\n            \"value\": \"'after'\",\n            \"computed\": false\n          }\n        ]\n      },\n      \"required\": false,\n      \"description\": \"Placement of ticks in regards to the y axis. Accepted options are \\\"before\\\" or \\\"after\\\".\"\n    },\n    \"ticks\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Custom ticks to display.\"\n    },\n    \"tickCount\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Number of ticks on axis.\"\n    },\n    \"tickLength\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"\",\n      \"defaultValue\": {\n        \"value\": \"5\",\n        \"computed\": false\n      }\n    },\n    \"tickStyle\": {\n      \"type\": {\n        \"name\": \"object\"\n      },\n      \"required\": false,\n      \"description\": \"Inline style object to be applied to each tick.\",\n      \"defaultValue\": {\n        \"value\": \"{}\",\n        \"computed\": false\n      }\n    },\n    \"tickClassName\": {\n      \"type\": {\n        \"name\": \"string\"\n      },\n      \"required\": false,\n      \"description\": \"Class attribute to be applied to each tick.\"\n    },\n    \"spacingLeft\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingLeft.\"\n    },\n    \"spacingRight\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingRight.\"\n    },\n    \"nice\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Round ticks to capture extent of given y domain from XYPlot.\",\n      \"defaultValue\": {\n        \"value\": \"true\",\n        \"computed\": false\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ZoomContainer/ZoomContainerDocs.js",
    "content": "import React from 'react';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Basic ZoomContainer',\n    codeText: require('./examples/ZoomContainer.js.example').default,\n  },\n  {\n    id: 'controlled',\n    label: 'Controlled ZoomContainer',\n    codeText: require('./examples/ZoomContainerControlled.js.example').default,\n  },\n];\n\nexport default class ZoomContainerExamples extends React.Component {\n  render() {\n    return (\n      <ComponentDocs name=\"ZoomContainer\" propDocs={propDocs}>\n        {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </ComponentDocs>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/ZoomContainer/examples/ZoomContainer.js.example",
    "content": "const ZoomContainerExample = (props) => {\n  return <div>\n    <ZoomContainer width={600} height={350}>\n      <XYPlot scaleType=\"linear\" width={600} height={350}>\n        <XAxis title=\"Phase\" />\n        <YAxis title=\"Intensity\" />\n        <LineChart\n          data={_.range(100)}\n          x={d => d}\n          y={d => Math.sin(d*.1)}\n        />\n      </XYPlot>\n    </ZoomContainer>\n  </div>\n};\n\nReactDOM.render(<ZoomContainerExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/ZoomContainer/examples/ZoomContainerControlled.js.example",
    "content": "const width = 600;\nconst height = 350;\n\nfunction getNewZoomProps(newZoomScale, oldZoomScale, oldZoomX, oldZoomY, width, height) {\n  // Some math is required here in order to ensure that whatever is in the center of the viewport\n  // remains in the center of the viewport after zooming in/out.\n  // It's possible to only update zoomScale (and not zoomX & zoomY), but doing so will zoom relative to the\n  // top left corner of the chart, rather than viewport center.\n\n  return {\n    zoomX: width / 2 - newZoomScale / oldZoomScale * (width / 2 - oldZoomX),\n    zoomY: height / 2 - newZoomScale / oldZoomScale * (height / 2 - oldZoomY),\n    zoomScale: newZoomScale\n  };\n}\n\nclass ZoomControlledExample extends React.Component {\n  state = {\n    zoomTransform: {k: 1, x: 0, y: 0},\n    zoomX: 0,\n    zoomY: 0,\n    zoomScale: 1\n  };\n\n  handleZoom = nextZoomTransform => {\n    // callback called when user has zoomed (or panned)\n    // pass the new zoom transform from callback back down as props\n    if (!nextZoomTransform) return;\n    this.setState({\n      zoomX: nextZoomTransform.x,\n      zoomY: nextZoomTransform.y,\n      zoomScale: nextZoomTransform.k\n    });\n  };\n  handleClickZoomIn = () => {\n    const {zoomScale, zoomX, zoomY} = this.state;\n    const newZoomScale = this.state.zoomScale * 1.25;\n    this.setState(getNewZoomProps(newZoomScale, zoomScale, zoomX, zoomY, width, height));\n  };\n  handleClickZoomOut = () => {\n    const {zoomScale, zoomX, zoomY} = this.state;\n    const newZoomScale = this.state.zoomScale / 1.25;\n    this.setState(getNewZoomProps(newZoomScale, zoomScale, zoomX, zoomY, width, height));\n  };\n\n  render() {\n    return (\n      <div>\n        <ZoomContainer\n          width={width}\n          height={height}\n          onZoom={this.handleZoom}\n          controlled={true}\n          zoomX={this.state.zoomX}\n          zoomY={this.state.zoomY}\n          zoomScale={this.state.zoomScale}\n          disableMouseWheelZoom={true}\n        >\n          <XYPlot scaleType=\"linear\" width={600} height={350}>\n            <XAxis title=\"Phase\" />\n            <YAxis title=\"Intensity\" />\n            <LineChart data={_.range(100)} x={d => d} y={d => Math.sin(d * 0.1)} />\n          </XYPlot>\n        </ZoomContainer>\n        <div>\n          <button onClick={this.handleClickZoomIn}>[+] Zoom In</button>\n          <button onClick={this.handleClickZoomOut}>[-] Zoom Out</button>\n        </div>\n      </div>\n    );\n  }\n}\n\nReactDOM.render(<ZoomControlledExample />, mountNode);\n"
  },
  {
    "path": "docs/src/docs/ZoomContainer/propDocs.json",
    "content": "{\n  \"description\": \"`ZoomContainer` is a wrapper that gives users the ability to zoom in, zoom out and drag its children components.\",\n  \"displayName\": \"ZoomContainer\",\n  \"methods\": [\n    {\n      \"name\": \"handleZoom\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"event\",\n          \"type\": null\n        },\n        {\n          \"name\": \"...args\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    },\n    {\n      \"name\": \"_updateZoomProps\",\n      \"docblock\": null,\n      \"modifiers\": [],\n      \"params\": [\n        {\n          \"name\": \"props\",\n          \"type\": null\n        }\n      ],\n      \"returns\": null\n    }\n  ],\n  \"props\": {\n    \"width\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"(outer) width of the chart (SVG element).\",\n      \"defaultValue\": {\n        \"value\": \"800\",\n        \"computed\": false\n      }\n    },\n    \"height\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"(outer) width of the chart (SVG element).\",\n      \"defaultValue\": {\n        \"value\": \"600\",\n        \"computed\": false\n      }\n    },\n    \"onZoom\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Zoom callback function, called when zoom changes.\\nFor controlled version of this component, you should update zoomX, zoomY and zoomScale props in this callback.\"\n    },\n    \"controlled\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Boolean which determines whether the component is \\\"controlled\\\" (true) or \\\"stateful\\\" (false).\\nWhen true, zoom transformation is controlled entirely by the `zoomX`, `zoomY` and `zoomScale` props, which\\nyou are responsible for updating in the `onZoom` callback function.\\nWhen false, zoom transformation is handled by internal state, and the `zoomX`, `zoomY` and `zoomScale` props\\nspecify only the initial X, Y and scale transformation of the component.\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"disableMouseWheelZoom\": {\n      \"type\": {\n        \"name\": \"bool\"\n      },\n      \"required\": false,\n      \"description\": \"Disables wheel-driven zooming (say to not interfere with native scrolling).\",\n      \"defaultValue\": {\n        \"value\": \"false\",\n        \"computed\": false\n      }\n    },\n    \"zoomX\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The X-coordinate of the zoom transformation (or initial X-coordinate, if `controlled` is false).\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"zoomY\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The Y-coordinate of the zoom transformation (or initial Y-coordinate, if `controlled` is false).\",\n      \"defaultValue\": {\n        \"value\": \"0\",\n        \"computed\": false\n      }\n    },\n    \"zoomScale\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"The scaling factor of the zoom transformation (or initial scaling, if `controlled` is false).\\n1.0 is normal size, 2.0 is double size, 0.5 is half size.\",\n      \"defaultValue\": {\n        \"value\": \"1\",\n        \"computed\": false\n      }\n    },\n    \"extent\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the viewport extent to the specified array of points [[x0, y0], [x1, y1]],\\nwhere [x0, y0] is the top-left corner of the viewport and [x1, y1] is the bottom-right corner of the viewport.\\nSee d3-zoom docs for more information.\"\n    },\n    \"scaleExtent\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the scale extent to the specified array of numbers [k0, k1]\\nwhere k0 is the minimum allowed scale factor and k1 is the maximum allowed scale factor.\\nSee d3-zoom docs for more information.\"\n    },\n    \"translateExtent\": {\n      \"type\": {\n        \"name\": \"array\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the translate extent to the specified array of points [[x0, y0], [x1, y1]],\\nwhere [x0, y0] is the top-left corner of the world and [x1, y1] is the bottom-right corner of the world.\\nSee d3-zoom docs for more information.\"\n    },\n    \"clickDistance\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the maximum distance that the mouse can move between mousedown and mouseup that will trigger\\na subsequent click event.\\nSee d3-zoom docs for more information.\"\n    },\n    \"duration\": {\n      \"type\": {\n        \"name\": \"number\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the duration for zoom transitions on double-click and double-tap to the specified number of milliseconds.\\nSee d3-zoom docs for more information.\"\n    },\n    \"interpolate\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the interpolation factory for zoom transitions to the specified function.\\nSee d3-zoom docs for more information.\"\n    },\n    \"constrain\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the transform constraint function to the specified function.\\nSee d3-zoom docs for more information.\"\n    },\n    \"filter\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the zoom event filter to the specified function.\\nSee d3-zoom docs for more information.\"\n    },\n    \"touchable\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the touch support detector to the specified function.\\nSee d3-zoom docs for more information.\"\n    },\n    \"wheelDelta\": {\n      \"type\": {\n        \"name\": \"func\"\n      },\n      \"required\": false,\n      \"description\": \"Sets the wheel delta function to the specified function.\\nSee d3-zoom docs for more information.\"\n    },\n    \"children\": {\n      \"type\": {\n        \"name\": \"any\"\n      },\n      \"required\": false,\n      \"description\": \"\"\n    }\n  }\n}\n"
  },
  {
    "path": "docs/src/docs/index.js",
    "content": "export { default as AreaBarChartDocs } from './AreaBarChart/AreaBarChartDocs';\nexport { default as AreaChartDocs } from './AreaChart/AreaChartDocs';\nexport { default as AreaHeatmapDocs } from './AreaHeatmap/AreaHeatmapDocs';\nexport {\n  default as AriaLabelContainerDocs,\n} from './AriaLabelContainer/AriaLabelContainerDocs';\nexport { default as BarDocs } from './Bar/BarDocs';\nexport { default as BarChartDocs } from './BarChart/BarChartDocs';\nexport { default as ColorHeatmapDocs } from './ColorHeatmap/ColorHeatmapDocs';\nexport { default as FunnelChartDocs } from './FunnelChart/FunnelChartDocs';\nexport { default as HistogramDocs } from './Histogram/HistogramDocs';\nexport {\n  default as KernelDensityEstimationDocs,\n} from './KernelDensityEstimation/KernelDensityEstimationDocs';\nexport { default as LineChartDocs } from './LineChart/LineChartDocs';\nexport {\n  default as MarkerLineChartDocs,\n} from './MarkerLineChart/MarkerLineChartDocs';\nexport {\n  default as MeasuredValueLabelDocs,\n} from './MeasuredValueLabel/MeasuredValueLabelDocs';\nexport { default as PieChartDocs } from './PieChart/PieChartDocs';\nexport {\n  default as RangeBarChartDocs,\n} from './RangeBarChart/RangeBarChartDocs';\nexport { default as RangeRectDocs } from './RangeRect/RangeRectDocs';\nexport {\n  default as SankeyDiagramDocs,\n} from './SankeyDiagram/SankeyDiagramDocs';\nexport { default as ScatterPlotDocs } from './ScatterPlot/ScatterPlotDocs';\nexport { default as TreeMapDocs } from './TreeMap/TreeMapDocs';\nexport { default as XAxisDocs } from './XAxis/XAxisDocs';\nexport { default as XAxisLabelsDocs } from './XAxisLabels/XAxisLabelsDocs';\nexport { default as XAxisTitleDocs } from './XAxisTitle/XAxisTitleDocs';\nexport { default as XGridDocs } from './XGrid/XGridDocs';\nexport { default as XLineDocs } from './XLine/XLineDocs';\nexport { default as XTicksDocs } from './XTicks/XTicksDocs';\nexport { default as XYPlotDocs } from './XYPlot/XYPlotDocs';\nexport { default as YAxisDocs } from './YAxis/YAxisDocs';\nexport { default as YAxisLabelsDocs } from './YAxisLabels/YAxisLabelsDocs';\nexport { default as YAxisTitleDocs } from './YAxisTitle/YAxisTitleDocs';\nexport { default as YGridDocs } from './YGrid/YGridDocs';\nexport { default as YLineDocs } from './YLine/YLineDocs';\nexport { default as YTicksDocs } from './YTicks/YTicksDocs';\nexport {\n  default as ZoomContainerDocs,\n} from './ZoomContainer/ZoomContainerDocs';\n"
  },
  {
    "path": "docs/src/index_html.ejs",
    "content": "<!--\n  NOTE: index.html is autogenerated by webpack & html-webpack-plugin.\n  To modify this HTML, make changes to docs/src/index_html.ejs and then run `npm run build`.\n -->\n<!DOCTYPE html>\n<html>\n<head lang=\"en\">\n    <meta charset=\"UTF-8\">\n    <title><%= htmlWebpackPlugin.options.title %></title>\n    <!-- Compiled and minified Bootstrap 3.3.6 CSS + Sp-bootstrap 8.0.0 theme CSS -->\n    <link href=\"https://sp-bootstrap.global.ssl.fastly.net/8.0.0/sp-bootstrap.min.css\" rel=\"stylesheet\">\n\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.0.0/codemirror.min.css\"/>\n    <link rel=\"stylesheet\" href=\"//cdnjs.cloudflare.com/ajax/libs/codemirror/5.0.0/theme/monokai.min.css\"/>\n\n    <link rel=\"shortcut icon\" href=\"build/assets/favicon.png\">\n</head>\n\n<body>\n    <div class=\"navbar navbar-default\" role=\"navigation\">\n        <div class=\"container-fluid\">\n            <div class=\"navbar-header\">\n                <a class=\"navbar-brand\" href=\"#\">\n                    <span class=\"navbar-logo\">Spotify</span>\n                    <span class=\"navbar-title\">Reactochart</span>\n                </a>\n            </div>\n            <div class=\"collapse navbar-collapse\">\n            </div>\n        </div>\n    </div>\n\n    <div class=\"container-fluid\" id=\"container\">Loading...</div>\n</body>\n</html>"
  },
  {
    "path": "docs/src/lessons/GettersAndAccessors/GettersAndAccessorsLesson.js",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Lesson from '../../Lesson';\nimport ExampleSection from '../../ExampleSection';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Getters and Accessors Example',\n    codeText: require('./examples/GettersAndAccessors.js.example'),\n  },\n];\n\nexport default class GettersAndAccessorsLesson extends React.Component {\n  render() {\n    return (\n      <Lesson name=\"Getters and Accessors\" componentName=\"GettersAndAccessors\">\n        <p>\n          By now, you may have noticed that the charts in all of the previous\n          examples have props called\n          <code>getX</code> and <code>getY</code>, for which we've (so far)\n          given values <code>'x'</code>\n          and <code>'y'</code> respectively. We call these sorts of props{' '}\n          <strong>getter</strong> props, and they allow Reactochart to be\n          flexible about the format of the data you use in your charts.\n        </p>\n\n        <p>\n          A getter prop tells the chart how to get the parameters it needs from\n          the data you provide. Getters are used in components which accept a{' '}\n          <code>data</code> array prop, and for each element (or \"datum\") in the{' '}\n          <code>data</code>, the getter accesses a value from the datum in order\n          to draw one part of the chart. For example, in a{' '}\n          <code>LineChart</code>, <code>getX</code> and <code>getY</code>{' '}\n          determine the X and Y values where each line segment should be drawn,\n          while in a <code>BarChart</code> they determine the X position and\n          height of each bar. Some types of charts have other getters too, for\n          example a chart which represents data as a series of colors might have\n          a <code>getColor</code> prop.\n        </p>\n\n        <p>\n          This description of getters make them sound like functions which are\n          run on each datum, so why did we pass strings <code>'x'</code> and{' '}\n          <code>'y'</code>? All getters are in fact transformed into{' '}\n          <strong>accessor</strong> functions inside Reactochart, but getters\n          themselves have a bit more flexibility, for the sake of convenience.\n          Here are all the types of values which may be passed as a getter, and\n          the rules which determine how they are handled:\n        </p>\n\n        <ul>\n          <li>\n            <strong>Function:</strong> The simplest case - if the getter is a\n            function, it will be run on each datum in <code>data</code> and the\n            return value will be used.\n          </li>\n          <li>\n            <strong>Number:</strong> If an integer number is provided, the chart\n            will assume that data objects are arrays, and will use the number as\n            an array index to access the value. eg.{' '}\n            <code>\n              getX={'{'}3{'}'}\n            </code>{' '}\n            is equivalent to{' '}\n            <code>\n              getX={'{'}(datum) => datum[3]{'}'}\n            </code>\n          </li>\n          <li>\n            <strong>String:</strong> The string will be used as an object key to\n            access a value within each datum object. eg. passing{' '}\n            <code>getX='x'</code> is equivalent to{' '}\n            <code>\n              getX={'{'}(datum) => datum.x{'}'}\n            </code>\n            . If your data objects are more complicated, the string may also\n            contain dots to specify values which are multiple levels deep,\n            and/or numbers in brackets to specify values which are in arrays, eg{' '}\n            <code>\"userInfo[0].demographics.age\"</code>,\n          </li>\n          <li>\n            <strong>Null/undefined:</strong> Passing <code>null</code> or{' '}\n            <code>undefined</code> tells Reactochart to simply use the datum\n            itself as the value, ie. it's equivalent to{' '}\n            <code>\n              getX={'{'}(datum) => datum{'}'}\n            </code>\n            .\n          </li>\n        </ul>\n\n        <ExampleSection\n          id=\"basic\"\n          label=\"Getter Usage Example\"\n          codeText={\n            require('./examples/GettersAndAccessors.js.example').default\n          }\n        />\n\n        <p>\n          The last option mentioned above - passing <code>null</code> or{' '}\n          <code>undefined</code> to use the datum value itself - allows\n          Reactochart to be used as an ad hoc \"graphing calculator\". Simply\n          generate a range of numbers for your data (Lodash's{' '}\n          <a href=\"\">_.range function</a> is useful for this), and pass{' '}\n          <code>null</code> for <code>getX</code> and some numerical function\n          for <code>getY</code>. This is a great way to test your chart before\n          your data is ready. This pattern will be used in future examples,\n          since it's an easy way to generate \"fake\" data.\n        </p>\n\n        <ExampleSection\n          id=\"basic\"\n          label=\"Graphing Calculator Example\"\n          codeText={require('./examples/GraphingCalculator.js.example').default}\n        />\n      </Lesson>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/lessons/GettersAndAccessors/examples/GettersAndAccessors.js.example",
    "content": "const GettersAndAccessorsExample = (props) => {\n  // sample data in a few different shapes\n  const arrData = [\n    [0, 4], [5, 20], [10, 13], [15, 19]\n  ];\n  const objData = [\n    {count: 4, friends: [{id: 'a', age: 24}, {id: 'b', age: 19}]},\n    {count: 7, friends: [{id: 'a', age: 28}, {id: 'b', age: 29}]},\n    {count: 19, friends: [{id: 'a', age: 22}, {id: 'b', age: 44}]},\n    {count: 22, friends: [{id: 'a', age: 41}, {id: 'b', age: 22}]},\n  ];\n\n  return <XYPlot width={400} height={300}>\n    <XAxis />\n    <YAxis />\n    {/* array getters: line X is d[0] and line Y is d[1] */}\n    <LineChart\n      data={arrData}\n      getX={0} getY={1}\n      lineStyle={{stroke: 'royalblue'}}\n    />\n    {/* use strings for deep object access */}\n    <LineChart\n      data={objData}\n      getX=\"count\"\n      getY=\"friends[0].age\"\n      lineStyle={{stroke: 'orange'}}\n    />\n    {/* or use functions if you prefer */}\n    <LineChart\n      data={objData}\n      getX={(d) => d.count}\n      getY={(d) => d.friends[1].age}\n      lineStyle={{stroke: 'purple'}}\n    />\n  </XYPlot>\n};\n\n\nReactDOM.render(<GettersAndAccessorsExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/GettersAndAccessors/examples/GraphingCalculator.js.example",
    "content": "const GraphingCalculatorExample = (props) => {\n  // generate an array of numbers using _.range\n  // returns [0, 1, 2, 3, ..., 99]\n  const data = _.range(100);\n\n  return <XYPlot width={400} height={300}>\n    <XAxis />\n    <YAxis />\n    <LineChart\n      data={data}\n      // null getX - use the number itself as X value\n      getX={null}\n      // we want to plot a sine wave, so use Math.sin in our Y getter\n      getY={(d) => Math.sin(d*0.1)}\n    />\n  </XYPlot>\n};\n\n\nReactDOM.render(<GraphingCalculatorExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/Interaction/InteractionLesson.js",
    "content": "import React from 'react';\nimport Lesson from '../../Lesson';\nimport ExampleSection from '../../ExampleSection';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Interaction Example',\n    codeText: require('./examples/Interaction.js.example').default,\n  },\n];\n\nexport default class InteractionLesson extends React.Component {\n  render() {\n    return (\n      <Lesson name=\"Interaction\" componentName=\"Interaction\">\n        {/* Interaction lesson goes here. intersperse with examples or leave examples loop below */}\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </Lesson>\n    );\n  }\n}\n\n// todo: flesh out this lesson and re-do this example:\n\nconst CustomSelectionRect = () => {\n  const { scale, hoveredYVal } = this.props;\n  return hoveredYVal ? (\n    <rect\n      x=\"0\"\n      y={scale.y(hoveredYVal) - 20}\n      width=\"500\"\n      height=\"40\"\n      style={{ fill: 'red' }}\n    />\n  ) : null;\n};\n\nclass CustomChildExample extends React.Component {\n  state = {\n    hoveredYVal: null,\n  };\n\n  onMouseMoveChart = ({ yValue }) => {\n    this.setState({ hoveredYVal: yValue });\n  };\n\n  render() {\n    return (\n      <div>\n        <XYPlot\n          width={500}\n          height={400}\n          padding={{ bottom: 20, top: 20 }}\n          onMouseMove={this.onMouseMoveChart}\n        >\n          <XAxis />\n          <YAxis />\n          <CustomSelectionRect underAxes hoveredYVal={this.state.hoveredYVal} />\n          <BarChart horizontal data={[]} getX={0} getY={1} barThickness={20} />\n        </XYPlot>\n      </div>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/lessons/Interaction/examples/Interaction.js.example",
    "content": "// const InteractionExample = React.createClass({\nclass InteractionExample extends React.Component {\n  getInitialState() {\n    return {\n      activeValue: null\n    }\n  }\n  onEnterBar(e, d) {\n    this.setState({activeValue: d});\n  }\n  onLeaveBar(e, d) {\n    this.setState({activeValue: null})\n  }\n  render() {\n    const {activeValue} = this.state;\n\n    return <div>\n      {_.isNumber(activeValue) ?\n        <div>\n          {activeValue.toFixed(2)}\n        </div> :\n        <div>Hover over the chart to show values</div>\n      }\n      <XYPlot width={500} height={320}>\n        <XAxis /><YAxis />\n        <AreaBarChart\n          data={_.range(15)}\n          getX={d => Math.sin(d / 10) * 10}\n          getXEnd={d => Math.sin((d + 1) / 10) * 10}\n          getY={d => Math.cos(d / (Math.PI))}\n          onMouseEnterBar={this.onEnterBar}\n          onMouseLeaveBar={this.onLeaveBar}\n        />\n      </XYPlot>;\n    </div>\n  }\n}\n\nReactDOM.render(<InteractionExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/QuickStart/QuickStartLesson.js",
    "content": "import React from 'react';\nimport Lesson from '../../Lesson';\nimport ExampleSection from '../../ExampleSection';\n\nconst examples = [\n  {\n    id: 'basic',\n    label: 'Quick Start Example',\n    codeText: require('./examples/QuickStart.js.example').default,\n  },\n];\n\nexport default class QuickStartLesson extends React.Component {\n  render() {\n    return (\n      <Lesson name=\"Quick Start\" componentName=\"QuickStart\">\n        <p>\n          To get started using Reactochart, first install it using{' '}\n          <code>npm</code>:\n        </p>\n        <pre>npm install --save reactochart</pre>\n        <p>\n          Then you can <code>import</code> individual Reactochart components:\n        </p>\n        <pre>import LineChart from 'reactochart/LineChart'</pre>\n        <p>\n          The examples in this documentation will omit these imports to save\n          space, so make sure you remember to include them in your code to get\n          things working. For example, the example below requires importing the\n          following components:\n        </p>\n        <pre>\n          import XYPlot from 'reactochart/XYPlot';\n          <br />\n          import XAxis from 'reactochart/XAxis';\n          <br />\n          import YAxis from 'reactochart/YAxis';\n          <br />\n          import LineChart from 'reactochart/LineChart';\n        </pre>\n        <p>\n          If you prefer, you can import all of Reactochart at once, though this\n          may hinder some optimizations, such as <code>webpack</code>{' '}\n          tree-shaking:\n        </p>\n        <pre>\n          import {'{'}XYPlot, XAxis, YAxis, LineChart{'}'} from 'reactochart';\n          <br />\n          // or <br />\n          import * as Reactochart from 'reactochart';\n        </pre>\n        <p>\n          And now, here's our first line chart showing the basic usage of these\n          components. In this and all future examples, the code on the left side\n          is editable and will update the preview on the right - so experiment\n          and see for yourself how things work!\n        </p>\n\n        {examples.map(example => {\n          return <ExampleSection {...example} key={example.id} />;\n        })}\n      </Lesson>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/lessons/QuickStart/examples/QuickStart.js.example",
    "content": "const QuickStartExample = (props) => {\n  return <XYPlot width={400} height={300}>\n    <XAxis />\n    <YAxis />\n    <LineChart\n      data={[\n        {x: 0, y: 20},\n        {x: 5, y: 30},\n        {x: 10, y: 35},\n        {x: 15, y: 30},\n      ]}\n      x={d => d.x}\n      y={d => d.y}\n    />\n  </XYPlot>\n};\n\nReactDOM.render(<QuickStartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/XYPlots/XYPlotsLesson.js",
    "content": "import React from 'react';\nimport Lesson from '../../Lesson';\nimport ExampleSection from '../../ExampleSection';\n\nexport default class XYPlotsLesson extends React.Component {\n  render() {\n    return (\n      <Lesson name=\"XY Plots\" componentName=\"XYPlots\">\n        <p>\n          Nearly all of the chart components included in Reactochart (except\n          PieChart and TreeMap) are cartesian or \"X/Y\"-type charts. They accept\n          an array of <code>data</code> and represent these data with some form\n          of SVG marks on a 2-dimensional X/Y coordinate plane.\n        </p>\n        <p>\n          These chart components are not meant to be rendered on their own, but\n          should instead always be wrapped in a\n          <code>\n            {'<'}XYPlot{'>'}\n          </code>{' '}\n          component. <code>XYPlot</code> is a wrapper which iterates over all of\n          its charts and generates a common set of X and Y{' '}\n          <a href=\"https://github.com/d3/d3-scale\">scales</a>, which are shared\n          and provided to its children as <code>scale</code> props.{' '}\n          <code>XYPlot</code> also accepts several other props which apply to\n          all of its children, such as <code>width</code> and{' '}\n          <code>height</code>.\n        </p>\n        <p>\n          Here's an example of basic <code>XYPlot</code> to render a{' '}\n          <code>LineChart</code>:\n        </p>\n        <ExampleSection\n          id=\"basic\"\n          label=\"XYPlot and LineChart\"\n          codeText={require('./examples/LineChart.js.example').default}\n        />\n\n        <p>\n          Generally, you will want to render a <code>XAxis</code> and a{' '}\n          <code>YAxis</code> component along with your chart. These components\n          render titles, labels, ticks and grid lines to denote your X and Y\n          axes. One advantage of using a common <code>XYPlot</code> wrapper is\n          that it ensures the axis labels are using the same scales as the\n          charts themselves, and are therefore correctly labeling them.{' '}\n          <code>XAxis</code> and <code>YAxis</code> accept several props to\n          control how they are displayed; see their docs for more information.\n        </p>\n        <p>\n          Note that the axes will take up some space in the margin around the\n          chart. The <code>width</code> and <code>height</code> props provided\n          to <code>XYPlot</code> control the <strong>outer</strong> width of the\n          chart, including the margin and the axes inside them. The inner size\n          of the chart plot itself is determined by <code>XYPlot</code> and\n          passed down to children charts as (smaller) <code>width</code> and{' '}\n          <code>height</code> props.\n        </p>\n        <ExampleSection\n          id=\"lineChartWithAxis\"\n          label=\"LineChart with axes\"\n          codeText={require('./examples/LineChartWithAxis.js.example').default}\n        />\n\n        <p>\n          Another advantage of <code>XYPlot</code> is that it provides a common\n          container for rendering multiple charts together on the same axes.\n          These can be charts of the same type (ie. multiple{' '}\n          <code>LineCharts</code>), and/or multiple kinds of charts. Any of the\n          XY-type charts in Reactochart can be rendered alongside one another\n          inside <code>XYPlot</code>.\n        </p>\n        <p>\n          Note that these charts render SVG elements, which do not respect{' '}\n          <code>z-index</code>; instead their Z-order is determined by the order\n          in which they are drawn. So if you want to draw a{' '}\n          <code>BarChart</code> underneath a <code>LineChart</code>, put it\n          before the <code>LineChart</code> inside <code>XYPlot</code>.\n        </p>\n        <ExampleSection\n          id=\"multiChart\"\n          label=\"Multiple Charts in one XYPlot\"\n          codeText={require('./examples/MultiChart.js.example').default}\n        />\n      </Lesson>\n    );\n  }\n}\n"
  },
  {
    "path": "docs/src/lessons/XYPlots/examples/LineChart.js.example",
    "content": "const XYLineChartExample = (props) => {\n  const data = [\n    {x: 0, y: 20},\n    {x: 5, y: 30},\n    {x: 10, y: 35},\n    {x: 15, y: 30},\n  ];\n  return <XYPlot width={400} height={300}>\n    <LineChart\n      data={data}\n      x={d => d.x}\n      y={d => d.y}\n    />\n  </XYPlot>\n};\n\nReactDOM.render(<XYLineChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/XYPlots/examples/LineChartWithAxis.js.example",
    "content": "const XYLineChartExample = (props) => {\n  const data = [\n    {x: 0, y: 2},\n    {x: 5, y: 22},\n    {x: 10, y: 32},\n    {x: 15, y: 36},\n  ];\n  return <XYPlot width={400} height={300}>\n    <XAxis showGrid={false} title=\"Days since Zombiepocalypse\" />\n    <YAxis title=\"Zombie Attacks\"/>\n    <LineChart\n      data={data}\n      x={d => d.x}\n      y={d => d.y}\n    />\n  </XYPlot>\n};\n\nReactDOM.render(<XYLineChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/XYPlots/examples/MultiChart.js.example",
    "content": "const MultiChartExample = (props) => {\n  const data = [\n    {x: 0, y: 2, z: 3},\n    {x: 5, y: 22, z: 12},\n    {x: 10, y: 32, z: 15},\n    {x: 15, y: 36, z: 25},\n  ];\n  return <XYPlot width={400} height={300}>\n    <XAxis showGrid={false} title=\"Days since Zombiepocalypse\" />\n    <YAxis title=\"Zombie Attacks\"/>\n    <BarChart\n      data={data}\n      x={d => d.x}\n      y={d => d.y}\n      barThickness={35}\n      barStyle={{fill: '#888'}}\n    />\n    <LineChart\n      data={data}\n      x={d => d.x}\n      y={d => d.y}\n      lineStyle={{stroke: 'royalblue', strokeWidth: 5}}\n    />\n    <LineChart\n      data={data}\n      x={d => d.x}\n      y={d => d.z}\n      lineStyle={{stroke: 'coral', strokeWidth: 3}}\n    />\n  </XYPlot>\n};\n\nReactDOM.render(<MultiChartExample />, mountNode);\n"
  },
  {
    "path": "docs/src/lessons/index.js",
    "content": "export { default as QuickStartLesson } from \"./QuickStart/QuickStartLesson\";\nexport { default as XYPlotsLesson } from \"./XYPlots/XYPlotsLesson\";\nexport {\n  default as GettersAndAccessorsLesson\n} from \"./GettersAndAccessors/GettersAndAccessorsLesson\";\nexport { default as InteractionLesson } from \"./Interaction/InteractionLesson\";\n"
  },
  {
    "path": "docs/src/main.js",
    "content": "import '../styles/main.less';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { App } from './App';\n\nReactDOM.render(<App />, document.getElementById('container'));\n"
  },
  {
    "path": "docs/src/templates/ComponentDocsPage.js.template",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport ComponentDocs from '../../ComponentDocs';\nimport ExampleSection from '../../ExampleSection';\n// autogenerated docs data containing descriptions of this component's props\nimport propDocs from './propDocs.json';\n\nconst examples = [\n  {\n    id: \"basic\",\n    label: \"Basic ${componentName}\",\n    codeText: require('./examples/${componentName}.js.example').default,\n  },\n];\n\nexport default class ${componentName}Examples extends React.Component {\n  render() {\n    return <ComponentDocs name=\"${componentName}\" propDocs={propDocs}>\n\n      {/* documentation goes here. intersperse docs with examples or leave examples loop below */}\n\n      {examples.map(example => {\n        return <ExampleSection {...example} key={example.id} />;\n      })}\n    </ComponentDocs>;\n  }\n}\n"
  },
  {
    "path": "docs/src/templates/ComponentExample.js.template",
    "content": "const ${componentName}Example = (props) => {\n  return <div>insert example here</div>;\n};\n\nReactDOM.render(<${componentName}Example />, mountNode);\n"
  },
  {
    "path": "docs/src/templates/Lesson.js.template",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Lesson from '../../Lesson';\nimport ExampleSection from '../../ExampleSection';\n\nconst examples = [\n  {\n    id: \"basic\",\n    label: \"${name} Example\",\n    codeText: require('./examples/${componentName}.js.example').default,\n  },\n];\n\nexport default class ${componentName}Lesson extends React.Component {\n  render() {\n    return <Lesson name=\"${name}\" componentName=\"${componentName}\">\n\n      {/* ${name} lesson goes here. intersperse with examples or leave examples loop below */}\n\n      {examples.map(example => {\n        return <ExampleSection {...example} key={example.id} />;\n      })}\n    </Lesson>;\n  }\n}\n"
  },
  {
    "path": "docs/styles/main.less",
    "content": "@import \"../../styles/charts.less\";\n\nbody {\n  //font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  //margin: 0;\n  //padding: 0;\n  //background: #f0f0f0;\n  //color: #0f0f0f;\n\n  #container {\n    //margin: 10px;\n  }\n}\n\n.sidebar-nav {\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6 {\n    color: #f8f8f8;\n    text-transform: uppercase;\n  }\n  h3 {\n    font-size: 16px;\n  }\n  h4 {\n    font-size: 14px;\n  }\n}\n\n.example {\n  margin-bottom: 2em;\n}\n\n.component-docs {\n  padding: 0 30px;\n}\n.prop-docs {\n  background-color: #efefef;\n  padding: 15px;\n\n  .prop-description,\n  .prop-default {\n    display: block;\n    margin-left: 2em;\n    font-size: 0.85em;\n  }\n}\n\n.example-section {\n  display: inline-block;\n  margin: 10px;\n\n  &.example-section-visible {\n    display: block;\n  }\n\n  .example-section-button {\n    display: inline-block;\n    //margin: 10px;\n    padding: 10px 20px;\n    font-size: 20pt;\n    font-weight: bold;\n    background: #cccccc;\n    cursor: pointer;\n    border-radius: 5px;\n\n    .example-arrow {\n      color: #888;\n    }\n    &.active {\n      background-color: #4cba6f;\n      .example-arrow {\n        color: #0f0f0f;\n      }\n    }\n  }\n\n  .example-section-content {\n    margin: 10px 20px;\n  }\n}\n\n.playground {\n  display: flex;\n  flex-wrap: wrap;\n\n  .playgroundCode,\n  .playgroundPreview {\n    border: 1px solid #efefef;\n    border-radius: 3px;\n    flex-basis: 150px;\n\n    &:before {\n      display: block;\n      text-align: center;\n      color: #616467;\n      background-color: #f8f8f8;\n      border-bottom: 1px solid #efefef;\n      text-transform: uppercase;\n      letter-spacing: 1px;\n      font-size: 14px;\n      line-height: 28px;\n    }\n  }\n\n  .playgroundCode {\n    margin-right: 8px;\n    flex-grow: 0.6;\n\n    &:before {\n      content: \"Editable Source\";\n    }\n    .CodeMirror {\n      font-size: 10pt;\n      font-family: Consolas, Monaco, \"Andale Mono\", \"Ubuntu Mono\", monospace;\n    }\n  }\n\n  .playgroundPreview {\n    margin-left: 8px;\n    //text-align: center;\n    flex-grow: 0.4;\n\n    &:before {\n      content: \"Live Preview\";\n    }\n    .previewArea {\n      padding: 8px 6px;\n    }\n  }\n}\n"
  },
  {
    "path": "index.html",
    "content": "<html>\n<head>\n    <title>Redirect</title>\n    <META http-equiv=\"refresh\" content=\"0;URL=docs/build\">\n</head>\n<body bgcolor=\"#ffffff\">\n    Redirecting to docs...\n</body>\n</html>\n"
  },
  {
    "path": "jest.config.js",
    "content": "const dontTranspiledThese = ['internmap', 'delaunator', 'robust-predicates'];\nconst dontTranspile = dontTranspiledThese.join('|');\n\nconst config = {\n  collectCoverage: true,\n  collectCoverageFrom: ['src/**/*.js'],\n  setupFiles: ['<rootDir>/tests/jsdom/setup.js'],\n  setupFilesAfterEnv: ['./node_modules/jest-enzyme/lib/index.js'],\n  transformIgnorePatterns: [\n    `[/\\\\\\\\]node_modules[/\\\\\\\\]((?!(?<=[/\\\\\\\\])(d3-?|${dontTranspile})).)+\\\\.(js|jsx|ts|tsx)$`,\n  ],\n};\n\nmodule.exports = config;\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"reactochart\",\n  \"description\": \"Reactochart - React Charts, graphs and data visualization\",\n  \"author\": \"Dan Delany <dand@spotify.com>\",\n  \"contributors\": [\n    \"Erica Hyman <ehyman@spotify.com>\",\n    \"Isaac Ezer <isaace@spotify.com>\"\n  ],\n  \"version\": \"6.1.1\",\n  \"main\": \"index.js\",\n  \"files\": [\n    \"*.js\",\n    \"*.js.map\",\n    \"styles.css\",\n    \"utils/\",\n    \"src/\"\n  ],\n  \"engines\": {\n    \"node\": \">=12.0.0\"\n  },\n  \"scripts\": {\n    \"analyze-bundle\": \"source-map-explorer node_modules ./*.js ./*.js.map ./utils styles.css src/\",\n    \"lint\": \"eslint ./src ./docs/src\",\n    \"lint-fix\": \"eslint ./src --fix\",\n    \"prepublishOnly\": \"npm run build\",\n    \"build\": \"npm run build-lib && npm run build-css\",\n    \"dev\": \"webpack-dev-server --config webpack.config.base.js\",\n    \"docs\": \"npm run make-docs && npm run build-docs\",\n    \"build-lib\": \"npm run clean && BABEL_ENV=production babel src --out-dir ./ --source-maps\",\n    \"build-css\": \"lessc ./styles/charts.less ./styles.css\",\n    \"build-docs\": \"cross-env webpack --config webpack.config.build.js\",\n    \"make-docs\": \"node scripts/makeDocs.js\",\n    \"clean\": \"node scripts/clean.js\",\n    \"serve\": \"python -m SimpleHTTPServer\",\n    \"test\": \"npm run test-jest && npm run lint\",\n    \"test-browser\": \"webpack-dev-server --config tests/browser/webpack.config.test.js\",\n    \"test-jest\": \"cross-env NODE_PATH=$NODE_PATH:$PWD/src BABEL_ENV=test jest ./tests/jsdom\"\n  },\n  \"dependencies\": {\n    \"d3\": \"6 || 7\",\n    \"d3-sankey\": \"^0.12.3\",\n    \"invariant\": \"^2.2.0\",\n    \"lodash\": \"^4.17.15\",\n    \"prop-types\": \"^15.8.1\",\n    \"units-css\": \"^0.4.0\"\n  },\n  \"peerDependencies\": {\n    \"react\": \"^15.6.0 || ^16.0.0\",\n    \"react-dom\": \"^15.6.0 || ^16.0.0\"\n  },\n  \"devDependencies\": {\n    \"@babel/cli\": \"^7.16.8\",\n    \"@babel/core\": \"^7.16.7\",\n    \"@babel/plugin-proposal-class-properties\": \"^7.16.7\",\n    \"@babel/plugin-proposal-object-rest-spread\": \"^7.16.7\",\n    \"@babel/eslint-parser\": \"^7.16.0\",\n    \"@babel/preset-env\": \"^7.16.8\",\n    \"@babel/preset-flow\": \"^7.16.7\",\n    \"@babel/preset-react\": \"^7.16.7\",\n    \"@babel/register\": \"^7.16.9\",\n    \"@spotify/eslint-config-react\": \"^12.0.0\",\n    \"@spotify/eslint-config-base\": \"^12.0.0\",\n    \"@spotify/web-scripts\": \"^12.0.0\",\n    \"babel-jest\": \"^24.9.0\",\n    \"babel-loader\": \"^8.2.3\",\n    \"babel-plugin-lodash\": \"^3.3.4\",\n    \"babel-plugin-rewire\": \"^1.2.0\",\n    \"chai\": \"^4.2.0\",\n    \"chai-enzyme\": \"^1.0.0-beta.1\",\n    \"clean-webpack-plugin\": \"^4.0.0\",\n    \"component-playground\": \"^3.2.1\",\n    \"copy-webpack-plugin\": \"^10.2.4\",\n    \"cross-env\": \"^7.0.3\",\n    \"css-loader\": \"^3.5.3\",\n    \"enzyme\": \"^3.11.0\",\n    \"enzyme-adapter-react-16\": \"^1.15.6\",\n    \"eslint\": \"^8.9.0\",\n    \"eslint-config-prettier\": \"8.4.0\",\n    \"eslint-plugin-chai-friendly\": \"^0.5.0\",\n    \"eslint-plugin-jest\": \"^23.20.0\",\n    \"eslint-plugin-jsx-a11y\": \"^6.5.1\",\n    \"eslint-plugin-react\": \"^7.28.0\",\n    \"glob\": \"^7.2.0\",\n    \"html-webpack-plugin\": \"^5.5.0\",\n    \"husky\": \"^4.3.8\",\n    \"jest\": \"^24.9.0\",\n    \"jest-canvas-mock\": \"^2.3.1\",\n    \"jest-enzyme\": \"^7.1.2\",\n    \"jsdom\": \"^15.2.0\",\n    \"json-loader\": \"^0.5.2\",\n    \"less\": \"^4.1.2\",\n    \"less-loader\": \"^10.2.0\",\n    \"lessc\": \"^1.0.2\",\n    \"mocha\": \"^7.0.1\",\n    \"prettier\": \"~1.18.2\",\n    \"raw-loader\": \"^4.0.2\",\n    \"react\": \"^16.14.0\",\n    \"react-addons-update\": \"^15.6.0\",\n    \"react-docgen\": \"5.1.0\",\n    \"react-dom\": \"^16.14.0\",\n    \"react-pure-render-debug\": \"^1.1.1\",\n    \"react-router\": \"^5.2.1\",\n    \"react-router-dom\": \"^5.3.0\",\n    \"react-test-renderer\": \"^16.14.0\",\n    \"remark\": \"^14.0.2\",\n    \"remark-react\": \"^9.0.1\",\n    \"shelljs\": \"^0.8.5\",\n    \"sinon\": \"^9.0.0\",\n    \"sinon-chai\": \"^3.5.0\",\n    \"source-map-explorer\": \"^2.5.2\",\n    \"style-loader\": \"^1.3.0\",\n    \"webpack\": \"^5.69.1\",\n    \"webpack-cli\": \"^4.9.2\",\n    \"webpack-dev-server\": \"^4.7.4\"\n  },\n  \"license\": \"Apache-2.0\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/spotify/reactochart\"\n  },\n  \"publishConfig\": {\n    \"registry\": \"https://registry.npmjs.org/\"\n  },\n  \"husky\": {\n    \"hooks\": {\n      \"pre-commit\": \"web-scripts precommit --no-typecheck\"\n    }\n  }\n}\n"
  },
  {
    "path": "prettier.config.js",
    "content": "module.exports = require('@spotify/web-scripts/config/prettier.config');\n"
  },
  {
    "path": "scripts/clean.js",
    "content": "const fs = require('fs');\nconst sh = require('shelljs');\n\nconst { fileExists, dirExists } = require('./utils');\n\nconst srcContents = sh.ls('src');\n\n// We don't want to commit built files, so it is useful to have a `clean` script which deletes them if they exist.\n// However, Reactochart is built in the root directory\n// (so that modules may be required with eg. `require('reactochart/LineChart')`).\n// This makes cleanup harder than simply deleting a `build` directory.\n// Instead this looks for any files in the root directory which match the name of a file in the `src` directory,\n// and deletes them if they exist.\n// Sounds dangerous, but any files in root which share a name with src would have been overwritten by the build anyway.\n\nsrcContents.forEach(fileOrDir => {\n  if (fileExists(`src/${fileOrDir}`) && fileExists(`./${fileOrDir}`)) {\n    console.log(`deleting file ./${fileOrDir}`);\n    sh.rm(`./${fileOrDir}`);\n  } else if (dirExists(`src/${fileOrDir}`) && dirExists(fileOrDir)) {\n    console.log(`deleting directory ./${fileOrDir}`);\n    sh.rm('-rf', `./${fileOrDir}`);\n  }\n  // check for source maps too\n  if (fileExists(`./${fileOrDir}.map`)) {\n    console.log(`deleting file ./${fileOrDir}.map`);\n    sh.rm(`./${fileOrDir}.map`);\n  }\n});\n\n// Clean compiled css file\nif (fileExists('./styles.css')) {\n  sh.rm('./styles.css');\n}\n"
  },
  {
    "path": "scripts/makeDocs.js",
    "content": "const fs = require('fs');\nconst sh = require('shelljs');\nconst _ = require('lodash');\n\nconst {\n  isUpperCase,\n  fileExists,\n  dirExists,\n  ensureDir,\n  fileNameFromPath,\n  stripFileExtension,\n} = require('./utils');\n\nconst EXCLUDED_DOCGEN_FILES = ['TreeMapNode.js', 'TreeMapNodeLabel.js'];\n\nconst docsDirPath = `${__dirname}/../docs/src/docs`;\nconst docsPageTemplatePath = `${__dirname}/../docs/src/templates/ComponentDocsPage.js.template`;\nconst exampleTemplatePath = `${__dirname}/../docs/src/templates/ComponentExample.js.template`;\n\n// generate a list of all JS files in `src` that start with an uppercase letter\n// these are the components for which we will generate docs\nconst jsFilePaths = sh.ls(`${__dirname}/../src/*.js`);\nconst componentPaths = jsFilePaths.filter(\n  path =>\n    !EXCLUDED_DOCGEN_FILES.includes(fileNameFromPath(path)) &&\n    isUpperCase(fileNameFromPath(path)[0]),\n);\n\nensureDir(docsDirPath);\ncomponentPaths.forEach(path => {\n  const fileName = fileNameFromPath(path);\n  const componentName = stripFileExtension(fileName);\n  const componentDocsPath = `${docsDirPath}/${componentName}`;\n\n  // use react-docgen to autogenerate prop docs json file from component src files\n  ensureDir(componentDocsPath);\n  console.log('Generating prop docs for', componentName);\n  sh.exec(\n    `react-docgen ${path} --pretty -o ${componentDocsPath}/propDocs.json`,\n  );\n\n  const docsPagePath = `${componentDocsPath}/${componentName}Docs.js`;\n  const examplesDirPath = `${componentDocsPath}/examples`;\n  const examplePath = `${examplesDirPath}/${componentName}.js.example`;\n\n  if (!fileExists(docsPagePath)) {\n    // use template file to generate a stub example page for this component\n    const docsTemplate = _.template(sh.cat(docsPageTemplatePath).toString());\n    const docsPageStub = docsTemplate({ componentName });\n    fs.writeFile(docsPagePath, docsPageStub, err => {\n      if (err) throw err;\n      console.log('wrote to', docsPagePath);\n    });\n\n    // use template to generate stub example file, to be used for live preview (using component-playground)\n    const exampleTemplate = _.template(sh.cat(exampleTemplatePath).toString());\n    const exampleStub = exampleTemplate({ componentName });\n    ensureDir(examplesDirPath);\n    fs.writeFile(examplePath, exampleStub, err => {\n      if (err) throw err;\n      console.log('wrote to', examplePath);\n    });\n  }\n});\n\n// export all docs files from docs/index.js\nconst componentDocExports = componentPaths.map(componentPath => {\n  const fileName = fileNameFromPath(componentPath);\n  const componentName = stripFileExtension(fileName);\n  return `export {default as ${componentName}Docs} from './${componentName}/${componentName}Docs';\\n`;\n});\nfs.writeFile(`${docsDirPath}/index.js`, componentDocExports.join(''), err => {\n  if (err) throw err;\n  console.log('wrote exports');\n});\n"
  },
  {
    "path": "scripts/makeLesson.js",
    "content": "const fs = require('fs');\nconst sh = require('shelljs');\nconst _ = require('lodash');\n\nconst {\n  isUpperCase,\n  fileExists,\n  dirExists,\n  ensureDir,\n  fileNameFromPath,\n  stripFileExtension,\n} = require('./utils');\n\nconst lessonsDirPath = `${__dirname}/../docs/src/lessons`;\nconst lessonTemplatePath = `${__dirname}/../docs/src/templates/Lesson.js.template`;\nconst exampleTemplatePath = `${__dirname}/../docs/src/templates/ComponentExample.js.template`;\n\nif (process.argv.length <= 2) {\n  console.log(`Usage: ${__filename} LESSON_NAME`);\n  process.exit(-1);\n}\n\nconst lessonName = process.argv[2];\nconsole.log(lessonName);\n\nconst componentName = lessonName\n  .split(' ')\n  .map(_.capitalize)\n  .join('');\nconsole.log('componentName', componentName);\nconst lessonDirPath = `${lessonsDirPath}/${componentName}`;\nconst lessonComponentPath = `${lessonDirPath}/${componentName}Lesson.js`;\n\nensureDir(lessonsDirPath);\nensureDir(lessonDirPath);\nif (!fileExists(lessonComponentPath)) {\n  // use template file to generate a stub example page for this component\n  const lessonTemplate = _.template(sh.cat(lessonTemplatePath).toString());\n  const lessonStub = lessonTemplate({ name: lessonName, componentName });\n  fs.writeFile(lessonComponentPath, lessonStub, err => {\n    if (err) throw err;\n    console.log('created stub lesson component:', lessonComponentPath);\n  });\n\n  const examplesDirPath = `${lessonDirPath}/examples`;\n  const examplePath = `${examplesDirPath}/${componentName}.js.example`;\n\n  // use template to generate stub example file, to be used for live preview (using component-playground)\n  const exampleTemplate = _.template(sh.cat(exampleTemplatePath).toString());\n  const exampleStub = exampleTemplate({ componentName });\n  ensureDir(examplesDirPath);\n  fs.writeFile(examplePath, exampleStub, err => {\n    if (err) throw err;\n    console.log('created stub example:', examplePath);\n  });\n}\n"
  },
  {
    "path": "scripts/utils.js",
    "content": "const fs = require('fs');\nconst sh = require('shelljs');\nconst _ = require('lodash');\n\nfunction isUpperCase(letter) {\n  return letter.toUpperCase() === letter;\n}\nfunction fileExists(path) {\n  return sh.test('-f', path);\n}\nfunction dirExists(path) {\n  return sh.test('-d', path);\n}\nfunction ensureDir(path) {\n  if (!dirExists(path)) sh.mkdir('-p', path);\n}\nfunction fileNameFromPath(path) {\n  return _.last(path.split('/'));\n}\nfunction stripFileExtension(fileName) {\n  return _.dropRight(fileName.split('.')).join('.');\n}\n\nmodule.exports = {\n  isUpperCase,\n  fileExists,\n  dirExists,\n  ensureDir,\n  fileNameFromPath,\n  stripFileExtension,\n};\n"
  },
  {
    "path": "src/AreaBarChart.js",
    "content": "import get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport RangeRect from './RangeRect';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { domainFromRangeData, getValue, makeAccessor2 } from './utils/Data';\nimport { dataTypeFromScaleType } from './utils/Scale';\nimport { bindTrailingArgs } from './util.js';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `AreaBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\n * value on the *dependent* axis (Y axis for vertical bars), and the bar stretches from zero to this value.\n * However, on the *independent* axis, each bar represents a *range* (min/max) of values,\n * rather than being centered on a specific value.\n * In other words, the bar *lengths* act the same way as standard bar chart bars,\n * but their *thicknesses* are variable and meaningful.\n * `AreaBarChart`s are the correct way to display histograms with variable bin sizes.\n * They are so named because, in cases like these histograms, since both the bar thickness and length are meaningful,\n * so too is the bar's total *area*, unlike in other bar charts.\n */\n\nexport default class AreaBarChart extends React.Component {\n  static propTypes = {\n    /**\n     * D3 scale for X axis - provided by XYPlot\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot\n     */\n    yScale: PropTypes.func,\n    /**\n     * Array of data to be plotted. One bar will be rendered per datum in this array.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Boolean which determines whether the chart will use horizontal or vertical bars.\n     * When `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\n     */\n    horizontal: PropTypes.bool,\n    /**\n     * Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `false`, this gets the start (min value) of the *independent* variable range, spanned by the bar's thickness.\n     * If `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar's length\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (max X value) of the *independent* variable range, spanned by the bar's thickness.\n     * Should only be passed when `horizontal` is `false` (ignored otherwise).\n     */\n    xEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `true`, this gets the start (min value) of the *independent* variable range which is spanned by the bar's thickness.\n     * If `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar's length\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (max Y value) of the *independent* variable range, spanned by the bar's thickness.\n     * Should only be passed when `horizontal` is `true` (ignored otherwise).\n     */\n    yEnd: CustomPropTypes.valueOrAccessor,\n\n    /**\n     * Class attribute to be applied to each bar\n     * or accessor function which returns a class.\n     */\n    barClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each bar\n     * or accessor function which returns a style object.\n     */\n    barStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a bar.\n     */\n    onMouseMoveBar: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a bar.\n     */\n    onMouseEnterBar: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a bar.\n     */\n    onMouseLeaveBar: PropTypes.func,\n  };\n  static defaultProps = {\n    horizontal: false,\n    barClassName: '',\n    barStyle: {},\n  };\n\n  static getDomain(props) {\n    const { xScaleType, yScaleType, horizontal, data } = props;\n\n    // only have to specify range axis domain, other axis uses default domainFromData\n    // for area bar chart, the independent variable is the range\n    // ie. the range controls the thickness of the bar\n    const rangeAxis = horizontal ? 'y' : 'x';\n    const rangeDataType = dataTypeFromScaleType(\n      rangeAxis === 'x' ? xScaleType : yScaleType,\n    );\n    // make accessor functions from getX|Y and getX|YEnd\n    const rangeStartAccessor = makeAccessor2(props[`${rangeAxis}`]);\n    const rangeEndAccessor = makeAccessor2(props[`${rangeAxis}End`]);\n\n    return {\n      [`${rangeAxis}Domain`]: domainFromRangeData(\n        data,\n        rangeStartAccessor,\n        rangeEndAccessor,\n        rangeDataType,\n      ),\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, ['barStyle']);\n\n    return shouldUpdate;\n  }\n\n  render() {\n    const {\n      xScale,\n      yScale,\n      data,\n      horizontal,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      barClassName,\n      barStyle,\n    } = this.props;\n\n    return (\n      <g>\n        {data.map((d, i) => {\n          const [onMouseEnter, onMouseMove, onMouseLeave] = [\n            'onMouseEnterBar',\n            'onMouseMoveBar',\n            'onMouseLeaveBar',\n          ].map(eventName => {\n            // partially apply this bar's data point as 2nd callback argument\n            const callback = get(this.props, eventName);\n            return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n          });\n\n          return (\n            <RangeRect\n              {...{\n                xScale,\n                yScale,\n                className: `rct-chart-area-bar ${getValue(barClassName, d, i)}`,\n                style: getValue(barStyle, d, i),\n                x: horizontal ? 0 : getValue(x, d, i),\n                xEnd: horizontal ? getValue(x, d, i) : getValue(xEnd, d, i),\n                y: !horizontal ? 0 : getValue(y, d, i),\n                yEnd: !horizontal ? getValue(y, d, i) : getValue(yEnd, d, i),\n                key: `rct-chart-area-bar-${i}`,\n                onMouseEnter,\n                onMouseMove,\n                onMouseLeave,\n              }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/AreaChart.js",
    "content": "import { area } from 'd3-shape';\nimport isUndefined from 'lodash/isUndefined';\nimport uniqueId from 'lodash/uniqueId';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { combineDomains, domainFromData, makeAccessor2 } from './utils/Data';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `AreaChart` represents a simple bivariate area chart,\n * a filled path drawn between two lines (datasets).\n */\n\n// todo horizontal prop, for filling area horizontally?\n// todo support ordinal (like days of the week) data?\n// todo build StackedAreaChart that composes multiple AreaCharts\n\nexport default class AreaChart extends React.Component {\n  static propTypes = {\n    /**\n     * The array of data objects\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for area X values, called once per datum,\n     * or a single X value to be used for the entire line.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for area's starting (minimum) Y values, called once per datum,\n     * or a single Y value to be used for the entire line.\n     * Should return the minimum of the Y range spanned by the area at this point.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for area's ending (maximum) Y values, called once per datum,\n     * or a single Y value to be used for the entire line.\n     * Should return the maximum of the Y range spanned by the area at this point.\n     */\n    yEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Class attribute to be applied to area path element.\n     */\n    // TODO: update to allow function to be passed\n    pathClassName: PropTypes.string,\n    /**\n     * Inline style object to be applied to area path element.\n     */\n    // TODO: update to allow function to be passed\n    pathStyle: PropTypes.object,\n    /**\n     * If isDifference is true, AreaChart generates a \"difference chart\" with two area paths instead of one:\n     * one path which shows when YEnd > Y, and one vice versa, allowing them to be styled differently (eg red/green).\n     */\n    isDifference: PropTypes.bool,\n    /**\n     * When isDifference is true, pathStylePositive can be passed to style the\n     * positive area difference.\n     * Ignored if isDifference is false.\n     */\n    pathStylePositive: PropTypes.object,\n    /**\n     * When isDifference is true, pathStyleNegative can be passed to style the\n     * negative area difference.\n     * Ignored if isDifference is false.\n     */\n    pathStyleNegative: PropTypes.object,\n    /**\n     * If true, will show gaps in the shaded area for data where props.isDefined(datum) returns false.\n     */\n    shouldShowGaps: PropTypes.bool,\n    /**\n     * If shouldShowGaps is true, isDefined function describes when a datum\n     * should be considered \"defined\" vs. when to show gap by default.\n     * Shows gap if either y or yEnd are undefined.\n     */\n    isDefined: PropTypes.func,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Type of X scale - provided by XYPlot.\n     */\n    xScaleType: PropTypes.string,\n    /**\n     * Type of Y scale - provided by XYPlot.\n     */\n    yScaleType: PropTypes.string,\n    /**\n     * Height of chart - provided by XYPlot.\n     */\n    height: PropTypes.number,\n    /**\n     * D3 curve for path generation.\n     */\n    curve: PropTypes.func,\n  };\n\n  static defaultProps = {\n    shouldShowGaps: true,\n    isDefined: (d, i, accessors) => {\n      return (\n        !isUndefined(accessors.y(d, i)) && !isUndefined(accessors.yEnd(d, i))\n      );\n    },\n    pathClassName: '',\n    pathStyle: {},\n  };\n\n  static getDomain(props) {\n    // custom Y domain - the total (union) extent of getY and getYEnd combined\n    const { data, x, y, yEnd } = props;\n    const accessors = {\n      x: makeAccessor2(x),\n      y: makeAccessor2(y),\n      yEnd: makeAccessor2(yEnd),\n    };\n    return {\n      yDomain: combineDomains([\n        domainFromData(data, accessors.y),\n        domainFromData(data, accessors.yEnd),\n      ]),\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, [\n      'pathStyle',\n      'pathStylePositive',\n      'pathStyleNegative',\n    ]);\n    return shouldUpdate;\n  }\n\n  render() {\n    const {\n      data,\n      x,\n      y,\n      yEnd,\n      xScale,\n      yScale,\n      isDifference,\n      pathStyle,\n      pathStylePositive,\n      pathStyleNegative,\n      shouldShowGaps,\n      pathClassName,\n      isDefined,\n      curve,\n    } = this.props;\n    const accessors = {\n      x: makeAccessor2(x),\n      y: makeAccessor2(y),\n      yEnd: makeAccessor2(yEnd),\n    };\n\n    // create d3 area path generator\n    const areaGenerator = area();\n\n    // if gaps in data should be shown, use `props.isDefined` function as the `defined` param for d3's area generator;\n    // but wrap it & pass in accessors as well, so that the function can easily access the relevant data values\n    if (shouldShowGaps) {\n      areaGenerator.defined((d, i) => isDefined(d, i, accessors));\n    }\n\n    areaGenerator\n      .x((d, i) => xScale(accessors.x(d, i)))\n      .y0((d, i) => yScale(accessors.y(d, i)))\n      .y1((d, i) => yScale(accessors.yEnd(d, i)));\n\n    if (curve) {\n      areaGenerator.curve(curve);\n    }\n\n    const areaPathStr = areaGenerator(data);\n\n    if (isDifference) {\n      // difference chart - create 2 clip paths, one which clips to only show path where YEnd > Y, and other vice versa\n      // don't document height prop from XYPlot\n      /* eslint-disable react/prop-types */\n      areaGenerator.y0(this.props.height);\n      /* eslint-enable react/prop-types */\n      const clipBelowPathStr = areaGenerator(data);\n      areaGenerator.y0(0);\n      const clipAbovePathStr = areaGenerator(data);\n\n      // make sure we have a unique ID for this chart, so clip path IDs don't affect other charts\n      const chartId = uniqueId();\n      const clipAboveId = `clip-above-area-${chartId}`;\n      const clipBelowId = `clip-below-area-${chartId}`;\n      const pathStyleAbove = pathStylePositive || pathStyle || {};\n      const pathStyleBelow = pathStyleNegative || pathStyle || {};\n\n      return (\n        <g className=\"rct-area-chart--difference\">\n          <clipPath id={clipAboveId}>\n            <path className=\"rct-area-chart-path\" d={clipAbovePathStr} />\n          </clipPath>\n          <clipPath id={clipBelowId}>\n            <path className=\"rct-area-chart-path\" d={clipBelowPathStr} />\n          </clipPath>\n          <path\n            className={`rct-area-chart-path ${pathClassName}`}\n            d={areaPathStr}\n            clipPath={`url(#${clipAboveId})`}\n            style={pathStyleAbove}\n          />\n          <path\n            className={`rct-area-chart-path ${pathClassName}`}\n            d={areaPathStr}\n            clipPath={`url(#${clipBelowId})`}\n            style={pathStyleBelow}\n          />\n        </g>\n      );\n    }\n\n    return (\n      <g className=\"rct-area-chart\" aria-hidden=\"true\">\n        <path\n          className={`rct-area-chart-path ${pathClassName}`}\n          d={areaPathStr}\n          style={pathStyle || {}}\n        />\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/AreaHeatmap.js",
    "content": "import { extent } from 'd3-array';\nimport flatten from 'lodash/flatten';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { methodIfFuncProp } from './util.js';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { getValue, makeAccessor2 } from './utils/Data';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `AreaHeatmap` is still undergoing experimental changes!\n * We do not consider this chart to be production ready as it does not support categorical data.\n */\n\n// todo support categorical data\n\nexport default class AreaHeatmap extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data objects.\n     */\n    data: PropTypes.array.isRequired,\n    x: CustomPropTypes.valueOrAccessor,\n    xEnd: CustomPropTypes.valueOrAccessor,\n    y: CustomPropTypes.valueOrAccessor,\n    yEnd: CustomPropTypes.valueOrAccessor,\n    area: CustomPropTypes.valueOrAccessor,\n    unitsPerPixel: PropTypes.number,\n    /**\n     * Class attribute to be applied to each rect\n     * or accessor function which returns a class\n     */\n    rectClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each rect,\n     * or accessor function which returns a style object.\n     */\n    rectStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * D3 scale for X axis - provided by XYPlot\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot\n     */\n    yScale: PropTypes.func,\n    onMouseEnter: PropTypes.func,\n    onMouseLeave: PropTypes.func,\n    onMouseMove: PropTypes.func,\n  };\n  static defaultProps = { rectClassName: '', rectStyle: {} };\n\n  static getDomain(props) {\n    const { data, x, xEnd, y, yEnd } = props;\n    return {\n      x: extent(\n        flatten([data.map(makeAccessor2(x)), data.map(makeAccessor2(xEnd))]),\n      ),\n      y: extent(\n        flatten([data.map(makeAccessor2(y)), data.map(makeAccessor2(yEnd))]),\n      ),\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, ['rectStyle']);\n    return shouldUpdate;\n  }\n\n  onMouseEnter = e => {\n    this.props.onMouseEnter(e);\n  };\n\n  onMouseLeave = e => {\n    this.props.onMouseLeave(e);\n  };\n\n  onMouseMove = e => {\n    const { xScale, yScale, onMouseMove } = this.props;\n    if (!isFunction(onMouseMove)) return;\n\n    const boundBox = this.refs.background.getBoundingClientRect();\n    if (!boundBox) return;\n    const [x, y] = [\n      e.clientX - (boundBox.left || 0),\n      e.clientY - (boundBox.top || 0),\n    ];\n    const [xVal, yVal] = [xScale.invert(x), yScale.invert(y)];\n\n    onMouseMove(e, { xVal, yVal });\n  };\n\n  render() {\n    const {\n      data,\n      area,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      xScale,\n      yScale,\n      scaleWidth,\n      scaleHeight,\n      rectClassName,\n      rectStyle,\n    } = this.props;\n    const [areaAccessor, xAccessor, xEndAccessor, yAccessor, yEndAccessor] = [\n      area,\n      x,\n      xEnd,\n      y,\n      yEnd,\n    ].map(makeAccessor2);\n\n    // to determine how many data units are represented by 1 square pixel of area,\n    // find the bin that would require the highest unit-per-pixel scale if its rectangle filled the whole container\n    const unitsPerPixel =\n      this.props.unitsPerPixel ||\n      Math.max.apply(\n        this,\n        data.map((d, i) => {\n          // ratio of this bin's area (in data units) to the entire area of its container rectangle (in pixels)\n          return (\n            getValue(area, d, i) /\n            Math.abs(\n              (xScale(getValue(xEnd, d, i)) - xScale(getValue(x, d, i))) *\n                (yScale(getValue(yEnd, d, i)) - yScale(getValue(y, d, i))),\n            )\n          );\n        }),\n      );\n\n    const handlers = {\n      onMouseMove: methodIfFuncProp('onMouseMove', this.props, this),\n      onMouseEnter: methodIfFuncProp('onMouseEnter', this.props, this),\n      onMouseLeave: methodIfFuncProp('onMouseLeave', this.props, this),\n    };\n\n    return (\n      <g className=\"rct-area-heatmap-chart\" aria-hidden=\"true\" {...handlers}>\n        <rect\n          x=\"0\"\n          y=\"0\"\n          width={scaleWidth}\n          height={scaleHeight}\n          ref=\"background\"\n          fill=\"transparent\"\n        />\n        {data.map((d, i) => {\n          const [xVal, xEndVal, yVal, yEndVal, areaVal] = [\n            x,\n            xEnd,\n            y,\n            yEnd,\n            area,\n          ].map(getter => getValue(getter, d, i));\n          // full width and height of the containing rectangle\n          const fullWidth = Math.abs(xScale(xEndVal) - xScale(xVal));\n          const fullHeight = Math.abs(yScale(yEndVal) - yScale(yVal));\n          // x / y position of top left of the containing rectangle\n          const fullRectX = Math.min(xScale(xEndVal), xScale(xVal));\n          const fullRectY = Math.min(yScale(yEndVal), yScale(yVal));\n\n          // we know two facts:\n          // 1. the (pixel) area of the rect will be the data value divided by the # of data units per pixel\n          //    ie. area = height * width = areaVal / unitsPerPixel\n          const pixelArea = areaVal / unitsPerPixel;\n          // 2. all rectangles, regardless of size, have the same shape (are congruent), so the ratio\n          //    of the rect's width to the full width is equal to the ratio of its height to the full height.\n          //    ie. (height / fullHeight) = (width / fullWidth)\n          // solve for height and width to get...\n          const width = Math.sqrt(pixelArea * (fullWidth / fullHeight));\n          const height = Math.sqrt(pixelArea * (fullHeight / fullWidth));\n\n          // center the data rect in the containing rectangle\n          const rectX = fullRectX + (fullWidth - width) / 2;\n          const rectY = fullRectY + (fullHeight - height) / 2;\n\n          if (\n            ![rectX, rectY, width, height].every(\n              val => val !== null && isFinite(val),\n            )\n          )\n            return null;\n\n          const className = `rct-area-heatmap-rect ${getValue(\n            rectClassName,\n            d,\n            i,\n          )}`;\n          const style = getValue(rectStyle, d, i);\n          const key = `rect-${i}`;\n\n          return (\n            <rect\n              {...{ x: rectX, y: rectY, width, height, className, style, key }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/AriaLabelContainer.js",
    "content": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ascending } from 'd3-array';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { getValue } from './utils/Data';\n\nAriaLabelContainer.propTypes = {\n  /**\n   * An array containing n objects in the following shape:\n   * [{\n   *    data: Array of your data points, normally used in rendering specific line or area charts\n   *    accessor: A function used to access the data point on the x axis from the `data` attribute\n   *              (datum) => number\n   * }]\n   */\n  datasetWithAccessor: PropTypes.arrayOf(\n    PropTypes.shape({\n      data: PropTypes.arrayOf(PropTypes.object).isRequired,\n      accessor: CustomPropTypes.valueOrAccessor.isRequired,\n    }),\n  ).isRequired,\n  /**\n   * A function that takes the xValue at the start of the frame, an array of datapoints at that xValue, and the index of the frame,\n   * and returns a string to render as an aria label\n   * for the specific frame in the Interface.\n   *\n   * (xValue, [datapoints], frameIndex) => string\n   */\n  ariaLabelGenerator: PropTypes.func.isRequired,\n  /**\n   * an optional `onKeyDown` event handler to provide for each frame\n   * when selected.\n   * Best practices are to describe how the user will interact with the chart in\n   * the ariaLabelGenerator\n   *\n   * (event, xValue, [datapoints]) => void\n   */\n  onKeyDown: PropTypes.func,\n  /**\n   * height of the chart - provided by `XYPlot`\n   */\n  height: PropTypes.number,\n  /**\n   * width of the chart - provided by `XYPlot`\n   */\n  width: PropTypes.number,\n  /**\n   * D3 scale for X axis - provided by XYPlot\n   */\n  xScale: PropTypes.func,\n};\n\n/**\n * `AriaLabelContainer` provides a mechanism for keyboard navigation of\n * `LineChart` and `AreaChart` graphs within `XYPlot`. This component renders\n * a rectangle for a given `numFrames` across a Line/Area chart. `numFrames` should\n * be equal to the number of data points in your dataset. Users can navigate to a frame\n * either by pressing `Tab`, or through their assistive technology. `AriaLabelContainer`\n * takes an `ariaLabelGenerator`, which generates an aria-label for each frame of the chart.\n * [aria-labels](https://www.w3.org/TR/WCAG20-TECHS/ARIA6.html#ARIA6-description) are critical for users accessing\n * the web with screenreaders or other assistive technologies.\n */\n\nexport default function AriaLabelContainer(props) {\n  const {\n    ariaLabelGenerator,\n    onKeyDown,\n    height,\n    width,\n    datasetWithAccessor,\n    xScale,\n  } = props;\n\n  const domain = xScale.domain();\n\n  const groupedData = {};\n  // determine number of frames from n datasets with potentially different accessors\n  datasetWithAccessor.forEach(({ data, accessor }, index) => {\n    data.forEach(d => {\n      const xValue = getValue(accessor, d);\n      const key = xValue.toString();\n      if (!groupedData[key]) {\n        groupedData[key] = {\n          xValue,\n          data: new Array(datasetWithAccessor.length),\n          // account for missing datapoints in different datasets\n        };\n      }\n      groupedData[key].data[index] = d;\n    });\n  });\n\n  const zippedDatapoints = Object.values(groupedData).sort((a, b) =>\n    ascending(a.xValue, b.xValue),\n  );\n\n  const numFrames = zippedDatapoints.length;\n  const sliceWidth = width / (numFrames - 1);\n\n  return (\n    <g className=\"rct-chart-a11y\">\n      {zippedDatapoints.map(({ xValue, data }, index) => (\n        <rect\n          className=\"rct-chart-visually-hidden-rect\"\n          aria-label={ariaLabelGenerator(xValue, data, index)}\n          key={index}\n          height={height}\n          width={sliceWidth}\n          x={\n            xValue === domain[1]\n              ? xScale(zippedDatapoints[index - 1].xValue)\n              : xScale(xValue)\n            // otherwise the last rect renders outside the chart\n          }\n          y={0}\n          role=\"button\"\n          tabIndex={0}\n          onKeyDown={event => {\n            if (!!onKeyDown) {\n              onKeyDown(event, xValue, data);\n            }\n          }}\n        />\n      ))}\n    </g>\n  );\n}\n"
  },
  {
    "path": "src/Bar.js",
    "content": "import invariant from 'invariant';\nimport isUndefined from 'lodash/isUndefined';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { hasOneOfTwo } from './util';\n\n/**\n * Bar is a low-level component to be used in XYPlot-type charts (namely BarChart).\n * It is specified in terms of a range (min & max) of values on one axis and a\n * single value on the other axis.\n * Passing props `x`, `xEnd` and `y` specifies a horizontal bar, centered on `y`\n * and spanning from `x` to `xEnd`.\n * Passing props `x`, `y`, and `yEnd' specifies a vertical bar, centered on `x`\n * and spanning from `y` to `yEnd`.\n */\n\nexport default class Bar extends React.Component {\n  static propTypes = {\n    /**\n     * For a vertical bar, `x` represents the X data value on which the bar is centered.\n     * For a horizontal bar, `x` represents the *starting* X value of the bar, ie. the minimum of the range it spans\n     */\n    x: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n    /**\n     * For a horizontal bar, `y` represents the Y data value on which the bar is centered.\n     * For a vertical bar, `y` represents the *starting* Y value of the bar, ie. the minimum of the range it spans\n     */\n    y: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n    /**\n     * For a horizontal bar, `xEnd` represents the *ending* X data value of the bar, ie. the maximum of the range it spans.\n     * This prop should not be defined if the bar is vertical.\n     */\n    xEnd: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n    /**\n     * For a vertical bar, `yEnd` represents the *ending* Y data value of the bar, ie. the maximum of the range it spans.\n     * This prop should not be defined if the bar is horizontal.\n     */\n    yEnd: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n\n    /**\n     * The thickness of the bar, in pixels. (width of vertical bar, or height of horizontal bar).\n     */\n    thickness: PropTypes.number,\n    /**\n     * Class name(s) to be included on the bar's <rect> element.\n     */\n    className: PropTypes.string,\n    /**\n     * Inline style object to be included on the bar's <rect> element.\n     */\n    style: PropTypes.object,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the bar.\n     */\n    onMouseMove: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the bar.\n     */\n    onMouseEnter: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the bar.\n     */\n    onMouseLeave: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user clicks the bar.\n     */\n    onClick: PropTypes.func,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Conditional if column should display values above/beside bar.\n     */\n    showLabel: PropTypes.bool,\n    /**\n     * Format to use for the values or accessor that returns the updated value.\n     */\n    labelFormat: PropTypes.func,\n    /**\n     * The distance from the column the label appears in pixels.\n     */\n    labelDistance: PropTypes.number,\n    /**\n     * Class name(s) to be included on the bar's <text> element.\n     */\n    labelClassName: PropTypes.string,\n  };\n  static defaultProps = {\n    x: 0,\n    y: 0,\n    thickness: 8,\n    className: '',\n    style: {},\n    labelDistance: 24,\n  };\n\n  render() {\n    // x/y are values in the *data* domain, not pixel domain\n    const {\n      xScale,\n      yScale,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      thickness,\n      style,\n      onMouseEnter,\n      onMouseMove,\n      onMouseLeave,\n      onClick,\n      showLabel,\n      className,\n      labelFormat,\n      labelDistance,\n      labelClassName,\n    } = this.props;\n\n    invariant(\n      hasOneOfTwo(xEnd, yEnd),\n      `Bar expects an xEnd *or* yEnd prop, but not both.`,\n    );\n\n    const orientation = isUndefined(xEnd) ? 'vertical' : 'horizontal';\n    const classNameForBar = `rct-chart-bar rct-chart-bar-${orientation} ${className}`;\n    const labelClass = `rct-chart-bar-label ${labelClassName || ''}`;\n\n    let rectX;\n    let rectY;\n    let width;\n    let height;\n    let xText;\n    let yText;\n    let textAnchor;\n    let textValue;\n\n    if (orientation === 'horizontal') {\n      rectY = yScale(y) - thickness / 2;\n      const x0 = xScale(x);\n      const x1 = xScale(xEnd);\n      rectX = Math.min(x0, x1);\n      width = Math.abs(x1 - x0);\n      height = thickness;\n\n      // horizontal text formatting to right of bar\n      xText = Math.max(x0, x1) + labelDistance;\n      yText = rectY + thickness / 2 + 5;\n      textAnchor = '';\n      textValue = xEnd;\n    } else {\n      // vertical\n      rectX = xScale(x) - thickness / 2;\n      const y0 = yScale(y);\n      const y1 = yScale(yEnd);\n      rectY = Math.min(y0, y1);\n      height = Math.abs(y1 - y0);\n      width = thickness;\n\n      // vertical text formatting\n      xText = rectX + thickness / 2;\n      yText = rectY - labelDistance;\n      textAnchor = 'middle';\n      textValue = yEnd;\n    }\n\n    const rect = (\n      <rect\n        aria-hidden=\"true\"\n        {...{\n          x: rectX,\n          y: rectY,\n          className: classNameForBar,\n          width,\n          height,\n          style,\n          onMouseEnter,\n          onMouseMove,\n          onMouseLeave,\n          onClick,\n        }}\n      />\n    );\n\n    const text = (\n      <text\n        {...{\n          textAnchor,\n          x: xText,\n          y: yText,\n          className: labelClass,\n        }}\n      >\n        {labelFormat ? labelFormat(textValue) : textValue}\n      </text>\n    );\n\n    if (showLabel) {\n      return (\n        <g aria-hidden=\"true\">\n          {rect}\n          {text}\n        </g>\n      );\n    }\n\n    return rect;\n  }\n}\n"
  },
  {
    "path": "src/BarChart.js",
    "content": "import PropTypes from 'prop-types';\nimport React from 'react';\nimport RangeBarChart from './RangeBarChart';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\nfunction makeRangeBarChartProps(barChartProps) {\n  // this component is a simple wrapper around RangeBarChart,\n  // passing accessors to make range bars which span from zero to the data value\n  const { horizontal, x, y } = barChartProps;\n\n  return {\n    ...barChartProps,\n    x: horizontal ? 0 : x,\n    y: horizontal ? y : 0,\n    xEnd: horizontal ? x : undefined,\n    yEnd: horizontal ? undefined : y,\n  };\n}\n\n/**\n * `BarChart` represents a basic \"Value/Value\" bar chart,\n * where each bar represents a single independent variable value and a single dependent value,\n * with bars that are centered horizontally on x-value and extend from 0 to y-value,\n * (or centered vertically on their y-value and extend from 0 to the x-value, in the case of horizontal chart variant)\n *\n * For other bar chart types, see RangeBarChart and AreaBarChart\n */\n\nexport default class BarChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to be plotted. One bar will be rendered per datum in the array.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `true`, this becomes 0.\n     * If `horizontal` is `false`, this gets the *dependent* variable value, the end of the bar's length.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `false`, this becomes 0.\n     * If `horizontal` is `true`, this gets the *dependent* variable value, the end of the bar's length.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Boolean which determines whether the chart will use horizontal or vertical bars.\n     * When `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\n     */\n    horizontal: PropTypes.bool,\n    /**\n     * Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width).\n     */\n    barThickness: PropTypes.number,\n    /**\n     * Inline style object to be applied to each bar,\n     * or accessor function which returns a style object.\n     */\n    barStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Class attribute to be applied to each bar,\n     * or accessor function which returns a class.\n     */\n    barClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a bar.\n     */\n    onMouseMoveBar: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a bar.\n     */\n    onMouseEnterBar: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a bar.\n     */\n    onMouseLeaveBar: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user clicks the bar.\n     */\n    onClick: PropTypes.func,\n  };\n  static defaultProps = {\n    data: [],\n    horizontal: false,\n    barThickness: 8,\n    barClassName: '',\n    barStyle: {},\n  };\n\n  // gets data domain of independent variable\n  static getDomain(props) {\n    return RangeBarChart.getDomain(makeRangeBarChartProps(props));\n  }\n  static getSpacing(props) {\n    return RangeBarChart.getSpacing(makeRangeBarChartProps(props));\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, ['barStyle']);\n    return shouldUpdate;\n  }\n\n  render() {\n    // todo: throw an error if dependent axis is not a number axis\n\n    const rangeBarChartProps = makeRangeBarChartProps(this.props);\n\n    return <RangeBarChart {...rangeBarChartProps} />;\n  }\n}\n"
  },
  {
    "path": "src/ColorHeatmap.js",
    "content": "import {\n  interpolateHcl,\n  interpolateHsl,\n  interpolateLab,\n  interpolateRgb,\n} from 'd3-interpolate';\nimport { scaleLinear } from 'd3-scale';\nimport { schemeCategory10 } from 'd3-scale-chromatic';\nimport isString from 'lodash/isString';\nimport times from 'lodash/times';\nimport range from 'lodash/range';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport RangeRect from './RangeRect';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport {\n  domainFromData,\n  domainFromRangeData,\n  getValue,\n  makeAccessor2,\n} from './utils/Data';\nimport { dataTypeFromScaleType } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\nfunction interpolatorFromType(type) {\n  switch (type.toLowerCase()) {\n    case 'hcl':\n      return interpolateHcl;\n    case 'hsl':\n      return interpolateHsl;\n    case 'lab':\n      return interpolateLab;\n    case 'rgb':\n      return interpolateRgb;\n    default:\n      return interpolateLab;\n  }\n}\n\nfunction makeColorScale(domain, colors, interpolator) {\n  let interpolatorForColorScale = interpolator;\n\n  if (isString(interpolatorForColorScale)) {\n    interpolatorForColorScale = interpolatorFromType(interpolator);\n  }\n\n  return scaleLinear()\n    .domain(domain)\n    .range(colors)\n    .interpolate(interpolatorForColorScale);\n}\n\n/**\n * `ColorHeatmap` can be used to represent individual values contained in a matrix through colors.\n */\nexport default class ColorHeatmap extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to be plotted - should be 1D array of all grid values\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for the value of the datum, called once per datum, or a\n     * single value to be used for all data.\n     */\n    value: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for x values, called once per datum, or a\n     * single value to be used for all `x` data.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for x end values, called once per datum, or a\n     * single value to be used for all `xEnd` data.\n     */\n    xEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for y values, called once per datum, or a\n     * single value to be used for all `y` data.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for y end values, called once per datum, or a\n     * single value to be used for all `yEnd` data.\n     */\n    yEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * D3 scale for X axis - provided by XYPlot\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot\n     */\n    yScale: PropTypes.func,\n    /**\n     * A d3 color scale or function which receives the datum value as an argument.\n     * This will be constructred from the `colors`, `valueDomain` and\n     * `interpolator` props, if `colorScale` is undefined.\n     */\n    colorScale: PropTypes.func,\n    /**\n     * An array of color strings\n     */\n    colors: PropTypes.array,\n    /**\n     * Custom domain of the data.\n     * Otherwise it will be the extent of your data.\n     */\n    valueDomain: PropTypes.array,\n    /**\n     * Interpolator for colors. Possible options include \"hcl\", \"hsl\", \"lab\" and \"rgb\"\n     */\n    interpolator: PropTypes.string,\n    /**\n     * Inline style object to be applied to each rect,\n     * or accessor function which returns a style object.\n     */\n    rectStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Class attribute to be applied to each rect,\n     * or accessor function which returns a class.\n     */\n    rectClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  };\n  static defaultProps = {\n    interpolator: 'lab',\n    rectStyle: {},\n    rectClassName: '',\n  };\n\n  static getDomain(props) {\n    const { xScaleType, yScaleType, data, x, xEnd, y, yEnd } = props;\n    return {\n      x: domainFromRangeData(\n        data,\n        makeAccessor2(x),\n        makeAccessor2(xEnd),\n        dataTypeFromScaleType(xScaleType),\n      ),\n      y: domainFromRangeData(\n        data,\n        makeAccessor2(y),\n        makeAccessor2(yEnd),\n        dataTypeFromScaleType(yScaleType),\n      ),\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, [\n      'colors',\n      'valueDomain',\n    ]);\n    return shouldUpdate;\n  }\n\n  render() {\n    const {\n      data,\n      xScale,\n      yScale,\n      value,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      interpolator,\n      rectStyle,\n      rectClassName,\n    } = this.props;\n    const valueAccessor = makeAccessor2(value);\n    let colorScale;\n\n    if (this.props.colorScale) {\n      colorScale = this.props.colorScale;\n    } else {\n      const valueDomain =\n        this.props.valueDomain || domainFromData(data, valueAccessor);\n      const colors =\n        this.props.colors ||\n        (valueDomain.length === 2\n          ? ['#000000', '#ffffff']\n          : times(valueDomain.length, schemeCategory10().domain(range(10))));\n      colorScale = makeColorScale(valueDomain, colors, interpolator);\n    }\n\n    return (\n      <g className=\"rct-color-heatmap-chart\" aria-hidden=\"true\">\n        {data.map((d, i) => {\n          const color = colorScale(valueAccessor(d));\n          const style = { ...getValue(rectStyle, d, i), fill: color };\n          const className = `${getValue(rectClassName, d, i)}`;\n          const key = `heatmap-rect-${i}`;\n          return (\n            <RangeRect\n              x={getValue(x, d, i)}\n              xEnd={getValue(xEnd, d, i)}\n              y={getValue(y, d, i)}\n              yEnd={getValue(yEnd, d, i)}\n              {...{ xScale, yScale, style, className, key }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/FunnelChart.js",
    "content": "import { area } from 'd3-shape';\nimport { scaleOrdinal } from 'd3-scale';\nimport { schemeCategory10 } from 'd3-scale-chromatic';\nimport range from 'lodash/range';\nimport defaults from 'lodash/defaults';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport {\n  combineDomains,\n  domainFromData,\n  getValue,\n  makeAccessor2,\n} from './utils/Data';\nimport { dataTypeFromScaleType } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `FunnelChart` is used to visualize the progressive reduction of data as it passes\n * from one phase to another.\n */\nexport default class FunnelChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to be plotted.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for X values, called once per datum, or a single value to be used for all data.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for Y values, called once per datum, or a single value to be used for all data.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Color applied to the path element,\n     * or accessor function which returns a class.\n     *\n     * Note that the first datum's color would not be applied since it fills in the area of the path\n     */\n    color: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Boolean which determines whether the chart will be horizontal.\n     */\n    horizontal: PropTypes.bool,\n    /**\n     * Classname applied to each path element,\n     * or accessor function which returns a class.\n     */\n    pathClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Style applied to each path element,\n     * or accessor function which returns a style object.\n     */\n    pathStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n  };\n  static defaultProps = {\n    pathClassName: '',\n    pathStyle: {},\n  };\n\n  static getDomain(props) {\n    const { data, xScaleType, yScaleType, x, y, horizontal } = props;\n    const [xAccessor, yAccessor] = [makeAccessor2(x), makeAccessor2(y)];\n    const [xDataType, yDataType] = [\n      dataTypeFromScaleType(xScaleType),\n      dataTypeFromScaleType(yScaleType),\n    ];\n\n    return horizontal\n      ? {\n          xDomain: combineDomains([\n            domainFromData(data, xAccessor, xDataType),\n            domainFromData(data, (d, i) => -xAccessor(d, i), xDataType),\n          ]),\n          yDomain: domainFromData(data, yAccessor, yDataType),\n        }\n      : {\n          xDomain: domainFromData(data, xAccessor, xDataType),\n          yDomain: combineDomains([\n            domainFromData(data, yAccessor, yDataType),\n            domainFromData(data, (d, i) => -yAccessor(d, i), yDataType),\n          ]),\n        };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, []);\n    return shouldUpdate;\n  }\n\n  render() {\n    const {\n      data,\n      xScale,\n      yScale,\n      color,\n      pathStyle,\n      x,\n      y,\n      horizontal,\n      pathClassName,\n    } = this.props;\n\n    const funnelArea = area();\n    if (horizontal) {\n      funnelArea\n        .x0((d, i) => xScale(-getValue(x, d, i)))\n        .x1((d, i) => xScale(getValue(x, d, i)))\n        .y((d, i) => yScale(getValue(y, d, i)));\n    } else {\n      funnelArea\n        .x((d, i) => xScale(getValue(x, d, i)))\n        .y0((d, i) => yScale(-getValue(y, d, i)))\n        .y1((d, i) => yScale(getValue(y, d, i)));\n    }\n\n    const colors = scaleOrdinal(schemeCategory10).domain(range(10));\n\n    return (\n      <g className=\"rct-funnel-chart\" aria-hidden=\"true\">\n        {data.map((d, i) => {\n          if (i === 0) return null;\n          const pathStr = funnelArea([data[i - 1], d]);\n          const fill = color ? getValue(color, d, i) : colors(i - 1);\n          let style = getValue(pathStyle, d, i);\n\n          style = defaults({}, style, { fill, stroke: 'transparent' });\n\n          return (\n            <path\n              d={pathStr}\n              className={`${getValue(pathClassName, d, i) || ''}`}\n              style={style}\n              key={i}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/Histogram.js",
    "content": "import { histogram, extent } from 'd3-array';\nimport { scaleLinear } from 'd3-scale';\nimport first from 'lodash/first';\nimport last from 'lodash/last';\nimport maxBy from 'lodash/maxBy';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport AreaBarChart from './AreaBarChart';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `Histogram` is used to represent the distribution of numerical data. Histograms, only relate\n * to one variable, where data is typically \"binned\" and counted.\n */\n\n// todo make histogram work horizontally *or* vertically\n// todo make histogram work with ordinal scale\nexport default class Histogram extends React.Component {\n  static propTypes = {\n    /**\n     * The array of data objects for the histogram.\n     * These should be individual \"samples\" or \"facts\", not an array of bins -\n     * this component will count and bin the samples for you. If you have data that is already binned,\n     * use the `<AreaBarChart>` component.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Data value accessor function, called once per datum, which returns the values to bin and plot in the histogram.\n     * If `data` is just an array of numbers, this may be the identity function (`d => d`).\n     */\n    value: PropTypes.func,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Following [d3's thresholds documentation](https://github.com/d3/d3-array#histogram_thresholds) ...\n     *\n     * If a number `count`  is specified, then the domain will be uniformly divided into approximately `count` bins.\n     *\n     * If an array `[x0, x1 ... xN]` is specified, then any value less than `x0` will be placed in the first bin; any value greater than\n     * or equal to `x0` but less than `x1` will be placed in the second bin; and so on. The generated histogram will have `array.length` + 1 bins.\n     */\n    thresholds: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\n    /**\n     * The domain over which your data will be binned. Defined as an array `[min, max]`.\n     * If not provided, binDomain will be the domain of your data values by default.\n     *\n     * Warning: This prop takes priority if `nice = true`.\n     */\n    binDomain: PropTypes.array,\n    /**\n     * If true, nicely rounds the start and end values of your bins.\n     * Implemented using [d3's ticks nicing logic](https://github.com/d3/d3-array#ticks).\n     */\n    nice: PropTypes.bool,\n    /**\n     * Class attribute to be applied to each bar,\n     * or accessor function which returns a class.\n     */\n    barClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each bar,\n     * or accessor function which returns a style object.\n     */\n    barStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a bar.\n     */\n    onMouseMoveBar: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a bar.\n     */\n    onMouseEnterBar: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a bar.\n     */\n    onMouseLeaveBar: PropTypes.func,\n  };\n\n  static defaultProps = {\n    data: [],\n    thresholds: 30,\n    nice: false,\n    barClassName: '',\n    barStyle: {},\n  };\n\n  static getScaleType() {\n    return { xScaleType: 'linear', yScaleType: 'linear' };\n  }\n\n  static getDomain(props) {\n    const { data, value, thresholds, binDomain, nice } = props;\n\n    const bins = Histogram.computeHistogram(\n      data,\n      thresholds,\n      value,\n      binDomain,\n      nice,\n    );\n\n    const domains = {\n      xDomain: [first(bins).x0, last(bins).x1],\n      yDomain: [0, maxBy(bins, bin => bin.length).length],\n    };\n\n    return domains;\n  }\n\n  static computeHistogram(data, thresholds, accessor, binDomain, nice) {\n    let makeHistogram = histogram()\n      .value(accessor)\n      .thresholds(thresholds);\n\n    if (binDomain) {\n      // Throw warning if nice = true and binDomain is defined\n      if (nice) {\n        /* eslint-disable no-console */\n        console.warn(\n          'Warning: if binDomain is defined and nice = true, histogram prioritizes binDomain and disregards nice.',\n        );\n        /* eslint-enable no-console */\n      }\n\n      // Use user's passed in binDomain to makeHistogram\n      makeHistogram = makeHistogram.domain(binDomain);\n    } else if (nice) {\n      // Create a linear scale to nice values\n      const scale = scaleLinear()\n        .domain(extent(data))\n        .nice();\n\n      // Nicely round domain given temp bins\n      const niceBinDomain = scale.ticks();\n\n      // Set nicely rounded domain as domain for makeHistogram\n      makeHistogram = makeHistogram.domain([\n        first(niceBinDomain),\n        last(niceBinDomain),\n      ]);\n    }\n\n    const bins = makeHistogram(data);\n\n    return bins;\n  }\n\n  state = { histogramData: null };\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, []);\n    return shouldUpdate;\n  }\n\n  render() {\n    const { value, data, thresholds, binDomain, nice } = this.props;\n\n    const bins = Histogram.computeHistogram(\n      data,\n      thresholds,\n      value,\n      binDomain,\n      nice,\n    );\n\n    if (!bins) return <g />;\n\n    return (\n      <AreaBarChart\n        {...this.props}\n        data={bins}\n        x={getX0}\n        xEnd={getX1}\n        y={getLength}\n      />\n    );\n  }\n}\n\nfunction getX0(d) {\n  return d.x0;\n}\nfunction getX1(d) {\n  return d.x1;\n}\nfunction getLength(d) {\n  return d.length;\n}\n"
  },
  {
    "path": "src/KernelDensityEstimation.js",
    "content": "import { mean } from 'd3-array';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport LineChart from './LineChart.js';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * Kernel Density Estimation is still undergoing experimental changes!\n * We do not consider this chart to be production ready but\n * encourage you to try it out and contribute to any of its missing features.\n */\nclass KernelDensityEstimation extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data objects.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Kernel bandwidth for kernel density estimator.\n     * High bandwidth => oversmoothing & underfitting; low bandwidth => undersmoothing & overfitting\n     */\n    bandwidth: PropTypes.number,\n    /**\n     * Number of samples to take from the KDE,\n     * ie. the resolution/smoothness of the KDE line - more samples => higher resolution, smooth line.\n     * Defaults to null, which causes it to be auto-determined based on width.\n     */\n    sampleCount: PropTypes.number,\n    /**\n     * Inline style object to be applied to the line path.\n     */\n    lineStyle: PropTypes.object,\n    /**\n     * Class attribute to be applied to the line path.\n     */\n    lineClassName: PropTypes.string,\n    /**\n     * Accessor function for bar X values, called once per bar (datum).\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n  };\n  static defaultProps = {\n    bandwidth: 0.5,\n    sampleCount: null, // null = auto-determined based on width\n    lineClassName: '',\n    lineStyle: {},\n  };\n\n  state = {\n    kdeData: null,\n  };\n\n  static getDomain() {\n    // todo implement real static getDomain method\n    return {\n      yDomain: [0, 200],\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, []);\n    return shouldUpdate;\n  }\n\n  static getDerivedStateFromProps(nextProps, prevState) {\n    const kdeData = KernelDensityEstimation.getKdeData(nextProps);\n    return { kdeData };\n  }\n\n  static getKdeData(props) {\n    const { data, bandwidth, sampleCount, xScale, width } = props;\n    const kernel = epanechnikovKernel(bandwidth);\n    const samples = xScale.ticks(sampleCount || Math.ceil(width / 2));\n    return kernelDensityEstimator(kernel, samples)(data);\n  }\n\n  render() {\n    const { kdeData } = this.state;\n\n    return (\n      <LineChart\n        {...this.props}\n        data={kdeData}\n        x={d => d[0]}\n        y={d => d[1] * 500}\n      />\n    );\n  }\n}\n\nfunction kernelDensityEstimator(kernel, x) {\n  return function(sample) {\n    return x.map(function(x) {\n      return [\n        x,\n        mean(sample, function(v) {\n          return kernel(x - v);\n        }),\n      ];\n    });\n  };\n}\n\nfunction epanechnikovKernel(scale) {\n  return function(u) {\n    return Math.abs((u /= scale)) <= 1 ? (0.75 * (1 - u * u)) / scale : 0;\n  };\n}\n\nexport default KernelDensityEstimation;\n"
  },
  {
    "path": "src/LineChart.js",
    "content": "import { line, curveLinear } from 'd3-shape';\nimport { bisector } from 'd3-array';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { getValue } from './utils/Data';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `LineChart` displays a series of points connected by straight line segments.\n * Each `LineChart` renders one line.\n */\nexport default class LineChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data objects\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for line X values, called once per datum, or a single value to be used for the entire line.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for line Y values, called once per datum, or a single value to be used for the entire line.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Inline style object to be applied to the line path.\n     */\n    lineStyle: PropTypes.object,\n    /**\n     * Class attribute to be applied to the line path.\n     */\n    lineClassName: PropTypes.string,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * D3 curve for path generation\n     */\n    curve: PropTypes.func,\n  };\n  static defaultProps = {\n    lineStyle: {},\n    lineClassName: '',\n    curve: curveLinear,\n  };\n\n  static getBisectorState(props) {\n    const bisectX = bisector(d => getValue(props.x, d)).left;\n    return { bisectX };\n  }\n\n  static getDerivedStateFromProps(nextProps) {\n    if (nextProps.x) {\n      return LineChart.getBisectorState(nextProps);\n    }\n\n    return null;\n  }\n\n  state = {\n    bisectX: null,\n  };\n\n  shouldComponentUpdate(nextProps) {\n    return !xyPropsEqual(this.props, nextProps, ['lineStyle', 'lineClassName']);\n  }\n\n  getHovered = x => {\n    const closestDataIndex = this.state.bisectX(this.props.data, x);\n    return this.props.data[closestDataIndex];\n  };\n\n  render() {\n    const {\n      data,\n      xScale,\n      yScale,\n      x,\n      y,\n      curve,\n      lineStyle,\n      lineClassName,\n    } = this.props;\n\n    const pathStr = line()\n      .curve(curve)\n      .x((d, i) => xScale(getValue(x, d, i)))\n      .y((d, i) => yScale(getValue(y, d, i)))(data);\n\n    return (\n      <g className={`rct-line-chart ${lineClassName}`} aria-hidden=\"true\">\n        <path className=\"rct-line-path\" d={pathStr} style={lineStyle} />\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/MarkerLineChart.js",
    "content": "import isUndefined from 'lodash/isUndefined';\nimport first from 'lodash/first';\nimport last from 'lodash/last';\nimport clamp from 'lodash/clamp';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { methodIfFuncProp, bindTrailingArgs } from './util.js';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport {\n  domainFromData,\n  domainFromRangeData,\n  getValue,\n  makeAccessor2,\n} from './utils/Data';\nimport { dataTypeFromScaleType } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\nfunction getTickType(props) {\n  const { xEnd, yEnd, horizontal } = props;\n  // warn if a range is passed for the dependent variable, which is expected to be a value\n  if (\n    (!horizontal && !isUndefined(yEnd)) ||\n    (horizontal && !isUndefined(xEnd))\n  ) {\n    // eslint-disable-next-line no-console\n    console.warn(\n      'Warning: MarkerLineChart can only show the independent variable as a range, not the dependent variable.',\n    );\n  }\n\n  if ((!horizontal && !isUndefined(xEnd)) || (horizontal && !isUndefined(yEnd)))\n    return 'RangeValue';\n\n  return 'ValueValue';\n}\n\n/**\n * `MarkerLineChart` is similar to a bar chart,\n * except that it just draws a line at the data value, rather than a full bar.\n * If the independent variable is a range, the length of the line will represent that range,\n * otherwise all lines will be the same length.\n * The dependent variable must be a single value, not a range.\n */\n\nexport default class MarkerLineChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data objects. One marker line will be rendered per datum in the array.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for marker line's X values, called once per line (datum), or a single value to be used for all marker lines.\n     * If `horizontal` is `false`, this gets the *independent* variable value on which the line is centered.\n     * If `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for marker line's Y values, called once per line (datum), or a single value to be used for all marker lines.\n     * If `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable.\n     * If `horizontal` is `true`, this gets the *independent* variable value on which the line is centered.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (maximum X-values) of the *dependent* variable, which is where the marker line is rendered,\n     * or a single value to be used for all marker lines.\n     * Should only be passed when `horizontal` is `true` (ignored otherwise).\n     */\n    xEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (maximum Y-values) of the *dependent* variable range which is where the marker line is rendered,\n     * or a single value to be used for all marker lines.\n     * Should only be passed when `horizontal` is `false` (ignored otherwise).\n     */\n    yEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Boolean which determines whether the chart will be horizontal.\n     * When `true` the X-axis will be treated as the dependent axis.\n     */\n    horizontal: PropTypes.bool,\n    /**\n     * Length of the marker line.\n     */\n    lineLength: PropTypes.number,\n    /**\n     * D3 scale type for X axis - provided by XYPlot.\n     */\n    xScaleType: PropTypes.string,\n    /**\n     * D3 scale type for Y axis - provided by XYPlot.\n     */\n    yScaleType: PropTypes.string,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Class attribute to be applied to the line path,\n     * or an accessor function which returns a class.\n     */\n    lineClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each marker line,\n     * or an accessor function which returns a style object.\n     */\n    lineStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a marker line.\n     */\n    onMouseEnterLine: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a marker line.\n     */\n    onMouseMoveLine: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a marker line.\n     */\n    onMouseLeaveLine: PropTypes.func,\n  };\n  static defaultProps = {\n    horizontal: false,\n    lineLength: 10,\n    lineClassName: '',\n    lineStyle: {},\n  };\n\n  static getSpacing(props) {\n    const tickType = getTickType(props);\n    // no spacing for rangeValue marker charts since line start and end are set explicitly\n    if (tickType === 'RangeValue')\n      return {\n        spacingTop: 0,\n        spacingRight: 0,\n        spacingBottom: 0,\n        spacingLeft: 0,\n      };\n\n    const {\n      lineLength,\n      horizontal,\n      data,\n      xDomain,\n      yDomain,\n      xScale,\n      yScale,\n      x,\n      y,\n    } = props;\n    const P = lineLength / 2; // padding\n    const markDomain = horizontal ? yDomain : xDomain;\n    const markScale = horizontal ? yScale : xScale;\n    const markAccessor = horizontal ? makeAccessor2(y) : makeAccessor2(x);\n    const markDataDomain = domainFromData(data, markAccessor);\n\n    // find the edges of the tick domain, and map them through the scale function\n    const [domainHead, domainTail] = [first(markDomain), last(markDomain)]\n      .map(markScale)\n      .sort(); // sort the pixel values return by the domain extents\n\n    // find the edges of the data domain, and map them through the scale function\n    const [dataDomainHead, dataDomainTail] = [\n      first(markDataDomain),\n      last(markDataDomain),\n    ]\n      .map(markScale)\n      .sort(); // sort the pixel values return by the domain extents\n\n    // find the necessary spacing (based on bar width) to push the bars completely inside the tick domain\n    const [spacingTail, spacingHead] = [\n      clamp(P - (domainTail - dataDomainTail), 0, P),\n      clamp(P - (dataDomainHead - domainHead), 0, P),\n    ];\n\n    if (horizontal) {\n      return {\n        spacingTop: spacingHead,\n        spacingBottom: spacingTail,\n        spacingLeft: 0,\n        spacingRight: 0,\n      };\n    }\n    return {\n      spacingTop: 0,\n      spacingBottom: 0,\n      spacingLeft: spacingHead,\n      spacingRight: spacingTail,\n    };\n  }\n\n  static getDomain(props) {\n    if (getTickType(props) === 'RangeValue') {\n      // set range domain for range type\n      const {\n        data,\n        x,\n        xEnd,\n        y,\n        yEnd,\n        xScaleType,\n        yScaleType,\n        horizontal,\n      } = props;\n\n      // only have to specify range axis domain, other axis uses default domainFromData\n      // in this chart type, the range axis, if there is one, is always the *independent* variable\n      const rangeAxis = horizontal ? 'y' : 'x';\n      const rangeStartAccessor = horizontal\n        ? makeAccessor2(y)\n        : makeAccessor2(x);\n      const rangeEndAccessor = horizontal\n        ? makeAccessor2(yEnd)\n        : makeAccessor2(xEnd);\n      const rangeDataType = dataTypeFromScaleType(\n        horizontal ? yScaleType : xScaleType,\n      );\n\n      return {\n        [`${rangeAxis}Domain`]: domainFromRangeData(\n          data,\n          rangeStartAccessor,\n          rangeEndAccessor,\n          rangeDataType,\n        ),\n      };\n    }\n\n    return {};\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, []);\n    return shouldUpdate;\n  }\n\n  onMouseEnterLine = (e, d) => {\n    this.props.onMouseEnterLine(e, d);\n  };\n  onMouseMoveLine = (e, d) => {\n    this.props.onMouseMoveLine(e, d);\n  };\n  onMouseLeaveLine = (e, d) => {\n    this.props.onMouseLeaveLine(e, d);\n  };\n\n  renderRangeValueLine = (d, i) => {\n    const [onMouseEnter, onMouseMove, onMouseLeave] = [\n      'onMouseEnterLine',\n      'onMouseMoveLine',\n      'onMouseLeaveLine',\n    ].map(eventName => {\n      // partially apply this line's data point as 2nd callback argument\n      const callback = methodIfFuncProp(eventName, this.props, this);\n      return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n    });\n\n    const {\n      x,\n      xEnd,\n      y,\n      yEnd,\n      horizontal,\n      xScale,\n      yScale,\n      lineClassName,\n      lineStyle,\n    } = this.props;\n    const xVal = xScale(makeAccessor2(x)(d));\n    const yVal = yScale(makeAccessor2(y)(d));\n    const xEndVal = isUndefined(xEnd) ? 0 : xScale(makeAccessor2(xEnd)(d));\n    const yEndVal = isUndefined(yEnd) ? 0 : yScale(makeAccessor2(yEnd)(d));\n    const [x1, y1] = [xVal, yVal];\n    const x2 = horizontal ? xVal : xEndVal;\n    const y2 = horizontal ? yEndVal : yVal;\n    const key = `marker-line-${i}`;\n\n    if (![x1, x2, y1, y2].every(val => val !== null && isFinite(val)))\n      return null;\n    return (\n      <line\n        className={`${getValue(lineClassName, d, i)}`}\n        style={getValue(lineStyle, d, i)}\n        {...{ x1, x2, y1, y2, key, onMouseEnter, onMouseMove, onMouseLeave }}\n      />\n    );\n  };\n\n  renderValueValueLine = (d, i) => {\n    const [onMouseEnter, onMouseMove, onMouseLeave] = [\n      'onMouseEnterLine',\n      'onMouseMoveLine',\n      'onMouseLeaveLine',\n    ].map(eventName => {\n      // partially apply this line's data point as 2nd callback argument\n      const callback = methodIfFuncProp(eventName, this.props, this);\n      return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n    });\n\n    const {\n      x,\n      y,\n      horizontal,\n      lineLength,\n      xScale,\n      yScale,\n      lineClassName,\n      lineStyle,\n    } = this.props;\n    const xVal = xScale(makeAccessor2(x)(d));\n    const yVal = yScale(makeAccessor2(y)(d));\n    const x1 = !horizontal ? xVal - lineLength / 2 : xVal;\n    const x2 = !horizontal ? xVal + lineLength / 2 : xVal;\n    const y1 = !horizontal ? yVal : yVal - lineLength / 2;\n    const y2 = !horizontal ? yVal : yVal + lineLength / 2;\n    const key = `marker-line-${i}`;\n\n    if (![x1, x2, y1, y2].every(val => val !== null && isFinite(val)))\n      return null;\n    return (\n      <line\n        className={`${getValue(lineClassName, d, i)}`}\n        style={getValue(lineStyle, d, i)}\n        {...{ x1, x2, y1, y2, key, onMouseEnter, onMouseMove, onMouseLeave }}\n      />\n    );\n  };\n\n  render() {\n    const tickType = getTickType(this.props);\n    return (\n      <g className=\"rct-marker-line-chart\" aria-hidden=\"true\">\n        {tickType === 'RangeValue'\n          ? this.props.data.map(this.renderRangeValueLine)\n          : this.props.data.map(this.renderValueValueLine)}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/MeasuredValueLabel.js",
    "content": "import React from 'react';\nimport defaults from 'lodash/defaults';\nimport omit from 'lodash/omit';\nimport identity from 'lodash/identity';\nimport measureText from './utils/measureText';\nimport PropTypes from 'prop-types';\n\nexport default class MeasuredValueLabel extends React.Component {\n  static propTypes = {\n    value: PropTypes.any,\n    format: PropTypes.func,\n    children: PropTypes.any,\n  };\n\n  static defaultProps = {\n    format: identity,\n    style: {\n      fontFamily: 'Helvetica, sans-serif',\n      fontSize: '20px',\n      lineHeight: 1,\n      textAnchor: 'middle',\n    },\n  };\n\n  static getLabel(props) {\n    const { value, format } = props;\n    const style = defaults(props.style, MeasuredValueLabel.defaultProps.style);\n    const labelStr = format(value);\n    const labelWithStyle = Object.assign({ text: labelStr }, style);\n    const measured = measureText(labelWithStyle);\n\n    return {\n      value: props.value,\n      text: measured.text,\n      height: measured.height.value,\n      width: measured.width.value,\n    };\n  }\n\n  render() {\n    const { value, format } = this.props;\n    const passedProps = omit(this.props, ['value', 'format']);\n\n    return (\n      <text {...passedProps}>\n        {React.Children.count(this.props.children)\n          ? this.props.children\n          : format(value)}\n      </text>\n    );\n  }\n}\n"
  },
  {
    "path": "src/PieChart.js",
    "content": "import sumBy from 'lodash/sumBy';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { methodIfFuncProp, bindTrailingArgs } from './util.js';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { getValue, makeAccessor } from './utils/Data';\n\n// default height/width, used only if height & width & radius are all undefined\nconst DEFAULT_SIZE = 150;\n\n/**\n * `PieChart` is a circular graphic that is divided into slices to illustrate proportions or percentages.\n */\nclass PieChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to plot with pie chart.\n     */\n    data: PropTypes.array.isRequired,\n    /* Accessor function for getting the pie slices plotted on the pie chart.\n     * If not provided, just uses the data value itself at given index.\n     */\n    slice: CustomPropTypes.getter.isRequired,\n    /**\n     * Total expected sum of all the pie slice values.\n     * If provided && slices don't add up to total, an \"empty\" slice will be rendered for the rest\n     * If not provided, will be the sum of all values (ie. all values will always add up to 100%)\n     */\n    total: PropTypes.number,\n    /**\n     * Optional width of the SVG\n     * if not passed in and height is passed in, same # is used for both (ie. width=100 means height=100 also)\n     * if neither is passed, but radius is, radius+margins is used\n     * if neither is passed, and radius isn't either, 150 is used\n     */\n    width: PropTypes.number,\n    /**\n     * Optional height of the SVG\n     * if not passed in and width is passed in, same # is used for both (ie. width=100 means height=100 also)\n     * if neither is passed, but radius is, radius+margins is used\n     * if neither is passed, and radius isn't either, 150 is used\n     */\n    height: PropTypes.number,\n    /**\n     * Optional radius of the pie chart, inferred from margin/width/height if not provided.\n     */\n    radius: PropTypes.number,\n    marginTop: PropTypes.number,\n    marginBottom: PropTypes.number,\n    marginLeft: PropTypes.number,\n    marginRight: PropTypes.number,\n    /**\n     * Optional radius of the \"donut hole\" circle drawn on top of the pie chart to turn it into a donut chart.\n     */\n    holeRadius: PropTypes.number,\n    /**\n     * Optional label text to display in the middle of the pie/donut.\n     */\n    centerLabel: PropTypes.string,\n    /**\n     * Class attribute to be applied to center label.\n     */\n    centerLabelClassName: PropTypes.string,\n    /**\n     * Inline style object to be applied to center label.\n     */\n    centerLabelStyle: PropTypes.object,\n    /**\n     * Accessor for getting labels that are rendered outside each slice of the pie chart.\n     * If not provided no labels will be rendered.\n     */\n    getPieSliceLabel: PropTypes.func,\n    /**\n     * Inline style object applied to each slice label.\n     * When a function is provided it will receive the value for the slice and should return the\n     * style object for that slice's label.\n     * Used along with `getPieSliceLabel`.\n     */\n    pieSliceLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Distance to render the label from the outer edge of the pie chart. Positive numbers will\n     * move away from the center and negative numbers will move toward the center.\n     * When a function is provided it will receive the value for the slice and should return the\n     * distance for that slice's label.\n     * Used along with `getPieSliceLabel`.\n     */\n    pieSliceLabelDistance: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.func,\n    ]),\n    /**\n     * Class attribute to be applied to each pie slice,\n     * or accessor function which returns a class.\n     */\n    pieSliceClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object applied to each pie slice.\n     * When a function is provided it will receive the value and index for the\n     * slice as its parameters, and should return the style object for the slice.\n     */\n    pieSliceStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Value for where to place markerline.\n     */\n    markerLineValue: PropTypes.number,\n    /**\n     * Class attribute to be applied to marker line.\n     */\n    markerLineClassName: PropTypes.string,\n    /**\n     * Inline style object to be applied to marker line.\n     */\n    markerLineStyle: PropTypes.object,\n    /**\n     * Number of pixels marker line hangs inside the pie chart.\n     */\n    markerLineOverhangInner: PropTypes.number,\n    /**\n     * Number of pixels marker line hangs outside the pie chart.\n     */\n    markerLineOverhangOuter: PropTypes.number,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the marker line.\n     */\n    onMouseEnterLine: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the marker line.\n     */\n    onMouseMoveLine: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the marker line.\n     */\n    onMouseLeaveLine: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a pie slice.\n     */\n    onMouseEnterSlice: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a pie slice.\n     */\n    onMouseMoveSlice: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a pie slice.\n     */\n    onMouseLeaveSlice: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user click a pie slice.\n     */\n    onClick: PropTypes.func,\n  };\n  static defaultProps = {\n    centerLabelClassName: '',\n    centerLabelStyle: {},\n    pieSliceClassName: '',\n    pieSliceStyle: {},\n    markerLineClassName: '',\n    markerLineOverhangInner: 2,\n    markerLineOverhangOuter: 2,\n    markerLineStyle: {},\n    marginTop: 0,\n    marginBottom: 0,\n    marginLeft: 0,\n    marginRight: 0,\n  };\n\n  onMouseEnterSlice = (e, d) => {\n    this.props.onMouseEnterSlice(e, d);\n  };\n  onMouseMoveSlice = (e, d) => {\n    this.props.onMouseMoveSlice(e, d);\n  };\n  onMouseLeaveSlice = (e, d) => {\n    this.props.onMouseLeaveSlice(e, d);\n  };\n\n  onMouseEnterLine = (e, d) => {\n    this.props.onMouseEnterLine(e, d);\n  };\n  onMouseMoveLine = (e, d) => {\n    this.props.onMouseMoveLine(e, d);\n  };\n  onMouseLeaveLine = (e, d) => {\n    this.props.onMouseLeaveLine(e, d);\n  };\n  onClick = (e, d) => {\n    this.props.onClick(e, d);\n  };\n\n  renderMarkerLine(pathData) {\n    const { markerLineClassName, markerLineStyle } = this.props;\n    const lineD = {\n      value: this.props.markerLineValue,\n    };\n\n    const [onMouseEnter, onMouseMove, onMouseLeave, onClick] = [\n      'onMouseEnterLine',\n      'onMouseMoveLine',\n      'onMouseLeaveLine',\n      'onClick',\n    ].map(eventName => {\n      // partially apply this line's data point as 2nd callback argument\n      const callback = methodIfFuncProp(eventName, this.props, this);\n      return isFunction(callback) ? bindTrailingArgs(callback, lineD) : null;\n    });\n\n    return (\n      <path\n        style={markerLineStyle}\n        className={`rct-marker-line ${markerLineClassName}`}\n        d={pathData}\n        {...{ onMouseEnter, onMouseMove, onMouseLeave, onClick }}\n      />\n    );\n  }\n\n  renderSliceLabel(value, slice, center, radius, index) {\n    const {\n      getPieSliceLabel,\n      pieSliceLabelStyle,\n      pieSliceLabelDistance,\n    } = this.props;\n    const labelPercent = (slice.end - slice.start) / 2 + slice.start;\n    const style = {\n      textAnchor: 'middle',\n      dominantBaseline: 'central',\n    };\n\n    if (pieSliceLabelStyle) {\n      Object.assign(style, getValue(pieSliceLabelStyle, value));\n    }\n\n    const r = pieSliceLabelDistance\n      ? radius + getValue(pieSliceLabelDistance, value)\n      : radius;\n    const x = center.x + Math.sin((2 * Math.PI) / (1 / labelPercent)) * r;\n    const y = center.y - Math.cos((2 * Math.PI) / (1 / labelPercent)) * r;\n\n    return (\n      <text key={index} x={x} y={y} style={style}>\n        {getPieSliceLabel(value)}\n      </text>\n    );\n  }\n\n  renderCenterLabel(center) {\n    const { centerLabelStyle, centerLabelClassName, centerLabel } = this.props;\n    const { x, y } = center;\n    const style = Object.assign(\n      {},\n      { textAnchor: 'middle', dominantBaseline: 'central' },\n      centerLabelStyle,\n    );\n\n    return (\n      <text\n        className={`rct-pie-label-center ${centerLabelClassName}`}\n        {...{ x, y, style }}\n      >\n        {centerLabel}\n      </text>\n    );\n  }\n\n  render() {\n    const {\n      marginLeft,\n      marginRight,\n      marginTop,\n      marginBottom,\n      holeRadius,\n    } = this.props;\n\n    // sizes fallback based on provided info: given dimension -> radius + margin -> other dimension -> default\n    const width =\n      this.props.width ||\n      (this.props.radius\n        ? this.props.radius * 2 + marginLeft + marginRight\n        : this.props.height) ||\n      DEFAULT_SIZE;\n    const height =\n      this.props.height ||\n      (this.props.radius\n        ? this.props.radius * 2 + marginTop + marginBottom\n        : this.props.width) ||\n      DEFAULT_SIZE;\n    const radius =\n      this.props.radius ||\n      Math.min(\n        (width - (marginLeft + marginRight)) / 2,\n        (height - (marginTop + marginBottom)) / 2,\n      );\n    const center = { x: marginLeft + radius, y: marginTop + radius };\n\n    const {\n      data,\n      total,\n      centerLabel,\n      getPieSliceLabel,\n      markerLineValue,\n      markerLineOverhangInner,\n      markerLineOverhangOuter,\n      pieSliceClassName,\n    } = this.props;\n\n    const valueAccessor = makeAccessor(this.props.slice);\n    const sum = sumBy(data, valueAccessor);\n    const newTotal = total || sum;\n    const markerLinePercent = isFinite(markerLineValue)\n      ? markerLineValue / newTotal\n      : null;\n\n    let startPercent = 0;\n    const slices = data.map(d => {\n      const slicePercent = valueAccessor(d) / newTotal;\n      const slice = {\n        start: startPercent,\n        end: startPercent + slicePercent,\n      };\n      startPercent += slicePercent;\n\n      return slice;\n    });\n\n    return (\n      <svg className=\"rct-pie-chart\" {...{ width, height }}>\n        {data.map((d, i) => {\n          const [onMouseEnter, onMouseMove, onMouseLeave, onClick] = [\n            'onMouseEnterSlice',\n            'onMouseMoveSlice',\n            'onMouseLeaveSlice',\n            'onClick',\n          ].map(eventName => {\n            // partially apply this slice's data point as 2nd callback argument\n            const callback = methodIfFuncProp(eventName, this.props, this);\n            return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n          });\n\n          const className = `rct-pie-slice rct-pie-slice-${i} ${getValue(\n            pieSliceClassName,\n            d,\n            i,\n          ) || ''}`;\n          const slice = slices[i];\n          const pathStr = pieSlicePath(\n            slice.start,\n            slice.end,\n            center,\n            radius,\n            holeRadius,\n          );\n          const key = `pie-slice-${i}`;\n\n          return (\n            <path\n              {...{\n                className,\n                d: pathStr,\n                onMouseEnter,\n                onMouseMove,\n                onMouseLeave,\n                onClick,\n                key,\n                style: getValue(this.props.pieSliceStyle, d, i),\n              }}\n            />\n          );\n        })}\n\n        {sum < newTotal ? ( // draw empty slice if the sum of slices is less than expected total\n          <path\n            className=\"rct-pie-slice rct-pie-slice-empty\"\n            d={pieSlicePath(startPercent, 1, center, radius, holeRadius)}\n            key=\"pie-slice-empty\"\n          />\n        ) : null}\n\n        {markerLinePercent !== null && isFinite(markerLinePercent)\n          ? this.renderMarkerLine(\n              markerLine(\n                markerLinePercent,\n                center,\n                radius,\n                holeRadius,\n                markerLineOverhangOuter,\n                markerLineOverhangInner,\n              ),\n            )\n          : null}\n\n        {centerLabel ? this.renderCenterLabel(center) : null}\n        {getPieSliceLabel\n          ? data.map((d, i) =>\n              this.renderSliceLabel(d, slices[i], center, radius, i),\n            )\n          : null}\n      </svg>\n    );\n  }\n}\n\nfunction markerLine(\n  percentValue,\n  center,\n  radius,\n  holeRadius = 0,\n  overhangOuter = 0,\n  overhangInner = 0,\n) {\n  const startX = Math.sin((2 * Math.PI) / (1 / percentValue));\n  const startY = Math.cos((2 * Math.PI) / (1 / percentValue));\n  const [c, r, rH, x0, y0] = [center, radius, holeRadius, startX, startY];\n  const [r0, r1] = [Math.max(rH - overhangInner, 0), r + overhangOuter];\n\n  return [\n    // construct a string representing the marker line\n    `M ${c.x + x0 * r0},${c.y - y0 * r0}`, // start at edge of inner (hole) circle, or center if no hole\n    `L ${c.x + x0 * r1},${c.y - y0 * r1} z`, // straight line to outer circle, along radius\n  ].join(' ');\n}\n\nfunction pieSlicePath(\n  startPercent,\n  endPercent,\n  center,\n  radius,\n  holeRadius = 0,\n) {\n  let parsedEndPercent = endPercent;\n\n  if (parsedEndPercent === 1) {\n    parsedEndPercent = 0.9999999; // arc cannot be a full circle\n  }\n\n  const startX = Math.sin((2 * Math.PI) / (1 / startPercent));\n  const startY = Math.cos((2 * Math.PI) / (1 / startPercent));\n  const endX = Math.sin((2 * Math.PI) / (1 / parsedEndPercent));\n  const endY = Math.cos((2 * Math.PI) / (1 / parsedEndPercent));\n\n  const largeArc = parsedEndPercent - startPercent <= 0.5 ? 0 : 1;\n  const [c, r, rH, x0, x1, y0, y1] = [\n    center,\n    radius,\n    holeRadius,\n    startX,\n    endX,\n    startY,\n    endY,\n  ];\n\n  return [\n    // construct a string representing the pie slice path\n    `M ${c.x + x0 * rH},${c.y - y0 * rH}`, // start at edge of inner (hole) circle, or center if no hole\n    `L ${c.x + x0 * r},${c.y - y0 * r}`, // straight line to outer circle, along radius\n    `A ${r},${r} 0 ${largeArc} 1 ${c.x + x1 * r},${c.y - y1 * r}`, // outer arc\n  ]\n    .concat(\n      holeRadius\n        ? [\n            // if we have an inner (donut) hole, draw an inner arc too, otherwise we're done\n            `L ${c.x + x1 * rH},${c.y - y1 * rH}`, // straight line to inner (hole) circle, along radius\n            `A ${rH},${rH} 0 ${largeArc} 0 ${c.x + x0 * rH},${c.y - y0 * rH} z`, // inner arc\n          ]\n        : 'z',\n    )\n    .join(' ');\n}\n\nexport default PieChart;\n"
  },
  {
    "path": "src/RangeBarChart.js",
    "content": "import first from 'lodash/first';\nimport last from 'lodash/last';\nimport clamp from 'lodash/clamp';\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Bar from './Bar';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport {\n  domainFromData,\n  domainFromRangeData,\n  getValue,\n  makeAccessor2,\n} from './utils/Data';\nimport { bindTrailingArgs } from './util.js';\nimport { dataTypeFromScaleType } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `RangeBarChart` is a variation on the standard bar chart. Just like a normal bar chart, each bar represents a single\n * value on the *independent* axis (X axis for vertical bars), and is centered on this value.\n * However, on the *dependent* axis, each bar represents a *range* (min/max) of values,\n * rather than always starting at zero.\n */\n\nexport default class RangeBarChart extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to be plotted. One bar will be rendered per datum in this array.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Boolean which determines whether the chart will use horizontal or vertical bars.\n     * When `true`, bars will be horizontal, ie. the X-axis will be treated as the dependent axis.\n     */\n    horizontal: PropTypes.bool,\n\n    /**\n     * Accessor function for bar X values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `false`, this gets the *independent* variable value on which the bar is centered.\n     * If `horizontal` is `true`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar's length.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (maximum X-values) of the *dependent* variable range which is spanned by the bar's length,\n     * or a single value to be used for all bars.\n     * Should only be passed when `horizontal` is `true` (ignored otherwise).\n     */\n    xEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for bar Y values, called once per bar (datum), or a single value to be used for all bars.\n     * If `horizontal` is `false`, this gets the start (minimum value) of the *dependent* variable range which is spanned by the bar's length.\n     * If `horizontal` is `true`, this gets the *independent* variable value on which the bar is centered.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for the end (maximum Y-values) of the *dependent* variable range which is spanned by the bar's length,\n     * or a single value to be used for all bars.\n     * Should only be passed when `horizontal` is `false` (ignored otherwise).\n     */\n    yEnd: CustomPropTypes.valueOrAccessor,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Thickness (in pixels) of each bar (ie. bar height if `horizontal` is `true`, otherwise bar width),\n     */\n    barThickness: PropTypes.number,\n    // barThickness: PropTypes.oneOfType([PropTypes.number, PropTypes.func]), // todo\n\n    /**\n     * Inline style object to be applied to each bar,\n     * or accessor function which returns a style object.\n     */\n    barStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Class attribute to be applied to each bar,\n     * or accessor function which returns a class.\n     */\n    barClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a bar.\n     */\n    onMouseMoveBar: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a bar.\n     */\n    onMouseEnterBar: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a bar.\n     */\n    onMouseLeaveBar: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user clicks the bar.\n     */\n    onClick: PropTypes.func,\n    /**\n     * Conditional if column should display values above/beside each bar.\n     */\n    showLabels: PropTypes.bool,\n    /**\n     * Format to use for the values or accessor that returns the updated value on each bar.\n     */\n    barLabelFormat: PropTypes.func,\n    /**\n     * The distance from the column the text appears in pixels - default is 24.\n     */\n    labelDistance: PropTypes.number,\n    /**\n     * Class name(s) to be included on each bar's <text> element.\n     */\n    labelClassName: PropTypes.string,\n  };\n  static defaultProps = {\n    horizontal: false,\n    barThickness: 8,\n    barClassName: '',\n    barStyle: {},\n  };\n\n  static getDomain(props) {\n    const {\n      xScaleType,\n      yScaleType,\n      horizontal,\n      data,\n      x,\n      xEnd,\n      y,\n      yEnd,\n    } = props;\n\n    // only have to specify range axis domain, other axis uses default domainFromData\n    const rangeAxis = horizontal ? 'x' : 'y';\n    const rangeStartAccessor = horizontal ? makeAccessor2(x) : makeAccessor2(y);\n    const rangeEndAccessor = horizontal\n      ? makeAccessor2(xEnd)\n      : makeAccessor2(yEnd);\n    const rangeScaleType = horizontal ? xScaleType : yScaleType;\n    const rangeDataType = dataTypeFromScaleType(rangeScaleType);\n\n    return {\n      [`${rangeAxis}Domain`]: domainFromRangeData(\n        data,\n        rangeStartAccessor,\n        rangeEndAccessor,\n        rangeDataType,\n      ),\n    };\n  }\n  static getSpacing(props) {\n    const {\n      barThickness,\n      horizontal,\n      x,\n      y,\n      xScale,\n      yScale,\n      data,\n      xDomain,\n      yDomain,\n    } = props;\n    const P = barThickness / 2; // padding\n    const barsDomain = horizontal ? yDomain : xDomain;\n    const barsScale = horizontal ? yScale : xScale;\n    const barsAccessor = horizontal ? makeAccessor2(y) : makeAccessor2(x);\n    const barsDataDomain = domainFromData(data, barsAccessor);\n\n    // find the edges of the tick domain, and map them through the scale function\n    const [domainHead, domainTail] = [first(barsDomain), last(barsDomain)]\n      .map(barsScale)\n      .sort(); // sort the pixel values return by the domain extents\n\n    // find the edges of the data domain, and map them through the scale function\n    const [dataDomainHead, dataDomainTail] = [\n      first(barsDataDomain),\n      last(barsDataDomain),\n    ]\n      .map(barsScale)\n      .sort(); // sort the pixel values return by the domain extents\n\n    // find the necessary spacing (based on bar width) to push the bars completely inside the tick domain\n    const [spacingTail, spacingHead] = [\n      clamp(P - (domainTail - dataDomainTail), 0, P),\n      clamp(P - (dataDomainHead - domainHead), 0, P),\n    ];\n\n    if (horizontal) {\n      return {\n        spacingTop: spacingHead,\n        spacingBottom: spacingTail,\n        spacingLeft: 0,\n        spacingRight: 0,\n      };\n    }\n\n    return {\n      spacingTop: 0,\n      spacingBottom: 0,\n      spacingLeft: spacingHead,\n      spacingRight: spacingTail,\n    };\n  }\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, ['barStyle']);\n    return shouldUpdate;\n  }\n\n  render() {\n    const {\n      xScale,\n      yScale,\n      data,\n      horizontal,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      barThickness,\n      barClassName,\n      barStyle,\n      showLabels,\n      barLabelFormat,\n      labelDistance,\n      labelClassName,\n    } = this.props;\n\n    return (\n      <g aria-hidden=\"true\">\n        {data.map((d, i) => {\n          const [onMouseEnter, onMouseMove, onMouseLeave, onClick] = [\n            'onMouseEnterBar',\n            'onMouseMoveBar',\n            'onMouseLeaveBar',\n            'onClick',\n          ].map(eventName => {\n            // partially apply this bar's data point as 2nd callback argument\n            const callback = get(this.props, eventName);\n            return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n          });\n\n          const barProps = {\n            x: getValue(x, d, i),\n            y: getValue(y, d, i),\n            xEnd: horizontal ? getValue(xEnd, d, i) : undefined,\n            yEnd: horizontal ? undefined : getValue(yEnd, d, i),\n            xScale,\n            yScale,\n            key: `chart-bar-${i}`,\n            onMouseEnter,\n            onMouseMove,\n            onMouseLeave,\n            onClick,\n            thickness: barThickness,\n            showLabel: showLabels,\n            labelFormat: barLabelFormat,\n            labelDistance,\n            labelClassName: getValue(labelClassName, d, i),\n            className: `rct-chart-bar ${getValue(barClassName, d, i) || ''}`,\n            style: getValue(barStyle, d, i),\n          };\n\n          return <Bar {...barProps} />;\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/RangeRect.js",
    "content": "import React from 'react';\nimport invariant from 'invariant';\nimport PropTypes from 'prop-types';\nimport { isValidScale } from './utils/Scale';\n\n/**\n * RangeRect is a low-level component to be used in XYPlot-type charts (namely AreaBarChart).\n * It is a rectangle which represents a range (min & max) of values on both (X & Y) axes.\n * It takes a single datum object, and getters which specify how to retrieve the range values from it.\n */\n\nexport default class RangeRect extends React.Component {\n  static propTypes = {\n    /**\n     * D3 scale for the X (horizontal) axis.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for the Y (vertical) axis.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Starting (minimum) X value (left edge, usually) of the rectangle range\n     */\n    x: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * Ending (maximum) X value (right edge, usually) of the rectangle range\n     */\n    xEnd: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * Starting (minimum) Y value (bottom edge, usually) of the rectangle range\n     */\n    y: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * Ending (maximum) Y value (top edge, usually) of the rectangle range\n     */\n    yEnd: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * Class attribute to be applied to the rectangle element\n     */\n    className: PropTypes.string,\n    /**\n     * Inline style object to be applied to the rectangle element\n     */\n    style: PropTypes.object,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the rectangle.\n     */\n    onMouseMove: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the rectangle.\n     */\n    onMouseEnter: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the rectangle.\n     */\n    onMouseLeave: PropTypes.func,\n  };\n  static defaultProps = {\n    className: '',\n    style: {},\n  };\n\n  render() {\n    const {\n      xScale,\n      yScale,\n      x,\n      xEnd,\n      y,\n      yEnd,\n      style,\n      onMouseEnter,\n      onMouseMove,\n      onMouseLeave,\n      className,\n    } = this.props;\n\n    invariant(\n      isValidScale(xScale),\n      `RangeRect.props.xScale is not a valid d3 scale`,\n    );\n    invariant(\n      isValidScale(yScale),\n      `RangeRect.props.yScale is not a valid d3 scale`,\n    );\n\n    const x0 = xScale(x);\n    const x1 = xScale(xEnd);\n    const y0 = yScale(y);\n    const y1 = yScale(yEnd);\n    const rectX = Math.min(x0, x1);\n    const rectY = Math.min(y0, y1);\n    const width = Math.abs(x1 - x0);\n    const height = Math.abs(y1 - y0);\n\n    return (\n      <rect\n        aria-hidden=\"true\"\n        {...{\n          x: rectX,\n          y: rectY,\n          width,\n          height,\n          className,\n          style,\n          onMouseEnter,\n          onMouseMove,\n          onMouseLeave,\n        }}\n      />\n    );\n  }\n}\n"
  },
  {
    "path": "src/SankeyDiagram.js",
    "content": "import {\n  sankey,\n  sankeyCenter,\n  sankeyJustify,\n  sankeyLeft,\n  sankeyLinkHorizontal,\n  sankeyRight,\n} from 'd3-sankey';\nimport isFunction from 'lodash/isFunction';\nimport isNull from 'lodash/isNull';\nimport isUndefined from 'lodash/isUndefined';\nimport isString from 'lodash/isString';\nimport isNumber from 'lodash/isNumber';\nimport omit from 'lodash/omit';\nimport get from 'lodash/get';\nimport maxBy from 'lodash/maxBy';\nimport has from 'lodash/has';\nimport cloneDeep from 'lodash/cloneDeep';\nimport map from 'lodash/map';\nimport { format as numberFormat, formatPrefix } from 'd3-format';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getValue } from './utils/Data';\nimport { bindTrailingArgs } from './util.js';\n\nconst SankeyNode = props => {\n  const {\n    graph,\n    node,\n    nodeClassName,\n    nodeStyle,\n    onMouseEnterNode,\n    onMouseLeaveNode,\n    onMouseMoveNode,\n    onMouseDownNode,\n    onMouseUpNode,\n    onClickNode,\n  } = props;\n  // create partial functions for handlers - callbacks with the current node/graph arguments attached\n  const makeHandler = origHandler =>\n    isFunction(origHandler)\n      ? bindTrailingArgs(origHandler, { node, graph })\n      : null;\n\n  return (\n    <rect\n      x={node.x0}\n      y={node.y0}\n      width={Math.abs(node.x1 - node.x0)}\n      height={Math.abs(node.y1 - node.y0)}\n      className={`rct-sankey-node ${getValue(nodeClassName, node, graph)}`}\n      style={getValue(nodeStyle, node, graph)}\n      onMouseEnter={makeHandler(onMouseEnterNode)}\n      onMouseLeave={makeHandler(onMouseLeaveNode)}\n      onMouseMove={makeHandler(onMouseMoveNode)}\n      onMouseDown={makeHandler(onMouseDownNode)}\n      onMouseUp={makeHandler(onMouseUpNode)}\n      onClick={makeHandler(onClickNode)}\n    />\n  );\n};\n\nSankeyNode.propTypes = {\n  graph: PropTypes.object,\n  node: PropTypes.object,\n  nodeClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  nodeStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  onMouseEnterNode: PropTypes.func,\n  onMouseLeaveNode: PropTypes.func,\n  onMouseMoveNode: PropTypes.func,\n  onMouseDownNode: PropTypes.func,\n  onMouseUpNode: PropTypes.func,\n  onClickNode: PropTypes.func,\n};\n\nconst SankeyLink = props => {\n  const {\n    graph,\n    link,\n    linkPath,\n    linkClassName,\n    linkStyle,\n    onMouseEnterLink,\n    onMouseLeaveLink,\n    onMouseMoveLink,\n    onMouseDownLink,\n    onMouseUpLink,\n    onClickLink,\n  } = props;\n\n  // create partial functions for handlers - callbacks with the current graph/link arguments attached\n  const makeHandler = origHandler =>\n    isFunction(origHandler)\n      ? bindTrailingArgs(origHandler, { link, graph })\n      : null;\n\n  return (\n    <path\n      d={linkPath}\n      className={`rct-sankey-link ${getValue(linkClassName, link, graph)}`}\n      style={{\n        ...getValue(linkStyle, link, graph),\n        strokeWidth: link.width,\n      }}\n      onMouseEnter={makeHandler(onMouseEnterLink)}\n      onMouseLeave={makeHandler(onMouseLeaveLink)}\n      onMouseMove={makeHandler(onMouseMoveLink)}\n      onMouseDown={makeHandler(onMouseDownLink)}\n      onMouseUp={makeHandler(onMouseUpLink)}\n      onClick={makeHandler(onClickLink)}\n    />\n  );\n};\n\nSankeyLink.propTypes = {\n  graph: PropTypes.object,\n  link: PropTypes.object,\n  linkPath: PropTypes.string,\n  linkClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  linkStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  onMouseEnterLink: PropTypes.func,\n  onMouseLeaveLink: PropTypes.func,\n  onMouseMoveLink: PropTypes.func,\n  onMouseDownLink: PropTypes.func,\n  onMouseUpLink: PropTypes.func,\n  onClickLink: PropTypes.func,\n};\n\nconst SankeyNodeTerminal = props => {\n  const {\n    node,\n    graph,\n    nodeTerminalWidth,\n    nodeTerminalDistance,\n    nodeTerminalStyle,\n    nodeTerminalClassName,\n    nodeTerminalAttributes,\n    onMouseEnterNodeTerminal,\n    onMouseLeaveNodeTerminal,\n    onMouseMoveNodeTerminal,\n    onMouseDownNodeTerminal,\n    onMouseUpNodeTerminal,\n    onClickNodeTerminal,\n  } = props;\n\n  if (!node.terminalValue) return null;\n  const makeHandler = origHandler =>\n    isFunction(origHandler)\n      ? bindTrailingArgs(origHandler, { node, graph, props })\n      : null;\n  const getWithNode = accessor => getValue(accessor, node, graph, props);\n  const width = getWithNode(nodeTerminalWidth) || 0;\n  const distance = getWithNode(nodeTerminalDistance) || 0;\n  const nodeHeight = Math.abs(node.y1 - node.y0) || 0;\n  const height =\n    (nodeHeight * node.terminalValue || 0) / (node.value || 0) || 0;\n  const style = getWithNode(nodeTerminalStyle);\n  const className = `rct-sankey-node-terminal ${getWithNode(\n    nodeTerminalClassName,\n  )}`;\n  const attributes = getWithNode(nodeTerminalAttributes);\n\n  return (\n    <rect\n      x={node.x1 + distance}\n      y={node.y0 + (nodeHeight - height)}\n      {...{ width, height, style, className }}\n      {...attributes}\n      onMouseEnter={makeHandler(onMouseEnterNodeTerminal)}\n      onMouseLeave={makeHandler(onMouseLeaveNodeTerminal)}\n      onMouseMove={makeHandler(onMouseMoveNodeTerminal)}\n      onMouseDown={makeHandler(onMouseDownNodeTerminal)}\n      onMouseUp={makeHandler(onMouseUpNodeTerminal)}\n      onClick={makeHandler(onClickNodeTerminal)}\n    />\n  );\n};\n\nSankeyNodeTerminal.propTypes = {\n  node: PropTypes.object,\n  graph: PropTypes.object,\n  nodeTerminalWidth: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n  nodeTerminalDistance: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n  nodeTerminalStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  nodeTerminalClassName: PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.func,\n  ]),\n  nodeTerminalAttributes: PropTypes.oneOfType([\n    PropTypes.object,\n    PropTypes.func,\n  ]),\n  onMouseEnterNodeTerminal: PropTypes.func,\n  onMouseLeaveNodeTerminal: PropTypes.func,\n  onMouseMoveNodeTerminal: PropTypes.func,\n  onMouseDownNodeTerminal: PropTypes.func,\n  onMouseUpNodeTerminal: PropTypes.func,\n  onClickNodeTerminal: PropTypes.func,\n};\n\nconst SankeyNodeLabel = props => {\n  const {\n    node,\n    graph,\n    nodeLabelText,\n    nodeId,\n    nodeLabelPlacement,\n    nodeLabelDistance,\n  } = props;\n  const getWithNode = accessor => getValue(accessor, node, graph, props);\n  const getLabelText = isFunction(nodeLabelText) ? nodeLabelText : nodeId;\n  const placement = getWithNode(nodeLabelPlacement);\n  const distance = getWithNode(nodeLabelDistance) || 0;\n  const labelContent = getWithNode(getLabelText);\n  // don't render empty labels\n  if (\n    isNull(labelContent) ||\n    isUndefined(labelContent) ||\n    labelContent === false ||\n    labelContent === ''\n  ) {\n    return null;\n  }\n\n  // if `labelContent` is a string or number, it is rendered as text within a SVG <text> element\n  // otherwise, it is rendered as arbitrary SVG content\n  // allows users to render components inside a node label (eg. to add icon or link)\n  const isTextLabel = isString(labelContent) || isNumber(labelContent);\n  if (!isTextLabel) {\n    return labelContent;\n  }\n\n  const baseClassName = `rct-sankey-node-label ${getWithNode(\n    props.nodeLabelClassName,\n  )}`;\n  const baseStyle = getWithNode(props.nodeLabelStyle);\n  let position;\n  let textStyle;\n\n  // use placement prop to determine x, y, alignmentBaseline and textAnchor\n  if (placement === 'above') {\n    // render label above node, centered horizontally\n    textStyle = {\n      alignmentBaseline: 'baseline',\n      textAnchor: 'middle',\n      ...baseStyle,\n    };\n    position = {\n      x: node.x0 + Math.abs(node.x1 - node.x0) / 2,\n      y: node.y0 - distance,\n    };\n  } else if (placement === 'below') {\n    // render label above node, centered horizontally\n    textStyle = {\n      alignmentBaseline: 'hanging',\n      textAnchor: 'middle',\n      ...baseStyle,\n    };\n    position = {\n      x: node.x0 + Math.abs(node.x1 - node.x0) / 2,\n      y: node.y1 + distance,\n    };\n  } else if (placement === 'before') {\n    // render label before (to left of) node, centered vertically\n    textStyle = {\n      alignmentBaseline: 'middle',\n      textAnchor: 'end',\n      ...baseStyle,\n    };\n    position = {\n      x: node.x0 - distance,\n      y: node.y0 + Math.abs(node.y1 - node.y0) / 2,\n    };\n  } else {\n    if (!isUndefined(placement) && placement !== 'after')\n      // eslint-disable-next-line no-console\n      console.warn(\n        `${placement} is not a valid value for nodeLabelPlacement - defaulting to \"after\"`,\n      );\n    // render label after (to right of) node, centered vertically\n    textStyle = {\n      alignmentBaseline: 'middle',\n      textAnchor: 'start',\n      ...baseStyle,\n    };\n    position = {\n      x: node.x1 + distance,\n      y: node.y0 + Math.abs(node.y1 - node.y0) / 2,\n    };\n  }\n\n  const className = `${baseClassName} rct-sankey-node-label-text`;\n  return (\n    <text {...position} className={className} style={textStyle}>\n      {labelContent}\n    </text>\n  );\n};\n\nSankeyNodeLabel.propTypes = {\n  node: PropTypes.object,\n  graph: PropTypes.object,\n  nodeLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  nodeLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  nodeLabelText: PropTypes.func,\n  nodeId: PropTypes.func,\n  nodeLabelPlacement: PropTypes.oneOfType([\n    PropTypes.oneOf(['before', 'after', 'above', 'below']),\n    PropTypes.func,\n  ]),\n  nodeLabelDistance: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n};\n\nconst SankeyLinkLabel = props => {\n  const {\n    link,\n    graph,\n    linkLabelClassName,\n    linkLabelStyle,\n    linkLabelAttributes,\n    linkLabelStartOffset,\n    linkLabelText,\n    linkPathId,\n  } = props;\n  const getWithLink = accessor => getValue(accessor, link, graph, props);\n  const className = `rct-sankey-link-label ${getWithLink(\n    linkLabelClassName || '',\n  )}`;\n  const style = getWithLink(linkLabelStyle || {});\n  const attributes = getWithLink(linkLabelAttributes || {});\n  const startOffset = getWithLink(linkLabelStartOffset || 0);\n\n  return (\n    <text className={className} style={style} {...attributes}>\n      <textPath startOffset={startOffset} xlinkHref={`#${linkPathId}`}>\n        {getWithLink(linkLabelText)}\n      </textPath>\n    </text>\n  );\n};\n\nSankeyLinkLabel.propTypes = {\n  link: PropTypes.object,\n  graph: PropTypes.object,\n  linkLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  linkLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  linkLabelAttributes: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  linkLabelStartOffset: PropTypes.oneOfType([\n    PropTypes.string,\n    PropTypes.number,\n  ]),\n  linkLabelText: PropTypes.func,\n  linkPathId: PropTypes.string,\n};\n\nconst SankeyStepLabel = props => {\n  const {\n    x,\n    y,\n    stepLabelPadding,\n    stepLabelText,\n    stepLabelClassName,\n    stepLabelStyle,\n    step,\n  } = props;\n\n  let yPos = y;\n\n  if (isNumber(stepLabelPadding)) {\n    yPos = yPos - stepLabelPadding;\n  }\n\n  return (\n    <text\n      className={`rct-step-label ${getValue(stepLabelClassName, step)}`}\n      style={getValue(stepLabelStyle, step)}\n      x={x}\n      y={yPos}\n      key={`step-${x}-${step}`}\n    >\n      {getValue(stepLabelText, step)}\n    </text>\n  );\n};\n\nSankeyStepLabel.propTypes = {\n  x: PropTypes.number,\n  y: PropTypes.number,\n  stepLabelPadding: PropTypes.number,\n  stepLabelText: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  stepLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n  stepLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n  step: PropTypes.string,\n};\n\nconst SVGContainer = props => {\n  const otherProps = omit(props, ['standalone']);\n  if (props.standalone) {\n    return <svg {...otherProps} />;\n  }\n  return <g {...otherProps} />;\n};\n\nSVGContainer.propTypes = {\n  standalone: PropTypes.bool,\n};\n\n/**\n * Enhance the graph object created by d3-sankey by adding some additional useful properties.\n * Adds `maxDepth` (max of node `depth` properties)\n * and `node.terminalValue` (value of node's terminal, sum of all 'out' nodes minus sum of 'in' nodes)\n */\nfunction enhanceGraph(graph) {\n  graph.nodes.forEach(node => {\n    const sourceLinksSum = (node.sourceLinks || []).reduce(\n      (sum, link) => sum + link.value,\n      0,\n    );\n    node.terminalValue = Math.max(node.value - sourceLinksSum, 0);\n  });\n  graph.links.forEach(link => {\n    link.valueSourceRelative = (link.value || 0) / get(link, 'source.value', 0);\n    link.valueTargetRelative = (link.value || 0) / get(link, 'target.value', 0);\n  });\n\n  graph.maxDepth = maxBy(graph.nodes, 'depth');\n  graph.maxDepth = graph.nodes.reduce(\n    (max, node) => Math.max(node.depth || 0, max),\n    0,\n  );\n  return graph;\n}\n\nfunction getLinkId(link, nodeId) {\n  return `link-${nodeId(link.source)}-to-${nodeId(link.target)}`;\n}\n\nconst nodeAlignmentsByName = {\n  left: sankeyLeft,\n  right: sankeyRight,\n  center: sankeyCenter,\n  justify: sankeyJustify,\n};\n\n/**\n * A `SankeyDiagram` is a type of flow diagram which visualizes directed flow between nodes\n * of a network graph. Currently only *acyclic* networks are supported.\n */\nexport default class SankeyDiagram extends React.Component {\n  static propTypes = {\n    /**\n     * Array of node objects, represented by vertical rectangles.\n     * These represent the base entities which links flow into & out of.\n     */\n    nodes: PropTypes.arrayOf(PropTypes.object).isRequired,\n    /**\n     * Array of link objects, represented by curved paths between nodes.\n     * Links represent a magnitude of flow between one node and another.\n     * Each should have a 'source' node [identifier], a 'target' node [identifier],\n     * and a numerical value representing flow magnitude.\n     */\n    links: PropTypes.arrayOf(\n      PropTypes.shape({\n        source: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n        target: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n        value: PropTypes.number,\n      }),\n    ).isRequired,\n    /**\n     * Width of the SVG element.\n     */\n    width: PropTypes.number.isRequired,\n    /**\n     * Height of the SVG element.\n     */\n    height: PropTypes.number.isRequired,\n    /**\n     * Boolean which decides if the nodes & links props should be cloned before being mutated into\n     * the Sankey data structure. Passing `false` is faster, but may cause unintended side effects\n     * if nodes or links data are used elsewhere\n     */\n    shouldClone: PropTypes.bool,\n    /**\n     * `className` attribute to be applied to the SVG element.\n     */\n    className: PropTypes.string,\n    /**\n     * Inline style object to be applied to the SVG element.\n     */\n    style: PropTypes.object,\n    /**\n     * Boolean which determines whether the chart should be rendered as a standalone `<svg>` element\n     * or a `<g>` group element (as a child within an existing `<svg>`).\n     * True by default, pass `false` to render in a `<g>`.\n     */\n    standalone: PropTypes.bool,\n    /**\n     * Internal top margin, in pixels. Generally used to leave extra space inside the SVG for labels.\n     */\n    marginTop: PropTypes.number,\n    /**\n     * Internal bottom margin, in pixels.\n     */\n    marginBottom: PropTypes.number,\n    /**\n     * Internal left margin, in pixels.\n     */\n    marginLeft: PropTypes.number,\n    /**\n     * Internal right margin, in pixels.\n     */\n    marginRight: PropTypes.number,\n\n    /**\n     * Boolean which determines if node rectangles should be shown,\n     * or function (`showNode(node, graph)`) which returns a boolean\n     */\n    showNodes: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Accessor function `nodeId(node, graph)` which specifies how to access the ID of each node object.\n     * These should be the same identifiers used by `links[].source` and `.target`.\n     * Uses the node's index in `nodes` array by default.\n     */\n    nodeId: PropTypes.func,\n    /**\n     * Width (in pixels) of the vertical node rectangles.\n     */\n    nodeWidth: PropTypes.number,\n    /**\n     * Vertical padding (in pixels) between each of the node lines.\n     */\n    nodePadding: PropTypes.number,\n    /**\n     * Node alignment method used to layout the nodes.\n     * Must be 'left', 'right', 'center', or 'justify'.\n     * See [d3-sankey alignment docs](https://github.com/d3/d3-sankey#alignments) for more details.\n     */\n    nodeAlignment: PropTypes.oneOf(['left', 'right', 'center', 'justify']),\n    /**\n     * `className` attribute to be applied to each node,\n     * or accessor function which returns a class (string).\n     */\n    nodeClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each node,\n     * or accessor function which returns a style object.\n     */\n    nodeStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Node sort function\n     */\n    nodeSort: PropTypes.func,\n    /**\n     * Node `mouseenter` event handler, called when user's mouse enters a node.\n     */\n    onMouseEnterNode: PropTypes.func,\n    /**\n     * Node `mouseleave` event handler, called when user's mouse leaves a node.\n     */\n    onMouseLeaveNode: PropTypes.func,\n    /**\n     * Node `mousemove` event handler, called when user's mouse moves within a node.\n     */\n    onMouseMoveNode: PropTypes.func,\n    /**\n     * Node `mousedown` event handler, called when user's mouse button is depressed within a node.\n     */\n    onMouseDownNode: PropTypes.func,\n    /**\n     * Node `mouseup` event handler, called when user's mouse button is released within a node.\n     */\n    onMouseUpNode: PropTypes.func,\n    /**\n     * Node `click` event handler, called when user clicks within a node.\n     */\n    onClickNode: PropTypes.func,\n    /**\n     * Boolean which determines if link paths should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean\n     */\n    showLinks: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Class attribute to be applied to each link,\n     * or accessor function which returns a class (string).\n     */\n    linkClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Link sort function\n     */\n    linkSort: PropTypes.func,\n    /**\n     * Inline style object to be applied to each link,\n     * or accessor function which returns a style object.\n     */\n    linkStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Link `mouseenter` event handler, called when user's mouse enters a link.\n     */\n    onMouseEnterLink: PropTypes.func,\n    /**\n     * Link `mouseleave` event handler, called when user's mouse leaves a link.\n     */\n    onMouseLeaveLink: PropTypes.func,\n    /**\n     * Link `mousemove` event handler, called when user's mouse moves within a link.\n     */\n    onMouseMoveLink: PropTypes.func,\n    /**\n     * Link `mousedown` event handler, called when user's mouse button is depressed within a link.\n     */\n    onMouseDownLink: PropTypes.func,\n    /**\n     * Link `mouseup` event handler, called when user's mouse button is released within a link.\n     */\n    onMouseUpLink: PropTypes.func,\n    /**\n     * Link `click` event handler, called when user clicks within a link.\n     */\n    onClickLink: PropTypes.func,\n    /**\n     * Boolean which determines if node terminals should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean.\n     * Terminals are bars that run alongside to show the amount\n     * which has flowed *in* but not *out*\n     */\n    showNodeTerminals: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Width (in pixels) of the node terminal rectangles,\n     * or accessor function `f(node, graph)` which returns a width.\n     */\n    nodeTerminalWidth: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n    /**\n     * Distance (in pixels) between nodes and their terminals,\n     * or accessor function `f(node, graph)` which returns a distance.\n     */\n    nodeTerminalDistance: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.func,\n    ]),\n    /**\n     * `className` attribute to be applied to each node terminal,\n     * or accessor function which returns a class (string).\n     */\n    nodeTerminalClassName: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.func,\n    ]),\n    /**\n     * Inline style object to be applied to each node terminal,\n     * or accessor function which returns a style object.\n     */\n    nodeTerminalStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Attributes object to be applied to each node terminal element,\n     * or accessor function which returns an object.\n     */\n    nodeTerminalAttributes: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * Node terminal `mouseenter` event handler, called when user's mouse enters a node terminal.\n     */\n    onMouseEnterNodeTerminal: PropTypes.func,\n    /**\n     * Node terminal `mouseleave` event handler, called when user's mouse leaves a node terminal.\n     */\n    onMouseLeaveNodeTerminal: PropTypes.func,\n    /**\n     * Node terminal `mousemove` event handler, called when user's mouse moves within a node terminal.\n     */\n    onMouseMoveNodeTerminal: PropTypes.func,\n    /**\n     * Node terminal `mousedown` event handler, called when user's mouse button is depressed within a node terminal.\n     */\n    onMouseDownNodeTerminal: PropTypes.func,\n    /**\n     * Node terminal `mouseup` event handler, called when user's mouse button is released within a node terminal.\n     */\n    onMouseUpNodeTerminal: PropTypes.func,\n    /**\n     * Node terminal `click` event handler, called when user clicks within a node terminal.\n     */\n    onClickNodeTerminal: PropTypes.func,\n\n    /**\n     * Boolean which determines if node labels should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean\n     */\n    showNodeLabels: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Placement of the node label relative to the node rectangle.\n     * Expects 'before', 'after', 'above' or 'below', or a function which returns one of these.\n     * By default, labels in the left half of the diagram are placed 'after' and those in the right half 'before'\n     */\n    nodeLabelPlacement: PropTypes.oneOfType([\n      PropTypes.oneOf(['before', 'after', 'above', 'below']),\n      PropTypes.func,\n    ]),\n    /**\n     * Distance (in pixels) between nodes and their labels,\n     * or accessor function `f(node, graph)` which returns a distance.\n     */\n    nodeLabelDistance: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n    /**\n     * Accessor function `nodeLabelText(node, graph)` which returns the content to be used for node labels.\n     * The function may return a string/number (rendered as SVG `<text>`),\n     * or arbitrary React SVG element(s) (rendered as-is inside the SVG).\n     * NOTE: in the latter case (returning arbitrary SVG), `nodeLabelPlacement`, `nodeLabelDistance`,\n     * `nodeLabelClassName` and `nodeLabelStyle` props will not be applied -\n     * user is responsible for all positioning and attributes on this element.\n     */\n    nodeLabelText: PropTypes.func,\n    /**\n     * `className` attribute to be applied to each node label,\n     * or accessor function which returns a class (string).\n     */\n    nodeLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each node label,\n     * or accessor function which returns a style object.\n     */\n    nodeLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n    /**\n     * Boolean which determines if link labels should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean\n     */\n    showLinkLabels: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Accessor function `f(link, graph)` which returns the text to be used for link labels.\n     */\n    linkLabelText: PropTypes.func,\n    /**\n     * `className` attribute to be applied to each link label,\n     * or accessor function which returns a class (string).\n     */\n    linkLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each link label,\n     * or accessor function which returns a style object.\n     */\n    linkLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Attributes object to be applied to each link label element,\n     * or accessor function which returns an object.\n     */\n    linkLabelAttributes: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * `startOffset` attribute to apply to the link label `<textpath>` element.\n     * May be a number (in SVG units) or percent string (`\"25%\"`)\n     */\n    linkLabelStartOffset: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.number,\n    ]),\n\n    /**\n     * Boolean which determines if link *source* labels should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean\n     */\n    showLinkSourceLabels: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Accessor function `f(link, graph)` which returns the text to be used for link *source* labels.\n     */\n    linkSourceLabelText: PropTypes.func,\n    /**\n     * `className` attribute to be applied to each link *source* label,\n     * or accessor function which returns a class (string).\n     */\n    linkSourceLabelClassName: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.func,\n    ]),\n    /**\n     * Inline style object to be applied to each link *source* label,\n     * or accessor function which returns a style object.\n     */\n    linkSourceLabelStyle: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * Attributes object to be applied to each link *source* label,\n     * or accessor function which returns an object.\n     */\n    linkSourceLabelAttributes: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * `startOffset` attribute to apply to the link *source* label `<textpath>` element.\n     * May be a number (in SVG units) or percent string (`\"25%\"`)\n     */\n    linkSourceLabelStartOffset: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.number,\n    ]),\n\n    /**\n     * Boolean which determines if link *target* labels should be shown,\n     * or function (`showLink(link, graph)`) which returns a boolean\n     */\n    showLinkTargetLabels: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n    /**\n     * Accessor function `f(link, graph)` which returns the text to be used for link *target* labels.\n     */\n    linkTargetLabelText: PropTypes.func,\n    /**\n     * `className` attribute to be applied to each link *target* label,\n     * or accessor function which returns a class (string).\n     */\n    linkTargetLabelClassName: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.func,\n    ]),\n    /**\n     * Inline style object to be applied to each link *target* label,\n     * or accessor function which returns a style object.\n     */\n    linkTargetLabelStyle: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * Attributes object to be applied to each link *target* label,\n     * or accessor function which returns an object.\n     */\n    linkTargetLabelAttributes: PropTypes.oneOfType([\n      PropTypes.object,\n      PropTypes.func,\n    ]),\n    /**\n     * `startOffset` attribute to apply to the link *target* label `<textpath>` element.\n     * May be a number (in SVG units) or percent string (`\"25%\"`)\n     */\n    linkTargetLabelStartOffset: PropTypes.oneOfType([\n      PropTypes.string,\n      PropTypes.number,\n    ]),\n    /**\n     * Text for step label or\n     * accessor function `f(step)` that returns the label text\n     */\n    stepLabelText: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * `className` attribute applied to each label,\n     * or accessor function which returns a class (string)\n     */\n    stepLabelClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * Inline style object to be applied to each label,\n     * or accessor function which returns an object\n     */\n    stepLabelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Vertical padding (in pixels) between step label and uppermost positioned node of that step\n     */\n    stepLabelPadding: PropTypes.number,\n  };\n  static defaultProps = {\n    width: 400,\n    height: 300,\n    shouldClone: true,\n    className: '',\n    style: {},\n    standalone: true,\n    marginTop: 0,\n    marginBottom: 0,\n    marginLeft: 0,\n    marginRight: 0,\n    nodeId: node => node.index,\n    showNodes: true,\n    nodeWidth: 12,\n    nodePadding: 8,\n    stepLabelPadding: 8,\n    nodeAlignment: 'justify',\n    nodeClassName: '',\n    nodeStyle: {},\n    showLinks: true,\n    linkClassName: '',\n    linkStyle: {},\n    showNodeTerminals: true,\n    nodeTerminalWidth: 5,\n    nodeTerminalDistance: 1,\n    nodeTerminalClassName: '',\n    nodeTerminalStyle: {},\n    nodeTerminalAttributes: { rx: 2, ry: 2 },\n    showNodeLabels: true,\n    nodeLabelPlacement: (node, graph) => {\n      return node.depth < graph.maxDepth / 2 ? 'after' : 'before';\n    },\n    nodeLabelDistance: 4,\n    nodeLabelText: (node, graph, props) => {\n      if (has(node, 'name')) return node.name;\n      if (has(node, 'label')) return node.label;\n      return getValue(props.nodeId, node, graph, props);\n    },\n    nodeLabelClassName: '',\n    nodeLabelStyle: {},\n    showLinkLabels: false,\n    linkLabelText: (link, graph, props) => {\n      const linkValue = link.value || 0;\n      const valueText = formatPrefix('.1~f', linkValue)(linkValue);\n      const sourceText = getValue(\n        props.nodeLabelText,\n        link.source,\n        graph,\n        props,\n      );\n      const targetText = getValue(\n        props.nodeLabelText,\n        link.target,\n        graph,\n        props,\n      );\n      return `${sourceText}→${targetText}: ${valueText}`;\n    },\n    linkLabelClassName: '',\n    linkLabelStyle: {},\n    linkLabelAttributes: {},\n    linkLabelStartOffset: '25%',\n    showLinkSourceLabels: false,\n    linkSourceLabelText: (link, graph, props) => {\n      const valueRelative = link.valueSourceRelative;\n      if (valueRelative === null || !isFinite(valueRelative)) return '';\n      const percentText =\n        valueRelative < 0.001 ? '<0.1%' : numberFormat('.1~%')(valueRelative);\n      return `${percentText} to ${getValue(\n        props.nodeLabelText,\n        link.target,\n        graph,\n        props,\n      )}`;\n    },\n    linkSourceLabelClassName: '',\n    linkSourceLabelStyle: {},\n    linkSourceLabelAttributes: {},\n    linkSourceLabelStartOffset: '2%',\n    showLinkTargetLabels: false,\n    linkTargetLabelText: (link, graph, props) => {\n      const valueRelative = link.valueTargetRelative;\n      if (valueRelative === null || !isFinite(valueRelative)) return '';\n      const percentText =\n        valueRelative < 0.001 ? '<0.1%' : numberFormat('.1~%')(valueRelative);\n      return `${percentText} from ${getValue(\n        props.nodeLabelText,\n        link.source,\n        graph,\n        props,\n      )}`;\n    },\n    linkTargetLabelClassName: '',\n    linkTargetLabelStyle: {},\n    linkTargetLabelAttributes: {},\n    linkTargetLabelStartOffset: '98%',\n  };\n\n  static getDerivedStateFromProps(nextProps, prevState) {\n    const { prevProps } = prevState;\n\n    // only update this._graph if a prop which affects the sankey layout has changed (most don't)\n    const sankeyLayoutPropKeys = [\n      'nodes',\n      'links',\n      'width',\n      'height',\n      'marginTop',\n      'marginBottom',\n      'marginLeft',\n      'marginRight',\n      'nodeId',\n      'nodeWidth',\n      'nodePadding',\n      'nodeAlignment',\n    ];\n\n    const hasChangedSankey = sankeyLayoutPropKeys.some(key => {\n      return nextProps[key] !== prevProps[key];\n    });\n    if (hasChangedSankey) {\n      const graph = SankeyDiagram.makeSankeyGraph(nextProps);\n      return {\n        graph,\n        prevProps: cloneDeep(nextProps),\n      };\n    }\n\n    return null;\n  }\n\n  static makeSankeyGraph(props) {\n    const innerWidth = props.width - (props.marginLeft + props.marginRight);\n    const innerHeight = props.height - (props.marginTop + props.marginBottom);\n    const makeSankey = sankey()\n      .size([innerWidth, innerHeight])\n      .nodeId(props.nodeId)\n      .nodeWidth(props.nodeWidth)\n      .nodePadding(props.nodePadding)\n      .nodeSort(props.nodeSort)\n      .linkSort(props.linkSort)\n      .nodeAlign(\n        nodeAlignmentsByName[props.nodeAlignment] ||\n          nodeAlignmentsByName.justify,\n      );\n\n    const nodes = props.shouldClone ? cloneDeep(props.nodes) : props.nodes;\n    const links = props.shouldClone ? cloneDeep(props.links) : props.links;\n    const sankeyGraph = makeSankey({ nodes, links });\n    return enhanceGraph(sankeyGraph);\n  }\n\n  constructor(props) {\n    super(props);\n    const graph = SankeyDiagram.makeSankeyGraph(props);\n    const prevProps = cloneDeep(props);\n    this.state = { graph, prevProps };\n  }\n\n  render() {\n    const {\n      width,\n      height,\n      style,\n      standalone,\n      nodeId,\n      marginTop,\n      marginBottom,\n      marginLeft,\n      marginRight,\n    } = this.props;\n\n    const { graph } = this.state;\n    const makeLinkPath = sankeyLinkHorizontal();\n    const className = `rct-sankey-diagram ${this.props.className}`;\n    const innerWidth = width - (marginLeft + marginRight);\n    const innerHeight = height - (marginTop + marginBottom);\n\n    function mapNodesInGroupIf(shouldShow, groupClassName, mapFunc) {\n      if (!shouldShow) return null;\n      return (\n        <g className={groupClassName}>\n          {(graph.nodes || []).map((node, i) => {\n            if (!getValue(shouldShow, node, graph)) return null;\n            const key = `node-${nodeId(node)}`;\n            return mapFunc(node, i, key);\n          })}\n        </g>\n      );\n    }\n\n    function mapLinksInGroupIf(shouldShow, groupClassName, mapFunc) {\n      if (!shouldShow) return null;\n      return (\n        <g className={groupClassName}>\n          {(graph.links || []).map((link, i) => {\n            if (!getValue(shouldShow, link, graph)) return null;\n            const key = `link-${nodeId(link.source)}-to-${nodeId(link.target)}`;\n            return mapFunc(link, i, key);\n          })}\n        </g>\n      );\n    }\n\n    function displayStepLabelsIf(\n      stepLabelText,\n      stepLabelClassName,\n      stepLabelStyle,\n      stepLabelPadding,\n      nodes,\n    ) {\n      if (!stepLabelText) {\n        return null;\n      }\n\n      const depthMapXPos = {};\n      const depthMapYPos = {};\n\n      nodes.forEach(n => {\n        depthMapXPos[n.depth] = n.x0;\n\n        // For the given depth, set the y equal to the highest positioned y value\n        depthMapYPos[n.depth] = depthMapYPos[n.depth]\n          ? Math.min(n.y0, depthMapYPos[n.depth])\n          : n.y0;\n      });\n\n      return (\n        <g className=\"rct-step-labels\" width={innerWidth} height={100}>\n          {map(depthMapXPos, (x, step) => {\n            const stepLabelProps = {\n              y: depthMapYPos[step],\n              step,\n              x,\n              stepLabelText,\n              stepLabelClassName,\n              stepLabelPadding,\n              stepLabelStyle,\n            };\n\n            return (\n              <SankeyStepLabel key={`rct-step-${step}`} {...stepLabelProps} />\n            );\n          })}\n        </g>\n      );\n    }\n\n    return (\n      <SVGContainer {...{ standalone, width, height, className, style }}>\n        <g\n          width={innerWidth}\n          height={innerHeight}\n          transform={`translate(${marginLeft}, ${marginTop})`}\n        >\n          {displayStepLabelsIf(\n            this.props.stepLabelText,\n            this.props.stepLabelClassName,\n            this.props.stepLabelStyle,\n            this.props.stepLabelPadding,\n            graph.nodes,\n          )}\n          {mapLinksInGroupIf(\n            this.props.showLinks,\n            'rct-sankey-links',\n            (link, i, key) => {\n              const linkProps = {\n                ...this.props,\n                key,\n                graph,\n                link,\n                linkPath: makeLinkPath(link),\n              };\n              return <SankeyLink {...linkProps} />;\n            },\n          )}\n          {mapNodesInGroupIf(\n            this.props.showNodes,\n            'rct-sankey-nodes',\n            (node, i, key) => {\n              return <SankeyNode {...this.props} {...{ key, graph, node }} />;\n            },\n          )}\n          ;\n          {mapNodesInGroupIf(\n            this.props.showNodeTerminals,\n            'rct-sankey-node-terminals',\n            (node, i, key) => {\n              return (\n                <SankeyNodeTerminal {...this.props} {...{ key, graph, node }} />\n              );\n            },\n          )}\n          ;\n          {/* the three types of link labels (link, link source, link target) use textpath to follow the link's path */}\n          {/* to minimize dom elements, first render one set of path definitions to be used by all three label types */}\n          {this.props.showLinkLabels ||\n          this.props.showLinkSourceLabels ||\n          this.props.showLinkTargetLabels ? (\n            <defs>\n              {graph.links.map(link => {\n                const hasLabel =\n                  getValue(this.props.showLinkLabels, link, graph) ||\n                  getValue(this.props.showLinkSourceLabels, link, graph) ||\n                  getValue(this.props.showLinkTargetLabels, link, graph);\n                if (!hasLabel) return null;\n\n                const linkPath = makeLinkPath(link);\n                const linkPathId = `${getLinkId(link, nodeId)}-path`;\n                return <path id={linkPathId} d={linkPath} key={linkPathId} />;\n              })}\n            </defs>\n          ) : null}\n          {mapLinksInGroupIf(\n            this.props.showLinkLabels,\n            'rct-sankey-link-labels',\n            (link, i, key) => {\n              const linkPathId = `${getLinkId(link, nodeId)}-path`;\n              const labelProps = {\n                ...this.props,\n                key,\n                graph,\n                link,\n                linkPathId,\n              };\n              return <SankeyLinkLabel {...labelProps} />;\n            },\n          )}\n          {mapNodesInGroupIf(\n            this.props.showNodeLabels,\n            'rct-sankey-node-labels',\n            (node, i, key) => {\n              return (\n                <SankeyNodeLabel {...this.props} {...{ key, graph, node }} />\n              );\n            },\n          )}\n          ;\n          {mapLinksInGroupIf(\n            this.props.showLinkSourceLabels,\n            'rct-sankey-link-source-labels',\n            (link, i, key) => {\n              const linkPathId = `${getLinkId(link, nodeId)}-path`;\n              const commonProps = {\n                ...this.props,\n                key,\n                graph,\n                link,\n                linkPathId,\n              };\n              const labelProps = {\n                ...commonProps,\n                linkLabelText: this.props.linkSourceLabelText,\n                linkLabelClassName: this.props.linkSourceLabelClassName,\n                linkLabelStyle: this.props.linkSourceLabelStyle,\n                linkLabelAttributes: this.props.linkSourceLabelAttributes,\n                linkLabelStartOffset: this.props.linkSourceLabelStartOffset,\n              };\n\n              return <SankeyLinkLabel {...labelProps} />;\n            },\n          )}\n          {mapLinksInGroupIf(\n            this.props.showLinkTargetLabels,\n            'rct-sankey-link-target-labels',\n            (link, i, key) => {\n              const linkPathId = `${getLinkId(link, nodeId)}-path`;\n              const commonProps = {\n                ...this.props,\n                key,\n                graph,\n                link,\n                linkPathId,\n              };\n              const labelProps = {\n                ...commonProps,\n                linkLabelText: this.props.linkTargetLabelText,\n                linkLabelClassName: this.props.linkTargetLabelClassName,\n                linkLabelStyle: {\n                  textAnchor: 'end',\n                  ...this.props.linkTargetLabelStyle,\n                },\n                linkLabelAttributes: this.props.linkTargetLabelAttributes,\n                linkLabelStartOffset: this.props.linkTargetLabelStartOffset,\n              };\n\n              return <SankeyLinkLabel {...labelProps} />;\n            },\n          )}\n        </g>\n      </SVGContainer>\n    );\n  }\n}\n"
  },
  {
    "path": "src/ScatterPlot.js",
    "content": "import isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport isNumber from 'lodash/isNumber';\nimport isUndefined from 'lodash/isUndefined';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { methodIfFuncProp, bindTrailingArgs } from './util.js';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { getValue } from './utils/Data';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\n/**\n * `ScatterPlot` displays its data as a collection of points. Each point represents\n * the relationship between two variables, one plotted along the x-axis and the other on the y-axis.\n */\nexport default class ScatterPlot extends React.Component {\n  static propTypes = {\n    /**\n     * Array of data to be plotted.\n     */\n    data: PropTypes.array.isRequired,\n    /**\n     * Accessor function for plot X values, called once per datum, or a single value to be used for all points.\n     */\n    x: CustomPropTypes.valueOrAccessor,\n    /**\n     * Accessor function for plot Y values, called once per datum, or a single value to be used for all points.\n     */\n    y: CustomPropTypes.valueOrAccessor,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Used with the default point symbol (circle), defines the circle radius.\n     */\n    pointRadius: PropTypes.number,\n    /**\n     * Text or SVG node to use as custom point symbol, or function which returns text/SVG.\n     */\n    pointSymbol: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n    /**\n     * Manual x and y offset applied to the point to center it, for custom point symbols which can't be auto-centered.\n     */\n    pointOffset: PropTypes.arrayOf(PropTypes.number),\n    /**\n     * Inline style object to be applied to each point,\n     * or accessor function which returns a style object.\n     */\n    pointStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n    /**\n     * Class attribute to be applied to each point,\n     * or accessor function which returns a class.\n     */\n    pointClassName: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a point.\n     */\n    onMouseEnterPoint: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a point.\n     */\n    onMouseMovePoint: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a point.\n     */\n    onMouseLeavePoint: PropTypes.func,\n  };\n  static defaultProps = {\n    pointRadius: 3,\n    pointSymbol: <circle />,\n    pointOffset: [0, 0],\n    pointStyle: {},\n    pointClassName: '',\n  };\n\n  shouldComponentUpdate(nextProps) {\n    const shouldUpdate = !xyPropsEqual(this.props, nextProps, ['pointStyle']);\n    return shouldUpdate;\n  }\n  // todo: implement getSpacing or getPadding static\n\n  onMouseEnterPoint = (e, d) => {\n    this.props.onMouseEnterPoint(e, d);\n  };\n  onMouseMovePoint = (e, d) => {\n    this.props.onMouseMovePoint(e, d);\n  };\n  onMouseLeavePoint = (e, d) => {\n    this.props.onMouseLeavePoint(e, d);\n  };\n\n  renderPoint = (d, i) => {\n    const [onMouseEnter, onMouseMove, onMouseLeave] = [\n      'onMouseEnterPoint',\n      'onMouseMovePoint',\n      'onMouseLeavePoint',\n    ].map(eventName => {\n      // partially apply this bar's data point as 2nd callback argument\n      const callback = methodIfFuncProp(eventName, this.props, this);\n      return isFunction(callback) ? bindTrailingArgs(callback, d) : null;\n    });\n    const {\n      xScale,\n      yScale,\n      x,\n      y,\n      pointRadius,\n      pointOffset,\n      pointStyle,\n      pointClassName,\n    } = this.props;\n    let { pointSymbol } = this.props;\n    const className = `rct-chart-scatterplot-point ${getValue(\n      pointClassName,\n      d,\n      i,\n    )}`;\n    const style = getValue(pointStyle, d, i);\n    const symbolProps = {\n      className,\n      onMouseEnter,\n      onMouseMove,\n      onMouseLeave,\n      key: `scatter-point-${i}`,\n    };\n\n    // resolve symbol-generating functions into real symbols\n    if (isFunction(pointSymbol)) pointSymbol = pointSymbol(d, i);\n    // wrap string/number symbols in <text> container\n    if (isString(pointSymbol) || isNumber(pointSymbol))\n      pointSymbol = <text>{pointSymbol}</text>;\n    // use props.pointRadius for circle radius\n    if (pointSymbol.type === 'circle' && isUndefined(pointSymbol.props.r))\n      symbolProps.r = pointRadius;\n\n    // x,y coords of center of symbol\n    const cx = xScale(getValue(x, d, i)) + pointOffset[0];\n    const cy = yScale(getValue(y, d, i)) + pointOffset[1];\n\n    // set positioning attributes based on symbol type\n    if (pointSymbol.type === 'circle' || pointSymbol.type === 'ellipse') {\n      Object.assign(symbolProps, { cx, cy, style: { ...style } });\n    } else if (pointSymbol.type === 'text') {\n      Object.assign(symbolProps, {\n        x: cx,\n        y: cy,\n        style: { textAnchor: 'middle', dominantBaseline: 'central', ...style },\n      });\n    } else {\n      Object.assign(symbolProps, {\n        x: cx,\n        y: cy,\n        style: { ...style },\n      });\n    }\n\n    return React.cloneElement(pointSymbol, symbolProps);\n  };\n\n  render() {\n    return <g aria-hidden=\"true\">{this.props.data.map(this.renderPoint)}</g>;\n  }\n}\n"
  },
  {
    "path": "src/TreeMap.js",
    "content": "import { hierarchy, treemap, treemapResquarify } from 'd3-hierarchy';\nimport cloneDeep from 'lodash/cloneDeep';\nimport uniq from 'lodash/uniq';\nimport map from 'lodash/map';\nimport isUndefined from 'lodash/isUndefined';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { makeAccessor } from './utils/Data';\nimport TreeMapNode from './TreeMapNode';\nimport TreeMapNodeLabel from './TreeMapNodeLabel';\n\n/**\n * `TreeMap` displays hierarchical data where a leaf node's rectangle has an area proportional to a specified dimension of the data.\n */\nclass TreeMap extends React.Component {\n  static propTypes = {\n    width: PropTypes.number.isRequired,\n    height: PropTypes.number.isRequired,\n    /**\n     * Data is an object with a key of `children` and an array of objects as its value.\n     * i.e. { children: [{ children: [{ size: 3 }, { size: 8 }] }, { size: 4 }]}\n     */\n    data: PropTypes.object.isRequired,\n    /**\n     * Key or accessor to retrieve value of data point\n     */\n    getValue: CustomPropTypes.getter,\n    /**\n     * Key or accessor to retrieve children of data point\n     */\n    getChildren: CustomPropTypes.getter,\n    /**\n     * Key or accessor to retrieve label for given Node\n     */\n    getLabel: CustomPropTypes.getter,\n\n    /**\n     * Function passed in to sort nodes\n     */\n    sort: PropTypes.func,\n    // options for d3 treemap layout - see d3 docs\n    /**\n     * See d3 docs for treemap - Adds outer and inner padding to tree\n     */\n    padding: PropTypes.number,\n    /**\n     * See d3 docs for treemap - Enables or disables rounding\n     */\n    round: PropTypes.bool,\n    /**\n     * If sticky, on data change the TreeMap will not force a recreation of the tree and animate data changes.\n     * Otherwise we recreate the tree given its new props\n     */\n    sticky: PropTypes.bool,\n    /**\n     * Sets the desired aspect ratio of the generated rectangles\n     */\n    ratio: PropTypes.number,\n\n    /**\n     * Inline style object applied to each Node,\n     * or accessor function which returns a style object\n     */\n    nodeStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    /**\n     * Inline style object applied to each Label,\n     * or accessor function which returns a style object\n     */\n    labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    minLabelWidth: PropTypes.number,\n    minLabelHeight: PropTypes.number,\n    /**\n     * `onClick` event handler callback, called when user clicks a NodeComponent.\n     */\n    onClickNode: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters a NodeComponent.\n     */\n    onMouseEnterNode: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves a NodeComponent.\n     */\n    onMouseLeaveNode: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within a NodeComponent.\n     */\n    onMouseMoveNode: PropTypes.func,\n    /**\n     * Optional treemap node, otherwise we default to our TreeMapNode component\n     */\n    NodeComponent: PropTypes.func,\n    /**\n     * Optional treemap node label, otherwise we default to our TreeMapNodeLabel component\n     */\n    NodeLabelComponent: PropTypes.func,\n  };\n  static defaultProps = {\n    getValue: 'value',\n    getChildren: 'children',\n    getLabel: 'name',\n    minLabelWidth: 0,\n    minLabelHeight: 0,\n    NodeComponent: TreeMapNode,\n    NodeLabelComponent: TreeMapNodeLabel,\n  };\n\n  static initTreemap(rootNode, tree, options) {\n    // create a d3 treemap layout function,\n    // and configure it with the given options\n    const { getValue, sort } = options;\n    const treeRoot = rootNode.sum(d => {\n      if (isFunction(getValue)) return getValue(d);\n      else if (isString(getValue)) return d[getValue];\n      return 0;\n    });\n    return tree(sort ? treeRoot.sort(sort) : treeRoot).descendants();\n  }\n\n  static getStateFromProps(props) {\n    const tree = getTree(props);\n    const rootNode = getRootNode(cloneDeep(props.data), props);\n    const prevProps = cloneDeep(props);\n    return { tree, rootNode, prevProps };\n  }\n\n  static getDerivedStateFromProps(newProps, state) {\n    const { width, height, data, sticky } = state.prevProps;\n\n    // if height, width, or the data changes, or if the treemap is not sticky, re-initialize the layout function\n    // todo reevaluate this logic\n    if (\n      !sticky ||\n      width !== newProps.width ||\n      height !== newProps.height ||\n      JSON.stringify(data) !== JSON.stringify(newProps.data)\n    ) {\n      return TreeMap.getStateFromProps(newProps);\n    }\n\n    return null;\n  }\n\n  constructor(props) {\n    super(props);\n\n    this.state = TreeMap.getStateFromProps(props);\n  }\n\n  render() {\n    const {\n      width,\n      height,\n      nodeStyle,\n      labelStyle,\n      getLabel,\n      minLabelWidth,\n      minLabelHeight,\n      onClickNode,\n      onMouseEnterNode,\n      onMouseLeaveNode,\n      onMouseMoveNode,\n      NodeComponent,\n      NodeLabelComponent,\n    } = this.props;\n\n    const { rootNode, tree } = this.state;\n\n    const nodes = TreeMap.initTreemap(rootNode, tree, this.props);\n\n    const style = { position: 'relative', width, height };\n\n    const parentNames = uniq(map(nodes, 'parent.data.name'));\n\n    return (\n      <div className=\"rct-tree-map\" {...{ style }}>\n        {nodes.map((node, i) => (\n          <NodeComponent\n            {...{\n              node,\n              nodeStyle,\n              minLabelWidth,\n              minLabelHeight,\n              labelStyle,\n              getLabel,\n              parentNames,\n              NodeLabelComponent,\n              onClickNode,\n              onMouseEnterNode,\n              onMouseLeaveNode,\n              onMouseMoveNode,\n              key: `node-${i}`,\n            }}\n          />\n        ))}\n      </div>\n    );\n  }\n}\n\nfunction getRootNode(data, options) {\n  const { getChildren } = options;\n  return hierarchy(data, makeAccessor(getChildren));\n}\n\nfunction getTree(options) {\n  const { width, height, ratio, round, padding } = options;\n  const tiling = !isUndefined(ratio)\n    ? treemapResquarify.ratio(ratio)\n    : treemapResquarify;\n  const tree = treemap()\n    .tile(tiling)\n    .size([width, height]);\n  if (!isUndefined(padding)) tree.paddingOuter(padding);\n  if (!isUndefined(round)) tree.round(round);\n  return tree;\n}\n\nexport default TreeMap;\n"
  },
  {
    "path": "src/TreeMapNode.js",
    "content": "import get from 'lodash/get';\nimport kebabCase from 'lodash/kebabCase';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\n\nconst TreeMapNode = props => {\n  const {\n    node,\n    getLabel,\n    nodeStyle,\n    labelStyle,\n    minLabelWidth,\n    minLabelHeight,\n    NodeLabelComponent,\n    parentNames,\n  } = props;\n  const { depth, parent, x0, y0, x1, y1 } = node;\n\n  const parentName = get(parent, 'data.name');\n  const nodeGroupClass = parent\n    ? `node-group-${kebabCase(parentName)} node-group-i-${parentNames.indexOf(\n        parentName,\n      )}`\n    : '';\n  const className = `rct-tree-map-node node-depth-${depth} ${nodeGroupClass}`;\n\n  const style = {\n    position: 'absolute',\n    width: x1 - x0,\n    height: y1 - y0,\n    top: y0,\n    left: x0,\n    transition: 'all .2s',\n  };\n  const customStyle = isFunction(nodeStyle)\n    ? nodeStyle(node)\n    : isObject(nodeStyle)\n    ? nodeStyle\n    : {};\n  Object.assign(style, customStyle);\n\n  const handlers = [\n    'onClick',\n    'onMouseEnter',\n    'onMouseLeave',\n    'onMouseMove',\n  ].reduce((acc, eventName) => {\n    const handler = props[`${eventName}Node`];\n    if (handler) acc[eventName] = handler.bind(null, node);\n    return acc;\n  }, {});\n\n  return (\n    <div {...{ className, style }} {...handlers}>\n      {x1 - x0 > minLabelWidth && y1 - y0 > minLabelHeight ? ( // show label if node is big enough\n        <NodeLabelComponent {...{ node, getLabel, labelStyle }} />\n      ) : null}\n    </div>\n  );\n};\n\nTreeMapNode.propTypes = {\n  node: PropTypes.shape({\n    parent: PropTypes.object,\n    children: PropTypes.array,\n    value: PropTypes.number,\n    depth: PropTypes.number,\n    x: PropTypes.number,\n    y: PropTypes.number,\n    dx: PropTypes.number,\n    dy: PropTypes.number,\n    x0: PropTypes.number,\n    y0: PropTypes.number,\n    x1: PropTypes.number,\n    y1: PropTypes.number,\n  }),\n  nodeStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n  minLabelWidth: PropTypes.number,\n  minLabelHeight: PropTypes.number,\n  getLabel: CustomPropTypes.getter,\n  labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n  NodeLabelComponent: PropTypes.func,\n  parentNames: PropTypes.arrayOf(PropTypes.string),\n};\n\nTreeMapNode.defaultProps = {\n  minLabelWidth: 0,\n  minLabelHeight: 0,\n};\n\nexport default TreeMapNode;\n"
  },
  {
    "path": "src/TreeMapNodeLabel.js",
    "content": "import isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport * as CustomPropTypes from './utils/CustomPropTypes';\nimport { makeAccessor } from './utils/Data';\n\nconst TreeMapNodeLabel = props => {\n  const { node, getLabel, labelStyle } = props;\n  const { x1, x0 } = node;\n  const style = { width: x1 - x0 };\n  const customStyle = isFunction(labelStyle)\n    ? labelStyle(node)\n    : isObject(labelStyle)\n    ? labelStyle\n    : {};\n  Object.assign(style, customStyle);\n\n  return (\n    <div className=\"rct-node-label\" {...{ style }}>\n      {makeAccessor(getLabel)(node)}\n    </div>\n  );\n};\n\nTreeMapNodeLabel.propTypes = {\n  node: PropTypes.object,\n  getLabel: CustomPropTypes.getter,\n  labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n  minLabelWidth: PropTypes.number,\n  minLabelHeight: PropTypes.number,\n};\n\nexport default TreeMapNodeLabel;\n"
  },
  {
    "path": "src/XAxis.js",
    "content": "import defaults from 'lodash/defaults';\nimport isFunction from 'lodash/isFunction';\nimport upperFirst from 'lodash/upperFirst';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getAxisChildProps, getMouseAxisOptions } from './utils/Axis';\nimport { sumMargins } from './utils/Margin';\nimport { getTickDomain } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\nimport XAxisLabels from './XAxisLabels';\nimport XAxisTitle from './XAxisTitle';\nimport XGrid from './XGrid';\nimport XTicks from './XTicks';\n\nconst getMouseOptions = getMouseAxisOptions.bind(null, 'x');\n\n/**\n * `XAxis` is the horizontal axis of the chart. `XAxis` is a wrapper around `XGrid`, `XTicks`,\n * `XAxisLabels`, and `XAxisTitle`. See their respective docs for prop documentation.\n */\nexport default class XAxis extends React.Component {\n  static propTypes = {\n    xScale: PropTypes.func,\n    width: PropTypes.number,\n    height: PropTypes.number,\n    position: PropTypes.string,\n    placement: PropTypes.string,\n    /**\n     * Extends the x domain to start and end on rounded values,\n     * guaranteeing the original domain will be covered.\n     * See d3 docs for more information\n     */\n    nice: PropTypes.bool,\n    ticks: PropTypes.array,\n    tickCount: PropTypes.number,\n    /**\n     * Internal top spacing of XAxis, in pixels.\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Internal bottom spacing of XAxis, in pixels.\n     */\n    spacingBottom: PropTypes.number,\n    /**\n     * Internal left spacing of XAxis, in pixels.\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Internal right spacing of XAxis, in pixels.\n     */\n    spacingRight: PropTypes.number,\n    showTitle: PropTypes.bool,\n    showLabels: PropTypes.bool,\n    showTicks: PropTypes.bool,\n    showGrid: PropTypes.bool,\n    title: PropTypes.string,\n    titleDistance: PropTypes.number,\n    titleAlign: PropTypes.string,\n    titleRotate: PropTypes.bool,\n    titleStyle: PropTypes.object,\n    labelDistance: PropTypes.number,\n    labelClassName: PropTypes.string,\n    labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    labelFormat: PropTypes.func,\n    labelFormats: PropTypes.array,\n    labels: PropTypes.array,\n    noLabelOverhang: PropTypes.bool,\n    /**\n     * Adds horizontal offset (along the XAxis) to the labels\n     */\n    labelOffset: PropTypes.number,\n    tickLength: PropTypes.number,\n    tickClassName: PropTypes.string,\n    tickStyle: PropTypes.object,\n    gridLineClassName: PropTypes.string,\n    gridLineStyle: PropTypes.object,\n    onMouseClickLabel: PropTypes.func,\n    onMouseEnterLabel: PropTypes.func,\n    onMouseMoveLabel: PropTypes.func,\n    onMouseLeaveLabel: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the x axis.\n     */\n    onMouseEnterAxis: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the x axis.\n     */\n    onMouseLeaveAxis: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the x axis.\n     */\n    onMouseMoveAxis: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user's mouse clicks on the x axis.\n     */\n    onMouseClickAxis: PropTypes.func,\n    /**\n     * Show X Axis line\n     */\n    showLine: PropTypes.bool,\n    /**\n     * Inline style object to be applied to the X Axis line\n     */\n    lineStyle: PropTypes.object,\n  };\n\n  static defaultProps = {\n    width: 400,\n    height: 250,\n    position: 'bottom',\n    nice: true,\n    showTitle: true,\n    showLabels: true,\n    showTicks: true,\n    showGrid: true,\n    tickLength: 5,\n    labelDistance: 3,\n    titleDistance: 5,\n    spacingTop: 0,\n    spacingBottom: 0,\n    spacingLeft: 0,\n    spacingRight: 0,\n    showLine: true,\n    lineStyle: {},\n  };\n\n  static getTickDomain(props) {\n    if (!props.xScale) return;\n    const propsWithDefaults = defaults({}, props, XAxis.defaultProps);\n    return {\n      xTickDomain: getTickDomain(propsWithDefaults.xScale, propsWithDefaults),\n    };\n  }\n\n  static getMargin(props) {\n    const { ticksProps, labelsProps, titleProps } = getAxisChildProps(props);\n    const margins = [];\n\n    if (props.showTicks) margins.push(XTicks.getMargin(ticksProps));\n\n    if (props.showTitle && props.title)\n      margins.push(XAxisTitle.getMargin(titleProps));\n\n    if (props.showLabels) margins.push(XAxisLabels.getMargin(labelsProps));\n\n    return sumMargins(margins, 'margin');\n  }\n\n  shouldComponentUpdate(nextProps) {\n    return !xyPropsEqual(this.props, nextProps);\n  }\n\n  handleOnMouseMove = event => {\n    const { onMouseMoveAxis, xScale } = this.props;\n\n    if (!isFunction(onMouseMoveAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, xScale);\n    onMouseMoveAxis(options);\n  };\n\n  handleOnMouseEnter = event => {\n    const { onMouseEnterAxis, xScale } = this.props;\n\n    if (!isFunction(onMouseEnterAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, xScale);\n    onMouseEnterAxis(options);\n  };\n\n  handleOnMouseLeave = event => {\n    const { onMouseLeaveAxis, xScale } = this.props;\n\n    if (!isFunction(onMouseLeaveAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, xScale);\n    onMouseLeaveAxis(options);\n  };\n\n  handleOnClick = event => {\n    const { onMouseClickAxis, xScale } = this.props;\n\n    if (!isFunction(onMouseClickAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, xScale);\n    onMouseClickAxis(options);\n  };\n\n  render() {\n    const {\n      width,\n      height,\n      position,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n      tickLength,\n      titleDistance,\n      labelDistance,\n      showTitle,\n      showLabels,\n      showTicks,\n      showGrid,\n      showLine,\n      lineStyle,\n    } = this.props;\n\n    const {\n      ticksProps,\n      gridProps,\n      labelsProps,\n      titleProps,\n    } = getAxisChildProps(this.props);\n\n    labelsProps.distance = labelDistance + (showTicks ? tickLength : 0);\n\n    if (showTitle && showLabels) {\n      // todo optimize so we don't generate labels twice\n      const labelsMargin = XAxisLabels.getMargin(labelsProps);\n      titleProps.distance =\n        titleDistance + labelsMargin[`margin${upperFirst(position)}`];\n    } else if (showTitle && showTicks) {\n      titleProps.distance = titleDistance + tickLength;\n    }\n\n    const axisLineY =\n      position === 'bottom' ? height + spacingBottom : -spacingTop;\n\n    return (\n      <g\n        className=\"rct-chart-axis rct-chart-axis-x\"\n        aria-hidden=\"true\"\n        onMouseMove={this.handleOnMouseMove}\n        onMouseEnter={this.handleOnMouseEnter}\n        onMouseLeave={this.handleOnMouseLeave}\n        onClick={this.handleOnClick}\n      >\n        {showGrid ? <XGrid {...gridProps} /> : null}\n\n        {showTicks ? <XTicks {...ticksProps} /> : null}\n\n        {showLabels ? <XAxisLabels {...labelsProps} /> : null}\n\n        {showTitle ? <XAxisTitle {...titleProps} /> : null}\n\n        {showLine ? (\n          <line\n            className=\"rct-chart-axis-line rct-chart-axis-line-x\"\n            x1={-spacingLeft}\n            x2={width + spacingRight}\n            y1={axisLineY}\n            y2={axisLineY}\n            style={lineStyle}\n          />\n        ) : null}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/XAxisLabels.js",
    "content": "import defaults from 'lodash/defaults';\nimport isUndefined from 'lodash/isUndefined';\nimport last from 'lodash/last';\nimport minBy from 'lodash/minBy';\nimport max from 'lodash/max';\nimport capitalize from 'lodash/capitalize';\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport MeasuredValueLabel from './MeasuredValueLabel';\nimport {\n  checkLabelsDistinct,\n  countRangeOverlaps,\n  getLabelsXOverhang,\n  getLabelXRange,\n  makeLabelFormatters,\n  getDefaultFormats,\n} from './utils/Label';\nimport { getValue } from './utils/Data';\nimport { getScaleTicks, getTickDomain, inferScaleType } from './utils/Scale';\nimport { bindTrailingArgs } from './util.js';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\nfunction resolveXLabelsForValues(\n  scale,\n  values,\n  formats = [],\n  style,\n  force = true,\n) {\n  // given a set of values to label, and a list of formatters to try,\n  // find the first formatter that produces a set of labels\n  // which are A) distinct and B) fit on the axis without colliding with each other\n  // returns the formatter and the generated labels\n\n  let labels;\n  const attempts = [];\n\n  const goodFormat = formats.find(format => {\n    const testLabels = values.map((value, i) => {\n      return MeasuredValueLabel.getLabel({\n        value,\n        format,\n        style: defaults(\n          getValue(style.labelStyle, { value }, i),\n          style.defaultStyle,\n        ),\n      });\n    });\n\n    const areLabelsDistinct = checkLabelsDistinct(testLabels);\n    if (!areLabelsDistinct) {\n      attempts.push({ labels: testLabels, format, areLabelsDistinct });\n      return false;\n    }\n\n    const labelXRanges = testLabels.map(label =>\n      getLabelXRange(scale, label, style.textAnchor || 'middle'),\n    );\n    const collisionCount = countRangeOverlaps(labelXRanges);\n    if (collisionCount) {\n      // console.log(`labels do not fit on X axis, ${collisionCount} collisions`, _.map(testLabels, 'text'));\n      attempts.push({\n        labels: testLabels,\n        format,\n        areLabelsDistinct,\n        collisionCount,\n      });\n      return false;\n    }\n\n    labels = testLabels;\n    return true;\n  });\n\n  if (!isUndefined(goodFormat)) {\n    // found labels which work, return them\n    return {\n      labels,\n      format: goodFormat,\n      areLabelsDistinct: true,\n      collisionCount: 0,\n    };\n  }\n  // none of the sets of labels are good\n  if (!force)\n    // if we're not forced to decide, return all the labels we tried (let someone else decide)\n    return { attempts };\n\n  // forced to decide, choose the least bad option\n  // todo warn that we couldn't find good labels\n  const distinctAttempts = attempts.filter(\n    attempt => attempt.areLabelsDistinct,\n  );\n  return distinctAttempts.length === 0\n    ? last(attempts)\n    : minBy(distinctAttempts, 'collisionCount');\n}\n\nclass XAxisLabels extends React.Component {\n  static propTypes = {\n    height: PropTypes.number,\n    /**\n     * Position of x axis labels. Accepted options are \"top\" or \"bottom\".\n     */\n    position: PropTypes.oneOf(['top', 'bottom']),\n    /**\n     * Placement of labels in regards to the x axis. Accepted options are \"above\" or \"below\".\n     */\n    placement: PropTypes.oneOf(['below', 'above']),\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the label given spacingTop.\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the label given spacingBottom.\n     */\n    spacingBottom: PropTypes.number,\n    /**\n     * Label distance from X Axis.\n     */\n    distance: PropTypes.number,\n    /**\n     * Number of ticks on axis.\n     */\n    tickCount: PropTypes.number,\n    /**\n     * Custom ticks to display.\n     */\n    ticks: PropTypes.array,\n    /**\n     * Inline style object applied to each label,\n     * or accessor function which returns a style object\n     *\n     * Disclaimer: labelStyle will merge its defaults with the given labelStyle prop\n     * in order to ensure that our collision library measureText is able to calculate the\n     * smallest amount of possible collissions along the axis. It's therefore dependent on\n     * fontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\n     * stylesheet, we suggest creating a styled label component that wraps XAxisLabels with your preferred styles.\n     */\n    labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    labelClassName: PropTypes.string,\n    /**\n     * An accessor function that returns the updated label.\n     *\n     * For example, given labels with real numbers one can pass in the following accessor,\n     * (label) => `${label}%`, to display percentages.\n     */\n    format: PropTypes.func,\n    /**\n     * Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\n     * to use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\n     * can be either string(s) or function(s), utilizing d3-format.\n     *\n     * For example, given labels with real numbers one can pass in [\".0%\"] for a rounded percentage, like 12%.\n     */\n    formats: PropTypes.array,\n    /**\n     * Custom labels provided. Note that each object in the array has to be of shape.\n     * `{\n     *  value,\n     *  text,\n     *  height,\n     *  width\n     * }`\n     * value - value you'd like this label to be aligned with\n     * text - text you'd like displayed\n     * height - height of the given label\n     * width - width of the given label\n     */\n    labels: PropTypes.array,\n    /**\n     * Default label behavior places the text centered below the data point it delineates. This can allow\n     * overhang where the first and possibly last labels' text hangs over the edges of the x axis range.\n     * Setting this to `true` will force the first and last labels to align in such a way that their text does\n     * not exceed the x range. That is, the first label will be text-anchor: \"start\" instead of \"middle\", and\n     * the label marking the right edge of the chart will be anchored to the \"end\" instead of \"middle\".\n     *\n     * This affects spacing calculations.\n     */\n    noLabelOverhang: PropTypes.bool,\n    /**\n     * Round ticks to capture extent of given x domain from XYPlot.\n     */\n    nice: PropTypes.bool,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the label.\n     */\n    onMouseEnterLabel: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the label.\n     */\n    onMouseMoveLabel: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the label.\n     */\n    onMouseLeaveLabel: PropTypes.func,\n    /**\n     * `mouseclick` event handler callback, called when user's mouse clicks the label.\n     */\n    onMouseClickLabel: PropTypes.func,\n    /**\n     * Adds horizontal offset (along the XAxis) to the labels\n     */\n    offset: PropTypes.number,\n  };\n\n  static defaultProps = {\n    offset: 0,\n    height: 250,\n    position: 'bottom',\n    distance: 4,\n    nice: true,\n    tickCount: 10,\n    ticks: null,\n    labelClassName: '',\n    labelStyle: {\n      fontFamily: 'Helvetica, sans-serif',\n      fontSize: '14px',\n      lineHeight: 1,\n      textAnchor: 'middle',\n    },\n  };\n\n  static getTickDomain(props) {\n    if (!props.xScale) return;\n    const propsWithDefaults = defaults({}, props, XAxisLabels.defaultProps);\n    return {\n      xTickDomain: getTickDomain(propsWithDefaults.xScale, propsWithDefaults),\n    };\n  }\n\n  static getMargin(props) {\n    const propsWithDefaults = defaults({}, props, XAxisLabels.defaultProps);\n    const { xScale, position, placement, distance } = propsWithDefaults;\n    const labels =\n      propsWithDefaults.labels || XAxisLabels.getLabels(propsWithDefaults);\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'bottom' && placement === 'above') ||\n      (position === 'top' && placement === 'below')\n    )\n      return zeroMargin;\n\n    const marginY = max(\n      labels.map(label => Math.ceil(distance + label.height)),\n    );\n    let textAnchor = 'middle';\n    if (propsWithDefaults.noLabelOverhang) {\n      textAnchor = 'start';\n    }\n    const [marginLeft, marginRight] = getLabelsXOverhang(\n      xScale,\n      labels,\n      textAnchor,\n    );\n\n    return defaults(\n      { [`margin${capitalize(position)}`]: marginY, marginLeft, marginRight },\n      zeroMargin,\n    );\n  }\n\n  static getLabels(props) {\n    const { tickCount, labelStyle, xScale } = defaults(\n      props,\n      {},\n      XAxisLabels.defaultProps,\n    );\n    const ticks = props.ticks || getScaleTicks(xScale, null, tickCount);\n    const style = {\n      labelStyle,\n      defaultStyle: XAxisLabels.defaultProps.labelStyle,\n    };\n    const propsFormats = props.format ? [props.format] : props.formats;\n    const scaleType = inferScaleType(xScale);\n    const formatStrs =\n      Array.isArray(propsFormats) && propsFormats.length\n        ? propsFormats\n        : getDefaultFormats(scaleType);\n    const formats = makeLabelFormatters(formatStrs, scaleType);\n\n    // todo resolve ticks also\n    // if there are so many ticks that no combination of labels can fit on the axis,\n    // nudge down the tickCount and try again\n    // doing this will require communicating the updated ticks/tickCount back to the parent element...\n\n    const { labels } = resolveXLabelsForValues(xScale, ticks, formats, style);\n\n    return labels;\n  }\n\n  shouldComponentUpdate(nextProps) {\n    return !xyPropsEqual(this.props, nextProps);\n  }\n\n  render() {\n    const {\n      height,\n      xScale,\n      position,\n      distance,\n      labelStyle,\n      labelClassName,\n      spacingTop,\n      spacingBottom,\n      offset,\n    } = this.props;\n    const labels = this.props.labels || XAxisLabels.getLabels(this.props);\n    const placement =\n      this.props.placement || (position === 'top' ? 'above' : 'below');\n    const className = `rct-chart-value-label rct-chart-value-label-x ${labelClassName}`;\n    const transform =\n      position === 'bottom'\n        ? `translate(0, ${height + spacingBottom})`\n        : `translate(0, ${-spacingTop})`;\n    // todo: position: 'zero' to position along the zero line\n    // example include having both positive and negative areas and youd like labels just on zero line\n\n    return (\n      <g className=\"rct-chart-value-labels-x\" transform={transform}>\n        {labels.map((label, i) => {\n          const x = xScale(label.value) + offset;\n          const y = placement === 'above' ? -label.height - distance : distance;\n          const [onMouseEnter, onMouseMove, onMouseLeave, onClick] = [\n            'onMouseEnterLabel',\n            'onMouseMoveLabel',\n            'onMouseLeaveLabel',\n            'onMouseClickLabel',\n          ].map(eventName => {\n            // partially apply this label's data point as 2nd callback argument\n            const callback = get(this.props, eventName);\n            return isFunction(callback)\n              ? bindTrailingArgs(callback, label.value)\n              : null;\n          });\n          let textAnchor = 'middle';\n          if (this.props.noLabelOverhang) {\n            if (i === 0) textAnchor = 'start';\n            if (i === labels.length - 1 && xScale.range()[1] === x)\n              textAnchor = 'end';\n          }\n\n          const style = defaults(\n            { textAnchor },\n            getValue(labelStyle, { x, y, ...label }, i),\n            XAxisLabels.defaultProps.labelStyle,\n          );\n\n          return (\n            <g\n              key={`x-axis-label-${i}`}\n              aria-hidden=\"true\"\n              {...{ onMouseEnter, onMouseMove, onMouseLeave, onClick }}\n            >\n              {/* <XAxisLabelDebugRect {...{x, y, label}}/> */}\n              <MeasuredValueLabel\n                value={label.value}\n                {...{\n                  x,\n                  y,\n                  className,\n                  dy: '0.8em',\n                  style,\n                }}\n              >\n                {label.text}\n              </MeasuredValueLabel>\n            </g>\n          );\n        })}\n      </g>\n    );\n  }\n}\n\n/* eslint-disable */\nclass XAxisLabelDebugRect extends React.Component {\n  render() {\n    const { x, y, label } = this.props;\n    return (\n      <rect\n        {...{\n          x: x - label.width / 2,\n          y: y,\n          width: label.width,\n          height: label.height,\n          fill: 'orange',\n        }}\n      />\n    );\n  }\n}\n/* eslint-enable */\n\nexport default XAxisLabels;\n"
  },
  {
    "path": "src/XAxisTitle.js",
    "content": "import React from 'react';\nimport defaults from 'lodash/defaults';\nimport measureText from './utils/measureText';\nimport PropTypes from 'prop-types';\n\nexport default class XAxisTitle extends React.Component {\n  static propTypes = {\n    height: PropTypes.number,\n    width: PropTypes.number,\n    /**\n     * Title distance from X Axis\n     */\n    distance: PropTypes.number,\n    /**\n     * Position of title in regards to the x axis. Accepted options are \"top\" or \"bottom\"\n     */\n    position: PropTypes.oneOf(['top', 'bottom']),\n    /**\n     * Placement of title in regards to the x axis. Accepted options are \"above\" or \"below\"\n     */\n    placement: PropTypes.oneOf(['above', 'below']),\n    alignment: PropTypes.oneOf(['left', 'center', 'right']),\n    rotate: PropTypes.bool,\n    /**\n     * Object declaring styles for label.\n     *\n     * Disclaimer: labelStyle will merge its defaults with the given labelStyle prop\n     * in order to ensure that our collision library measureText is able to calculate the\n     * smallest amount of possible collisions along the axis. It's therefore dependent on\n     * fontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\n     * stylesheet, we suggest creating a styled title component that wraps XAxisTitle with your preferred styles.\n     */\n    style: PropTypes.object,\n    /**\n     * Spacing - provided by XYPlot\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot\n     */\n    spacingBottom: PropTypes.number,\n    title: PropTypes.string,\n    children: PropTypes.any,\n  };\n  static defaultProps = {\n    height: 250,\n    width: 400,\n    distance: 5,\n    position: 'bottom',\n    alignment: 'center',\n    rotate: false,\n    style: {\n      fontFamily: 'Helvetica, sans-serif',\n      fontSize: '24px',\n      fontWeight: 'bold',\n      lineHeight: 1,\n    },\n    spacingTop: 0,\n    spacingBottom: 0,\n  };\n\n  static getMargin(props) {\n    const propsWithDefaults = defaults({}, props, XAxisTitle.defaultProps);\n    const { distance, position, rotate } = propsWithDefaults;\n    const placement =\n      propsWithDefaults.placement ||\n      (position === 'bottom' ? 'below' : 'above');\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'bottom' && placement === 'above') ||\n      (position === 'top' && placement === 'below')\n    )\n      return zeroMargin;\n\n    const title = propsWithDefaults.title || propsWithDefaults.children;\n    const style = defaults(\n      propsWithDefaults.style,\n      XAxisTitle.defaultProps.style,\n    );\n    const titleWithStyle = Object.assign({ text: title }, style);\n    const measured = measureText(titleWithStyle);\n\n    const marginValue =\n      distance +\n      Math.ceil(rotate ? measured.width.value : measured.height.value);\n\n    return position === 'bottom'\n      ? { ...zeroMargin, marginBottom: marginValue }\n      : { ...zeroMargin, marginTop: marginValue };\n  }\n\n  render() {\n    const {\n      height,\n      width,\n      distance,\n      position,\n      alignment,\n      style,\n      spacingTop,\n      spacingBottom,\n    } = this.props;\n    const title = this.props.title || this.props.children;\n    const placement =\n      this.props.placement || (position === 'bottom' ? 'below' : 'above');\n    const rotate = this.props.rotate ? -90 : 0;\n\n    const posY = position === 'bottom' ? height + spacingBottom : -spacingTop;\n    const translateY = posY + (placement === 'above' ? -distance : distance);\n    const translateX =\n      alignment === 'center' ? width / 2 : alignment === 'right' ? width : 0;\n\n    const textAnchor =\n      rotate && placement === 'above'\n        ? 'start'\n        : rotate && placement === 'below'\n        ? 'end'\n        : alignment === 'left'\n        ? 'start'\n        : alignment === 'right'\n        ? 'end'\n        : 'middle';\n\n    const dy =\n      rotate && alignment === 'right'\n        ? '-0.2em'\n        : rotate && alignment === 'center'\n        ? '0.3em'\n        : rotate\n        ? '0.8em'\n        : placement === 'below'\n        ? '0.8em'\n        : '-0.2em';\n\n    return (\n      <g\n        transform={`translate(${translateX},${translateY})`}\n        aria-hidden=\"true\"\n      >\n        <text\n          style={{ ...style, textAnchor }}\n          transform={`rotate(${rotate})`}\n          dy={dy}\n        >\n          {title}\n        </text>\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/XGrid.js",
    "content": "import React from 'react';\nimport defaults from 'lodash/defaults';\nimport PropTypes from 'prop-types';\n\nimport { getScaleTicks, getTickDomain } from './utils/Scale';\nimport XLine from './XLine';\n\nexport default class XGrid extends React.Component {\n  static propTypes = {\n    width: PropTypes.number,\n    height: PropTypes.number,\n    xScale: PropTypes.func,\n    spacingTop: PropTypes.number,\n    spacingBottom: PropTypes.number,\n    spacingLeft: PropTypes.number,\n    spacingRight: PropTypes.number,\n    nice: PropTypes.bool,\n    ticks: PropTypes.array,\n    tickCount: PropTypes.number,\n    lineClassName: PropTypes.string,\n    lineStyle: PropTypes.object,\n  };\n  static defaultProps = {\n    nice: true,\n    lineStyle: {},\n  };\n\n  static getTickDomain(props) {\n    if (!props.xScale) return;\n    const propsWithDefaults = defaults({}, props, XGrid.defaultProps);\n    return {\n      xTickDomain: getTickDomain(propsWithDefaults.xScale, propsWithDefaults),\n    };\n  }\n\n  render() {\n    const {\n      height,\n      xScale,\n      tickCount,\n      lineClassName,\n      lineStyle,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n    } = this.props;\n    const ticks = this.props.ticks || getScaleTicks(xScale, null, tickCount);\n    const className = `rct-chart-grid-line ${lineClassName || ''}`;\n\n    return (\n      <g className=\"rct-chart-grid-x\" aria-hidden=\"true\">\n        {ticks.map((tick, i) => {\n          return (\n            <XLine\n              {...{\n                height,\n                xScale,\n                className,\n                spacingTop,\n                spacingBottom,\n                spacingLeft,\n                spacingRight,\n                value: tick,\n                style: lineStyle,\n                key: `grid-x-line-${i}`,\n              }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/XLine.js",
    "content": "import PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * `XLine` is a vertical line rendered on the x axis\n */\nexport default class XLine extends React.Component {\n  static propTypes = {\n    /**\n     * Height of chart - provided by XYPlot\n     */\n    height: PropTypes.number,\n    /**\n     * D3 scale for X axis - provided by XYPlot\n     */\n    xScale: PropTypes.func,\n    value: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * D3 scale for Y axis - provided by XYPlot\n     */\n    yScale: PropTypes.func,\n    yLimit: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n    /**\n     * The Y domain of the data as an array - provided by XYPlot\n     */\n    yDomain: PropTypes.array,\n    /**\n     * Spacing top - provided by XYPlot\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Spacing bottom - provided by XYPlot\n     */\n    spacingBottom: PropTypes.number,\n    /**\n     * Inline style object to be applied to the line\n     */\n    style: PropTypes.object,\n    /**\n     * Class attribute to be applied to the line\n     */\n    className: PropTypes.string,\n  };\n  static defaultProps = {\n    style: {},\n    className: '',\n    spacingTop: 0,\n    spacingBottom: 0,\n  };\n\n  render() {\n    const {\n      xScale,\n      value,\n      yScale,\n      yLimit,\n      yDomain,\n      height,\n      style,\n      spacingTop,\n      spacingBottom,\n    } = this.props;\n    const className = `rct-chart-line-x ${this.props.className}`;\n    const lineX = xScale(value);\n\n    let y1 = -spacingTop;\n    let y2 = height + spacingBottom;\n\n    if (typeof yLimit !== 'undefined') {\n      y1 = yScale(yDomain[0]) + spacingBottom;\n      y2 = yScale(yLimit);\n    }\n\n    return (\n      <line\n        aria-hidden=\"true\"\n        {...{\n          x1: lineX,\n          x2: lineX,\n          y1: y1,\n          y2: y2,\n          className,\n          style,\n        }}\n      />\n    );\n  }\n}\n"
  },
  {
    "path": "src/XTicks.js",
    "content": "import defaults from 'lodash/defaults';\nimport capitalize from 'lodash/capitalize';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getScaleTicks, getTickDomain } from './utils/Scale';\n\nexport default class XTicks extends React.Component {\n  static propTypes = {\n    /**\n     * Height of chart - provided by XYPlot.\n     */\n    height: PropTypes.number,\n    /**\n     * D3 scale for X axis - provided by XYPlot.\n     */\n    xScale: PropTypes.func,\n    /**\n     * Position of x ticks. Accepted options are \"bottom\" or \"top\".\n     */\n    position: PropTypes.oneOf(['bottom', 'top']),\n    /**\n     * Placement of ticks in regards to the x axis. Accepted options are \"above\" or \"below\".\n     */\n    placement: PropTypes.oneOf(['above', 'below']),\n    /**\n     * Custom ticks to display.\n     */\n    ticks: PropTypes.array,\n    /**\n     * Number of ticks on axis.\n     */\n    tickCount: PropTypes.number,\n    tickLength: PropTypes.number,\n    /**\n     * Inline style object applied to each tick.\n     */\n    tickStyle: PropTypes.object,\n    /**\n     * Class attribute to be applied to each tick.\n     */\n    tickClassName: PropTypes.string,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingTop.\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingBottom.\n     */\n    spacingBottom: PropTypes.number,\n    /**\n     * Round ticks to capture extent of given x domain from XYPlot.\n     */\n    nice: PropTypes.bool,\n  };\n  static defaultProps = {\n    position: 'bottom',\n    nice: true,\n    tickLength: 5,\n    tickStyle: {},\n    tickClassName: '',\n  };\n\n  static getTickDomain(props) {\n    if (!props.xScale) return;\n    const propsWithDefaults = defaults({}, props, XTicks.defaultProps);\n    return {\n      xTickDomain: getTickDomain(propsWithDefaults.xScale, propsWithDefaults),\n    };\n  }\n\n  static getMargin(props) {\n    const { tickLength, position } = defaults({}, props, XTicks.defaultProps);\n    const placement =\n      props.placement || (position === 'top' ? 'above' : 'below');\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'bottom' && placement === 'above') ||\n      (position === 'top' && placement === 'below')\n    )\n      return zeroMargin;\n\n    return defaults(\n      { [`margin${capitalize(position)}`]: tickLength || 0 },\n      zeroMargin,\n    );\n  }\n\n  render() {\n    const {\n      height,\n      xScale,\n      tickCount,\n      position,\n      tickLength,\n      tickStyle,\n      tickClassName,\n      spacingTop,\n      spacingBottom,\n    } = this.props;\n\n    const placement =\n      this.props.placement || (position === 'top' ? 'above' : 'below');\n    const ticks = this.props.ticks || getScaleTicks(xScale, null, tickCount);\n    const className = `rct-chart-tick rct-chart-tick-x ${tickClassName || ''}`;\n    const transform =\n      position === 'bottom'\n        ? `translate(0, ${height + (spacingBottom || 0)})`\n        : `translate(0, ${-spacingTop || 0})`;\n\n    return (\n      <g className=\"rct-chart-ticks-x\" transform={transform} aria-hidden=\"true\">\n        {ticks.map((tick, i) => {\n          const x1 = xScale(tick);\n          const y2 = placement === 'above' ? -tickLength : tickLength;\n\n          return (\n            <line\n              {...{\n                x1,\n                x2: x1,\n                y1: 0,\n                y2,\n                className,\n                style: tickStyle,\n                key: `tick-${i}`,\n              }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/XYPlot.js",
    "content": "import inRange from 'lodash/inRange';\nimport isFunction from 'lodash/isFunction';\nimport fromPairs from 'lodash/fromPairs';\nimport omit from 'lodash/omit';\nimport isNull from 'lodash/isNull';\nimport isUndefined from 'lodash/isUndefined';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { methodIfFuncProp } from './util';\nimport { innerSize } from './utils/Margin';\nimport resolveXYScales from './utils/resolveXYScales';\nimport { inferScaleType, invertPointScale } from './utils/Scale';\n\nfunction getMouseOptions(\n  event,\n  {\n    xScale,\n    yScale,\n    height,\n    width,\n    marginTop,\n    marginBottom,\n    marginLeft,\n    marginRight,\n  },\n) {\n  const chartBB = event.currentTarget.getBoundingClientRect();\n  const outerX = Math.round(event.clientX - chartBB.left);\n  const outerY = Math.round(event.clientY - chartBB.top);\n  const innerX = outerX - (marginLeft || 0);\n  const innerY = outerY - (marginTop || 0);\n  const chartSize = innerSize(\n    { width, height },\n    {\n      top: marginTop,\n      bottom: marginBottom,\n      left: marginLeft,\n      right: marginRight,\n    },\n  );\n  const xScaleType = inferScaleType(xScale);\n  const yScaleType = inferScaleType(yScale);\n\n  const xValue = !inRange(innerX, 0, chartSize.width)\n    ? null\n    : xScaleType === 'ordinal'\n    ? invertPointScale(xScale, innerX)\n    : xScale.invert(innerX);\n\n  const yValue = !inRange(innerY, 0, chartSize.height)\n    ? null\n    : yScaleType === 'ordinal'\n    ? invertPointScale(yScale, innerY)\n    : yScale.invert(innerY);\n\n  return {\n    event,\n    outerX,\n    outerY,\n    innerX,\n    innerY,\n    xValue,\n    yValue,\n    xScale,\n    yScale,\n    marginTop,\n    marginBottom,\n    marginLeft,\n    marginRight,\n  };\n}\n\nclass XYPlot extends React.Component {\n  static propTypes = {\n    /**\n     * (outer) width of the chart (SVG element).\n     */\n    width: PropTypes.number,\n    /**\n     * (outer) width of the chart (SVG element).\n     */\n    height: PropTypes.number,\n    /**\n     * The X domain of the data as an array.\n     * For numerical scales, this is represented as [min, max] of the data;\n     * for ordinal/categorical scales it is an array of known values ie. ['a', 'b', 'c'].\n     * Automatically determined from data if not passed.\n     */\n    xDomain: PropTypes.array,\n    /**\n     * The Y domain of the data as an array.\n     * For numerical scales, this is represented as [min, max] of the data;\n     * for ordinal/categorical scales it is an array of known values ie. ['a', 'b', 'c'].\n     * Automatically determined from data if not passed.\n     */\n    yDomain: PropTypes.array,\n\n    xScaleType: PropTypes.string,\n    yScaleType: PropTypes.string,\n\n    /**\n     * Whether or not to invert the x scale\n     */\n    invertXScale: PropTypes.bool,\n    /**\n     * Whether or not to invert the y scale\n     */\n    invertYScale: PropTypes.bool,\n\n    /**\n     * Whether or not to coerce 0 into your x domain\n     */\n    includeXZero: PropTypes.bool,\n    /**\n     * Whether or not to coerce 0 into your y domain\n     */\n    includeYZero: PropTypes.bool,\n\n    /**\n     * Internal top margin, in pixels.\n     */\n    marginTop: PropTypes.number,\n    /**\n     * Internal bottom margin, in pixels.\n     */\n    marginBottom: PropTypes.number,\n    /**\n     * Internal left margin, in pixels.\n     */\n    marginLeft: PropTypes.number,\n    /**\n     * Internal right margin, in pixels.\n     */\n    marginRight: PropTypes.number,\n    /**\n     * Internal top spacing of XYPlot, in pixels.\n     */\n    spacingTop: PropTypes.number,\n    /**\n     * Internal bottom spacing of XYPlot, in pixels.\n     */\n    spacingBottom: PropTypes.number,\n    /**\n     * Internal left spacing of XYPlot, in pixels.\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Internal right spacing of XYPlot, in pixels.\n     */\n    spacingRight: PropTypes.number,\n\n    // todo implement padding (helper for spacing)\n    // paddingTop: PropTypes.number,\n    // paddingBottom: PropTypes.number,\n    // paddingLeft: PropTypes.number,\n    // paddingRight: PropTypes.number,\n\n    onMouseMove: PropTypes.func,\n    onMouseEnter: PropTypes.func,\n    onMouseLeave: PropTypes.func,\n    onMouseDown: PropTypes.func,\n    onMouseUp: PropTypes.func,\n    onClick: PropTypes.func,\n\n    /**\n     * Inline style object to be applied to the parent SVG element that wraps XYPlot.\n     */\n    xyPlotContainerStyle: PropTypes.object,\n    /**\n     * Inline style object to be applied to the plot.\n     * This is the inner rect DOM element where the graphs are rendered within the axes.\n     */\n    xyPlotStyle: PropTypes.object,\n    /**\n     * Class attribute applied to xy plot\n     */\n    xyPlotClassName: PropTypes.string,\n    /**\n     * Scale determined by our resolveXYScales higher order component.\n     * Override this prop if you'd like to pass in your own d3 scale.\n     */\n    xScale: PropTypes.func,\n    /**\n     * Scale determined by our resolveXYScales higher order component.\n     * Override this prop if you'd like to pass in your own d3 scale.\n     */\n    yScale: PropTypes.func,\n    children: PropTypes.any,\n  };\n\n  static defaultProps = {\n    width: 400,\n    height: 250,\n    invertXScale: false,\n    invertYScale: false,\n    includeXZero: false,\n    includeYZero: false,\n    xyPlotContainerStyle: {},\n    xyPlotStyle: {},\n    xyPlotClassName: '',\n  };\n\n  onXYMouseEvent = (callbackKey, event) => {\n    const callback = this.props[callbackKey];\n    if (!isFunction(callback)) return;\n    const options = getMouseOptions(event, this.props);\n    callback(options);\n  };\n\n  onMouseMove = this.onXYMouseEvent.bind(this, 'onMouseMove');\n  onMouseDown = this.onXYMouseEvent.bind(this, 'onMouseDown');\n  onMouseUp = this.onXYMouseEvent.bind(this, 'onMouseUp');\n  onClick = this.onXYMouseEvent.bind(this, 'onClick');\n  onMouseEnter = this.onXYMouseEvent.bind(this, 'onMouseEnter');\n  onMouseLeave = this.onXYMouseEvent.bind(this, 'onMouseLeave');\n\n  render() {\n    const {\n      width,\n      height,\n      marginTop,\n      marginBottom,\n      marginLeft,\n      marginRight,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n      xyPlotContainerStyle,\n      xyPlotStyle,\n      xyPlotClassName,\n      // Passed in as prop from resolveXYScales\n      xScale,\n      yScale,\n    } = this.props;\n\n    // subtract margin + spacing from width/height to obtain inner width/height of panel & chart area\n    // panelSize is the area including chart + spacing but NOT margin\n    // chartSize is smaller, chart *only*, not including margin or spacing\n    const panelSize = innerSize(\n      { width, height },\n      {\n        top: marginTop,\n        bottom: marginBottom,\n        left: marginLeft,\n        right: marginRight,\n      },\n    );\n    const chartSize = innerSize(panelSize, {\n      top: spacingTop,\n      bottom: spacingBottom,\n      left: spacingLeft,\n      right: spacingRight,\n    });\n\n    const handlerNames = [\n      'onMouseMove',\n      'onMouseEnter',\n      'onMouseLeave',\n      'onMouseDown',\n      'onMouseUp',\n      'onClick',\n    ];\n    const handlers = fromPairs(\n      handlerNames.map(handlerName => [\n        handlerName,\n        methodIfFuncProp(handlerName, this.props, this),\n      ]),\n    );\n    const scales = {\n      xScale,\n      yScale,\n    };\n\n    // Props that shouldn't be sent down to children\n    // because they're either unnecessary or we don't want them to\n    // override any children props\n    const omittedProps = [\n      ...handlerNames,\n      'xyPlotContainerStyle',\n      'xyPlotStyle',\n      'xyPlotClassName',\n    ];\n\n    const propsForChildren = {\n      ...omit(this.props, omittedProps),\n      ...chartSize,\n      ...scales,\n    };\n\n    const className = `rct-xy-plot ${xyPlotClassName}`;\n\n    return (\n      <svg\n        {...{ width, height, className, style: xyPlotContainerStyle }}\n        {...handlers}\n      >\n        <rect\n          className=\"rct-chart-background\"\n          {...{ width, height }}\n          aria-hidden=\"true\"\n        />\n        <g\n          transform={`translate(${marginLeft + spacingLeft}, ${marginTop +\n            spacingTop})`}\n          className=\"rct-chart-inner\"\n        >\n          <rect\n            transform={`translate(${-spacingLeft}, ${-spacingTop})`}\n            className=\"rct-plot-background\"\n            style={xyPlotStyle}\n            aria-hidden=\"true\"\n            {...panelSize}\n          />\n          {React.Children.map(this.props.children, child => {\n            return isNull(child) || isUndefined(child)\n              ? null\n              : React.cloneElement(child, propsForChildren);\n          })}\n        </g>\n      </svg>\n    );\n  }\n}\n\nconst XYPlotResolved = resolveXYScales(XYPlot);\n\nexport default XYPlotResolved;\n"
  },
  {
    "path": "src/YAxis.js",
    "content": "import defaults from 'lodash/defaults';\nimport isFunction from 'lodash/isFunction';\nimport upperFirst from 'lodash/upperFirst';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getAxisChildProps, getMouseAxisOptions } from './utils/Axis';\nimport { sumMargins } from './utils/Margin';\nimport { getTickDomain } from './utils/Scale';\nimport xyPropsEqual from './utils/xyPropsEqual';\nimport YAxisLabels from './YAxisLabels';\nimport YAxisTitle from './YAxisTitle';\nimport YGrid from './YGrid';\nimport YTicks from './YTicks';\n\nconst getMouseOptions = getMouseAxisOptions.bind(null, 'y');\n/**\n * `YAxis` is the vertical axis of the chart. `YAxis` is a wrapper around `YGrid`, `YTicks`,\n * `YAxisLabels`, and `YAxisTitle`. See their respective docs for prop documentation.\n */\nexport default class YAxis extends React.Component {\n  static propTypes = {\n    yScale: PropTypes.func,\n    width: PropTypes.number,\n    height: PropTypes.number,\n    position: PropTypes.string,\n    placement: PropTypes.string,\n    /**\n     * Extends the y domain to start and end on rounded values,\n     * guaranteeing the original domain will be covered.\n     * See d3 docs for more information\n     */ nice: PropTypes.bool,\n    ticks: PropTypes.array,\n    tickCount: PropTypes.number,\n    /**\n     * Internal top spacing of YAxis, in pixels.\n     */ spacingTop: PropTypes.number,\n    /**\n     * Internal bottom spacing of YAxis, in pixels.\n     */ spacingBottom: PropTypes.number,\n    /**\n     * Internal left spacing of YAxis, in pixels.\n     */ spacingLeft: PropTypes.number,\n    /**\n     * Internal right spacing of YAxis, in pixels.\n     */ spacingRight: PropTypes.number,\n    showTitle: PropTypes.bool,\n    showLabels: PropTypes.bool,\n    showTicks: PropTypes.bool,\n    showGrid: PropTypes.bool,\n    title: PropTypes.string,\n    titleDistance: PropTypes.number,\n    titleAlign: PropTypes.string,\n    titleRotate: PropTypes.bool,\n    titleStyle: PropTypes.object,\n    labelDistance: PropTypes.number,\n    labelClassName: PropTypes.string,\n    labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    labelFormat: PropTypes.func,\n    labelFormats: PropTypes.array,\n    labels: PropTypes.array,\n    /**\n     * Adds vertical offset (along the YAxis) to the labels\n     */ labelOffset: PropTypes.number,\n    tickLength: PropTypes.number,\n    tickClassName: PropTypes.string,\n    tickStyle: PropTypes.object,\n    gridLineClassName: PropTypes.string,\n    gridLineStyle: PropTypes.object,\n    onMouseClickLabel: PropTypes.func,\n    onMouseEnterLabel: PropTypes.func,\n    onMouseMoveLabel: PropTypes.func,\n    onMouseLeaveLabel: PropTypes.func,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the y axis.\n     */\n    onMouseEnterAxis: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the y axis.\n     */ onMouseLeaveAxis: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the y axis.\n     */ onMouseMoveAxis: PropTypes.func,\n    /**\n     * `click` event handler callback, called when user's mouse clicks on the y axis.\n     */ onMouseClickAxis: PropTypes.func,\n    /**\n     * Show Y Axis line\n     */\n    showLine: PropTypes.bool,\n    /**\n     * Inline style object to be applied to the Y Axis line\n     */ lineStyle: PropTypes.object,\n  };\n\n  static defaultProps = {\n    width: 400,\n    height: 250,\n    position: 'left',\n    nice: true,\n    showTitle: true,\n    showLabels: true,\n    showTicks: true,\n    showGrid: true,\n    tickLength: 5,\n    labelDistance: 3,\n    titleDistance: 5,\n    spacingTop: 0,\n    spacingBottom: 0,\n    spacingLeft: 0,\n    spacingRight: 0,\n    showLine: true,\n    lineStyle: {},\n  };\n\n  static getTickDomain(props) {\n    if (!props.yScale) return;\n    const propsWithDefaults = defaults({}, props, YAxis.defaultProps);\n    return {\n      yTickDomain: getTickDomain(propsWithDefaults.yScale, propsWithDefaults),\n    };\n  }\n\n  static getMargin(props) {\n    const { ticksProps, labelsProps, titleProps } = getAxisChildProps(props);\n    const margins = [];\n\n    if (props.showTicks) margins.push(YTicks.getMargin(ticksProps));\n\n    if (props.showTitle && props.title)\n      margins.push(YAxisTitle.getMargin(titleProps));\n\n    if (props.showLabels) margins.push(YAxisLabels.getMargin(labelsProps));\n\n    return sumMargins(margins, 'margin');\n  }\n\n  shouldComponentUpdate(nextProps) {\n    return !xyPropsEqual(this.props, nextProps);\n  }\n\n  handleOnMouseMove = event => {\n    const { onMouseMoveAxis, yScale } = this.props;\n\n    if (!isFunction(onMouseMoveAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, yScale);\n    onMouseMoveAxis(options);\n  };\n\n  handleOnMouseEnter = event => {\n    const { onMouseEnterAxis, yScale } = this.props;\n\n    if (!isFunction(onMouseEnterAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, yScale);\n    onMouseEnterAxis(options);\n  };\n\n  handleOnMouseLeave = event => {\n    const { onMouseLeaveAxis, yScale } = this.props;\n\n    if (!isFunction(onMouseLeaveAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, yScale);\n    onMouseLeaveAxis(options);\n  };\n\n  handleOnClick = event => {\n    const { onMouseClickAxis, yScale } = this.props;\n\n    if (!isFunction(onMouseClickAxis)) {\n      return;\n    }\n\n    const options = getMouseOptions(event, yScale);\n    onMouseClickAxis(options);\n  };\n\n  render() {\n    const {\n      width,\n      height,\n      position,\n      tickLength,\n      titleDistance,\n      labelDistance,\n      showTitle,\n      showLabels,\n      showTicks,\n      showGrid,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n      showLine,\n      lineStyle,\n    } = this.props;\n\n    const {\n      ticksProps,\n      gridProps,\n      labelsProps,\n      titleProps,\n    } = getAxisChildProps(this.props);\n\n    labelsProps.distance = labelDistance + (showTicks ? tickLength : 0);\n\n    if (showTitle && showLabels) {\n      // todo optimize so we don't generate labels twice\n      const labelsMargin = YAxisLabels.getMargin(labelsProps);\n      titleProps.distance =\n        titleDistance + labelsMargin[`margin${upperFirst(position)}`];\n    } else if (showTitle && showTicks) {\n      titleProps.distance = titleDistance + tickLength;\n    }\n\n    const axisLineX = position === 'left' ? -spacingLeft : width + spacingRight;\n\n    return (\n      <g\n        className=\"rct-chart-axis rct-chart-axis-y\"\n        onMouseMove={this.handleOnMouseMove}\n        onMouseEnter={this.handleOnMouseEnter}\n        onMouseLeave={this.handleOnMouseLeave}\n        onClick={this.handleOnClick}\n        aria-hidden=\"true\"\n      >\n        {showGrid ? <YGrid {...gridProps} /> : null}\n\n        {showTicks ? <YTicks {...ticksProps} /> : null}\n\n        {showLabels ? <YAxisLabels {...labelsProps} /> : null}\n\n        {showTitle ? <YAxisTitle {...titleProps} /> : null}\n\n        {showLine ? (\n          <line\n            className=\"rct-chart-axis-line rct-chart-axis-line-y\"\n            x1={axisLineX}\n            x2={axisLineX}\n            y1={-spacingTop}\n            y2={height + spacingBottom}\n            style={lineStyle}\n          />\n        ) : null}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/YAxisLabels.js",
    "content": "import defaults from 'lodash/defaults';\nimport isUndefined from 'lodash/isUndefined';\nimport last from 'lodash/last';\nimport max from 'lodash/max';\nimport capitalize from 'lodash/capitalize';\nimport get from 'lodash/get';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport MeasuredValueLabel from './MeasuredValueLabel';\nimport {\n  checkLabelsDistinct,\n  getLabelsYOverhang,\n  makeLabelFormatters,\n  getDefaultFormats,\n} from './utils/Label';\nimport { getValue } from './utils/Data';\nimport { getScaleTicks, getTickDomain, inferScaleType } from './utils/Scale';\nimport { bindTrailingArgs } from './util.js';\nimport xyPropsEqual from './utils/xyPropsEqual';\n\nfunction resolveYLabelsForValues(\n  scale,\n  values,\n  formats = [],\n  style,\n  force = true,\n) {\n  // given a set of Y-values to label, and a list of formatters to try,\n  // find the first formatter that produces a set of labels which are distinct\n  // since we currently do not support rotated axis value labels,\n  // we do not check if they fit on the axis (unlike X labels), since all Y labels will have the same height\n  // returns the formatter and the generated labels\n\n  let labels;\n  const attempts = [];\n  const goodFormat = formats.find(format => {\n    const testLabels = values.map((value, i) =>\n      MeasuredValueLabel.getLabel({\n        value,\n        format,\n        style: defaults(\n          getValue(style.labelStyle, { value }, i),\n          style.defaultStyle,\n        ),\n      }),\n    );\n\n    const areLabelsDistinct = checkLabelsDistinct(testLabels);\n    if (!areLabelsDistinct) {\n      attempts.push({ labels: testLabels, format, areLabelsDistinct });\n      return false;\n    }\n\n    labels = testLabels;\n    return true;\n  });\n\n  if (!isUndefined(goodFormat)) {\n    // found labels which work, return them\n    return {\n      labels,\n      format: goodFormat,\n      areLabelsDistinct: true,\n      collisionCount: 0,\n    };\n  }\n  // none of the sets of labels are good\n  // if we're not forced to decide, return all the labels we tried (let someone else decide)\n  if (!force) return { attempts };\n\n  // forced to decide, choose the least bad option\n  // super bad, we don't have any label sets with distinct labels. return the last attempt.\n  return last(attempts);\n}\n\nclass YAxisLabels extends React.Component {\n  static propTypes = {\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Height of chart - provided by XYPlot.\n     */\n    height: PropTypes.number,\n    /**\n     * Width of chart - provided by XYPlot.\n     */\n    width: PropTypes.number,\n    /**\n     * Position of y axis labels. Accepted options are \"left\" or \"right\".\n     */\n    position: PropTypes.oneOf(['left', 'right']),\n    /**\n     * Placement of labels in regards to the y axis. Accepted options are \"before\" or \"after\".\n     */\n    placement: PropTypes.oneOf(['before', 'after']),\n    /**\n     * Label distance from Y Axis.\n     */\n    distance: PropTypes.number,\n    /**\n     * Round ticks to capture extent of given y domain from XYPlot.\n     */\n    nice: PropTypes.bool,\n    /**\n     * Number of ticks on axis.\n     */\n    tickCount: PropTypes.number,\n    /**\n     * Custom ticks to display.\n     */\n    ticks: PropTypes.array,\n    /**\n     * Inline style object applied to each label,\n     * or accessor function which returns a style object\n     *\n     * Disclaimer: labelStyle will merge its defaults with the given labelStyle prop\n     * in order to ensure that our collision library measureText is able to calculate the\n     * smallest amount of possible collisions along the axis. It's therefore dependent on\n     * fontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\n     * stylesheet, we suggest creating a styled label component that wraps YAxisLabels with your preferred styles.\n     */\n    labelStyle: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n    labelClassName: PropTypes.string,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the label given spacingLeft\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the label given spacingRight\n     */\n    spacingRight: PropTypes.number,\n    /**\n     * `mouseenter` event handler callback, called when user's mouse enters the label.\n     */\n    onMouseEnterLabel: PropTypes.func,\n    /**\n     * `mousemove` event handler callback, called when user's mouse moves within the label.\n     */\n    onMouseMoveLabel: PropTypes.func,\n    /**\n     * `mouseleave` event handler callback, called when user's mouse leaves the label.\n     */\n    onMouseLeaveLabel: PropTypes.func,\n    /**\n     * `mouseclick` event handler callback, called when user's mouse clicks the label.\n     */\n    onMouseClickLabel: PropTypes.func,\n    /**\n     * An accessor function that returns the updated label.\n     *\n     * For example, given labels with real numbers one can pass in the following accessor,\n     * (label) => `${label}%`, to display percentages.\n     */\n    format: PropTypes.func,\n    /**\n     * Formats to use for the labels in priority order. XAxisLabels will try to be smart about which format\n     * to use that keeps the labels distinct and provides the least amount of collisions when rendered. Formats\n     * can be either string(s) or function(s), utilizing d3-format.\n     *\n     * For example, given labels with real numbers one can pass in [\".0%\"] for a rounded percentage, like 12%.\n     */\n    formats: PropTypes.array,\n    /**\n     * Custom labels provided. Note that each object in the array has to be of shape.\n     * `{\n     *  value,\n     *  text,\n     *  height,\n     *  width\n     * }`\n     * value - value you'd like this label to be aligned with\n     * text - text you'd like displayed\n     * height - height of the given label\n     * width - width of the given label\n     */\n    labels: PropTypes.array,\n    /**\n     * Adds vertical offset (along the YAxis) to the labels.\n     */\n    offset: PropTypes.number,\n  };\n\n  static defaultProps = {\n    offset: 0,\n    height: 250,\n    width: 400,\n    position: 'left',\n    distance: 4,\n    nice: true,\n    tickCount: 10,\n    ticks: null,\n    labelClassName: '',\n    labelStyle: {\n      fontFamily: 'Helvetica, sans-serif',\n      fontSize: '14px',\n      lineHeight: 1,\n      textAnchor: 'end',\n    },\n  };\n\n  static getTickDomain(props) {\n    if (!props.yScale) return;\n    const propsWithDefaults = defaults({}, props, YAxisLabels.defaultProps);\n    return {\n      yTickDomain: getTickDomain(propsWithDefaults.yScale, propsWithDefaults),\n    };\n  }\n\n  static getMargin(props) {\n    const propsWithDefaults = defaults({}, props, YAxisLabels.defaultProps);\n    const { yScale, position, placement, distance } = propsWithDefaults;\n    const labels =\n      propsWithDefaults.labels || YAxisLabels.getLabels(propsWithDefaults);\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'left' && placement === 'after') ||\n      (position === 'right' && placement === 'before')\n    )\n      return zeroMargin;\n\n    const marginX = max(labels.map(label => Math.ceil(distance + label.width)));\n    const [marginTop, marginBottom] = getLabelsYOverhang(\n      yScale,\n      labels,\n      'middle',\n    );\n\n    return defaults(\n      { [`margin${capitalize(position)}`]: marginX, marginTop, marginBottom },\n      zeroMargin,\n    );\n  }\n\n  static getLabels(props) {\n    const { tickCount, labelStyle, yScale } = defaults(\n      props,\n      {},\n      YAxisLabels.defaultProps,\n    );\n    const ticks = props.ticks || getScaleTicks(yScale, null, tickCount);\n    const style = {\n      labelStyle,\n      defaultStyle: YAxisLabels.defaultProps.labelStyle,\n    };\n    const scaleType = inferScaleType(yScale);\n    const propsFormats = props.format ? [props.format] : props.formats;\n    const formatStrs =\n      Array.isArray(propsFormats) && propsFormats.length\n        ? propsFormats\n        : getDefaultFormats(scaleType);\n    const formats = makeLabelFormatters(formatStrs, scaleType);\n\n    // todo resolve ticks also\n    // if there are so many ticks that no combination of labels can fit on the axis,\n    // nudge down the tickCount and try again\n    // doing this will require communicating the updated ticks/tickCount back to the parent element...\n\n    const { labels } = resolveYLabelsForValues(yScale, ticks, formats, style);\n    // console.log('resolveYLabelsForValues took ', performance.now() - start);\n    // console.log('found labels', labels);\n    return labels;\n  }\n\n  shouldComponentUpdate(nextProps) {\n    return !xyPropsEqual(this.props, nextProps);\n  }\n\n  render() {\n    // todo: position: 'zero' prop to position along the zero line\n    const {\n      width,\n      yScale,\n      position,\n      distance,\n      labelStyle,\n      labelClassName,\n      spacingLeft,\n      spacingRight,\n      offset,\n    } = this.props;\n    const placement =\n      this.props.placement || (position === 'left' ? 'before' : 'after');\n    const className = `rct-chart-value-label rct-chart-value-label-y ${labelClassName}`;\n    const textAnchor = placement === 'before' ? 'end' : 'start';\n    const labels = this.props.labels || YAxisLabels.getLabels(this.props);\n    const transform =\n      position === 'left'\n        ? `translate(${-spacingLeft}, 0)`\n        : `translate(${width + spacingRight}, 0)`;\n\n    return (\n      <g\n        className=\"rct-chart-value-labels-y\"\n        transform={transform}\n        aria-hidden=\"true\"\n      >\n        {labels.map((label, i) => {\n          const y = yScale(label.value) + offset;\n          const x = placement === 'before' ? -distance : distance;\n\n          const [onMouseEnter, onMouseMove, onMouseLeave, onClick] = [\n            'onMouseEnterLabel',\n            'onMouseMoveLabel',\n            'onMouseLeaveLabel',\n            'onMouseClickLabel',\n          ].map(eventName => {\n            // partially apply this bar's data point as 2nd callback argument\n            const callback = get(this.props, eventName);\n            return isFunction(callback)\n              ? bindTrailingArgs(callback, label.value)\n              : null;\n          });\n\n          const style = defaults(\n            { textAnchor },\n            getValue(labelStyle, { x, y, ...label }, i),\n            YAxisLabels.defaultProps.labelStyle,\n          );\n\n          return (\n            <g\n              key={`x-axis-label-${i}`}\n              {...{ onMouseEnter, onMouseMove, onMouseLeave, onClick }}\n            >\n              {/* <YAxisLabelDebugRect {...{x, y, label, style: getValue(labelStyle, label.text, i)}}/> */}\n              <MeasuredValueLabel\n                value={label.value}\n                {...{\n                  x,\n                  y,\n                  className,\n                  dy: '0.35em',\n                  style,\n                }}\n              >\n                {label.text}\n              </MeasuredValueLabel>\n            </g>\n          );\n        })}\n      </g>\n    );\n  }\n}\n\n/* eslint-disable */\nconst YAxisLabelDebugRect = () => {\n  const { x, y, label, style } = this.props;\n  const xAdj = style.textAnchor === 'end' ? x - label.width : x;\n  return (\n    <rect\n      {...{\n        x: xAdj,\n        y: y - label.height / 2,\n        width: label.width,\n        height: label.height,\n        fill: 'orange',\n      }}\n    />\n  );\n};\n/* eslint-enable */\n\nexport default YAxisLabels;\n"
  },
  {
    "path": "src/YAxisTitle.js",
    "content": "import defaults from 'lodash/defaults';\nimport measureText from './utils/measureText';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport default class YAxisTitle extends React.Component {\n  static propTypes = {\n    height: PropTypes.number,\n    width: PropTypes.number,\n    /**\n     * Title distance from Y Axis\n     */\n    distance: PropTypes.number,\n    /**\n     * Position of title in regards to the y axis. Accepted options are \"left\" or \"right\"\n     */\n    position: PropTypes.oneOf(['left', 'right']),\n    alignment: PropTypes.oneOf(['top', 'middle', 'bottom']),\n    /**\n     * Placement of title in regards to the y axis. Accepted options are \"before\" or \"after\"\n     */\n    placement: PropTypes.oneOf(['before', 'after']),\n    rotate: PropTypes.bool,\n    /**\n     * Object declaring styles for label.\n     *\n     * Disclaimer: style will merge its defaults with the given style prop\n     * in order to ensure that our collision library measureText is able to calculate the\n     * smallest amount of possible collisions along the axis. It's therefore dependent on\n     * fontFamily, size and fontStyle to always be passed in. If you're looking to have a centralized\n     * stylesheet, we suggest creating a styled title component that wraps YAxisTitle with your preferred styles.\n     */\n    style: PropTypes.object,\n    /**\n     * Spacing - provided by XYPlot\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot\n     */\n    spacingRight: PropTypes.number,\n    title: PropTypes.string,\n    children: PropTypes.any,\n  };\n\n  static defaultProps = {\n    height: 250,\n    width: 400,\n    distance: 5,\n    position: 'left',\n    alignment: 'middle',\n    rotate: true,\n    style: {\n      fontFamily: 'Helvetica, sans-serif',\n      fontSize: '24px',\n      fontWeight: 'bold',\n      lineHeight: 1,\n    },\n    spacingLeft: 0,\n    spacingRight: 0,\n  };\n\n  static getMargin(props) {\n    const propsWithDefault = defaults({}, props, YAxisTitle.defaultProps);\n    const { distance, position, rotate } = propsWithDefault;\n    const placement =\n      propsWithDefault.placement || (position === 'left' ? 'before' : 'after');\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'left' && placement === 'after') ||\n      (position === 'right' && placement === 'before')\n    )\n      return zeroMargin;\n\n    const title = propsWithDefault.title || propsWithDefault.children;\n    const style = defaults(\n      propsWithDefault.style,\n      YAxisTitle.defaultProps.style,\n    );\n    const titleWithStyle = Object.assign({ text: title }, style);\n    const measured = measureText(titleWithStyle);\n\n    const marginValue =\n      distance +\n      Math.ceil(rotate ? measured.height.value : measured.width.value);\n\n    return position === 'left'\n      ? { ...zeroMargin, marginLeft: marginValue }\n      : { ...zeroMargin, marginRight: marginValue };\n  }\n\n  render() {\n    const {\n      height,\n      width,\n      distance,\n      position,\n      alignment,\n      style,\n      spacingLeft,\n      spacingRight,\n    } = this.props;\n    const title = this.props.title || this.props.children;\n    const placement =\n      this.props.placement || (position === 'left' ? 'before' : 'after');\n\n    const rotate = this.props.rotate ? -90 : 0;\n    const posX = position === 'right' ? width + spacingRight : -spacingLeft;\n    const translateX = posX + (placement === 'before' ? -distance : distance);\n    const translateY =\n      alignment === 'middle' ? height / 2 : alignment === 'bottom' ? height : 0;\n    const textAnchor =\n      rotate && alignment === 'top'\n        ? 'end'\n        : rotate && alignment === 'middle'\n        ? 'middle'\n        : rotate && alignment === 'bottom'\n        ? 'start'\n        : placement === 'before'\n        ? 'end'\n        : 'start';\n    const dy =\n      rotate && placement === 'before'\n        ? '-0.2em'\n        : rotate\n        ? '0.8em'\n        : alignment === 'top'\n        ? '0.8em'\n        : alignment === 'middle'\n        ? '0.3em'\n        : null;\n\n    return (\n      <g\n        transform={`translate(${translateX},${translateY})`}\n        aria-hidden=\"true\"\n      >\n        <text\n          style={{ ...style, textAnchor }}\n          transform={`rotate(${rotate})`}\n          dy={dy}\n        >\n          {title}\n        </text>\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/YGrid.js",
    "content": "import React from 'react';\nimport defaults from 'lodash/defaults';\nimport PropTypes from 'prop-types';\n\nimport YLine from './YLine';\nimport { getScaleTicks, getTickDomain } from './utils/Scale';\n\nexport default class YGrid extends React.Component {\n  static propTypes = {\n    width: PropTypes.number,\n    height: PropTypes.number,\n    yScale: PropTypes.func,\n    spacingTop: PropTypes.number,\n    spacingBottom: PropTypes.number,\n    spacingLeft: PropTypes.number,\n    spacingRight: PropTypes.number,\n    nice: PropTypes.bool,\n    ticks: PropTypes.array,\n    tickCount: PropTypes.number,\n    lineClassName: PropTypes.string,\n    lineStyle: PropTypes.object,\n  };\n  static defaultProps = {\n    nice: true,\n    lineStyle: {},\n  };\n\n  static getTickDomain(props) {\n    if (!props.yScale) return;\n    const propsWithDefaults = defaults({}, props, YGrid.defaultProps);\n    return { yTickDomain: getTickDomain(props.yScale, propsWithDefaults) };\n  }\n\n  render() {\n    const {\n      width,\n      yScale,\n      tickCount,\n      lineClassName,\n      lineStyle,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n    } = this.props;\n    const ticks = this.props.ticks || getScaleTicks(yScale, null, tickCount);\n    const className = `rct-chart-grid-line ${lineClassName || ''}`;\n\n    return (\n      <g className=\"rct-chart-grid-y\" aria-hidden=\"true\">\n        {ticks.map((tick, i) => {\n          return (\n            <YLine\n              {...{\n                width,\n                yScale,\n                className,\n                spacingTop,\n                spacingBottom,\n                spacingLeft,\n                spacingRight,\n                value: tick,\n                style: lineStyle,\n                key: `grid-y-line-${i}`,\n              }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/YLine.js",
    "content": "import PropTypes from 'prop-types';\nimport React from 'react';\n\n/**\n * `YLine` is a horizontal line rendered on the y axis\n */\nexport default class YLine extends React.Component {\n  static propTypes = {\n    /**\n     * D3 scale for Y axis - provided by XYPlot\n     */\n    yScale: PropTypes.func,\n    /**\n     * Width of chart - provided by XYPlot.\n     */\n    width: PropTypes.number,\n    value: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]).isRequired,\n    /**\n     * D3 scale for X axis - provided by XYPlot\n     */\n    xScale: PropTypes.func,\n    xLimit: PropTypes.oneOfType([\n      PropTypes.number,\n      PropTypes.string,\n      PropTypes.instanceOf(Date),\n    ]),\n    /**\n     * Spacing left - provided by XYPlot\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Spacing right - provided by XYPlot\n     */\n    spacingRight: PropTypes.number,\n    /**\n     * Inline style object to be applied to the line\n     */\n    style: PropTypes.object,\n    /**\n     * Class attribute to be applied to the line\n     */\n    className: PropTypes.string,\n  };\n  static defaultProps = {\n    style: {},\n    className: '',\n    spacingLeft: 0,\n    spacingRight: 0,\n  };\n\n  render() {\n    const {\n      width,\n      yScale,\n      value,\n      xScale,\n      xLimit,\n      spacingLeft,\n      spacingRight,\n      style,\n    } = this.props;\n    const className = `rct-chart-line-y ${this.props.className || ''}`;\n    const lineY = yScale(value);\n    const lineX =\n      typeof xLimit === 'undefined' ? width + spacingRight : xScale(xLimit);\n\n    return (\n      <line\n        aria-hidden=\"true\"\n        {...{\n          x1: -spacingLeft,\n          x2: lineX,\n          y1: lineY,\n          y2: lineY,\n          className,\n          style,\n        }}\n      />\n    );\n  }\n}\n"
  },
  {
    "path": "src/YTicks.js",
    "content": "import defaults from 'lodash/defaults';\nimport capitalize from 'lodash/capitalize';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { getScaleTicks, getTickDomain } from './utils/Scale';\n\nexport default class YTicks extends React.Component {\n  static propTypes = {\n    /**\n     * Width of chart - provided by XYPlot.\n     */\n    width: PropTypes.number,\n    /**\n     * D3 scale for Y axis - provided by XYPlot.\n     */\n    yScale: PropTypes.func,\n    /**\n     * Position of y ticks. Accepted options are \"left\" or \"right\".\n     */\n    position: PropTypes.oneOf(['left', 'right']),\n    /**\n     * Placement of ticks in regards to the y axis. Accepted options are \"before\" or \"after\".\n     */\n    placement: PropTypes.oneOf(['before', 'after']),\n    /**\n     * Custom ticks to display.\n     */\n    ticks: PropTypes.array,\n    /**\n     * Number of ticks on axis.\n     */\n    tickCount: PropTypes.number,\n    tickLength: PropTypes.number,\n    /**\n     * Inline style object to be applied to each tick.\n     */\n    tickStyle: PropTypes.object,\n    /**\n     * Class attribute to be applied to each tick.\n     */\n    tickClassName: PropTypes.string,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingLeft.\n     */\n    spacingLeft: PropTypes.number,\n    /**\n     * Spacing - provided by XYPlot and used to determine the placement of the ticks given spacingRight.\n     */\n    spacingRight: PropTypes.number,\n    /**\n     * Round ticks to capture extent of given y domain from XYPlot.\n     */\n    nice: PropTypes.bool,\n  };\n  static defaultProps = {\n    position: 'left',\n    nice: true,\n    tickLength: 5,\n    tickStyle: {},\n  };\n\n  static getTickDomain(props) {\n    if (!props.yScale) {\n      return;\n    }\n\n    const propsWithDefaults = defaults({}, props, YTicks.defaultProps);\n    return { yTickDomain: getTickDomain(props.yScale, propsWithDefaults) };\n  }\n\n  static getMargin(props) {\n    const { tickLength, position } = defaults({}, props, YTicks.defaultProps);\n    const placement =\n      props.placement || (position === 'left' ? 'before' : 'after');\n    const zeroMargin = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    if (\n      (position === 'left' && placement === 'after') ||\n      (position === 'right' && placement === 'before')\n    )\n      return zeroMargin;\n\n    return defaults(\n      { [`margin${capitalize(position)}`]: tickLength || 0 },\n      zeroMargin,\n    );\n  }\n\n  render() {\n    const {\n      width,\n      yScale,\n      tickCount,\n      position,\n      tickLength,\n      tickStyle,\n      tickClassName,\n      spacingLeft,\n      spacingRight,\n    } = this.props;\n    const placement =\n      this.props.placement || (position === 'left' ? 'before' : 'after');\n    const ticks = this.props.ticks || getScaleTicks(yScale, null, tickCount);\n    const className = `rct-chart-tick rct-chart-tick-y ${tickClassName || ''}`;\n    const transform =\n      position === 'right'\n        ? `translate(${width + (spacingRight || 0)}, 0)`\n        : `translate(${-spacingLeft || 0}, 0)`;\n\n    return (\n      <g className=\"rct-chart-ticks-y\" transform={transform} aria-hidden=\"true\">\n        {ticks.map((tick, i) => {\n          const y1 = yScale(tick);\n          const x2 = placement === 'before' ? -tickLength : tickLength;\n\n          return (\n            <line\n              {...{\n                x1: 0,\n                x2,\n                y1,\n                y2: y1,\n                className,\n                style: tickStyle,\n                key: `tick-${i}`,\n              }}\n            />\n          );\n        })}\n      </g>\n    );\n  }\n}\n"
  },
  {
    "path": "src/ZoomContainer.js",
    "content": "import { select } from 'd3-selection';\nimport { zoom, zoomIdentity, zoomTransform } from 'd3-zoom';\nimport isFunction from 'lodash/isFunction';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n// todo: make sure this correctly handles new props getting passed in, doesn't double bind events\n\nfunction zoomTransformFromProps(props) {\n  const { zoomScale, zoomX, zoomY } = props;\n  return zoomIdentity.translate(zoomX || 0, zoomY || 0).scale(zoomScale || 1);\n}\n\n/**\n * `ZoomContainer` is a wrapper that gives users the ability to zoom in, zoom out and drag its children components.\n */\nexport default class ZoomContainer extends React.Component {\n  static propTypes = {\n    /**\n     * (outer) width of the chart (SVG element).\n     */\n    width: PropTypes.number,\n    /**\n     * (outer) width of the chart (SVG element).\n     */\n    height: PropTypes.number,\n    /**\n     * Zoom callback function, called when zoom changes.\n     * For controlled version of this component, you should update zoomX, zoomY and zoomScale props in this callback.\n     */\n    onZoom: PropTypes.func,\n    /**\n     * Boolean which determines whether the component is \"controlled\" (true) or \"stateful\" (false).\n     * When true, zoom transformation is controlled entirely by the `zoomX`, `zoomY` and `zoomScale` props, which\n     * you are responsible for updating in the `onZoom` callback function.\n     * When false, zoom transformation is handled by internal state, and the `zoomX`, `zoomY` and `zoomScale` props\n     * specify only the initial X, Y and scale transformation of the component.\n     */\n    controlled: PropTypes.bool,\n    /**\n     * Disables wheel-driven zooming (say to not interfere with native scrolling).\n     */\n    disableMouseWheelZoom: PropTypes.bool,\n    /**\n     * The X-coordinate of the zoom transformation (or initial X-coordinate, if `controlled` is false).\n     */\n    zoomX: PropTypes.number,\n    /**\n     * The Y-coordinate of the zoom transformation (or initial Y-coordinate, if `controlled` is false).\n     */\n    zoomY: PropTypes.number,\n    /**\n     * The scaling factor of the zoom transformation (or initial scaling, if `controlled` is false).\n     * 1.0 is normal size, 2.0 is double size, 0.5 is half size.\n     */\n    zoomScale: PropTypes.number,\n    /**\n     * Sets the viewport extent to the specified array of points [[x0, y0], [x1, y1]],\n     * where [x0, y0] is the top-left corner of the viewport and [x1, y1] is the bottom-right corner of the viewport.\n     * See d3-zoom docs for more information.\n     */\n    extent: PropTypes.array,\n    /**\n     * Sets the scale extent to the specified array of numbers [k0, k1]\n     * where k0 is the minimum allowed scale factor and k1 is the maximum allowed scale factor.\n     * See d3-zoom docs for more information.\n     */\n    scaleExtent: PropTypes.array,\n    /**\n     * Sets the translate extent to the specified array of points [[x0, y0], [x1, y1]],\n     * where [x0, y0] is the top-left corner of the world and [x1, y1] is the bottom-right corner of the world.\n     * See d3-zoom docs for more information.\n     */\n    translateExtent: PropTypes.array,\n    /**\n     * Sets the maximum distance that the mouse can move between mousedown and mouseup that will trigger\n     * a subsequent click event.\n     * See d3-zoom docs for more information.\n     */\n    clickDistance: PropTypes.number,\n    /**\n     * Sets the duration for zoom transitions on double-click and double-tap to the specified number of milliseconds.\n     * See d3-zoom docs for more information.\n     */\n    duration: PropTypes.number,\n    /**\n     * Sets the interpolation factory for zoom transitions to the specified function.\n     * See d3-zoom docs for more information.\n     */\n    interpolate: PropTypes.func,\n    /**\n     * Sets the transform constraint function to the specified function.\n     * See d3-zoom docs for more information.\n     */\n    constrain: PropTypes.func,\n    /**\n     * Sets the zoom event filter to the specified function.\n     * See d3-zoom docs for more information.\n     */\n    filter: PropTypes.func,\n    /**\n     * Sets the touch support detector to the specified function.\n     * See d3-zoom docs for more information.\n     */\n    touchable: PropTypes.func,\n    /**\n     * Sets the wheel delta function to the specified function.\n     * See d3-zoom docs for more information.\n     */\n    wheelDelta: PropTypes.func,\n    children: PropTypes.any,\n  };\n  static defaultProps = {\n    width: 800,\n    height: 600,\n    controlled: false,\n    disableMouseWheelZoom: false,\n    zoomX: 0,\n    zoomY: 0,\n    zoomScale: 1,\n  };\n\n  state = { lastZoomTransform: null, selection: null };\n\n  constructor(props) {\n    super(props);\n    this.svgRef = React.createRef();\n  }\n\n  componentDidMount() {\n    const initialZoomTransform = zoomTransformFromProps(this.props);\n    const selection = select(this.svgRef.current);\n\n    this.zoom = zoom();\n    selection.call(this.zoom);\n\n    if (this.props.disableMouseWheelZoom) {\n      selection.call(this.zoom).on('wheel.zoom', null);\n    } else {\n      selection.call(this.zoom);\n    }\n\n    this.zoom.transform(selection, initialZoomTransform);\n    this._updateZoomProps();\n    this.zoom.on('zoom', this.handleZoom);\n\n    this.setState({\n      selection,\n      lastZoomTransform: initialZoomTransform,\n    });\n  }\n\n  componentDidUpdate(prevProps) {\n    const nextProps = this.props;\n    if (prevProps.controlled) {\n      // if controlled component and zoom props have changed, apply the new zoom props to d3-zoom\n      // (unbind handler first so as not to create infinite callback loop)\n      const hasChangedZoom =\n        nextProps.zoomX !== prevProps.zoomX ||\n        nextProps.zoomY !== prevProps.zoomY ||\n        nextProps.zoomScale !== prevProps.zoomScale;\n\n      if (hasChangedZoom) {\n        this.zoom.on('zoom', null);\n        const nextZoomTransform = zoomTransformFromProps(nextProps);\n        this.zoom.transform(this.state.selection, nextZoomTransform);\n        this.zoom.on('zoom', this.handleZoom);\n\n        // update state.lastZoomTransform so we can revert d3-zoom to this next time it's changed internally\n        // eslint-disable-next-line react/no-did-update-set-state\n        this.setState({\n          lastZoomTransform: nextZoomTransform,\n        });\n      }\n    }\n    this._updateZoomProps(nextProps);\n  }\n\n  handleZoom = (event, ...args) => {\n    const nextZoomTransform = event.transform;\n\n    if (this.props.controlled) {\n      // zoom transform should be controlled by props, but d3-zoom has already applied new transform to this.zoom\n      // (even though props haven't changed), so we must *undo* it by applying lastZoomTransform to this.zoom\n      const { selection, lastZoomTransform } = this.state;\n\n      // unbind zoom event first, so that manually setting transform doesn't trigger handleZoom infinite loop\n      this.zoom.on('zoom', null);\n      this.zoom.transform(selection, lastZoomTransform);\n      this.zoom.on('zoom', this.handleZoom);\n    } else {\n      // *uncontrolled* (stateful) ZoomContainer, we want to keep the transform applied by d3-zoom;\n      // but since the state is inside d3-zoom, we need to update something on this.state to trigger re-render\n      this.setState({ zoomKey: Math.random() });\n    }\n\n    if (this.props.onZoom) this.props.onZoom(nextZoomTransform, ...args);\n  };\n\n  _updateZoomProps(props) {\n    let propsToUse = props;\n\n    if (!propsToUse) propsToUse = this.props;\n    const {\n      extent,\n      scaleExtent,\n      translateExtent,\n      clickDistance,\n      duration,\n      interpolate,\n      constrain,\n      filter,\n      touchable,\n      wheelDelta,\n    } = propsToUse;\n\n    if (Array.isArray(extent)) this.zoom.extent(extent);\n    if (Array.isArray(scaleExtent)) this.zoom.scaleExtent(scaleExtent);\n    if (Array.isArray(translateExtent))\n      this.zoom.translateExtent(translateExtent);\n    if (clickDistance !== null && isFinite(clickDistance))\n      this.zoom.clickDistance(clickDistance);\n    if (duration !== null && isFinite(duration)) this.zoom.duration(duration);\n    if (isFunction(interpolate)) this.zoom.interpolate(interpolate);\n    if (isFunction(constrain)) this.zoom.constrain(constrain);\n    if (isFunction(filter)) this.zoom.filter(filter);\n    if (isFunction(touchable)) this.zoom.touchable(touchable);\n    if (isFunction(wheelDelta)) this.zoom.wheelDelta(wheelDelta);\n  }\n\n  render() {\n    const theZoomTransform =\n      this.svgRef && this.svgRef.current\n        ? zoomTransform(this.svgRef.current)\n        : null;\n\n    return (\n      <svg\n        ref={this.svgRef}\n        width={this.props.width}\n        height={this.props.height}\n      >\n        <g\n          width={this.props.width}\n          height={this.props.height}\n          transform={theZoomTransform}\n        >\n          {this.props.children}\n        </g>\n      </svg>\n    );\n  }\n}\n"
  },
  {
    "path": "src/index.js",
    "content": "//  Non-XY charts\nexport { default as PieChart } from './PieChart';\nexport { default as SankeyDiagram } from './SankeyDiagram';\nexport { default as TreeMap } from './TreeMap';\n\n// XYPlot & XY charts\nexport { default as XYPlot } from './XYPlot';\nexport { default as LineChart } from './LineChart';\nexport { default as ScatterPlot } from './ScatterPlot';\nexport { default as BarChart } from './BarChart';\nexport { default as RangeBarChart } from './RangeBarChart';\nexport { default as AreaBarChart } from './AreaBarChart';\nexport { default as MarkerLineChart } from './MarkerLineChart';\nexport { default as AreaChart } from './AreaChart';\nexport { default as ColorHeatmap } from './ColorHeatmap';\nexport { default as AreaHeatmap } from './AreaHeatmap';\nexport { default as Histogram } from './Histogram';\nexport { default as KernelDensityEstimation } from './KernelDensityEstimation';\nexport { default as FunnelChart } from './FunnelChart';\nexport { default as AriaLabelContainer } from './AriaLabelContainer';\n\n// XY datum components (used by charts & axes)\nexport { default as Bar } from './Bar';\nexport { default as RangeRect } from './RangeRect';\nexport { default as XLine } from './XLine';\nexport { default as YLine } from './YLine';\n\n// XY Axis Components\nexport { default as XAxis } from './XAxis';\nexport { default as XAxisLabels } from './XAxisLabels';\nexport { default as XAxisTitle } from './XAxisTitle';\nexport { default as XGrid } from './XGrid';\nexport { default as XTicks } from './XTicks';\n\nexport { default as YAxis } from './YAxis';\nexport { default as YAxisLabels } from './YAxisLabels';\nexport { default as YAxisTitle } from './YAxisTitle';\nexport { default as YGrid } from './YGrid';\nexport { default as YTicks } from './YTicks';\n\n// Higher-order components\nexport { default as resolveXYScales } from './utils/resolveXYScales';\n\n// Containers\nexport { default as ZoomContainer } from './ZoomContainer';\n\nimport * as Data from './utils/Data';\nexport const utils = { Data };\n// export {utils};\n\n// ### Utilities\n// * Data\n// * Scale\n// * Axis\n// * Label\n// * Margin\n// * depthEqual\n"
  },
  {
    "path": "src/util.js",
    "content": "import isFunction from 'lodash/isFunction';\nimport isUndefined from 'lodash/isUndefined';\n\n/**\n * Convenience function for event callbacks... we often want to say\n * \"if this.props.onThing is a function, call this.onThing(e), which will do stuff, then call this.props.onThing\"\n * @param {String} propName - name of prop (func name)\n * @param {Object} props - props from component\n * @param {Function} context - component context\n * @param\n */\nexport function methodIfFuncProp(propName, props, context) {\n  return isFunction(props[propName]) && isFunction(context[propName])\n    ? context[propName]\n    : null;\n}\n\n/**\n * Binds arguments to given fn after arguments provided to the fn\n * @param {Function} fn - function to be called\n * @param  {...any} args - arguments to be appended to the function\n */\nexport function bindTrailingArgs(fn, ...boundArgs) {\n  return (...args) => {\n    return fn(...args, ...boundArgs);\n  };\n}\n\nexport function hasOneOfTwo(a, b) {\n  return [a, b].some(isUndefined) && [a, b].some(v => !isUndefined(v));\n}\n"
  },
  {
    "path": "src/utils/Axis.js",
    "content": "import { inferScaleType, invertPointScale } from './Scale';\nimport invariant from 'invariant';\nimport inRange from 'lodash/inRange';\n\nexport function getAxisChildProps(props) {\n  const {\n    width,\n    height,\n    xScale,\n    yScale,\n    spacingTop,\n    spacingBottom,\n    spacingLeft,\n    spacingRight,\n    position,\n    placement,\n    ticks,\n    tickCount,\n    tickLength,\n    tickClassName,\n    tickStyle,\n    title,\n    titleDistance,\n    titleAlign,\n    titleRotate,\n    titleStyle,\n    labelDistance,\n    labelClassName,\n    labelStyle,\n    labelFormat,\n    labelFormats,\n    labelOffset,\n    labels,\n    noLabelOverhang,\n    gridLineClassName,\n    gridLineStyle,\n    onMouseEnterLabel,\n    onMouseMoveLabel,\n    onMouseLeaveLabel,\n    onMouseClickLabel,\n  } = props;\n\n  const ticksProps = {\n    width,\n    height,\n    xScale,\n    yScale,\n    ticks,\n    tickCount,\n    spacingTop,\n    spacingBottom,\n    spacingLeft,\n    spacingRight,\n    position,\n    placement,\n    tickLength,\n    tickStyle,\n    tickClassName,\n  };\n\n  const gridProps = {\n    width,\n    height,\n    xScale,\n    yScale,\n    ticks,\n    tickCount,\n    spacingTop,\n    spacingBottom,\n    spacingLeft,\n    spacingRight,\n    lineClassName: gridLineClassName,\n    lineStyle: gridLineStyle,\n  };\n\n  const labelsProps = {\n    width,\n    height,\n    xScale,\n    yScale,\n    ticks,\n    tickCount,\n    spacingTop,\n    spacingBottom,\n    spacingLeft,\n    spacingRight,\n    position,\n    placement,\n    labels,\n    labelClassName,\n    labelStyle,\n    noLabelOverhang,\n    distance: labelDistance,\n    format: labelFormat,\n    formats: labelFormats,\n    offset: labelOffset,\n    onMouseEnterLabel,\n    onMouseMoveLabel,\n    onMouseLeaveLabel,\n    onMouseClickLabel,\n  };\n\n  const titleProps = {\n    width,\n    height,\n    position,\n    placement,\n    title,\n    spacingTop,\n    spacingBottom,\n    spacingLeft,\n    spacingRight,\n    style: titleStyle,\n    distance: titleDistance,\n    alignment: titleAlign,\n    rotate: titleRotate,\n  };\n\n  return { ticksProps, gridProps, labelsProps, titleProps };\n}\n\nexport function getMouseAxisOptions(axisType, event, scale) {\n  invariant(\n    axisType === 'x' || axisType === 'y',\n    'axisType should be either x or y.',\n  );\n\n  const axisBoundingBox = event.currentTarget.getBoundingClientRect();\n  const scaleType = inferScaleType(scale);\n  const outerY = Math.round(event.clientY - axisBoundingBox.top);\n  const outerX = Math.round(event.clientX - axisBoundingBox.left);\n  const isYAxis = axisType === 'y';\n\n  const mousePos = isYAxis ? outerY : outerX;\n  const boundingBoxLimit = isYAxis\n    ? axisBoundingBox.height\n    : axisBoundingBox.width;\n\n  const value = !inRange(mousePos, 0, boundingBoxLimit)\n    ? null\n    : scaleType === 'ordinal'\n    ? invertPointScale(scale, mousePos)\n    : scale.invert(mousePos);\n\n  const mouseOptions = {\n    event,\n    outerX,\n    outerY,\n  };\n\n  if (isYAxis) {\n    mouseOptions.yValue = value;\n    mouseOptions.yScale = scale;\n  } else {\n    mouseOptions.xValue = value;\n    mouseOptions.xScale = scale;\n  }\n\n  return mouseOptions;\n}\n"
  },
  {
    "path": "src/utils/CustomPropTypes.js",
    "content": "import PropTypes from 'prop-types';\n\nexport const xyObjectOf = type => PropTypes.shape({ x: type, y: type });\n\nexport const fourDirectionsOf = type =>\n  PropTypes.shape({\n    top: type,\n    bottom: type,\n    left: type,\n    right: type,\n  });\n\nexport const getter = PropTypes.oneOfType([\n  PropTypes.string,\n  PropTypes.number,\n  PropTypes.array,\n  PropTypes.func,\n]);\n\nexport const scaleType = PropTypes.oneOf([\n  'linear',\n  'time',\n  'ordinal',\n  'log',\n  'pow',\n]);\n\nexport const valueOrAccessor = PropTypes.oneOfType([\n  PropTypes.number,\n  PropTypes.string,\n  PropTypes.instanceOf(Date),\n  PropTypes.func,\n]);\n\nexport const accessorOrType = type => {\n  if (Array.isArray(type))\n    return PropTypes.oneOfType([PropTypes.func, ...type]);\n  return PropTypes.oneOfType([PropTypes.func, type]);\n};\n"
  },
  {
    "path": "src/utils/Data.js",
    "content": "import isFunction from 'lodash/isFunction';\nimport isNull from 'lodash/isNull';\nimport isUndefined from 'lodash/isUndefined';\nimport property from 'lodash/property';\nimport isNumber from 'lodash/isNumber';\nimport isDate from 'lodash/isDate';\nimport uniq from 'lodash/uniq';\nimport flatten from 'lodash/flatten';\nimport compact from 'lodash/compact';\nimport fromPairs from 'lodash/fromPairs';\nimport get from 'lodash/get';\nimport maxBy from 'lodash/maxBy';\nimport keyBy from 'lodash/keyBy';\nimport uniqBy from 'lodash/uniqBy';\nimport has from 'lodash/has';\nimport forEach from 'lodash/forEach';\nimport identity from 'lodash/identity';\nimport { extent } from 'd3-array';\nimport React from 'react';\n\n/**\n * `makeAccessor` creates an accessor or \"getter\" function given a variety of options\n * to be used for retrieving a data value from within an object or array\n *\n * If given a function, it is passed through.\n * If given null or undefined, the getter is the identity function - ie. returns whatever it's passed\n * If given an array index or deep object key string, the value will be retrieved using _.property\n *\n * @example\n * makeAccessor(null)(4); // 4\n * makeAccessor(d => d + 1)(4); // 5\n * makeAccessor(1)(['a', 'b', 'c']); // 'b'\n * makeAccessor('x.0.y')({x: [{y: 9}]}); // 9\n *\n * @param {any} key - Getter, which may be a function, integer, string, null, or undefined;\n * @returns {function} accessor - Accessor function\n */\nexport function makeAccessor(key) {\n  return isFunction(key)\n    ? key\n    : isNull(key) || isUndefined(key)\n    ? identity\n    : property(key);\n}\n\n/**\n * `makeAccessor2` creates a constant accessor function if passed a value,\n * if passed a function, just returns it\n */\nexport function makeAccessor2(valueOrAccessor) {\n  if (isFunction(valueOrAccessor)) return valueOrAccessor;\n  return () => valueOrAccessor;\n}\n\n/**\n * `getValue` takes as its first argument a value or an accessor function.\n * If it's a value (ie not a function), it is returned.\n * If a function, returns the result of calling function with remaining arguments\n */\nexport function getValue(accessor, ...args) {\n  return isFunction(accessor) ? accessor(...args) : accessor;\n}\n\n/**\n * `datasetsFromPropsOrDescendants` expects a `props` object which may have `children`.\n * if `props` has `data` or `datasets`, returns it; otherwise recursively searches props.children\n * for components have `data` or `datasets` and combines them into one `datasets` array.\n * `props.data` is wrapped in array because this returns `datasets` (multiple arrays of `data`)\n *\n * @param {Object} props - A React props object, which may have `children` with their own props.\n * @returns {Array.<Array>} datasets - An array of arrays of data objects\n */\nexport function datasetsFromPropsOrDescendants(props) {\n  if (Array.isArray(props.datasets)) {\n    return props.datasets;\n  } else if (Array.isArray(props.data)) {\n    return [props.data];\n  } else if (React.Children.count(props.children)) {\n    let datasets = [];\n    // use Children.forEach instead of map, because Children.map flattens the arrays\n    React.Children.forEach(props.children, child => {\n      datasets = datasets.concat(datasetsFromPropsOrDescendants(child.props));\n    });\n    return datasets;\n  }\n  return [];\n}\n\nexport function inferDataType(data, accessor = identity) {\n  if (!Array.isArray(data))\n    throw new Error('inferDataType expects a data array');\n  else if (data.every((d, i) => accessor(d, i) === undefined))\n    return 'categorical';\n  // should this be allowed?\n  else if (\n    data.every(\n      (d, i) => isNumber(accessor(d, i)) || accessor(d, i) === undefined,\n    )\n  )\n    return 'number';\n  else if (\n    data.every((d, i) => isDate(accessor(d, i)) || accessor(d, i) === undefined)\n  )\n    return 'time';\n  else return 'categorical';\n}\n\nexport function inferDatasetsType(datasets, accessor = identity) {\n  if (!Array.isArray(datasets))\n    throw new Error('inferDatasetsType expects a datasets array');\n\n  const types = datasets.map(data => inferDataType(data, accessor));\n  const uniqTypes = uniq(types);\n  return uniqTypes.length === 1 ? uniqTypes[0] : 'categorical';\n}\n\nexport function isValidDomain(domain, type = 'categorical') {\n  return (\n    Array.isArray(domain) &&\n    !!domain.length &&\n    // categorical domain can be any array of anything\n    (type === 'categorical' ||\n      // number/time domains should look like [min, max]\n      (type === 'number' && domain.length === 2 && domain.every(isNumber)) ||\n      (type === 'time' && domain.length === 2 && domain.every(isDate)))\n  );\n}\n\nexport function combineDomains(domains, dataType) {\n  if (!Array.isArray(domains)) return undefined;\n  return dataType === 'categorical'\n    ? uniq(flatten(compact(domains)))\n    : extent(flatten(domains));\n}\n\nexport function combineBorderObjects(borderObjects) {\n  return fromPairs(\n    ['top', 'bottom', 'left', 'right'].map(k => {\n      // combine border objects by taking the max value of each spacing direction\n      return [k, get(maxBy(borderObjects, k), k)];\n    }),\n  );\n}\n\nexport function domainFromData(data, accessor = identity, type = undefined) {\n  let typeToUse = type;\n\n  if (!typeToUse) typeToUse = inferDataType(data, accessor);\n\n  return typeToUse === 'number' || typeToUse === 'time'\n    ? extent(data.map(accessor))\n    : uniq(data.map(accessor));\n}\n\nexport function getDataDomainByAxis(props) {\n  const { horizontal, data, getX, getY } = props;\n  const accessor = horizontal ? makeAccessor(getY) : makeAccessor(getX);\n  const rangeAxis = horizontal ? 'y' : 'x';\n  return {\n    [rangeAxis]: domainFromData(data, accessor),\n  };\n}\n\nexport function domainFromDatasets(\n  datasets,\n  accessor = identity,\n  type = undefined,\n) {\n  // returns the default domain of a collection of datasets with an accessor function\n  // for numeric and date-type datasets, returns the extent (min and max) of the numbers/dates\n  // for categorical datasets, returns the set of distinct category values\n  let typeToUse = type;\n  if (!typeToUse) typeToUse = inferDatasetsType(datasets, accessor);\n  const domains = datasets.map(data =>\n    domainFromData(data, accessor, typeToUse),\n  );\n  return combineDomains(domains, typeToUse);\n}\n\nexport function domainFromRangeData(\n  data,\n  rangeStartAccessor,\n  rangeEndAccessor,\n  dataType,\n) {\n  // returns the domain of dataset for which each datum represents a range of values\n  // ie. has a start and end value rather than a single value\n  // for example, time ranges\n  let dataTypeToUse = dataType;\n  if (!dataTypeToUse) dataTypeToUse = inferDataType(data, rangeStartAccessor);\n\n  switch (dataTypeToUse) {\n    case 'number':\n    case 'time':\n      return extent(\n        flatten([\n          extent(data, (d, i) => +rangeStartAccessor(d, i)),\n          extent(data, (d, i) => +rangeEndAccessor(d, i)),\n        ]),\n      );\n    case 'categorical':\n      return uniq(\n        flatten([data.map(rangeStartAccessor), data.map(rangeEndAccessor)]),\n      );\n    default:\n      return [];\n  }\n}\n\nexport function combineDatasets(datasetsInfo = [], combineKey = 'x') {\n  // combineDatasets combines multiple datasets into one, joined on a common key 'combineKey'\n  // datasetsInfo is an array that looks like:\n  // [\n  //   {data: [{x: 0, y: 3}, ...], combineKey: 'x', dataKeys: {y: 'y0'}}\n  //   {data: [{count: 0, value: 4}], combineKey: 'count', dataKeys: {value: 'y1'}}\n  // ]\n  // where `data` is an array of data points of any shape\n  // `combineKey` is the key for the value which the datasets are joined on\n  // `dataKeys` are getters for other values in each datapoint which should be merged into the combined dataset\n  //   - key = getter in original datapoint, value = setter for combined dataset\n  // example above (with default combinedKey) results in:\n  // [{x: 0, y0: 3, y1: 4}, ...]\n\n  // index each dataset by its combineKey values so we can quickly lookup if it has data for a given value\n  const datasetLookups = datasetsInfo.map(datasetInfo => {\n    const { data } = datasetInfo;\n    return keyBy(data, datasetInfo.combineKey || combineKey);\n  });\n\n  // Grab combineKey from each dataset and flatten into one array\n  const allCombineValues = [].concat(\n    ...datasetsInfo.map(datasetInfo =>\n      datasetInfo.data.map(makeAccessor(datasetInfo.combineKey || combineKey)),\n    ),\n  );\n\n  // Get all unique values\n  const uniqueValues = uniqBy(allCombineValues, value => {\n    return value instanceof Date ? value.toString() : value;\n  });\n\n  // For each of the unique combineKey data values, go through each dataset and look for a combineKey value that matches\n  // if we find it, combine the values for that datum's dataKeys into the final combinedDatum object\n  return uniqueValues.map(combineValue => {\n    const combinedDatum = { [combineKey]: combineValue };\n\n    datasetsInfo.forEach((datasetInfo, datasetIndex) => {\n      if (!datasetInfo.dataKeys || !Object.keys(datasetInfo.dataKeys).length)\n        return;\n      const datasetLookup = datasetLookups[datasetIndex];\n      if (!has(datasetLookup, combineValue)) return;\n\n      const datum = datasetLookup[combineValue];\n      forEach(datasetInfo.dataKeys, (newDataKey, originalDataKey) => {\n        combinedDatum[newDataKey] = datum[originalDataKey];\n      });\n    });\n\n    return combinedDatum;\n  });\n}\n"
  },
  {
    "path": "src/utils/Label.js",
    "content": "import isString from 'lodash/isString';\nimport map from 'lodash/map';\nimport uniq from 'lodash/uniq';\nimport tail from 'lodash/tail';\nimport min from 'lodash/min';\nimport max from 'lodash/max';\nimport reduce from 'lodash/reduce';\nimport identity from 'lodash/identity';\nimport { timeFormat } from 'd3-time-format';\nimport { format as numberFormat } from 'd3-format';\n\nexport function getDefaultFormats(scaleType) {\n  const defaultTimeFormats = ['%Y', \"'%y\", '%b %Y', '%m/%Y'];\n  // Number format examples for a value of 1234.55555\n  // https://github.com/d3/d3-format\n  const defaultNumberFormats = [\n    '~s', // 1.23456k\n    ',d', // 1,235\n    '.1~f', // 1234.6\n    '.2~f', // 1234.56\n    '.4~f', // 1234.5556\n    '.6~f', // 1234.555555\n  ];\n\n  return scaleType === 'ordinal'\n    ? [identity]\n    : scaleType === 'time'\n    ? defaultTimeFormats\n    : defaultNumberFormats;\n}\n\nexport function makeLabelFormatters(formats, scaleType) {\n  return formats.map(format => {\n    if (!isString(format)) return format;\n    return scaleType === 'time'\n      ? value => timeFormat(format)(value)\n      : value => numberFormat(format)(value);\n  });\n}\n\nexport function checkLabelsDistinct(labels) {\n  // given a set of label objects with text properties,\n  // return true iff each label has distinct text (ie. no duplicate label texts)\n  const labelStrs = map(labels, 'text');\n  return uniq(labelStrs).length === labelStrs.length;\n}\n\nexport function checkRangesOverlap(a, b) {\n  // given two number or date ranges of the form [start, end],\n  // returns true if the ranges overlap\n  if (\n    ![a, b].every(\n      range =>\n        Array.isArray(range) &&\n        range.length === 2 &&\n        range.every(rangeVal => rangeVal !== null && isFinite(rangeVal)) &&\n        range[0] <= range[1],\n    )\n  )\n    throw new Error(\n      'checkRangesOverlap expects 2 range arrays with 2 numbers each, first <= second',\n    );\n\n  return a[0] <= b[1] && b[0] <= a[1];\n}\n\nexport function countRangeOverlaps(ranges) {\n  // given a list of ranges of the form [[start, end], ...]\n  // counts the number of adjacent ranges which touch or overlap each other\n  // todo: instead of counting overlaps, sum the amount by which they overlap & choose least overlap\n\n  return tail(ranges).reduce((sum, range, i) => {\n    const prevRange = ranges[i]; // (not [i-1], _.tail skips first range)\n    return checkRangesOverlap(prevRange, range) ? sum + 1 : sum;\n  }, 0);\n}\n\nexport function getLabelXRange(scale, label, anchor = 'middle') {\n  const anchorOffsets = { start: 0, middle: -0.5, end: -1 };\n  const x1 = scale(label.value) + (anchorOffsets[anchor] || 0) * label.width;\n  return [x1, x1 + label.width];\n}\n\nexport function getLabelYRange(scale, label, anchor = 'middle') {\n  const anchorOffsets = { top: 0, middle: -0.5, bottom: -1 };\n  const y1 = scale(label.value) + (anchorOffsets[anchor] || 0) * label.height;\n  return [y1, y1 + label.height];\n}\n\nexport function getLabelXOverhang(scale, label, anchor = 'middle') {\n  const [labelLeft, labelRight] = getLabelXRange(scale, label, anchor);\n  const overhangLeft = Math.ceil(Math.max(min(scale.range()) - labelLeft, 0));\n  const overhangRight = Math.ceil(Math.max(labelRight - max(scale.range()), 0));\n  return [overhangLeft, overhangRight];\n}\n\nexport function getLabelYOverhang(scale, label, anchor = 'middle') {\n  const [labelTop, labelBottom] = getLabelYRange(scale, label, anchor);\n  const overhangTop = Math.ceil(Math.max(min(scale.range()) - labelTop, 0));\n  const overhangBottom = Math.ceil(\n    Math.max(labelBottom - max(scale.range()), 0),\n  );\n  return [overhangTop, overhangBottom];\n}\n\nexport function getLabelsXOverhang(scale, labels, anchor = 'middle') {\n  return reduce(\n    labels,\n    ([left, right], label) => {\n      const [thisLeft, thisRight] = getLabelXOverhang(scale, label, anchor);\n      return [Math.max(left, thisLeft), Math.max(right, thisRight)];\n    },\n    [0, 0],\n  );\n}\n\nexport function getLabelsYOverhang(scale, labels, anchor = 'middle') {\n  return reduce(\n    labels,\n    ([top, bottom], label) => {\n      const [thisTop, thisBottom] = getLabelYOverhang(scale, label, anchor);\n      return [Math.max(top, thisTop), Math.max(bottom, thisBottom)];\n    },\n    [0, 0],\n  );\n}\n"
  },
  {
    "path": "src/utils/Margin.js",
    "content": "import mapKeys from 'lodash/mapKeys';\nimport upperFirst from 'lodash/upperFirst';\nimport mapValues from 'lodash/mapValues';\nimport clone from 'lodash/clone';\n\nexport const zeroMargin = { top: 0, bottom: 0, left: 0, right: 0 };\n\n// find a fuzzy match for key in object and return the value\n// eg getFuzzy({marginLeft: 10}, 'left') returns 10\nfunction getFuzzy(obj = {}, fuzzyKey) {\n  const keyMatch = Object.keys(obj).find(key => {\n    if (!!key.match(new RegExp(fuzzyKey, 'i'))) {\n      return true;\n    }\n    return false;\n  });\n\n  if (keyMatch === undefined) {\n    return;\n  }\n\n  return obj[keyMatch];\n}\n\nexport function innerWidth(width, margin = {}) {\n  return Math.max(\n    width -\n      ((getFuzzy(margin, 'left') || 0) + (getFuzzy(margin, 'right') || 0)),\n    0,\n  );\n}\n\nexport function innerHeight(height, margin = {}) {\n  return Math.max(\n    height -\n      ((getFuzzy(margin, 'top') || 0) + (getFuzzy(margin, 'bottom') || 0)),\n    0,\n  );\n}\n\nexport function innerSize({ width, height } = {}, margin = {}) {\n  return {\n    width: innerWidth(width, margin),\n    height: innerHeight(height, margin),\n  };\n}\n\nexport function innerRangeX(outerWidth, margin = {}) {\n  const left = getFuzzy(margin, 'left') || 0;\n  return [\n    Math.min(left, outerWidth),\n    Math.min(left + innerWidth(outerWidth, margin), outerWidth),\n  ];\n}\nexport function innerRangeY(outerHeight, margin = {}) {\n  const top = getFuzzy(margin, 'top') || 0;\n  return [\n    Math.min(top + innerHeight(outerHeight, margin), outerHeight),\n    Math.min(top, outerHeight),\n  ];\n}\n\nexport function prefixKeys(obj, prefix) {\n  if (!prefix) return obj;\n  return mapKeys(obj, (value, key) => prefix + upperFirst(key));\n}\n\n// TODO this isn't used anywhere, deprecate?\nexport function maxMargins(margins = [], keyPrefix) {\n  return margins.reduce((result, margin) => {\n    return mapValues(result, (value, key) => {\n      return Math.max(margin[key] || 0, result[key] || 0);\n    });\n  }, clone(prefixKeys(zeroMargin, keyPrefix)));\n}\n\nexport function sumMargins(margins = [], keyPrefix) {\n  return margins.reduce((result, margin) => {\n    return mapValues(result, (value, key) => {\n      return (result[key] || 0) + (margin[key] || 0);\n    });\n  }, clone(prefixKeys(zeroMargin, keyPrefix)));\n}\n"
  },
  {
    "path": "src/utils/Scale.js",
    "content": "import get from 'lodash/get';\nimport isDate from 'lodash/isDate';\nimport isFunction from 'lodash/isFunction';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport isNumber from 'lodash/isNumber';\nimport identity from 'lodash/identity';\nimport {\n  scaleLinear,\n  scaleTime,\n  scalePoint,\n  scaleLog,\n  scalePow,\n} from 'd3-scale';\n\nimport { combineDomains, domainFromData } from './Data';\n\nexport function scaleTypeFromDataType(dataType) {\n  return get(\n    {\n      number: 'linear',\n      time: 'time',\n      categorical: 'ordinal',\n    },\n    dataType,\n    'ordinal',\n  );\n}\n\nexport function dataTypeFromScaleType(scaleType) {\n  return get(\n    {\n      linear: 'number',\n      log: 'number',\n      pow: 'number',\n      time: 'time',\n      ordinal: 'categorical',\n    },\n    scaleType,\n    'categorical',\n  );\n}\n\nexport function inferDataTypeFromDomain(domain) {\n  if (!Array.isArray(domain))\n    throw new Error(\n      'invalid domain, inferDataTypeFromDomain cannot infer data type',\n    );\n\n  return domain.length !== 2\n    ? 'categorical'\n    : domain.every(isNumber)\n    ? 'number'\n    : domain.every(isDate)\n    ? 'time'\n    : 'categorical';\n}\n\nexport function inferScaleType(scale) {\n  return !scale.ticks\n    ? 'ordinal'\n    : isDate(scale.domain()[0])\n    ? 'time'\n    : scale.base\n    ? 'log'\n    : scale.exponent\n    ? 'pow'\n    : 'linear';\n}\n\nexport function initScale(scaleType) {\n  switch (scaleType) {\n    case 'linear':\n      return scaleLinear();\n    case 'time':\n      return scaleTime();\n    case 'ordinal':\n      return scalePoint();\n    case 'log':\n      return scaleLog();\n    case 'pow':\n      return scalePow();\n    default:\n      return;\n  }\n}\n\nexport function isValidScale(scale) {\n  return (\n    isFunction(scale) && isFunction(scale.domain) && isFunction(scale.range)\n  );\n}\n\nexport function hasXYScales(scale) {\n  return isObject(scale) && isValidScale(scale.x) && isValidScale(scale.y);\n}\n\nexport function getScaleTicks(scale, scaleType, tickCount = 10) {\n  return (scaleType || inferScaleType(scale)) === 'ordinal'\n    ? scale.domain()\n    : scale.ticks(tickCount);\n}\n\nexport function getTickDomain(scale, { ticks, tickCount, nice } = {}) {\n  const scaleType = inferScaleType(scale);\n  const scaleDomain = scale.domain();\n\n  if (nice && scaleType !== 'ordinal') {\n    // If nicing, initialize a new scale and nice it\n    // eslint-disable-next-line no-param-reassign\n    scale = scale\n      .copy()\n      .domain(scaleDomain)\n      .nice(tickCount || 10);\n  }\n\n  if (Array.isArray(ticks)) {\n    return combineDomains([\n      scale.domain(),\n      domainFromData(ticks, identity, dataTypeFromScaleType(scaleType)),\n    ]);\n  } else if (nice && scaleType !== 'ordinal') return scale.domain();\n  // return undefined by default, if we have no options pertaining to ticks\n}\n\nexport function scaleEqual(scaleA, scaleB) {\n  return !isValidScale(scaleA) || !isValidScale(scaleB)\n    ? scaleA === scaleB // safe fallback\n    : // check scale equality\n      isEqual(scaleA.domain(), scaleB.domain()) &&\n        isEqual(scaleA.range(), scaleB.range());\n}\n\nexport function indexOfClosestNumberInList(number, list) {\n  return list.reduce((closestI, current, i) => {\n    return Math.abs(current - number) < Math.abs(list[closestI] - number)\n      ? i\n      : closestI;\n  }, 0);\n}\n\nexport function invertPointScale(scale, rangeValue) {\n  const domain = scale.domain();\n\n  // shim until d3.scalePoint.invert() is implemented for real\n  // given a value from the output range, returns the *nearest* corresponding value in the input domain\n  const rangePoints = domain.map(domainValue => scale(domainValue));\n\n  if (rangePoints.length <= 1) {\n    return domain[0];\n  }\n\n  const isDescending = rangePoints[0] > rangePoints[1];\n\n  if (isDescending) {\n    domain.reverse();\n    rangePoints.reverse();\n  }\n\n  const nearestPointIndex = indexOfClosestNumberInList(rangeValue, rangePoints);\n\n  return domain[nearestPointIndex];\n}\n"
  },
  {
    "path": "src/utils/depthEqual.js",
    "content": "// Based on https://github.com/acdlite/recompose/blob/master/src/packages/recompose/shallowEqual.js\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nexport default function depthEqual(objA, objB, depth = 1) {\n  if (objA === objB) {\n    return true;\n  }\n\n  if (\n    depth === 0 ||\n    typeof objA !== 'object' ||\n    objA === null ||\n    typeof objB !== 'object' ||\n    objB === null\n  ) {\n    // console.log('different obj', objA, objB);\n    return false;\n  }\n\n  const keysA = Object.keys(objA);\n  const keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  // Test for A's keys different from B.\n  const bHasOwnProperty = hasOwnProperty.bind(objB);\n  for (let i = 0; i < keysA.length; i++) {\n    const aKey = keysA[i];\n    if (\n      !bHasOwnProperty(aKey) ||\n      // recursively call depthEqual at the next level; depth 0 is === check\n      !depthEqual(objA[aKey], objB[aKey], depth - 1)\n    ) {\n      // console.log('different key', aKey, objA, objB);\n      return false;\n    }\n  }\n\n  return true;\n}\n"
  },
  {
    "path": "src/utils/measureText.js",
    "content": "/**\n * The MIT License (MIT)\n *\n * Copyright (c) 2016 Formidable\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\n/* eslint-env browser */\nimport units from 'units-css';\n\nconst DEFAULT_CANVAS = document.createElement('canvas');\nconst DEFAULT_FONT_WEIGHT = 400;\nconst DEFAULT_FONT_STYLE = 'normal';\n\nconst measureHeight = (size, lineHeight) => {\n  // If the line-height is unitless,\n  // multiply it by the font size.\n  if (!lineHeight.unit) {\n    return units.parse(`${size.value * lineHeight.value}${size.unit}`);\n  }\n\n  // units-css requires the user to provide\n  // DOM nodes for these units. We don't want\n  // to pollute our API with that for the time being.\n  const unitBlacklist = ['%', 'ch', 'cm', 'em', 'ex'];\n  if (unitBlacklist.indexOf(lineHeight.unit) !== -1) {\n    // eslint-disable-line no-magic-numbers\n    throw new Error(\n      `We do not currently support the unit ${lineHeight.unit}\n      from the provided line-height ${lineHeight.value}.\n      Unsupported units include ${unitBlacklist.join(', ')}.`,\n    );\n  }\n\n  // Otherwise, the height is equivalent\n  // to the provided line height.\n  // Non-px units need conversion.\n  if (lineHeight.unit === 'px') {\n    return lineHeight;\n  }\n  return units.parse(units.convert(lineHeight, 'px'));\n};\n\nconst measureText = ({\n  text,\n  fontFamily,\n  fontSize,\n  lineHeight,\n  fontWeight = DEFAULT_FONT_WEIGHT,\n  fontStyle = DEFAULT_FONT_STYLE,\n  canvas = DEFAULT_CANVAS,\n}) => {\n  const ctx = canvas.getContext('2d');\n  ctx.font = `${fontWeight} ${fontStyle} ${fontSize} ${fontFamily}`;\n\n  const measure = line => {\n    return {\n      text: line,\n      width: units.parse(`${ctx.measureText(line).width}px`),\n      height: measureHeight(units.parse(fontSize), units.parse(lineHeight)),\n    };\n  };\n\n  // If multiline, measure the bounds\n  // of all of the lines combined\n  if (Array.isArray(text)) {\n    return text.map(measure).reduce((prev, curr) => {\n      const width =\n        curr.width.value > prev.width.value ? curr.width : prev.width;\n      const height = units.parse(\n        `${prev.height.value + curr.height.value}${curr.height.unit}`,\n      );\n      const longest =\n        curr.text.length > prev.text.length ? curr.text : prev.text;\n      return { width, height, text: longest };\n    });\n  }\n\n  return measure(text);\n};\n\nexport default measureText;\n"
  },
  {
    "path": "src/utils/resolveXYScales.js",
    "content": "import isFunction from 'lodash/isFunction';\nimport compact from 'lodash/compact';\nimport omitBy from 'lodash/omitBy';\nimport isUndefined from 'lodash/isUndefined';\nimport isNull from 'lodash/isNull';\nimport uniq from 'lodash/uniq';\nimport inRange from 'lodash/inRange';\nimport defaults from 'lodash/defaults';\nimport isNumber from 'lodash/isNumber';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n  combineBorderObjects,\n  combineDomains,\n  domainFromDatasets,\n  inferDatasetsType,\n  isValidDomain,\n  makeAccessor2,\n} from './Data';\nimport { innerHeight, innerRangeX, innerRangeY, innerWidth } from './Margin';\nimport {\n  dataTypeFromScaleType,\n  inferDataTypeFromDomain,\n  initScale,\n  isValidScale,\n  scaleTypeFromDataType,\n} from './Scale';\n\n/**\n * `resolveXYScales` is a higher-order-component.\n *\n * @param {Component} Component - The React Component (class) which should be wrapped by this HOC\n * @returns {Component} - A Component which auto-resolves XY scales from given props\n */\n\nfunction isValidScaleType(scaleType) {\n  const validScaleTypes = ['ordinal', 'time', 'log', 'pow', 'linear'];\n\n  return validScaleTypes.includes(scaleType);\n}\n\nfunction areValidScaleTypes(scaleTypes) {\n  return scaleTypes.every(isValidScaleType);\n}\n\nfunction mapOverChildren(children, iteratee, ...iterateeArgs) {\n  // loop over all children (react elements) and call iteratee (a function) on each one\n  // iteratee is called with parameters (child.props, child.type, ...iterateeArgs)\n  if (!isFunction(iteratee))\n    throw new Error('mapOverChildren iteratee must be a function');\n\n  return compact(\n    React.Children.map(children, child => {\n      if (!child || !React.isValidElement(child)) return null;\n      return iteratee(child.props, child.type, ...iterateeArgs);\n    }),\n  );\n}\n\nfunction omitNullUndefined(obj) {\n  return omitBy(obj, v => isUndefined(v) || isNull(v));\n}\n\nexport default function resolveXYScales(ComposedComponent) {\n  return class extends React.Component {\n    static propTypes = {\n      /**\n       * Scale determined by our resolveXYScales higher order component.\n       * Override this prop if you'd like to pass in your own d3 scale.\n       */\n      xScale: PropTypes.func,\n      /**\n       * Scale determined by our resolveXYScales higher order component.\n       * Override this prop if you'd like to pass in your own d3 scale.\n       */\n      yScale: PropTypes.func,\n      /**\n       * Internal top margin, in pixels.\n       */\n      marginTop: PropTypes.number,\n      /**\n       * Internal bottom margin, in pixels.\n       */\n      marginBottom: PropTypes.number,\n      /**\n       * Internal left margin, in pixels.\n       */\n      marginLeft: PropTypes.number,\n      /**\n       * Internal right margin, in pixels.\n       */\n      marginRight: PropTypes.number,\n      /**\n       * Internal top spacing of XYPlot, in pixels.\n       */\n      spacingTop: PropTypes.number,\n      /**\n       * Internal bottom spacing of XYPlot, in pixels.\n       */\n      spacingBottom: PropTypes.number,\n      /**\n       * Internal left spacing of XYPlot, in pixels.\n       */\n      spacingLeft: PropTypes.number,\n      /**\n       * Internal right spacing of XYPlot, in pixels.\n       */\n      spacingRight: PropTypes.number,\n      /**\n       * Whether or not to invert the x scale\n       */\n      invertXScale: PropTypes.bool,\n      /**\n       * Whether or not to invert the y scale\n       */\n      invertYScale: PropTypes.bool,\n      /**\n       * (outer) width of the chart (SVG element).\n       */\n      width: PropTypes.number,\n      /**\n       * (outer) width of the chart (SVG element).\n       */\n      height: PropTypes.number,\n    };\n\n    // todo better way for HOC's to pass statics through?\n    static getScaleType = ComposedComponent.getScaleType;\n    static getSpacing = ComposedComponent.getSpacing;\n    static getDomain = ComposedComponent.getDomain;\n    static getMargin = ComposedComponent.getMargin;\n    static defaultProps = ComposedComponent.defaultProps;\n\n    _resolveScaleType(props, Component) {\n      let { xScaleType, yScaleType } = props;\n\n      const isDone = () => areValidScaleTypes([xScaleType, yScaleType]);\n\n      // short-circuit if both scale types provided\n      if (isDone()) return { xScaleType, yScaleType };\n\n      // if Component provides a custom static getScaleType method\n      // use it to determine remaining scale types\n      if (isFunction(Component.getScaleType)) {\n        const componentScaleTypes = omitNullUndefined(\n          Component.getScaleType(props),\n        );\n        ({ xScaleType, yScaleType } = Object.assign(\n          componentScaleTypes,\n          omitNullUndefined({ xScaleType, yScaleType }),\n        ));\n        if (isDone()) return { xScaleType, yScaleType };\n      }\n\n      // if component has domain props,\n      // infer the data type, & use that to get scale type\n      if (!isValidScaleType(xScaleType) && isValidDomain(props.xDomain)) {\n        xScaleType = scaleTypeFromDataType(\n          inferDataTypeFromDomain(props.xDomain),\n        );\n      }\n      if (!isValidScaleType(yScaleType) && isValidDomain(props.yDomain)) {\n        yScaleType = scaleTypeFromDataType(\n          inferDataTypeFromDomain(props.yDomain),\n        );\n      }\n      if (isDone()) return { xScaleType, yScaleType };\n\n      // if Component has data or datasets props,\n      // infer the data type, & use that to get scale type\n      if (Array.isArray(props.data) || Array.isArray(props.datasets)) {\n        const datasets = Array.isArray(props.datasets)\n          ? props.datasets\n          : [props.data];\n\n        if (!isValidScaleType(xScaleType)) {\n          xScaleType = scaleTypeFromDataType(\n            inferDatasetsType(datasets, makeAccessor2(props.x)),\n          );\n        }\n        if (!isValidScaleType(yScaleType)) {\n          yScaleType = scaleTypeFromDataType(\n            inferDatasetsType(datasets, makeAccessor2(props.y)),\n          );\n        }\n        if (isDone()) return { xScaleType, yScaleType };\n      }\n\n      // if Component has children,\n      // recurse through descendants to resolve their scale types the same way\n      if (React.Children.count(props.children)) {\n        const childrenScaleTypes = mapOverChildren(\n          props.children,\n          this._resolveScaleType.bind(this),\n        );\n\n        if (!isValidScaleType(xScaleType)) {\n          const childXScaleTypes = compact(\n            uniq(\n              childrenScaleTypes.map(\n                childScaleTypes => childScaleTypes.xScaleType,\n              ),\n            ),\n          );\n          if (!childXScaleTypes.length === 1)\n            console.warn(\n              \"Multiple children with different X scale types found - defaulting to 'ordinal'\",\n            );\n          xScaleType =\n            childXScaleTypes.length === 1 ? childXScaleTypes[0] : 'ordinal';\n        }\n        if (!isValidScaleType(yScaleType)) {\n          const childYScaleTypes = compact(\n            uniq(\n              childrenScaleTypes.map(\n                childScaleTypes => childScaleTypes.yScaleType,\n              ),\n            ),\n          );\n          if (!childYScaleTypes.length === 1)\n            console.warn(\n              \"Multiple children with different Y scale types found - defaulting to 'ordinal'\",\n            );\n          yScaleType =\n            childYScaleTypes.length === 1 ? childYScaleTypes[0] : 'ordinal';\n        }\n      }\n\n      // if(!isDone()) console.warn(`resolveXYScales was unable to resolve both scale types. xScaleType: ${xScaleType}, yScaleType: ${yScaleType}`);\n\n      return { xScaleType, yScaleType };\n    }\n\n    _resolveDomain(props, Component, xScaleType, yScaleType) {\n      let { xDomain, yDomain } = props;\n      const { includeXZero, includeYZero } = props;\n      const xDataType = dataTypeFromScaleType(xScaleType);\n      const yDataType = dataTypeFromScaleType(yScaleType);\n\n      const isXDone = () => isValidDomain(xDomain, xDataType);\n      const isYDone = () => isValidDomain(yDomain, yDataType);\n      const isDone = () => isXDone() && isYDone();\n\n      // short-circuit if all domains provided\n      if (isDone()) return { xDomain, yDomain };\n\n      // if Component provides a custom static getScaleType method\n      // use it to determine remaining scale types\n      if (isFunction(Component.getDomain)) {\n        const {\n          xDomain: componentXDomain,\n          yDomain: componentYDomain,\n        } = Component.getDomain({ ...props, xScaleType, yScaleType });\n\n        if (\n          !isXDone() &&\n          componentXDomain &&\n          !isValidDomain(componentXDomain, xDataType)\n        )\n          console.warn(\n            `Component.getDomain returned an invalid domain for data type '${xDataType}': ${componentXDomain} - ignoring`,\n          );\n        if (!isXDone() && isValidDomain(componentXDomain, xDataType))\n          xDomain = componentXDomain;\n\n        if (\n          !isYDone() &&\n          componentYDomain &&\n          !isValidDomain(componentYDomain, yDataType)\n        )\n          console.warn(\n            `Component.getDomain returned an invalid domain for data type '${yDataType}': ${componentYDomain} - ignoring`,\n          );\n        if (!isYDone() && isValidDomain(componentYDomain, yDataType))\n          yDomain = componentYDomain;\n      }\n\n      // if Component has data or datasets props,\n      // use the default domainFromDatasets function to determine a domain from them\n      if (\n        !isDone() &&\n        (Array.isArray(props.data) || Array.isArray(props.datasets))\n      ) {\n        const datasets = Array.isArray(props.datasets)\n          ? props.datasets\n          : [props.data];\n        if (!isXDone()) {\n          xDomain = domainFromDatasets(\n            datasets,\n            makeAccessor2(props.x),\n            xDataType,\n          );\n        }\n        if (!isYDone()) {\n          yDomain = domainFromDatasets(\n            datasets,\n            makeAccessor2(props.y),\n            yDataType,\n          );\n        }\n      }\n\n      // if Component has children,\n      // recurse through descendants to resolve their domains the same way,\n      // and combine them into a single domain, if there are multiple\n      if (!isDone() && React.Children.count(props.children)) {\n        const childrenDomains = mapOverChildren(\n          props.children,\n          this._resolveDomain.bind(this),\n          xScaleType,\n          yScaleType,\n        );\n\n        if (!isXDone()) {\n          const childXDomains = compact(\n            childrenDomains.map(childDomains => childDomains.xDomain),\n          );\n          xDomain = combineDomains(childXDomains, xDataType);\n        }\n        if (!isYDone()) {\n          const childYDomains = compact(\n            childrenDomains.map(childDomains => childDomains.yDomain),\n          );\n          yDomain = combineDomains(childYDomains, yDataType);\n        }\n      }\n\n      if (isDone()) {\n        if (includeXZero && !inRange(0, ...xDomain)) {\n          // If both are negative set max of domain to 0\n          if (xDomain[0] < 0 && xDomain[1] < 0) {\n            xDomain[1] = 0;\n          } else {\n            xDomain[0] = 0;\n          }\n        }\n\n        if (includeYZero && !inRange(0, ...yDomain)) {\n          // If both are negative set max of domain to 0\n          if (yDomain[0] < 0 && yDomain[1] < 0) {\n            yDomain[1] = 0;\n          } else {\n            yDomain[0] = 0;\n          }\n        }\n      }\n\n      // TODO handle resolveXYScales not calculating the domain\n      // Because this is recursive on its children it will log this warn for children missing domain\n      // even though it is later inferred by parent later during the recursion\n      // if (!isDone()) {\n      //   console.warn(`resolveXYScales was unable to resolve both domains. xDomain: ${xDomain}, yDomain: ${yDomain}`);\n      // }\n\n      return { xDomain, yDomain };\n    }\n\n    _resolveTickDomain(\n      props,\n      Component,\n      { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n    ) {\n      if (isFunction(Component.getTickDomain)) {\n        const componentTickDomains = Component.getTickDomain({\n          xScaleType,\n          yScaleType,\n          xDomain,\n          yDomain,\n          xScale,\n          yScale,\n          ...props,\n        });\n        return omitNullUndefined(componentTickDomains);\n      }\n\n      if (React.Children.count(props.children)) {\n        const childrenTickDomains = mapOverChildren(\n          props.children,\n          this._resolveTickDomain.bind(this),\n          { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n        );\n\n        const childrenXTickDomains = compact(\n          childrenTickDomains.map(\n            childTickDomains => childTickDomains.xTickDomain,\n          ),\n        );\n        const xTickDomain = childrenXTickDomains.length\n          ? combineDomains(\n              childrenXTickDomains,\n              dataTypeFromScaleType(xScaleType),\n            )\n          : undefined;\n\n        const childrenYTickDomains = compact(\n          childrenTickDomains.map(\n            childTickDomains => childTickDomains.yTickDomain,\n          ),\n        );\n        const yTickDomain = childrenYTickDomains.length\n          ? combineDomains(\n              childrenYTickDomains,\n              dataTypeFromScaleType(yScaleType),\n            )\n          : undefined;\n\n        return omitNullUndefined({ xTickDomain, yTickDomain });\n      }\n\n      return {};\n    }\n\n    _resolveMargin(\n      props,\n      Component,\n      { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n    ) {\n      let { marginTop, marginBottom, marginLeft, marginRight } = props;\n\n      const isDone = () =>\n        [marginTop, marginBottom, marginLeft, marginRight].every(isNumber);\n\n      // short-circuit if all margins provided\n      if (isDone()) return { marginTop, marginBottom, marginLeft, marginRight };\n\n      // if Component provides a custom static getMargin method\n      // use it to determine remaining domains\n      if (isFunction(Component.getMargin)) {\n        const componentMargin = omitNullUndefined(\n          Component.getMargin({\n            ...props,\n            xScaleType,\n            yScaleType,\n            xDomain,\n            yDomain,\n            xScale,\n            yScale,\n          }),\n        );\n        ({ marginTop, marginBottom, marginLeft, marginRight } = Object.assign(\n          componentMargin,\n          omitNullUndefined({\n            marginTop,\n            marginBottom,\n            marginLeft,\n            marginRight,\n          }),\n        ));\n        if (isDone())\n          return { marginTop, marginBottom, marginLeft, marginRight };\n      }\n\n      // if Component has children,\n      // recurse through descendants to resolve their margins the same way,\n      // and combine them into a single margin, if there are multiple\n      if (React.Children.count(props.children)) {\n        const childrenMargins = mapOverChildren(\n          props.children,\n          this._resolveMargin.bind(this),\n          { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n        );\n\n        // console.log('combining child margins', childMargins);\n        const childrenMargin = combineBorderObjects(\n          childrenMargins.map(childMargins => ({\n            top: childMargins.marginTop,\n            bottom: childMargins.marginBottom,\n            left: childMargins.marginLeft,\n            right: childMargins.marginRight,\n          })),\n        );\n\n        marginTop = isUndefined(marginTop) ? childrenMargin.top : marginTop;\n        marginBottom = isUndefined(marginBottom)\n          ? childrenMargin.bottom\n          : marginBottom;\n        marginLeft = isUndefined(marginLeft) ? childrenMargin.left : marginLeft;\n        marginRight = isUndefined(marginRight)\n          ? childrenMargin.right\n          : marginRight;\n      }\n\n      return { marginTop, marginBottom, marginLeft, marginRight };\n    }\n\n    _resolveSpacing(\n      props,\n      Component,\n      { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n    ) {\n      let { spacingTop, spacingBottom, spacingLeft, spacingRight } = props;\n\n      const isDone = () =>\n        [spacingTop, spacingBottom, spacingLeft, spacingRight].every(isNumber);\n\n      // short-circuit if all spacing provided\n      if (isDone())\n        return { spacingTop, spacingBottom, spacingLeft, spacingRight };\n\n      // if Component provides a custom static getSpacing method\n      // use it to determine remaining domains\n      if (isFunction(Component.getSpacing)) {\n        const componentSpacing = omitNullUndefined(\n          Component.getSpacing({\n            ...props,\n            xScaleType,\n            yScaleType,\n            xDomain,\n            yDomain,\n            xScale,\n            yScale,\n          }),\n        );\n        ({\n          spacingTop,\n          spacingBottom,\n          spacingLeft,\n          spacingRight,\n        } = Object.assign(\n          componentSpacing,\n          omitNullUndefined({\n            spacingTop,\n            spacingBottom,\n            spacingLeft,\n            spacingRight,\n          }),\n        ));\n        if (isDone())\n          return { spacingTop, spacingBottom, spacingLeft, spacingRight };\n      }\n\n      // if Component has children,\n      // recurse through descendants to resolve their spacings the same way,\n      // and combine them into a single spacing, if there are multiple\n      if (React.Children.count(props.children)) {\n        const childrenSpacings = mapOverChildren(\n          props.children,\n          this._resolveSpacing.bind(this),\n          { xScaleType, yScaleType, xDomain, yDomain, xScale, yScale },\n        );\n\n        const childrenSpacing = combineBorderObjects(\n          childrenSpacings.map(childSpacing => ({\n            top: childSpacing.spacingTop,\n            bottom: childSpacing.spacingBottom,\n            left: childSpacing.spacingLeft,\n            right: childSpacing.spacingRight,\n          })),\n        );\n\n        spacingTop = isUndefined(spacingTop) ? childrenSpacing.top : spacingTop;\n        spacingBottom = isUndefined(spacingBottom)\n          ? childrenSpacing.bottom\n          : spacingBottom;\n        spacingLeft = isUndefined(spacingLeft)\n          ? childrenSpacing.left\n          : spacingLeft;\n        spacingRight = isUndefined(spacingRight)\n          ? childrenSpacing.right\n          : spacingRight;\n      }\n\n      if (isDone())\n        return { spacingTop, spacingBottom, spacingLeft, spacingRight };\n    }\n\n    _makeScales = ({\n      width,\n      height,\n      xScaleType,\n      yScaleType,\n      invertXScale,\n      invertYScale,\n      xDomain,\n      yDomain,\n      xScale,\n      yScale,\n      marginTop,\n      marginBottom,\n      marginLeft,\n      marginRight,\n      spacingTop,\n      spacingBottom,\n      spacingLeft,\n      spacingRight,\n    }) => {\n      const spacing = {\n        top: spacingTop,\n        bottom: spacingBottom,\n        left: spacingLeft,\n        right: spacingRight,\n      };\n      const margin = {\n        top: marginTop,\n        bottom: marginBottom,\n        left: marginLeft,\n        right: marginRight,\n      };\n      const innerChartWidth = innerWidth(width, margin);\n      const innerChartHeight = innerHeight(height, margin);\n\n      let xScaleResult = xScale;\n      let yScaleResult = yScale;\n\n      // use existing scales if provided, otherwise create new\n      if (!isValidScale(xScaleResult)) {\n        // innerRange functions produce range (i.e. [5,20]) and map function normalizes to 0 (i.e. [0,15])\n        const xRange = innerRangeX(innerChartWidth, spacing).map(\n          v => v - (spacing.left || 0),\n        );\n        xScaleResult = initScale(xScaleType)\n          .domain(xDomain)\n          .range(xRange);\n\n        // reverse scale domain if `invertXScale` is passed\n        if (invertXScale) {\n          xScaleResult.domain(xScaleResult.domain().reverse());\n        }\n      }\n\n      if (!isValidScale(yScale)) {\n        const yRange = innerRangeY(innerChartHeight, spacing).map(\n          v => v - (spacing.top || 0),\n        );\n        yScaleResult = initScale(yScaleType)\n          .domain(yDomain)\n          .range(yRange);\n\n        // reverse scale domain if `invertYScale` is passed\n        if (invertYScale) {\n          yScaleResult.domain(yScaleResult.domain().reverse());\n        }\n      }\n\n      return { xScale: xScaleResult, yScale: yScaleResult };\n    };\n\n    render() {\n      const { props } = this;\n      const { width, height, invertXScale, invertYScale } = props;\n\n      // scales not provided, so we have to resolve them\n      // first resolve scale types and domains\n      // const scaleType = this._resolveScaleType(props, ComposedComponent);\n      const { xScaleType, yScaleType } = this._resolveScaleType(\n        props,\n        ComposedComponent,\n      );\n\n      // const domain = this._resolveDomain(props, ComposedComponent, scaleType);\n      let { xDomain, yDomain } = this._resolveDomain(\n        props,\n        ComposedComponent,\n        xScaleType,\n        yScaleType,\n      );\n      if (invertXScale) xDomain = xDomain.slice().reverse();\n      if (invertYScale) yDomain = yDomain.slice().reverse();\n\n      // create a temporary scale with size & domain, which may be used by the Component to calculate margin/tickDomain\n      // (eg. to create and measure labels for the scales)\n      // let tempScale = this._makeScales(scaleOptions);\n      let scaleOptions = {\n        width,\n        height,\n        xScaleType,\n        yScaleType,\n        xDomain,\n        yDomain,\n        invertXScale,\n        invertYScale,\n        marginTop: props.marginTop,\n        marginBottom: props.marginBottom,\n        marginLeft: props.marginLeft,\n        marginRight: props.marginRight,\n        spacingTop: props.spacingTop,\n        spacingBottom: props.spacingBottom,\n        spacingLeft: props.spacingLeft,\n        spacingRight: props.spacingRight,\n        xScale: props.xScale,\n        yScale: props.yScale,\n      };\n      // create a temporary scale with size & domain, which may be used by the Component to calculate margin/tickDomain\n      // (eg. to create and measure labels for the scales)\n      let tempScale = this._makeScales(scaleOptions);\n      const { xScale: tempXScale, yScale: tempYScale } = tempScale;\n\n      // getTickDomain gives children the opportunity to modify the domain to include their scale ticks\n      // (can't happen in getDomain, because it can't be done until the base domain/tempScale has been created)\n      // nice-ing happens in the getTickDomain function inside of _resolveTickDomain\n      const { xTickDomain, yTickDomain } = this._resolveTickDomain(\n        props,\n        ComposedComponent,\n        {\n          xScaleType,\n          yScaleType,\n          xDomain,\n          yDomain,\n          xScale: tempXScale,\n          yScale: tempYScale,\n        },\n      );\n      if (isValidDomain(xTickDomain, dataTypeFromScaleType(xScaleType))) {\n        xDomain = combineDomains(\n          [xDomain, xTickDomain],\n          dataTypeFromScaleType(xScaleType),\n        );\n      }\n      if (isValidDomain(yTickDomain, dataTypeFromScaleType(yScaleType))) {\n        yDomain = combineDomains(\n          [yDomain, yTickDomain],\n          dataTypeFromScaleType(yScaleType),\n        );\n      }\n\n      // update tempScale to use new domain before creating margins\n      scaleOptions = { ...scaleOptions, xDomain, yDomain };\n      tempScale = this._makeScales(scaleOptions);\n\n      // then resolve the margins\n      const { marginTop, marginBottom, marginLeft, marginRight } = defaults(\n        this._resolveMargin(props, ComposedComponent, {\n          xScaleType,\n          yScaleType,\n          xDomain,\n          yDomain,\n          xScale: tempScale.xScale,\n          yScale: tempScale.yScale,\n        }),\n        {\n          marginTop: 0,\n          marginBottom: 0,\n          marginLeft: 0,\n          marginRight: 0,\n        },\n      );\n\n      const { spacingTop, spacingBottom, spacingLeft, spacingRight } = defaults(\n        this._resolveSpacing(props, ComposedComponent, {\n          xScaleType,\n          yScaleType,\n          xDomain,\n          yDomain,\n          xScale: tempScale.xScale,\n          yScale: tempScale.yScale,\n        }),\n        {\n          spacingTop: 0,\n          spacingBottom: 0,\n          spacingLeft: 0,\n          spacingRight: 0,\n        },\n      );\n\n      // create real scales from resolved margins\n      scaleOptions = {\n        ...scaleOptions,\n        marginTop,\n        marginBottom,\n        marginLeft,\n        marginRight,\n        spacingTop,\n        spacingBottom,\n        spacingLeft,\n        spacingRight,\n      };\n      const { xScale, yScale } = this._makeScales(scaleOptions);\n\n      const passedProps = Object.assign({}, this.props, {\n        xScale,\n        yScale,\n        xDomain,\n        yDomain,\n        xScaleType,\n        yScaleType,\n        marginTop,\n        marginBottom,\n        marginLeft,\n        marginRight,\n        spacingTop,\n        spacingBottom,\n        spacingLeft,\n        spacingRight,\n      });\n      return <ComposedComponent {...passedProps} />;\n\n      // todo throw if cannot resolve scaleType\n      // todo throw if cannot resolve domain\n      // todo check to make sure margins didn't change after scales resolved?\n    }\n  };\n}\n"
  },
  {
    "path": "src/utils/shallowEqual.js",
    "content": "/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\n// TODO Recreate shallow equals to not use flow\n// we currently use \"@babel/preset-flow\" just to parse this file\n\n/* eslint-disable no-self-compare */\n\n'use strict';\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x: mixed, y: mixed): boolean {\n  // SameValue algorithm\n  if (x === y) {\n    // Steps 1-5, 7-10\n    // Steps 6.b-6.e: +0 != -0\n    return x !== 0 || 1 / (x: $FlowIssue) === 1 / (y: $FlowIssue);\n  }\n  // Step 6.a: NaN == NaN\n  return x !== x && y !== y;\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA: mixed, objB: mixed): boolean {\n  if (is(objA, objB)) {\n    return true;\n  }\n\n  if (\n    typeof objA !== 'object' ||\n    objA === null ||\n    typeof objB !== 'object' ||\n    objB === null\n  ) {\n    // console.log('shallowEqual: not object??');\n    return false;\n  }\n\n  const keysA = Object.keys(objA);\n  const keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    // console.log('!shallowEqual: different keys length');\n    return false;\n  }\n\n  // Test for A's keys different from B.\n  for (let i = 0; i < keysA.length; i++) {\n    if (\n      !hasOwnProperty.call(objB, keysA[i]) ||\n      !is(objA[keysA[i]], objB[keysA[i]])\n    ) {\n      // console.log(`!shallowEqual: different ${keysA[i]} - ${objA[keysA[i]]} vs. ${objB[keysA[i]]}`);\n      return false;\n    }\n  }\n\n  return true;\n}\n\nmodule.exports = shallowEqual;\n"
  },
  {
    "path": "src/utils/xyPropsEqual.js",
    "content": "import omit from 'lodash/omit';\nimport isEqual from 'lodash/isEqual';\nimport get from 'lodash/get';\nimport shallowEqual from './shallowEqual';\nimport { scaleEqual } from './Scale';\n\n// xyPropsEqual is a function used by XYPlot-type charts,\n// in their `shouldComponentUpdate` methods, for determining whether next props are the same as previous props.\n// in a perfect world this would just be a simple shallow equality check,\n// however some props are almost always passed as object/array literals (so they never ===)\n// or require special equality checks (eg. d3 scales)\n\n// default list of props to check for *deep equality* using _.isEqual\n// can be overridden by components by passing `propKeysToDeepCheck` argument\n// todo: decide whether data really belongs on this list? deep-checking data can be slow, but re-rendering is even slower\nexport const defaultPropKeysToDeepCheck = [\n  'margin',\n  'scaleType',\n  'spacing',\n  'domain',\n  'style',\n  'data', // not worth deepchecking data due to perf issues\n];\n\nexport default function xyPropsEqual(\n  propsA,\n  propsB,\n  customKeysToDeepCheck = [],\n  includeDefaults = true,\n) {\n  const propKeysToDeepCheck = includeDefaults\n    ? defaultPropKeysToDeepCheck.concat(customKeysToDeepCheck)\n    : customKeysToDeepCheck;\n\n  const propKeysToSkipShallowCheck = propKeysToDeepCheck.concat('scale');\n\n  const equalityCheck =\n    // most keys just get shallow-equality checked\n    shallowEqual(\n      omit(propsA, propKeysToSkipShallowCheck),\n      omit(propsB, propKeysToSkipShallowCheck),\n    ) &&\n    propKeysToDeepCheck.every(key => isEqual(propsA[key], propsB[key])) &&\n    ['x', 'y'].every(key => {\n      return scaleEqual(\n        get(propsA, `scale[${key}]`),\n        get(propsA, `scale[${key}]`),\n      );\n    });\n\n  return equalityCheck;\n}\n\n/* eslint-disable */\nexport function xyPropsEqualDebug(\n  propsA,\n  propsB,\n  customKeysToDeepCheck = [],\n  includeDefaults = true,\n) {\n  const propKeysToDeepCheck = includeDefaults\n    ? defaultPropKeysToDeepCheck.concat(customKeysToDeepCheck)\n    : customKeysToDeepCheck;\n  // debug version of xyPropsEqual which console.logs, for figuring out which props are failing equality check\n  // const start = performance.now();\n  const propKeysToSkipShallowCheck = propKeysToDeepCheck.concat('scale');\n\n  const result =\n    // most keys just get shallow-equality checked\n    shallowEqual(\n      omit(propsA, propKeysToSkipShallowCheck),\n      omit(propsB, propKeysToSkipShallowCheck),\n    ) &&\n    propKeysToDeepCheck.every(key => {\n      const isDeepEqual = isEqual(propsA[key], propsB[key]);\n      if (!isDeepEqual) console.log(`xyProps: ${key} not equal`);\n      return isDeepEqual;\n    }) &&\n    ['x', 'y'].every(key => {\n      const isScaleEqual = scaleEqual(propsA.scale[key], propsB.scale[key]);\n      if (!isScaleEqual) console.log(`xyProps: scale.${key} not equal`);\n      return isScaleEqual;\n    });\n\n  // console.log('xyProps isEqual', isEqual);\n  // console.log('took', performance.now() - start);\n  return result;\n}\n/* eslint-enable */\n"
  },
  {
    "path": "styles/charts.less",
    "content": ".rct-xy-plot {\n  * {\n    user-select: none;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n  }\n\n  .rct-chart-tick {\n    fill: none;\n    stroke: #666;\n    stroke-width: 1px;\n  }\n\n  .rct-chart-background {\n    fill: none;\n  }\n\n  .rct-plot-background {\n    fill: #e0e0e0;\n  }\n\n  .rct-chart-grid-line {\n    stroke: #b9b9b9;\n    stroke-width: 1px;\n  }\n}\n\n.rct-chart-line-x,\n.rct-chart-line-y {\n  stroke: #090909;\n}\n\n.rct-chart-bar,\n.rct-chart-area-bar {\n  fill: steelblue;\n}\n\n.rct-marker-line-chart {\n  line {\n    stroke: black;\n    stroke-width: 2px;\n  }\n}\n\n.rct-pie-chart {\n  .rct-pie-slice {\n    stroke: none;\n  }\n  .rct-pie-slice-0 {\n    fill: steelblue;\n  }\n  .rct-pie-slice-1 {\n    fill: darkred;\n  }\n  .rct-pie-slice-2 {\n    fill: orange;\n  }\n  .rct-pie-slice-empty {\n    fill: #ddd;\n  }\n  .rct-pie-label-center {\n    font-size: 26pt;\n  }\n  .rct-marker-line {\n    stroke: black;\n    stroke-width: 2px;\n  }\n}\n\n.rct-line-chart {\n  .rct-line-path {\n    fill: none;\n    stroke: #0a0a0a;\n    stroke-width: 1.5px;\n    stroke-linejoin: bevel;\n  }\n}\n\n.rct-area-chart {\n  .rct-area-chart-path {\n    stroke-width: 0;\n    fill: steelblue;\n  }\n}\n\n.rct-area-chart--difference {\n  .rct-area-chart-path {\n    stroke: #0a0a0a;\n    stroke-width: 1.5px;\n    stroke-linejoin: bevel;\n  }\n}\n\n.rct-sankey-diagram {\n  .rct-sankey-nodes .rct-sankey-node {\n    fill: #000;\n  }\n  .rct-sankey-links .rct-sankey-link {\n    stroke: rgba(0, 0, 0, 0.16);\n    fill: none;\n  }\n  .rct-sankey-node-label {\n    pointer-events: none;\n    font-size: 10pt;\n  }\n  .rct-sankey-link-label {\n    pointer-events: none;\n    alignment-baseline: middle;\n    dominant-baseline: central;\n    font-size: 8.5pt;\n    color: #333;\n  }\n  .rct-sankey-node-terminal {\n    fill: steelblue;\n  }\n}\n\n.rct-chart-axis-line-y,\n.rct-chart-axis-line-x {\n  stroke: #b9b9b9;\n}\n\n.rct-chart-visually-hidden-rect {\n  fill: transparent;\n  pointer-events: none;\n\n  &:focus {\n    outline: 3px inset #181818;\n  }\n}\n"
  },
  {
    "path": "tests/browser/index.js",
    "content": "require('./spec/XAxis.spec');\nrequire('./spec/YAxis.spec');\nrequire('./spec/YAxisLabels.spec');\nrequire('./spec/XAxisLabels.spec');\nrequire('./spec/XAxisTitle.spec');\nrequire('./spec/YAxisTitle.spec');\nconst enzyme = require('enzyme');\nconst adapter = require('enzyme-adapter-react-16');\n\n// some tests must be run in a browser environment\n// also it can be easier to debug tests in browser thanks to chrome debugger\n// place browser tests in tests/browser/spec and run `npm run test-browser`\n\n// run mocha\n(function() {\n  enzyme.configure({ adapter: new adapter() });\n\n  if (window.mochaPhantomJS) {\n    mochaPhantomJS.run();\n  } else {\n    mocha.run();\n  }\n})();\n"
  },
  {
    "path": "tests/browser/index_html.ejs",
    "content": "<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\" />\n    <title>Mocha Spec Runner</title>\n    <link rel=\"stylesheet\" href=\"../../node_modules/mocha/mocha.css\" />\n  </head>\n  <body>\n    <div id=\"mocha\"></div>\n\n    <script src=\"../../node_modules/mocha/mocha.js\"></script>\n    <script src=\"../../node_modules/chai/chai.js\"></script>\n\n    <script>\n      mocha.ui(\"bdd\");\n      mocha.reporter(\"html\");\n      var expect = chai.expect;\n    </script>\n  </body>\n</html>\n"
  },
  {
    "path": "tests/browser/spec/XAxis.spec.js",
    "content": "import { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinon from 'sinon';\nimport sinonChai from 'sinon-chai';\nimport {\n  LineChart,\n  XAxis,\n  XAxisLabels,\n  XAxisTitle,\n  XGrid,\n  XTicks,\n  XYPlot,\n} from 'src/index.js';\n\nchai.use(sinonChai);\n// XAxis tests must run in browser since XAxis uses measureText\n\ndescribe('XAxis', () => {\n  const width = 500;\n  const height = 300;\n  const props = {\n    width,\n    height,\n    xScaleType: 'linear',\n    yScaleType: 'linear',\n    marginTop: 11,\n    marginBottom: 22,\n    marginLeft: 33,\n    marginRight: 44,\n  };\n\n  it('extends the scale domain if to include custom `ticks` if passed', () => {\n    const tree = (\n      <XYPlot {...props} xDomain={[0, 10]} yDomain={[0, 10]}>\n        <LineChart data={[[0, 0], [10, 10]]} x={d => d[0]} y={d => d[1]} />\n        <XAxis ticks={[-5, 0, 5]} />\n      </XYPlot>\n    );\n    const rendered = mount(tree).find(XAxis);\n\n    expect(rendered.props().xDomain).to.deep.equal([-5, 10]);\n    expect(rendered.props().yDomain).to.deep.equal([0, 10]);\n  });\n\n  it('rounds domain to nice numbers if `nice` option is true', () => {\n    const niceXChart = mount(\n      <XYPlot {...props}>\n        <LineChart\n          data={[[0.3, 0.8], [9.2, 9.7]]}\n          x={d => d[0]}\n          y={d => d[1]}\n        />\n        <XAxis nice />\n      </XYPlot>,\n    ).find(LineChart);\n\n    expect(niceXChart.props().xDomain).to.deep.equal([0, 10]);\n    expect(niceXChart.props().yDomain).to.deep.equal([0.8, 9.7]);\n  });\n\n  it('renders every part of the xAxis', () => {\n    const tree = (\n      <XYPlot {...props} xDomain={[0, 10]} yDomain={[0, 10]}>\n        <XAxis ticks={[-5, 0, 5]} />\n      </XYPlot>\n    );\n    const rendered = mount(tree);\n    const line = rendered.find('.rct-chart-axis-line-x');\n    expect(rendered.find(XGrid).props().ticks).to.have.length(3);\n    expect(rendered.find(XAxisLabels)).to.have.length(1);\n    expect(rendered.find(XAxisTitle)).to.have.length(1);\n    expect(rendered.find(XTicks)).to.have.length(1);\n    expect(line).to.have.length(1);\n    expect(line.props().x1).to.be.a('number');\n    expect(line.props().x2).to.be.a('number');\n    expect(line.props().y1).to.be.a('number');\n    expect(line.props().y2).to.be.a('number');\n  });\n\n  it('handles mouse events', () => {\n    const onMouseEnterAxis = sinon.spy();\n    const onMouseLeaveAxis = sinon.spy();\n    const onMouseClickAxis = sinon.spy();\n\n    const tree = (\n      <XYPlot {...props} xDomain={[0, 10]} yDomain={[0, 10]}>\n        <XAxis\n          onMouseEnterAxis={onMouseEnterAxis}\n          onMouseLeaveAxis={onMouseLeaveAxis}\n          onMouseClickAxis={onMouseClickAxis}\n          ticks={[-5, 0, 5]}\n        />\n      </XYPlot>\n    );\n    const rendered = mount(tree);\n    const xAxis = rendered.find(XAxis);\n\n    expect(onMouseEnterAxis).not.to.have.been.called;\n    xAxis.simulate('mouseenter');\n    expect(onMouseEnterAxis).to.have.been.calledOnce;\n\n    expect(onMouseLeaveAxis).not.to.have.been.called;\n    xAxis.simulate('mouseleave');\n    expect(onMouseLeaveAxis).to.have.been.calledOnce;\n\n    expect(onMouseClickAxis).not.to.have.been.called;\n    xAxis.simulate('click');\n    expect(onMouseClickAxis).to.have.been.calledOnce;\n  });\n});\n"
  },
  {
    "path": "tests/browser/spec/XAxisLabels.spec.js",
    "content": "import chai, { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinon from 'sinon';\nimport sinonChai from 'sinon-chai';\nimport { XAxisLabels, XYPlot } from '../../../src/index.js';\nchai.use(sinonChai);\n\n// XAxisLabels tests must run in browser since XAxisLabels uses measureText\n\ndescribe('XAxisLabel', () => {\n  it('Check how many labels are created and where', () => {\n    const chartStyle = { marginBottom: '10px' };\n    const functions = {\n      onMouseEnterLabel: sinon.spy(),\n      onMouseMoveLabel: sinon.spy(),\n      onMouseLeaveLabel: sinon.spy(),\n      onMouseClickLabel: sinon.spy(),\n    };\n    const tree = (\n      <div>\n        <div style={chartStyle}>\n          <XYPlot\n            width={400}\n            height={150}\n            xDomain={[-20, 20]}\n            yDomain={[-20, 20]}\n          >\n            <XAxisLabels {...functions} />\n            <XAxisLabels position=\"top\" distance={2} tickCount={5} />\n          </XYPlot>\n        </div>\n      </div>\n    );\n    const rendered = mount(tree).find(XAxisLabels);\n    const first = rendered.first();\n    // each tick is a g and there's a wrapper around all g's, hence the 10 and 6\n    expect(first.find('g')).to.have.length(10);\n    expect(rendered.at(1).find('g')).to.have.length(6);\n\n    expect(rendered.at(1).props().position).to.equal('top');\n    expect(first.props().position).to.equal('bottom');\n\n    const firstChild = first.find('g').at(2);\n\n    expect(first.props().onMouseEnterLabel).not.to.have.been.called;\n    firstChild.simulate('mouseenter');\n    expect(first.props().onMouseEnterLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseMoveLabel).not.to.have.been.called;\n    firstChild.simulate('mousemove');\n    expect(first.props().onMouseMoveLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseLeaveLabel).not.to.have.been.called;\n    firstChild.simulate('mouseleave');\n    expect(first.props().onMouseLeaveLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseClickLabel).not.to.have.been.called;\n    firstChild.simulate('click');\n    expect(first.props().onMouseClickLabel).to.have.been.calledOnce;\n  });\n\n  it('Renders labels with given format and styles', () => {\n    const tree = (\n      <XYPlot width={400} height={150} xDomain={[-20, 20]} yDomain={[-20, 20]}>\n        <XAxisLabels\n          format={d => `${d}%`}\n          position=\"top\"\n          distance={2}\n          tickCount={5}\n          labelStyle={label => {\n            return {\n              fill: label.text === '0%' ? 'green' : 'blue',\n            };\n          }}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(XAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    const correctTickLabels = ['-20%', '-10%', '0%', '10%', '20%'];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      const expectedStyles = Object.assign(\n        XAxisLabels.defaultProps.labelStyle,\n        {\n          fill: textContent === '0%' ? 'green' : 'blue',\n        },\n      );\n\n      Object.keys(expectedStyles).forEach(styleKey => {\n        // Parse to int if lineHeight\n        const styleValue =\n          styleKey === 'lineHeight'\n            ? parseInt(instance.style[styleKey], 10)\n            : instance.style[styleKey];\n\n        expect(expectedStyles[styleKey]).to.equal(styleValue);\n      });\n\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n\n  it('Renders date labels given formats array', () => {\n    const tree = (\n      <XYPlot\n        width={400}\n        height={150}\n        xDomain={[new Date('01/01/2015'), new Date('01/01/2019')]}\n        yDomain={[-20, 20]}\n      >\n        <XAxisLabels\n          formats={['%B %d, %Y', '%m/%Y']}\n          position=\"top\"\n          distance={2}\n          tickCount={5}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(XAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    // Logic should pick the \"%m/%Y\" format since \"%B %d, %Y\"\n    // which would format the labels like so January 30, 2015, would have too many collisions when rendered\n    const correctTickLabels = [\n      '01/2015',\n      '01/2016',\n      '01/2017',\n      '01/2018',\n      '01/2019',\n    ];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n\n  it('Renders number labels given formats array', () => {\n    const tree = (\n      <XYPlot width={400} height={150} xDomain={[-1, 1]} yDomain={[-20, 20]}>\n        <XAxisLabels\n          formats={['+20', '.0%']}\n          position=\"top\"\n          distance={2}\n          tickCount={5}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(XAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    // Logic should pick the \".0%\" format since \"+20\"\n    // would have too many collisions when rendered\n    const correctTickLabels = ['−100%', '−50%', '0%', '50%', '100%'];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n});\n"
  },
  {
    "path": "tests/browser/spec/XAxisTitle.spec.js",
    "content": "import chai, { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinonChai from 'sinon-chai';\nimport { XAxisTitle, XYPlot } from 'src/index.js';\nchai.use(sinonChai);\n\n// XAxisTitle tests must run in browser since XAxisLabels uses measureText\n\ndescribe('XAxisTitle', () => {\n  it('Check how many labels are created and where', () => {\n    const xyProps = {\n      width: 500,\n      height: 360,\n      xDomain: [0, 100],\n      yDomain: [0, 100],\n    };\n\n    const tree = (\n      <XYPlot {...xyProps}>\n        <XAxisTitle title=\"CCCC\" alignment=\"right\" />\n\n        <XAxisTitle title=\"DDDD\" alignment=\"left\" placement=\"above\" />\n\n        <XAxisTitle title=\"HHHH\" alignment=\"center\" rotate />\n\n        <XAxisTitle title=\"JJJJ\" alignment=\"left\" placement=\"above\" rotate />\n\n        <XAxisTitle title=\"MMMM\" position=\"top\" alignment=\"left\" />\n\n        <XAxisTitle\n          title=\"PPPP\"\n          position=\"top\"\n          alignment=\"left\"\n          placement=\"below\"\n        />\n        <XAxisTitle title=\"SSSS\" position=\"top\" alignment=\"left\" rotate />\n      </XYPlot>\n    );\n    const rendered = mount(tree).find(XAxisTitle);\n    expect(rendered.at(0).props().alignment).to.equal('right');\n    expect(\n      rendered\n        .at(0)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(500,220)');\n    expect(rendered.at(1).props().placement).to.equal('above');\n    expect(\n      rendered\n        .at(1)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(0,210)');\n    expect(rendered.at(2).props().rotate).to.equal(true);\n    expect(\n      rendered\n        .at(2)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(250,220)');\n    expect(rendered.at(3).props().rotate).to.equal(true);\n    expect(\n      rendered\n        .at(3)\n        .find('text')\n        .first()\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('rotate(-90)');\n    expect(\n      rendered\n        .at(4)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(0,-5)');\n    expect(\n      rendered\n        .at(5)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(0,5)');\n    expect(\n      rendered\n        .at(6)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(0,-5)');\n    expect(\n      rendered\n        .at(6)\n        .find('text')\n        .first()\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('rotate(-90)');\n  });\n});\n"
  },
  {
    "path": "tests/browser/spec/YAxis.spec.js",
    "content": "import { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinon from 'sinon';\nimport sinonChai from 'sinon-chai';\nimport {\n  LineChart,\n  XYPlot,\n  YAxis,\n  YAxisLabels,\n  YAxisTitle,\n  YGrid,\n  YTicks,\n} from 'src/index.js';\n\nchai.use(sinonChai);\n\n// YAxis tests must run in browser since YAxis uses measureText\n\ndescribe('YAxis', () => {\n  const width = 500;\n  const height = 300;\n\n  const props = {\n    width,\n    height,\n    xScaleType: 'linear',\n    yScaleType: 'linear',\n    marginTop: 11,\n    marginBottom: 22,\n    marginLeft: 33,\n    marginRight: 44,\n  };\n\n  it('extends the scale domain if to include custom `ticks` if passed', () => {\n    const tree = (\n      <XYPlot {...props}>\n        <LineChart data={[[0, 0], [10, 10]]} x={d => d[0]} y={d => d[1]} />\n        <YAxis ticks={[-5, 0, 5]} />\n      </XYPlot>\n    );\n    const rendered = mount(tree).find(YAxis);\n    expect(rendered.props().xDomain).to.deep.equal([0, 10]);\n    expect(rendered.props().yDomain).to.deep.equal([-5, 10]);\n  });\n\n  it('rounds domain to nice numbers if `nice` option is true', () => {\n    const niceXChart = mount(\n      <XYPlot {...props}>\n        <LineChart\n          data={[[0.3, 0.8], [9.2, 9.7]]}\n          x={d => d[0]}\n          y={d => d[1]}\n        />\n        <YAxis nice />\n      </XYPlot>,\n    ).find(LineChart);\n\n    expect(niceXChart.props().xDomain).to.deep.equal([0.3, 9.2]);\n    expect(niceXChart.props().yDomain).to.deep.equal([0, 10]);\n  });\n\n  it('renders every part of the yAxis', () => {\n    const tree = (\n      <XYPlot {...props} xDomain={[0, 10]} yDomain={[0, 10]}>\n        <YAxis ticks={[-5, 0, 5]} />\n      </XYPlot>\n    );\n    const rendered = mount(tree);\n    const line = rendered.find('.rct-chart-axis-line-y');\n    expect(rendered.find(YGrid).props().ticks).to.have.length(3);\n    expect(rendered.find(YAxisLabels)).to.have.length(1);\n    expect(rendered.find(YAxisTitle)).to.have.length(1);\n    expect(rendered.find(YTicks)).to.have.length(1);\n    expect(line).to.have.length(1);\n    expect(line.props().x1).to.be.a('number');\n    expect(line.props().x2).to.be.a('number');\n    expect(line.props().y1).to.be.a('number');\n    expect(line.props().y2).to.be.a('number');\n  });\n\n  it('handles mouse events', () => {\n    const onMouseEnterAxis = sinon.spy();\n    const onMouseLeaveAxis = sinon.spy();\n    const onMouseClickAxis = sinon.spy();\n\n    const tree = (\n      <XYPlot {...props} xDomain={[0, 10]} yDomain={[0, 10]}>\n        <YAxis\n          onMouseEnterAxis={onMouseEnterAxis}\n          onMouseLeaveAxis={onMouseLeaveAxis}\n          onMouseClickAxis={onMouseClickAxis}\n          ticks={[-5, 0, 5]}\n        />\n      </XYPlot>\n    );\n    const rendered = mount(tree);\n    const yAxis = rendered.find(YAxis);\n\n    expect(onMouseEnterAxis).not.to.have.been.called;\n    yAxis.simulate('mouseenter');\n    expect(onMouseEnterAxis).to.have.been.calledOnce;\n\n    expect(onMouseLeaveAxis).not.to.have.been.called;\n    yAxis.simulate('mouseleave');\n    expect(onMouseLeaveAxis).to.have.been.calledOnce;\n\n    expect(onMouseClickAxis).not.to.have.been.called;\n    yAxis.simulate('click');\n    expect(onMouseClickAxis).to.have.been.calledOnce;\n  });\n});\n"
  },
  {
    "path": "tests/browser/spec/YAxisLabels.spec.js",
    "content": "import chai, { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinon from 'sinon';\nimport sinonChai from 'sinon-chai';\nimport { XYPlot, YAxisLabels } from '../../../src/index.js';\nchai.use(sinonChai);\n\n// YAxisLabels tests must run in browser since YAxisLabels uses measureText\n\ndescribe('YAxisLabel', () => {\n  it('Check how many labels are created and where', () => {\n    const chartStyle = { marginBottom: '10px' };\n    const functions = {\n      onMouseEnterLabel: sinon.spy(),\n      onMouseMoveLabel: sinon.spy(),\n      onMouseLeaveLabel: sinon.spy(),\n      onMouseClickLabel: sinon.spy(),\n    };\n    const tree = (\n      <div>\n        <div style={chartStyle}>\n          <XYPlot\n            width={300}\n            height={300}\n            xDomain={[-20, 20]}\n            yDomain={[-20, 20]}\n          >\n            <YAxisLabels {...functions} />\n            <YAxisLabels position=\"right\" tickCount={5} />\n          </XYPlot>\n        </div>\n      </div>\n    );\n    const rendered = mount(tree).find(YAxisLabels);\n    const first = rendered.first();\n    // each tick is a g and there's a wrapper around all g's, hence the 10 and 6\n    expect(first.find('g')).to.have.length(10);\n    expect(rendered.at(1).find('g')).to.have.length(6);\n\n    expect(rendered.at(1).props().position).to.equal('right');\n    expect(first.props().position).to.equal('left');\n\n    const firstChild = first.find('g').at(2);\n\n    expect(first.props().onMouseEnterLabel).not.to.have.been.called;\n    firstChild.simulate('mouseenter');\n    expect(first.props().onMouseEnterLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseMoveLabel).not.to.have.been.called;\n    firstChild.simulate('mousemove');\n    expect(first.props().onMouseMoveLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseLeaveLabel).not.to.have.been.called;\n    firstChild.simulate('mouseleave');\n    expect(first.props().onMouseLeaveLabel).to.have.been.calledOnce;\n\n    expect(first.props().onMouseClickLabel).not.to.have.been.called;\n    firstChild.simulate('click');\n    expect(first.props().onMouseClickLabel).to.have.been.calledOnce;\n  });\n\n  it('Renders labels with given format and styles', () => {\n    const tree = (\n      <XYPlot width={400} height={150} xDomain={[-20, 20]} yDomain={[-20, 20]}>\n        <YAxisLabels\n          format={d => `${d}%`}\n          position=\"left\"\n          distance={2}\n          tickCount={5}\n          labelStyle={label => {\n            return {\n              fill: label.text === '0%' ? 'green' : 'blue',\n            };\n          }}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(YAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    const correctTickLabels = ['-20%', '-10%', '0%', '10%', '20%'];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      const expectedStyles = Object.assign(\n        YAxisLabels.defaultProps.labelStyle,\n        {\n          fill: textContent === '0%' ? 'green' : 'blue',\n        },\n      );\n\n      Object.keys(expectedStyles).forEach(styleKey => {\n        // Parse to int if lineHeight\n        const styleValue =\n          styleKey === 'lineHeight'\n            ? parseInt(instance.style[styleKey], 10)\n            : instance.style[styleKey];\n\n        expect(expectedStyles[styleKey]).to.equal(styleValue);\n      });\n\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n\n  it('Renders date labels given formats array', () => {\n    const tree = (\n      <XYPlot\n        width={400}\n        height={150}\n        yDomain={[new Date('01/01/2015'), new Date('01/01/2019')]}\n        xDomain={[-20, 20]}\n      >\n        <YAxisLabels\n          formats={['%B %d, %Y', '%m/%Y']}\n          position=\"left\"\n          distance={2}\n          tickCount={5}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(YAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    // Logic should pick our first format \"%B %d, %Y\"\n    // which would format the labels like so January 30, 2015\n    // because YAxisLabels (rendered vertically) wouldn't have collisions\n    const correctTickLabels = [\n      'January 01, 2015',\n      'January 01, 2016',\n      'January 01, 2017',\n      'January 01, 2018',\n      'January 01, 2019',\n    ];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n\n  it('Renders number labels given formats array', () => {\n    const tree = (\n      <XYPlot width={400} height={150} xDomain={[-20, 20]} yDomain={[-1, 1]}>\n        <YAxisLabels\n          formats={['.1%', '.0%']}\n          position=\"left\"\n          distance={2}\n          tickCount={5}\n        />\n      </XYPlot>\n    );\n\n    const rendered = mount(tree).find(YAxisLabels);\n    const labelWrapper = rendered.first('g');\n    const labels = labelWrapper.children().find('text');\n\n    // Logic should pick our first format \".1%\"\n    // which would format the labels like so: 1.0%\n    // because YAxisLabels (rendered vertically) wouldn't have collisions\n    const correctTickLabels = ['−100.0%', '−50.0%', '0.0%', '50.0%', '100.0%'];\n\n    const renderedTickLabels = labels.map(label => {\n      const instance = label.instance();\n      const textContent = instance.textContent;\n      return textContent;\n    });\n\n    expect(renderedTickLabels).to.eql(correctTickLabels);\n  });\n});\n"
  },
  {
    "path": "tests/browser/spec/YAxisTitle.spec.js",
    "content": "import chai, { expect } from 'chai';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport sinonChai from 'sinon-chai';\nimport { XYPlot, YAxisTitle } from 'src/index.js';\nchai.use(sinonChai);\n\n// YAxisTitle tests must run in browser since XAxisLabels uses measureText\n\ndescribe('YAxisTitle', () => {\n  it('Check how many labels are created and where', () => {\n    const xyProps = {\n      width: 500,\n      height: 360,\n      xDomain: [0, 100],\n      yDomain: [0, 100],\n    };\n\n    const tree = (\n      <XYPlot {...xyProps}>\n        <YAxisTitle title=\"AAAA\" alignment=\"top\" />\n\n        <YAxisTitle title=\"EEEE\" alignment=\"middle\" rotate={false} />\n        <YAxisTitle title=\"IIII\" alignment=\"bottom\" placement=\"after\" />\n\n        <YAxisTitle\n          title=\"JJJJ\"\n          alignment=\"top\"\n          placement=\"after\"\n          rotate={false}\n        />\n\n        <YAxisTitle title=\"MMMM\" alignment=\"top\" position=\"right\" />\n        <YAxisTitle\n          title=\"RRRR\"\n          alignment=\"bottom\"\n          position=\"right\"\n          rotate={false}\n        />\n\n        <YAxisTitle\n          title=\"TTTT\"\n          alignment=\"middle\"\n          placement=\"before\"\n          position=\"right\"\n        />\n      </XYPlot>\n    );\n    const rendered = mount(tree).find(YAxisTitle);\n    expect(rendered.at(0).props().alignment).to.equal('top');\n    expect(\n      rendered\n        .at(0)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(-5,0)');\n    expect(rendered.at(1).props().rotate).to.equal(false);\n    expect(\n      rendered\n        .at(1)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(-5,180)');\n    expect(rendered.at(2).props().placement).to.equal('after');\n    expect(\n      rendered\n        .at(2)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(5,360)');\n    expect(rendered.at(3).props().rotate).to.equal(false);\n    expect(\n      rendered\n        .at(3)\n        .find('text')\n        .first()\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('rotate(0)');\n    expect(\n      rendered\n        .at(4)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(360,0)');\n    expect(\n      rendered\n        .at(5)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(360,360)');\n    expect(\n      rendered\n        .at(6)\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('translate(350,180)');\n    expect(\n      rendered\n        .at(6)\n        .find('text')\n        .first()\n        .getDOMNode()\n        .getAttribute('transform'),\n    ).to.equal('rotate(-90)');\n  });\n});\n"
  },
  {
    "path": "tests/browser/webpack.config.test.js",
    "content": "const path = require('path');\nconst webpack = require('webpack');\nconst HtmlPlugin = require('html-webpack-plugin');\nconst { CleanWebpackPlugin } = require('clean-webpack-plugin');\n\nmodule.exports = {\n  mode: 'development',\n  context: __dirname,\n  entry: [path.join(__dirname, 'index.js')],\n  output: {\n    path: path.join(__dirname, 'build'),\n    filename: 'bundle.[hash].js',\n  },\n  devtool: 'source-map',\n  plugins: [\n    new webpack.NoEmitOnErrorsPlugin(),\n    new HtmlPlugin({\n      title: 'Reactochart Tests',\n      template: path.join(__dirname, 'index_html.ejs'),\n    }),\n    new CleanWebpackPlugin(),\n  ],\n  resolve: {\n    extensions: ['.js', '.jsx'],\n    modules: ['node_modules', path.resolve(__dirname, '../..')],\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.jsx?$/,\n        exclude: /node_modules/,\n        use: 'babel-loader',\n      },\n      {\n        test: /\\.less?$/,\n        use: [\n          { loader: 'style-loader' },\n          { loader: 'css-loader' },\n          { loader: 'less-loader' },\n        ],\n      }\n    ],\n  },\n  // https://github.com/airbnb/enzyme/issues/503\n  externals: {\n    jsdom: 'window',\n    cheerio: 'window',\n    'react/lib/ExecutionEnvironment': true,\n    'react/addons': true,\n    'react/lib/ReactContext': 'window',\n  },\n};\n"
  },
  {
    "path": "tests/jsdom/setup.js",
    "content": "import \"jest-canvas-mock\";\n\n// see https://github.com/airbnb/enzyme/blob/master/docs/guides/jsdom.md\nconst { JSDOM } = require('jsdom');\n\nconst jsdom = new JSDOM('<!doctype html><html><body></body></html>', {\n  url: 'http://localhost',\n});\nconst { window } = jsdom;\n\nfunction copyProps(src, target) {\n  Object.defineProperties(target, {\n    ...Object.getOwnPropertyDescriptors(src),\n    ...Object.getOwnPropertyDescriptors(target),\n  });\n}\n\nglobal.window = window;\nglobal.document = window.document;\nglobal.navigator = {\n  userAgent: 'node.js',\n};\nglobal.requestAnimationFrame = function(callback) {\n  return setTimeout(callback, 0);\n};\nglobal.cancelAnimationFrame = function(id) {\n  clearTimeout(id);\n};\ncopyProps(window, global);\n\n// hack to deal with https://github.com/airbnb/enzyme/issues/888\n// see also https://github.com/chaijs/type-detect/issues/98\nglobal.HTMLElement = window.HTMLElement;\nglobal.SVGElement = function() {};\n\nconst enzyme = require('enzyme');\nconst adapter = require('enzyme-adapter-react-16');\n\nenzyme.configure({ adapter: new adapter() });\n"
  },
  {
    "path": "tests/jsdom/spec/AreaBarChart.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\n\nimport { AreaBarChart, RangeRect } from '../../../src';\nimport { getValue } from '../../../src/utils/Data.js';\n\ndescribe('AreaBarChart', () => {\n  describe('renders and passes props correctly to RangeRect', () => {\n    const props = {\n      xScale: scaleLinear()\n        .domain([0, 100])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [\n        { ageMin: 25, ageMax: 45, rate: 0.25 },\n        { ageMin: 45, ageMax: 65, rate: 0.17 },\n        { ageMin: 65, ageMax: 85, rate: 0.084 },\n      ],\n      x: d => d.ageMin,\n      xEnd: d => d.ageMax,\n      y: () => 0,\n      yEnd: d => d.rate,\n      barClassName: 'test-bar-class-name',\n      barStyle: { fill: 'red' },\n      onMouseEnterBar: () => {},\n      onMouseMoveBar: () => {},\n      onMouseLeaveBar: () => {},\n    };\n\n    it('when horizontal is false', () => {\n      // renders individual RangeRects for the length of data\n      const chart = mount(<AreaBarChart {...props} />);\n      const group = chart.find('g');\n      const rangeRects = chart.find(RangeRect);\n      expect(group).toHaveLength(1);\n      expect(rangeRects).toHaveLength(props.data.length);\n\n      // sets / transforms props correctly for vertical bar chart\n      expect(rangeRects.at(0).props().xScale).toEqual(props.xScale);\n      expect(rangeRects.at(0).props().yScale).toEqual(props.yScale);\n      expect(rangeRects.at(0).props().className).toContain(props.barClassName);\n      expect(rangeRects.at(0).props().style).toEqual(props.barStyle);\n      expect(rangeRects.at(0).props().x).toEqual(\n        getValue(props.x, props.data[0]),\n      );\n      expect(rangeRects.at(0).props().xEnd).toEqual(\n        getValue(props.xEnd, props.data[0]),\n      );\n      expect(rangeRects.at(0).props().y).toEqual(0);\n      expect(rangeRects.at(0).props().yEnd).toEqual(\n        getValue(props.y, props.data[0]),\n      );\n    });\n\n    it('when horizontal is true', () => {\n      // check that correct props are passed through in horizontal case\n      const horizontalProps = { ...props, horizontal: true };\n\n      const horizontalAreaBarChart = mount(\n        <AreaBarChart {...horizontalProps} />,\n      );\n      const horizontalRangeRects = horizontalAreaBarChart.find(RangeRect);\n\n      expect(horizontalRangeRects.at(0).props().x).toEqual(0);\n      expect(horizontalRangeRects.at(0).props().xEnd).toEqual(\n        getValue(props.x, props.data[0]),\n      );\n      expect(horizontalRangeRects.at(0).props().y).toEqual(\n        getValue(props.y, props.data[0]),\n      );\n      expect(horizontalRangeRects.at(0).props().yEnd).toEqual(\n        getValue(props.yEnd, props.data[0]),\n      );\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/AreaChart.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\nimport _ from 'lodash';\nimport { AreaChart } from '../../../src';\n\nimport { combineDatasets } from '../../../src/utils/Data.js';\n\nfunction randomWalk(length = 100, start = 0, variance = 10) {\n  return _.reduce(\n    _.range(length - 1),\n    sequence => {\n      return sequence.concat(_.last(sequence) + _.random(-variance, variance));\n    },\n    [start],\n  );\n}\n\nfunction randomWalkTimeSeries(\n  length = 100,\n  start = 0,\n  variance = 10,\n  startDate = new Date(2015, 0, 1),\n) {\n  let date = startDate;\n  return randomWalk(length, start, variance).map(n => {\n    date = new Date(date.getTime() + 24 * 60 * 60 * 1000);\n    return [date, n];\n  });\n}\n\ndescribe('AreaChart', () => {\n  const areaChartProps = {\n    data: _.range(41),\n    x: d => d,\n    y: d => Math.sin(d / 10) * 10,\n    yEnd: d => Math.cos((d + 1) / 10) * 10,\n    pathClassName: 'my-path',\n    xScale: scaleLinear().domain([0, 41]),\n    yScale: scaleLinear().domain([0, 10]),\n    pathStyle: { fill: 'red' },\n  };\n\n  const data1 = randomWalkTimeSeries(115).map(([x, y]) => ({ x, y }));\n  const data2 = randomWalkTimeSeries(115).map(([x, y]) => ({ x, y }));\n\n  // we have two datasets, but AreaChart takes one combined dataset\n  // so combine the two datasets into one using the combineDatasets utility function\n  // (from 'reactochart/utils/Data')\n  const combined = combineDatasets(\n    [\n      { data: data1, combineKey: 'x', dataKeys: { y: 'y0' } },\n      { data: data2, combineKey: 'x', dataKeys: { y: 'y1' } },\n    ],\n    'x',\n  );\n\n  const differenceAreaChartProps = {\n    data: combined,\n    isDifference: true,\n    pathStylePositive: { fill: 'blue' },\n    pathStyleNegative: { fill: 'green' },\n    x: d => d.x,\n    y: d => d.y0,\n    yEnd: d => d.y1,\n  };\n\n  it('passes props correctly to path', () => {\n    let chart = mount(<AreaChart {...areaChartProps} />);\n    let path = chart.find('path');\n\n    expect(path.props().className).toContain('my-path');\n    expect(path.props().style).toEqual(areaChartProps.pathStyle);\n\n    chart = mount(\n      <AreaChart {...areaChartProps} {...differenceAreaChartProps} />,\n    );\n    path = chart.find('path');\n\n    path.forEach((p, index) => {\n      if (index < 2) {\n        expect(p.props().className).not.toContain(\n          areaChartProps.pathClassName,\n        );\n      } else if (index === 3) {\n        expect(p.props().style.fill).toEqual(\n          differenceAreaChartProps.pathStyleNegative.fill,\n        );\n        expect(p.props().className).toContain(areaChartProps.pathClassName);\n      } else {\n        expect(p.props().style.fill).toEqual(\n          differenceAreaChartProps.pathStylePositive.fill,\n        );\n        expect(p.props().className).toContain(areaChartProps.pathClassName);\n      }\n    });\n  });\n\n  it('renders the expected group and the expected number of paths', () => {\n    let chart = mount(<AreaChart {...areaChartProps} />);\n    let path = chart.find('path');\n    let group = chart.find('g');\n\n    expect(group.length).toEqual(1);\n    expect(group.props().className).toEqual('rct-area-chart');\n    expect(path.length).toEqual(1);\n\n    chart = mount(\n      <AreaChart {...areaChartProps} {...differenceAreaChartProps} />,\n    );\n    path = chart.find('path');\n    group = chart.find('g');\n\n    expect(group.length).toEqual(1);\n    expect(group.props().className).toEqual('rct-area-chart--difference');\n    expect(path.length).toEqual(4);\n  });\n\n  it('getDomain returns correctly', () => {\n    const domainProps = {\n      data: _.range(10),\n      x: x => x,\n      y: () => 0,\n      yEnd: d => d + 2,\n    };\n    const domain = { yDomain: [0, 11] };\n\n    expect(AreaChart.getDomain(domainProps)).toEqual(domain);\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/AreaHeatmap.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { AreaHeatmap } from '../../../src';\n\ndescribe('AreaHeatmap', () => {\n  const gridData = _.range(30).map(m => {\n    return _.range(30).map(n => {\n      return {\n        x: n,\n        xEnd: n + 1,\n        y: m,\n        yEnd: m + 1,\n        value: Math.sin(m * n * 0.01),\n      };\n    });\n  });\n  const data = _.flatten(gridData);\n  const props = {\n    data,\n    area: d => d.value,\n    x: d => d.x,\n    xEnd: d => d.xEnd,\n    y: d => d.y,\n    yEnd: d => d.yEnd,\n    rectClassName: 'rect-class',\n    xScale: scaleLinear()\n      .domain([-1, 0, 1])\n      .range([0, 30]),\n    yScale: scaleLinear()\n      .domain([0, 10])\n      .range([0, 30]),\n    onMouseMove: jest.fn(),\n    onMouseEnter: jest.fn(),\n    onMouseLeave: jest.fn(),\n    rectStyle: { fill: 'rebeccapurple' },\n  };\n\n  it('renders a color heatmap', () => {\n    const chart = mount(<AreaHeatmap {...props} />);\n    const group = chart.find('g.rct-area-heatmap-chart');\n    expect(group).toHaveLength(1);\n    expect(group.find('rect').length).toBeGreaterThan(1);\n  });\n\n  it('passes props correctly', () => {\n    const chart = mount(<AreaHeatmap {...props} />);\n    const lastRect = chart.find('rect').last();\n\n    expect(typeof chart.props().onMouseMove).toBe('function');\n    expect(typeof chart.props().onMouseEnter).toBe('function');\n    expect(typeof chart.props().onMouseLeave).toBe('function');\n\n    expect(typeof lastRect.props().x).toBe('number');\n    expect(typeof lastRect.props().y).toBe('number');\n    expect(typeof lastRect.props().width).toBe('number');\n    expect(typeof lastRect.props().height).toBe('number');\n    expect(lastRect.props().className).toContain(props.rectClassName);\n    expect(lastRect.props().style).toEqual(props.rectStyle);\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<AreaHeatmap {...props} />);\n    expect(chart.props().onMouseMove).not.toHaveBeenCalled();\n    chart.simulate('mousemove');\n    expect(chart.props().onMouseMove).toHaveBeenCalled();\n    expect(chart.props().onMouseEnter).not.toHaveBeenCalled();\n    chart.simulate('mouseenter');\n    expect(chart.props().onMouseEnter).toHaveBeenCalled();\n    expect(chart.props().onMouseLeave).not.toHaveBeenCalled();\n    chart.simulate('mouseleave');\n    expect(chart.props().onMouseLeave).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/AriaLabelContainer.spec.js",
    "content": "import React from 'react';\nimport { mount } from 'enzyme';\nimport { scaleLinear } from 'd3-scale';\n\nimport { AriaLabelContainer } from '../../../src';\n\nconst onKeyDown = jest.fn();\nconst ariaLabelGenerator = xValue => `xValue: ${xValue}`;\nconst data0 = [{ x: 1, y: 0 }, { x: 2, y: 0 }, { x: 3, y: 0 }, { x: 4, y: 0 }];\nconst data1 = [{ val: 0, y: 0 }, { val: 1, y: 0 }, { val: 2, y: 0 }];\nconst props = {\n  ariaLabelGenerator,\n  onKeyDown,\n  height: 50,\n  width: 100,\n  xScale: scaleLinear()\n    .domain([0, 4])\n    .range([0, 100]),\n  datasetWithAccessor: [\n    {\n      data: data0,\n      accessor: d => d.x,\n    },\n  ],\n};\n\nconst numFrames = data0.length;\n\ndescribe('AriaLabelContainer', () => {\n  beforeEach(() => {\n    jest.clearAllMocks();\n  });\n\n  it('renders and passes props correctly to AriaLabelContainer', () => {\n    const chart = mount(<AriaLabelContainer {...props} />);\n    const group = chart.find('g');\n    const rects = chart.find('rect');\n\n    expect(group).toHaveLength(1);\n    expect(rects).toHaveLength(numFrames);\n\n    expect(rects.at(0).props().height).toEqual(props.height);\n    expect(rects.at(0).props().width).toEqual(props.width / (numFrames - 1));\n    expect(rects.at(0).props()['aria-label']).toEqual(\n      ariaLabelGenerator(data0[0].x),\n    );\n  });\n\n  it('renders the last rect at the same position as the second-to-last if last value is end of domain', () => {\n    const chart = mount(<AriaLabelContainer {...props} />);\n    const rects = chart.find('rect');\n\n    expect(rects.at(numFrames - 1).props().x).toEqual(\n      rects.at(numFrames - 2).props().x,\n    );\n  });\n\n  it('renders the last rect at a different location if before the end of the domain', () => {\n    const chart = mount(\n      <AriaLabelContainer\n        {...props}\n        datasetWithAccessor={[{ data: data1, accessor: d => d.val }]}\n      />,\n    );\n    const rects = chart.find('rect');\n\n    expect(rects.at(data1.length - 1).props().x).not.toEqual(\n      rects.at(data1.length - 2).props().x,\n    );\n  });\n\n  it('renders the proper amount of rectangles given two datasets', () => {\n    const chart = mount(\n      <AriaLabelContainer\n        {...props}\n        datasetWithAccessor={[\n          ...props.datasetWithAccessor,\n          { data: data1, accessor: d => d.val },\n        ]}\n      />,\n    );\n    const rects = chart.find('rect');\n\n    expect(rects).toHaveLength(5);\n  });\n\n  it('triggers an action on key press', () => {\n    const chart = mount(<AriaLabelContainer {...props} />);\n    const rects = chart.find('rect');\n    expect(onKeyDown).not.toHaveBeenCalled();\n    rects.at(0).simulate('keydown');\n    expect(onKeyDown).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/Bar.spec.js",
    "content": "import React from 'react';\nimport { scalePoint, scaleLinear } from 'd3-scale';\nimport { mount, shallow } from 'enzyme';\n\nimport { Bar } from '../../../src';\n\ndescribe('Bar', () => {\n  let horizontalBarProps;\n  let verticalBarProps;\n\n  beforeEach(() => {\n    verticalBarProps = {\n      xScale: scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      x: 'a',\n      y: 0,\n      yEnd: 1,\n      thickness: 10,\n    };\n\n    horizontalBarProps = {\n      xScale: scaleLinear()\n        .domain([0, 1])\n        .range([0, 100]),\n      yScale: scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([100, 0]),\n      x: 0.2,\n      xEnd: 0.9,\n      y: 'c',\n      thickness: 12,\n    };\n  });\n\n  it('renders a basic vertical bar correctly', () => {\n    const bar = shallow(\n      <Bar\n        xScale={scalePoint()\n          .domain(['a', 'b', 'c'])\n          .range([0, 100])}\n        yScale={scaleLinear()\n          .domain([0, 1])\n          .range([100, 0])}\n        x=\"b\"\n        y={0.25}\n        yEnd={0.75}\n        thickness={20}\n      />,\n    );\n\n    const rect = bar.find('rect');\n    expect(rect).toHaveLength(1);\n\n    const rectProps = rect.props();\n    expect(rectProps.className).toContain('rct-chart-bar');\n    expect(rectProps.className).toContain('rct-chart-bar-vertical');\n    expect(rectProps.x).toEqual(50 - 20 / 2);\n    expect(rectProps.y).toEqual(25);\n    expect(rectProps.height).toEqual(50);\n    expect(rectProps.width).toEqual(20);\n  });\n\n  it('renders a basic horizontal bar correctly', () => {\n    const bar = shallow(\n      <Bar\n        xScale={scaleLinear()\n          .domain([0, 1])\n          .range([0, 100])}\n        yScale={scalePoint()\n          .domain(['a', 'b', 'c'])\n          .range([100, 0])}\n        x={0.1}\n        xEnd={0.7}\n        y=\"b\"\n        thickness={20}\n      />,\n    );\n\n    const rect = bar.find('rect');\n    expect(rect).toHaveLength(1);\n\n    const rectProps = rect.props();\n    expect(rectProps.className).toContain('rct-chart-bar');\n    expect(rectProps.className).toContain('rct-chart-bar-horizontal');\n    expect(rectProps.x).toEqual(10);\n    expect(rectProps.y).toEqual(50 - 20 / 2);\n    expect(rectProps.height).toEqual(20);\n    expect(rectProps.width).toEqual(60);\n  });\n\n  it('has a thickness prop which controls the thickness of the bar', () => {\n    // verticalBar\n    const verticalBar = shallow(<Bar {...verticalBarProps} />);\n    expect(verticalBar.find('rect')).toHaveLength(1);\n    expect(verticalBar.find('rect').props().width).toEqual(10);\n\n    const thickVerticalBar = shallow(\n      <Bar {...verticalBarProps} thickness={40} />,\n    );\n    expect(thickVerticalBar.find('rect')).toHaveLength(1);\n    expect(thickVerticalBar.find('rect').props().width).toEqual(40);\n\n    // horizontalBar\n    const horizontalBar = shallow(<Bar {...horizontalBarProps} />);\n    expect(horizontalBar.find('rect')).toHaveLength(1);\n    expect(horizontalBar.find('rect').props().height).toEqual(12);\n\n    const thickHorizontalBar = shallow(\n      <Bar {...horizontalBarProps} thickness={56} />,\n    );\n    expect(thickHorizontalBar.find('rect')).toHaveLength(1);\n    expect(thickHorizontalBar.find('rect').props().height).toEqual(56);\n  });\n\n  it(\"passes className and style props through to the bar's rectangle element\", () => {\n    const barProps = {\n      className: 'foo-bar-test-class',\n      style: { fill: 'thistle' },\n    };\n\n    const verticalBar = shallow(<Bar {...verticalBarProps} {...barProps} />);\n    const rect = verticalBar.find('rect');\n    expect(rect).toHaveLength(1);\n    expect(rect.props().className).toContain('foo-bar-test-class');\n    expect(rect.props().style).toEqual(barProps.style);\n  });\n\n  it(\"attaches onMouseMove, onMouseEnter and onMouseLeave handlers to the bar's rectangle\", () => {\n    const barProps = {\n      onMouseMove: jest.fn(),\n      onMouseEnter: jest.fn(),\n      onMouseLeave: jest.fn(),\n      onClick: jest.fn(),\n    };\n\n    const bar = mount(<Bar {...verticalBarProps} {...barProps} />);\n    const rect = bar.find('rect');\n\n    expect(barProps.onMouseEnter).not.toHaveBeenCalled();\n    rect.simulate('mouseenter');\n    expect(barProps.onMouseEnter).toHaveBeenCalledTimes(1);\n\n    expect(barProps.onMouseMove).not.toHaveBeenCalled();\n    rect.simulate('mousemove');\n    expect(barProps.onMouseMove).toHaveBeenCalledTimes(1);\n\n    expect(barProps.onMouseLeave).not.toHaveBeenCalled();\n    rect.simulate('mouseleave');\n    expect(barProps.onMouseLeave).toHaveBeenCalledTimes(1);\n\n    expect(barProps.onClick).not.toHaveBeenCalled();\n    rect.simulate('click');\n    expect(barProps.onClick).toHaveBeenCalledTimes(1);\n  });\n\n  it('throws an error if x/y scale(s) are missing or invalid', () => {\n    const barProps = { x: 'a', y: 0, yEnd: 1 };\n    const xScale = scalePoint()\n      .domain(['a', 'b', 'c'])\n      .range([0, 100]);\n    const yScale = scaleLinear()\n      .domain([0, 1])\n      .range([100, 0]);\n\n    // throw if no scale prop passed\n    expect(() => {\n      shallow(<Bar {...barProps} />);\n    }).toThrowError();\n    // throw if one scale is missing\n    expect(() => {\n      shallow(<Bar {...{ ...barProps, xScale }} />);\n    }).toThrowError();\n    // don't throw if both are provided\n    expect(() => {\n      shallow(<Bar {...{ ...barProps, xScale, yScale }} />);\n    }).not.toThrowError();\n  });\n\n  it('throws an error if exactly ONE of xEnd OR yEnd are not provided', () => {\n    const barProps = {\n      xScale: scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      x: 'a',\n      y: 0,\n    };\n\n    // throw if neither xEnd or yEnd passed\n    expect(() => {\n      shallow(<Bar {...barProps} />);\n    }).toThrowError();\n    // throw if both xEnd and yEnd passed\n    expect(() => {\n      shallow(<Bar {...{ ...barProps, xEnd: 'b', yEnd: 1 }} />);\n    }).toThrowError();\n    // OK if one or other is passed\n    expect(() => {\n      shallow(<Bar {...{ ...barProps, xEnd: 'b' }} />);\n    }).not.toThrowError();\n    expect(() => {\n      shallow(<Bar {...{ ...barProps, yEnd: 1 }} />);\n    }).not.toThrowError();\n  });\n\n  it('displays the x values when showLabel is true', () => {\n    const horizontalBarWithText = {\n      ...horizontalBarProps,\n      showLabel: true,\n    };\n\n    const horizontalBar = shallow(<Bar {...horizontalBarWithText} />);\n    expect(horizontalBar.find('rect')).toHaveLength(1);\n    expect(horizontalBar.find('rect').props().height).toEqual(12);\n    expect(horizontalBar.find('text')).toHaveLength(1);\n\n    const verticalBarWithText = {\n      ...verticalBarProps,\n      showLabel: true,\n    };\n\n    const verticalBar = shallow(<Bar {...verticalBarWithText} />);\n    expect(verticalBar.find('rect')).toHaveLength(1);\n    expect(verticalBar.find('rect').props().width).toEqual(10);\n    expect(horizontalBar.find('text')).toHaveLength(1);\n  });\n\n  it(\"passes labelClassName through to the bar's text element\", () => {\n    const verticalProps = {\n      ...verticalBarProps,\n      labelClassName: 'foo-bar-test-class',\n      showLabel: true,\n    };\n\n    const verticalBar = shallow(<Bar {...verticalProps} />);\n    const text = verticalBar.find('text');\n    expect(text).toHaveLength(1);\n    expect(text.props().className).toContain('foo-bar-test-class');\n  });\n\n  it(\"passes labelFormat through to the bar's text value\", () => {\n    const verticalProps = {\n      ...verticalBarProps,\n      showLabel: true,\n      labelFormat: d => `${d}%`,\n    };\n\n    const verticalBar = shallow(<Bar {...verticalProps} />);\n    const text = verticalBar.find('text');\n    expect(text).toHaveLength(1);\n    expect(text.props().children).toEqual('1%');\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/BarChart.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear, scalePoint } from 'd3-scale';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { testWithScales, expectProps } from '../utils';\nimport { BarChart, RangeBarChart } from '../../../src';\n\ndescribe('BarChart', () => {\n  it('passes most props through to RangeBarChart', () => {\n    // bar chart is just a simple wrapper around RangeBarChart, most props are passed through\n    const props = {\n      xScale: scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [['a', 0.25], ['b', 0.5], ['c', 0.67]],\n      x: d => d[0],\n      y: d => d[1],\n      barThickness: 13,\n      horizontal: false,\n      barClassName: 'test-bar-class-name',\n      barStyle: { fill: 'red' },\n      getClass: () => 'test',\n      onMouseEnterBar: () => 'onMouseEnterBar',\n      onMouseMoveBar: () => 'onMouseMoveBar',\n      onMouseLeaveBar: () => 'onMouseLeaveBar',\n    };\n\n    const chart = mount(<BarChart {...props} />);\n    const rangeBarChart = chart.find(RangeBarChart);\n    // all props should be passed through as-is *except* y\n    expectProps(rangeBarChart, _.omit(props, ['y']));\n\n    // vertical bar chart - y is passed to RangeBarChart as yEnd\n    expect(rangeBarChart.props().yEnd).toEqual(props.y);\n\n    // check that correct props are passed through in horizontal case\n    const horizontalProps = { ...props, horizontal: true };\n\n    const horizontalChart = mount(<BarChart {...horizontalProps} />);\n    const horizontalRangeBarChart = horizontalChart.find(RangeBarChart);\n\n    // all props should be passed through as-is *except* x\n    expectProps(horizontalRangeBarChart, _.omit(horizontalProps, ['x']));\n\n    // vertical bar chart - x is passed to RangeBarChart as xEnd\n    expect(horizontalRangeBarChart.props().xEnd).toEqual(horizontalProps.x);\n  });\n\n  it('renders a bar chart with categorical X data & numerical Y data', () => {\n    // make simple bar chart with 3 datapoints to make sure it renders correctly\n    // this is more of an integration test/sanity check;\n    // most tests for render correctness are in RangeBarChart and Bar specs\n\n    testWithScales(\n      ['linear', 'ordinal'],\n      ({ scale: xScale, testValues: xTestValues }) => {\n        testWithScales(\n          ['linear'],\n          ({ scale: yScale, testValues: yTestValues }) => {\n            const props = {\n              xScale,\n              yScale,\n              data: _.zip(_.take(xTestValues, 3), _.take(yTestValues, 3)),\n              x: d => d[0],\n              y: d => d[1],\n              barThickness: 10,\n            };\n\n            const chart = mount(<BarChart {...props} />);\n            const group = chart.find('g');\n            const bars = chart.find('rect');\n            expect(group).toHaveLength(1);\n            expect(bars).toHaveLength(3);\n\n            [0, 1, 2].forEach(i => {\n              const barProps = bars.at(i).props();\n              expect(barProps.x).toEqual(\n                xScale(xTestValues[i]) - props.barThickness / 2,\n              );\n              expect(barProps.width).toEqual(props.barThickness);\n              const yZero = yScale(0);\n              const yVal = yScale(yTestValues[i]);\n              expect(barProps.y).toEqual(Math.min(yZero, yVal));\n              expect(barProps.height).toEqual(Math.abs(yVal - yZero));\n            });\n          },\n        );\n      },\n    );\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/ColorHeatmap.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { ColorHeatmap, RangeRect } from '../../../src';\nimport { getValue } from '../../../src/utils/Data.js';\n\ndescribe('ColorHeatmap', () => {\n  const gridData = _.range(30).map(m => {\n    return _.range(30).map(n => {\n      return {\n        x: n,\n        xEnd: n + 1,\n        y: m,\n        yEnd: m + 1,\n        value: Math.sin(m * n * 0.01),\n      };\n    });\n  });\n  const data = _.flatten(gridData);\n  const props = {\n    data,\n    value: d => d.value,\n    x: d => d.x,\n    xEnd: d => d.xEnd,\n    y: d => d.y,\n    yEnd: d => d.yEnd,\n    xScale: scaleLinear()\n      .domain([-1, 0, 1])\n      .range([0, 30]),\n    yScale: scaleLinear()\n      .domain([0, 10])\n      .range([0, 30]),\n    colors: ['rebeccapurple', 'goldenrod'],\n    interpolator: 'lab',\n    rectClassName: 'rect-class',\n  };\n\n  it('renders a color heatmap', () => {\n    const chart = mount(<ColorHeatmap {...props} />);\n    const rangeRects = chart.find(RangeRect);\n    expect(rangeRects).toHaveLength(props.data.length);\n  });\n\n  it('passes props correctly', () => {\n    const chart = mount(<ColorHeatmap {...props} />);\n\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().x,\n    ).toEqual(getValue(props.x, props.data[0]));\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().xEnd,\n    ).toEqual(getValue(props.xEnd, props.data[0]));\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().y,\n    ).toEqual(getValue(props.y, props.data[0]));\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().yEnd,\n    ).toEqual(getValue(props.yEnd, props.data[0]));\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().xScale,\n    ).toEqual(props.xScale);\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().yScale,\n    ).toEqual(props.yScale);\n    expect(\n      chart\n        .find(RangeRect)\n        .first()\n        .props().className,\n    ).toEqual(props.rectClassName);\n  });\n\n  it('sets the color scale to the prop value when colorScale prop is passed', () => {\n    const propsWithColorScale = { ...props, colorScale: () => 'rgb' };\n    const updatedChart = mount(<ColorHeatmap {...propsWithColorScale} />);\n\n    expect(\n        updatedChart\n            .find(RangeRect)\n            .first()\n            .props().style,\n    ).toHaveProperty('fill', 'rgb');\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/FunnelChart.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\n\nimport { FunnelChart } from '../../../src';\n\ndescribe('FunnelChart', () => {\n  const funnelData = [\n    { observation: 1, value: 100 },\n    { observation: 2, value: 85 },\n    { observation: 3, value: 42 },\n    { observation: 4, value: 37 },\n    { observation: 5, value: 12 },\n  ];\n\n  const props = {\n    data: funnelData,\n    x: d => d.value,\n    y: d => d.observation,\n    pathClassName: 'path-class',\n    horizontal: true,\n    xScale: scaleLinear()\n      .domain([-1, 0, 1])\n      .range([0, 30]),\n    yScale: scaleLinear()\n      .domain([0, 10])\n      .range([0, 30]),\n    pathStyle: { fill: 'yellow' },\n  };\n\n  it('renders a funnel chart', () => {\n    const chart = mount(<FunnelChart {...props} />);\n    const group = chart.find('g.rct-funnel-chart');\n    expect(group).toHaveLength(1);\n    expect(group.find('path')).toHaveLength(props.data.length - 1);\n\n    group.find('path').forEach(path => {\n      const pathD = path.instance().getAttribute('d');\n\n      expect(pathD).not.toContain('NaN');\n    });\n\n    const lastPath = group.find('path').last();\n    const pathData = lastPath.instance().getAttribute('d');\n    expect(pathData).toEqual('M1140,12L390,15L-330,15L-1080,12Z');\n  });\n\n  it('passes props correctly', () => {\n    const chart = mount(<FunnelChart {...props} />);\n    const lastPath = chart.find('path').last();\n    expect(lastPath.props().className).toContain(props.pathClassName);\n    expect(lastPath.props().style).toHaveProperty('fill', props.pathStyle.fill);\n    expect(typeof lastPath.props().d).toBe('string');\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/Histogram.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { expectProps } from '../utils';\nimport { Histogram, AreaBarChart } from '../../../src';\n\ndescribe('Histogram', () => {\n  it('it passes most props through to AreaBarChart', () => {\n    // histogram is a wrapper around AreaBarChart\n    const props = {\n      xScale: scaleLinear()\n        .domain([-1, 0, 1])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 10])\n        .range([100, 0]),\n      data: [-1, 0, 1, -1, 0, 1, 1, 1],\n      value: x => {\n        return x;\n      },\n      thresholds: 3,\n      nice: true,\n      barClassName: 'test-bar-class-name',\n      barStyle: { fill: 'red' },\n      onMouseEnterBar: () => 'onMouseEnterBar',\n      onMouseMoveBar: () => 'onMouseMoveBar',\n      onMouseLeaveBar: () => 'onMouseLeaveBar',\n    };\n\n    const histogram = mount(<Histogram {...props} />);\n    const areaBarChart = histogram.find(AreaBarChart);\n\n    const parsedProps = {\n      ...props,\n      data: Histogram.computeHistogram(\n        props.data,\n        props.thresholds,\n        props.value,\n        null,\n        props.nice,\n      ),\n    };\n\n    // Omit data since expectProps will check for reference equality on the data instead of\n    expectProps(areaBarChart, _.omit(parsedProps, ['data']));\n    // Check value of data prop is equal\n    expect(areaBarChart.props().data).toEqual(parsedProps.data);\n  });\n\n  it('renders histogram', () => {\n    // histogram is a wrapper around AreaBarChart\n    const props = {\n      xScale: scaleLinear()\n        .domain([-1, 0, 1])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 10])\n        .range([100, 0]),\n      data: [-1, 0, 1, -1, 0, 1, 1, 1],\n      value: x => {\n        return x;\n      },\n      nice: true,\n      thresholds: 3,\n      barClassName: 'test-bar-class-name',\n      barStyle: { fill: 'red' },\n      onMouseEnterBar: () => 'onMouseEnterBar',\n      onMouseMoveBar: () => 'onMouseMoveBar',\n      onMouseLeaveBar: () => 'onMouseLeaveBar',\n    };\n\n    const histogram = mount(<Histogram {...props} />);\n    const group = histogram.find('g');\n    const bars = group.find('rect');\n\n    // histogram creates 4 bars\n    expect(bars).toHaveLength(4);\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/LineChart.spec.js",
    "content": "import { scaleLinear, scaleTime, scalePoint } from 'd3-scale';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport { LineChart, XYPlot } from '../../../src';\n\ndescribe('LineChart', () => {\n  it('passes props correctly to group and path elements', () => {\n    const props = {\n      xScale: scaleLinear()\n        .domain([0, 2])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [[0, 0.5], [1, 1], [2, 0.25]],\n      x: d => d[0],\n      y: d => d[1],\n      lineClassName: 'my-line',\n      lineStyle: { fill: 'blue' },\n    };\n    const chart = mount(<LineChart {...props} />);\n    const group = chart.find('g');\n    const path = chart.find('path');\n\n    expect(path.props().style).toEqual(props.lineStyle);\n    expect(group.props().className).toContain(props.lineClassName);\n  });\n\n  it('renders a line with number X & Y scales', () => {\n    // make simple number-number line chart with 3 datapoints\n    const props = {\n      xScale: scaleLinear()\n        .domain([0, 2])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [[0, 0.5], [1, 1], [2, 0.25]],\n      x: d => d[0],\n      y: d => d[1],\n    };\n\n    // ensure line is drawn as expected\n    const chart = mount(<LineChart {...props} />);\n    const path = chart.find('path');\n    const pathData = path.instance().getAttribute('d');\n    expect(pathData).toEqual('M0,50L50,0L100,75');\n  });\n\n  it('renders a line with time X scale and number Y scale', () => {\n    // make simple number-time line chart with 3 datapoints\n    const props = {\n      xScale: scaleTime()\n        .range([0, 100])\n        .domain([\n          new Date('2015-01-01T00:00:00.000Z'),\n          new Date('2015-01-03T00:00:00.000Z'),\n        ]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [\n        [new Date('2015-01-01T00:00:00.000Z'), 0.5],\n        [new Date('2015-01-02T00:00:00.000Z'), 1],\n        [new Date('2015-01-03T00:00:00.000Z'), 0.25],\n      ],\n      x: d => d[0],\n      y: d => d[1],\n    };\n\n    // ensure line is drawn as expected\n    const chart = mount(<LineChart {...props} />);\n    const path = chart.find('path');\n    const pathData = path.instance().getAttribute('d');\n    expect(pathData).toEqual('M0,50L50,0L100,75');\n  });\n\n  it('renders a line with ordinal X scale and number Y scale', () => {\n    // make simple number-time line chart with 3 datapoints\n    const props = {\n      xScale: scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]),\n      yScale: scaleLinear()\n        .domain([0, 1])\n        .range([100, 0]),\n      data: [['a', 0.5], ['b', 1], ['c', 0.25]],\n      x: d => d[0],\n      y: d => d[1],\n    };\n\n    // ensure line is drawn as expected\n    const chart = mount(<LineChart {...props} />);\n    const path = chart.find('path');\n    const pathData = path.instance().getAttribute('d');\n    expect(pathData).toEqual('M0,50L50,0L100,75');\n  });\n\n  it('renders a line chart within an XYPlot', () => {\n    const xyProps = { width: 100, height: 100 };\n    const lineProps = {\n      data: [[0, 0.5], [1, 1], [2, 0.25]],\n      x: d => d[0],\n      y: d => d[1],\n    };\n\n    const chart = mount(\n      <XYPlot {...xyProps}>\n        <LineChart {...lineProps} />\n      </XYPlot>,\n    );\n\n    const path = chart.find('path');\n    expect(path).toHaveLength(1);\n    const pathData = path.instance().getAttribute('d');\n    expect(pathData).not.toContain('NaN');\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/MarkerLineChart.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { MarkerLineChart } from '../../../src';\n\ndescribe('MarkerLineChart', () => {\n  const props = {\n    xScale: scaleLinear().domain([0, 30]),\n    yScale: scaleLinear().domain([0, 1]),\n    data: _.range(30),\n    x: d => d,\n    y: d => d + 5,\n    lineClassName: 'my-line',\n    lineStyle: { fill: 'blue' },\n    onMouseEnterLine: jest.fn(),\n    onMouseMoveLine: jest.fn(),\n    onMouseLeaveLine: jest.fn(),\n  };\n\n  it('passes props correctly to line elements', () => {\n    let chart = mount(<MarkerLineChart {...props} />);\n    let lines = chart.find('line');\n\n    lines.forEach(line => {\n      expect(line.props().className).toContain(props.lineClassName);\n      expect(line.props().style).toEqual(props.lineStyle);\n    });\n\n    // test with xEnd and yEnd\n    chart = mount(<MarkerLineChart {...props} xEnd={d => d + 10} />);\n    lines = chart.find('line');\n\n    lines.forEach(line => {\n      expect(line.props().className).toContain(props.lineClassName);\n      expect(line.props().style).toEqual(props.lineStyle);\n    });\n\n    // test with xEnd and yEnd\n    chart = mount(<MarkerLineChart {...props} horizontal yEnd={d => d + 10} />);\n    lines = chart.find('line');\n\n    lines.forEach(line => {\n      expect(line.props().className).toContain(props.lineClassName);\n      expect(line.props().style).toEqual(props.lineStyle);\n    });\n  });\n\n  it('renders the correct amount of group and line elements and has proper width/height', () => {\n    let chart = mount(<MarkerLineChart {...props} />);\n    let lines = chart.find('line');\n    const group = chart.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(lines).toHaveLength(props.data.length);\n    lines.forEach(line => {\n      expect(Math.abs(line.props().x2 - line.props().x1)).toEqual(10);\n    });\n\n    // test with xEnd and yEnd\n    const xEnd = d => d + 10;\n    chart = mount(<MarkerLineChart {...props} xEnd={xEnd} />);\n    lines = chart.find('line');\n\n    lines.forEach((line, idx) => {\n      const d = props.data[idx];\n      const difference = Math.abs(\n        props.xScale(props.x(d)) - props.xScale(xEnd(d)),\n      );\n\n      expect(Math.abs(line.props().x2 - line.props().x1)).toEqual(difference);\n    });\n\n    const yEnd = d => d + 10;\n    chart = mount(<MarkerLineChart {...props} horizontal yEnd={yEnd} />);\n    lines = chart.find('line');\n\n    lines.forEach((line, idx) => {\n      const d = props.data[idx];\n      const difference = Math.abs(\n        props.yScale(props.y(d)) - props.yScale(yEnd(d)),\n      );\n\n      expect(Math.abs(line.props().y2 - line.props().y1)).toEqual(difference);\n    });\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<MarkerLineChart {...props} />);\n    const line = chart.find('line').first();\n\n    expect(props.onMouseMoveLine).not.toHaveBeenCalled();\n    line.simulate('mousemove');\n    expect(props.onMouseMoveLine).toHaveBeenCalled();\n    expect(props.onMouseEnterLine).not.toHaveBeenCalled();\n    line.simulate('mouseenter');\n    expect(props.onMouseEnterLine).toHaveBeenCalled();\n    expect(props.onMouseLeaveLine).not.toHaveBeenCalled();\n    line.simulate('mouseleave');\n    expect(props.onMouseLeaveLine).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/PieChart.spec.js",
    "content": "import React from 'react';\nimport { mount } from 'enzyme';\n\nimport { PieChart } from '../../../src';\n\ndescribe('PieChart', () => {\n  const props = {\n    data: [45, 35, 20],\n    radius: 100,\n    holeRadius: 50,\n    pieSliceClassName: 'my-pie-slice',\n    centerLabel: 'Woot',\n    centerLabelClassName: 'my-center-label',\n    centerLabelStyle: {\n      textAnchor: 'middle',\n      dominantBaseline: 'center',\n      fill: 'blue',\n    },\n    onMouseEnterSlice: jest.fn(),\n    onMouseMoveSlice: jest.fn(),\n    onMouseLeaveSlice: jest.fn(),\n    onClick: jest.fn(),\n  };\n\n  const markerLineProps = {\n    markerLineValue: 20,\n    markerLineClassName: 'my-marker-line',\n    markerLineStyle: {\n      fill: 'blue',\n    },\n    onMouseEnterLine: jest.fn(),\n    onMouseMoveLine: jest.fn(),\n    onMouseLeaveLine: jest.fn(),\n  };\n\n  it('passes props correctly to path and text elements', () => {\n    const chart = mount(<PieChart {...props} {...markerLineProps} />);\n    const paths = chart.find('path');\n    const text = chart.find('text');\n\n    paths.forEach(path => {\n      const className = path.props().className;\n      // Check if markerline vs pie slice\n      if (className.includes('rct-marker-line')) {\n        expect(className).toContain(markerLineProps.markerLineClassName);\n        expect(path.props().style).toEqual(markerLineProps.markerLineStyle);\n      } else {\n        expect(className).toContain(props.pieSliceClassName);\n      }\n    });\n\n    expect(text.props().className).toContain(props.centerLabelClassName);\n    expect(text.props().style).toEqual(props.centerLabelStyle);\n  });\n\n  it('correctly calculates width and height given margins', () => {\n    const chart = mount(\n      <PieChart\n        {...props}\n        radius={50}\n        marginLeft={50}\n        marginRight={50}\n        marginTop={50}\n        marginBottom={50}\n      />,\n    );\n    const svg = chart.find('svg');\n\n    expect(svg.props().width).toEqual(200);\n    expect(svg.props().height).toEqual(200);\n  });\n\n  it('renders correct amount of pie slices, markerlines, text elements', () => {\n    let chart = mount(<PieChart {...props} />);\n    let paths = chart.find('path');\n    const text = chart.find('text');\n\n    expect(paths).toHaveLength(3);\n\n    expect(text).toHaveLength(1);\n\n    chart = mount(<PieChart {...props} {...markerLineProps} />);\n    paths = chart.find('path');\n\n    expect(paths).toHaveLength(4);\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<PieChart {...props} {...markerLineProps} />);\n    const paths = chart.find('path');\n    const pieSlice = paths.first();\n    const markerLine = paths.last();\n\n    // test pie slice\n    expect(props.onMouseMoveSlice).not.toHaveBeenCalled();\n    pieSlice.simulate('mousemove');\n    expect(props.onMouseMoveSlice).toHaveBeenCalled();\n    expect(props.onMouseEnterSlice).not.toHaveBeenCalled();\n    pieSlice.simulate('mouseenter');\n    expect(props.onMouseEnterSlice).toHaveBeenCalled();\n    expect(props.onMouseLeaveSlice).not.toHaveBeenCalled();\n    pieSlice.simulate('mouseleave');\n    expect(props.onMouseLeaveSlice).toHaveBeenCalled();\n    expect(props.onClick).not.toHaveBeenCalled();\n    pieSlice.simulate('click');\n    expect(props.onClick).toHaveBeenCalled();\n\n    // test markerline\n    expect(markerLineProps.onMouseMoveLine).not.toHaveBeenCalled();\n    markerLine.simulate('mousemove');\n    expect(markerLineProps.onMouseMoveLine).toHaveBeenCalled();\n    expect(markerLineProps.onMouseEnterLine).not.toHaveBeenCalled();\n    markerLine.simulate('mouseenter');\n    expect(markerLineProps.onMouseEnterLine).toHaveBeenCalled();\n    expect(markerLineProps.onMouseLeaveLine).not.toHaveBeenCalled();\n    markerLine.simulate('mouseleave');\n    expect(markerLineProps.onMouseLeaveLine).toHaveBeenCalled();\n  });\n\n  it('renders slices labels with custom styles and distances', () => {\n    const sliceStyle = { color: 'red' };\n    const chart = mount(\n      <PieChart\n        {...props}\n        getPieSliceLabel={value => `${value}%`}\n        pieSliceLabelDistance={20}\n        pieSliceLabelStyle={sliceStyle}\n      />,\n    );\n\n    props.data.forEach(value => {\n      const textNode = chart.find(`text[children=\"${value}%\"]`);\n      expect(textNode.exists()).toBe(true);\n      expect(textNode.prop('style')).toHaveProperty('color', sliceStyle.color);\n    });\n  });\n\n  it('calls factory props to compute slice label distances and styles', () => {\n    const chart = mount(\n      <PieChart\n        {...props}\n        getPieSliceLabel={value => `${value}%`}\n        pieSliceLabelDistance={value => value}\n        pieSliceLabelStyle={value => ({ fontSize: value })}\n      />,\n    );\n\n    props.data.forEach(value => {\n      const textNode = chart.find(`text[children=\"${value}%\"]`);\n      expect(textNode.exists()).toBe(true);\n      expect(textNode.prop('style')).toHaveProperty('fontSize', value);\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/RangeBarChart.spec.js",
    "content": "import { scaleLinear, scalePoint } from 'd3-scale';\nimport { mount } from 'enzyme';\nimport React from 'react';\nimport { Bar, RangeBarChart } from '../../../src';\n\ndescribe('RangeBarChart', () => {\n  const props = {\n    xScale: scalePoint()\n      .domain(['a', 'b', 'c'])\n      .range([0, 100]),\n    yScale: scaleLinear()\n      .domain([0, 1])\n      .range([100, 0]),\n    data: [['a', [0.3, 0.5]], ['b', [0.6, 0.9]]],\n    x: d => d[0],\n    y: d => d[1][0],\n    yEnd: d => d[1][1],\n    barThickness: 10,\n    barClassName: 'my-bar',\n    barStyle: { fill: 'blue' },\n    onMouseEnterBar: jest.fn(),\n    onMouseMoveBar: jest.fn(),\n    onMouseLeaveBar: jest.fn(),\n    onClick: jest.fn(),\n  };\n\n  it('passes props to Bar elements', () => {\n    const chart = mount(<RangeBarChart {...props} />);\n    const bars = chart.find('rect');\n\n    bars.forEach(bar => {\n      expect(bar.props().className).toContain(props.barClassName);\n      expect(bar.props().style).toEqual(props.barStyle);\n    });\n  });\n\n  it('renders a bar chart with categorical X data & numerical Y data', () => {\n    // make simple bar chart with 3 datapoints to make sure it renders correctly\n    // this is more of an integration test/sanity check;\n    // most tests for render correctness are in RangeRect and Bar specs\n    const chart = mount(<RangeBarChart {...props} />);\n    const group = chart.find('g');\n    const bars = chart.find('rect');\n    expect(group).toHaveLength(1);\n    expect(bars).toHaveLength(2);\n\n    expect(bars.at(0).props().x).toEqual(0 - props.barThickness / 2);\n    expect(bars.at(0).props().width).toEqual(props.barThickness);\n    expect(bars.at(0).props().y).toEqual(50);\n    expect(bars.at(0).props().height).toEqual(20);\n\n    expect(bars.at(1).props().x).toEqual(50 - props.barThickness / 2);\n    expect(bars.at(1).props().width).toEqual(props.barThickness);\n    expect(Math.round(bars.at(1).props().y)).toEqual(10);\n    expect(bars.at(1).props().height).toEqual(30);\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<RangeBarChart {...props} />);\n    const bars = chart.find(Bar);\n\n    expect(props.onMouseMoveBar).not.toHaveBeenCalled();\n    bars.at(1).simulate('mousemove');\n    expect(props.onMouseMoveBar).toHaveBeenCalled();\n\n    expect(props.onMouseEnterBar).not.toHaveBeenCalled();\n    bars.at(1).simulate('mouseenter');\n    expect(props.onMouseEnterBar).toHaveBeenCalled();\n\n    expect(props.onMouseLeaveBar).not.toHaveBeenCalled();\n    bars.at(1).simulate('mouseleave');\n    expect(props.onMouseLeaveBar).toHaveBeenCalled();\n\n    expect(props.onClick).not.toHaveBeenCalled();\n    bars.at(1).simulate('click');\n    expect(props.onClick).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/RangeRect.spec.js",
    "content": "import React from 'react';\nimport { mount } from 'enzyme';\n\nimport { testWithScales } from '../utils';\nimport { RangeRect } from '../../../src';\n\ndescribe('RangeRect', () => {\n  it('renders a RangeRect with correct placement and size', () => {\n    testWithScales(\n      ['linear', 'ordinal'],\n      ({ scale: xScale, testValues: xTestValues }) => {\n        testWithScales(\n          ['linear', 'ordinal'],\n          ({ scale: yScale, testValues: yTestValues }) => {\n            [0, 1].forEach(i => {\n              const el = mount(\n                <RangeRect\n                  {...{\n                    xScale,\n                    yScale,\n                    x: xTestValues[i],\n                    y: yTestValues[i],\n                    xEnd: xTestValues[i + 1],\n                    yEnd: yTestValues[i + 1],\n                  }}\n                />,\n              );\n\n              const rect = el.find('rect');\n              expect(rect).toHaveLength(1);\n              const rectProps = rect.props();\n\n              const xPosition = xScale(xTestValues[i]);\n              const xEndPosition = xScale(xTestValues[i + 1]);\n              expect(rectProps.x).toEqual(Math.min(xPosition, xEndPosition));\n              expect(rectProps.width).toEqual(\n                Math.abs(xEndPosition - xPosition),\n              );\n\n              const yPosition = yScale(yTestValues[i]);\n              const yEndPosition = yScale(yTestValues[i + 1]);\n              expect(rectProps.y).toEqual(Math.min(yPosition, yEndPosition));\n              expect(rectProps.height).toEqual(\n                Math.abs(yEndPosition - yPosition),\n              );\n            });\n          },\n        );\n      },\n    );\n  });\n\n  it('attaches style, className and mouse event handler props', () => {\n    testWithScales(\n      ['linear', 'ordinal'],\n      ({ scale: xScale, testValues: xTestValues }) => {\n        testWithScales(\n          ['linear', 'ordinal'],\n          ({ scale: yScale, testValues: yTestValues }) => {\n            const props = {\n              xScale,\n              yScale,\n              x: xTestValues[0],\n              y: yTestValues[0],\n              xEnd: xTestValues[1],\n              yEnd: yTestValues[1],\n              style: { fill: 'red', stroke: 'blue' },\n              className: 'my-test-rect',\n              onMouseEnter: jest.fn(),\n              onMouseMove: jest.fn(),\n              onMouseLeave: jest.fn(),\n            };\n\n            const el = mount(<RangeRect {...props} />);\n            const rect = el.find('rect');\n            expect(rect).toHaveLength(1);\n            const rectProps = rect.props();\n\n            expect(rectProps.style).toEqual(props.style);\n            expect(rectProps.className).toContain(props.className);\n\n            expect(rectProps.onMouseEnter).not.toHaveBeenCalled();\n            rect.simulate('mouseenter');\n            expect(rectProps.onMouseEnter).toHaveBeenCalledTimes(1);\n\n            expect(rectProps.onMouseMove).not.toHaveBeenCalled();\n            rect.simulate('mousemove');\n            expect(rectProps.onMouseMove).toHaveBeenCalledTimes(1);\n\n            expect(rectProps.onMouseLeave).not.toHaveBeenCalled();\n            rect.simulate('mouseleave');\n            expect(rectProps.onMouseLeave).toHaveBeenCalledTimes(1);\n          },\n        );\n      },\n    );\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/SankeyDiagram.spec.js",
    "content": "import React from 'react';\nimport _ from 'lodash';\nimport {mount} from 'enzyme';\n\n// use rewire to test internal SankeyNode/Link/etc. components\n\nconst Sankey = require('../../../src/SankeyDiagram');\nconst SankeyDiagram = Sankey.default;\nconst SankeyNode = Sankey.__get__('SankeyNode');\nconst SankeyLink = Sankey.__get__('SankeyLink');\nconst SankeyNodeTerminal = Sankey.__get__('SankeyNodeTerminal');\nconst SankeyNodeLabel = Sankey.__get__('SankeyNodeLabel');\nconst SankeyLinkLabel = Sankey.__get__('SankeyLinkLabel');\nconst SankeyStepLabel = Sankey.__get__('SankeyStepLabel');\n\nfunction getSampleData() {\n  return {\n    nodes: [\n      { name: 'Apples' },\n      { name: 'Bananas' },\n      { name: 'Cherries' },\n      { name: 'Dates' },\n      { name: 'Elderberries' },\n    ],\n    links: [\n      { source: 0, target: 2, value: 0.5 },\n      { source: 0, target: 3, value: 0.5 },\n      { source: 1, target: 2, value: 0.5 },\n      { source: 1, target: 3, value: 0.5 },\n      { source: 2, target: 4, value: 1 },\n      { source: 3, target: 4, value: 1 },\n    ],\n  };\n}\n\nfunction getSampleDataWithId() {\n  return {\n    nodes: [\n      { id: 'a', label: 'Apples' },\n      { id: 'b', label: 'Bananas' },\n      { id: 'c', label: 'Cherries' },\n      { id: 'd', label: 'Dates' },\n      { id: 'e', label: 'Elderberries' },\n    ],\n    links: [\n      { source: 'a', target: 'c', value: 0.5 },\n      { source: 'a', target: 'd', value: 0.5 },\n      { source: 'b', target: 'c', value: 0.5 },\n      { source: 'b', target: 'd', value: 0.5 },\n      { source: 'c', target: 'e', value: 1 },\n      { source: 'd', target: 'e', value: 1 },\n    ],\n  };\n}\n\ndescribe('SankeyDiagram', () => {\n  it('renders a Sankey Diagram', () => {\n    const { nodes, links } = getSampleData();\n    const props = { width: 600, height: 400, nodes, links };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const svg = chart.find('svg');\n    expect(svg).toHaveLength(1);\n\n    // todo check shouldClone\n    // get sampleData again since it has been mutated by the component\n    const sampleData = getSampleData();\n    const sankeyNodes = chart.find(SankeyNode);\n    const sankeyLinks = chart.find(SankeyLink);\n    expect(sankeyNodes).toHaveLength(5);\n    expect(sankeyLinks).toHaveLength(6);\n\n    sankeyNodes.forEach((node, i) => {\n      const nodeProps = node.props();\n      expect(nodeProps.graph).toBeInstanceOf(Object);\n      expect(nodeProps.node).toBeInstanceOf(Object);\n      expect(Number.isFinite(nodeProps.node.index)).toBe(true);\n      expect(nodeProps.node.index).toEqual(i);\n      expect(typeof nodeProps.node.name).toBe('string');\n      expect(nodeProps.node.name).toEqual(nodes[i].name);\n      const sourceLinks = sampleData.links.filter(link => link.source === i);\n      const targetLinks = sampleData.links.filter(link => link.target === i);\n      expect(nodeProps.node.sourceLinks).toBeInstanceOf(Array);\n      expect(nodeProps.node.sourceLinks).toHaveLength(sourceLinks.length);\n      expect(nodeProps.node.targetLinks).toBeInstanceOf(Array);\n      expect(nodeProps.node.targetLinks).toHaveLength(targetLinks.length);\n      const expectedNodeValue = Math.max(\n        _.sumBy(sourceLinks, l => l.value),\n        _.sumBy(targetLinks, l => l.value),\n      );\n      expect(nodeProps.node.value).toEqual(expectedNodeValue);\n      expect(Number.isFinite(nodeProps.node.x0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.x1)).toBe(true);\n      expect(nodeProps.node.x0).not.toEqual(nodeProps.node.x1);\n      expect(Number.isFinite(nodeProps.node.y0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.y1)).toBe(true);\n      expect(nodeProps.node.y0).not.toEqual(nodeProps.node.y1);\n    });\n    expect(sankeyNodes.at(0).props().node.depth).toEqual(0);\n    expect(sankeyNodes.at(2).props().node.depth).toEqual(1);\n    expect(sankeyNodes.at(4).props().node.depth).toEqual(2);\n\n    sankeyLinks.forEach((link, i) => {\n      const linkProps = link.props();\n      expect(linkProps.graph).toBeInstanceOf(Object);\n      expect(typeof linkProps.linkPath).toBe('string');\n      expect(linkProps.linkPath.length).toBeGreaterThan(2);\n      expect(linkProps.linkPath).toContain('M');\n      expect(linkProps.linkPath).toContain('C');\n      expect(linkProps.link).toBeInstanceOf(Object);\n      expect(Number.isFinite(linkProps.link.index)).toBe(true);\n      expect(linkProps.link.index).toEqual(i);\n      expect(linkProps.link.source).toBeInstanceOf(Object);\n      expect(linkProps.link.source.index).toEqual(sampleData.links[i].source);\n      expect(linkProps.link.target).toBeInstanceOf(Object);\n      expect(linkProps.link.target.index).toEqual(sampleData.links[i].target);\n      expect(Number.isFinite(linkProps.link.value)).toBe(true);\n      expect(linkProps.link.value).toEqual(sampleData.links[i].value);\n      expect(Number.isFinite(linkProps.link.width)).toBe(true);\n      expect(linkProps.link.width).not.toEqual(0);\n    });\n  });\n\n  it('passes width, height, style and className props through to the SVG', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      className: 'woof',\n      style: { paddingLeft: 30 },\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const svg = chart.find('svg');\n    expect(svg).toHaveLength(1);\n    expect(svg.props().width).toEqual(600);\n    expect(svg.props().height).toEqual(400);\n    expect(svg.props().className).toContain('woof');\n    expect(svg.props().style).toBeInstanceOf(Object);\n    expect(svg.props().style.paddingLeft).toEqual(30);\n  });\n\n  it('uses shouldClone prop to determine whether to clone or mutate nodes/links data', () => {\n    const dataToClone = getSampleData();\n    const cloneProps = {\n      ...dataToClone,\n      width: 600,\n      height: 400,\n      shouldClone: true,\n    };\n    // mount Sankey and check that dataToClone is deeply equal to sample data\n    mount(<SankeyDiagram {...cloneProps} />);\n    expect(dataToClone).toEqual(getSampleData());\n\n    const dataToMutate = getSampleData();\n    const mutateProps = {\n      ...dataToMutate,\n      width: 600,\n      height: 400,\n      shouldClone: false,\n    };\n    // mount Sankey and check that dataToMutate is not deeply equal to sample data\n    mount(<SankeyDiagram {...mutateProps} />);\n    expect(dataToMutate).not.toEqual(getSampleData());\n    expect(dataToMutate.links[0].source).toEqual(dataToMutate.nodes[0]);\n  });\n\n  it('uses nodeId accessor prop to determine node IDs', () => {\n    const props = {\n      width: 600,\n      height: 400,\n      ...getSampleDataWithId(),\n      nodeId: node => node.id,\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const svg = chart.find('svg');\n    expect(svg).toHaveLength(1);\n\n    // get sampleData again since it has been mutated by the component\n    const sampleData = getSampleDataWithId();\n    const sankeyNodes = chart.find(SankeyNode);\n    const sankeyLinks = chart.find(SankeyLink);\n    expect(sankeyNodes).toHaveLength(5);\n    expect(sankeyLinks).toHaveLength(6);\n\n    sankeyNodes.forEach(node => {\n      const nodeProps = node.props();\n      expect(nodeProps.node).toBeInstanceOf(Object);\n      const sourceLinks = sampleData.links.filter(\n        link => link.source === nodeProps.node.id,\n      );\n      const targetLinks = sampleData.links.filter(\n        link => link.target === nodeProps.node.id,\n      );\n      expect(nodeProps.node.sourceLinks).toBeInstanceOf(Array);\n      expect(nodeProps.node.sourceLinks).toHaveLength(sourceLinks.length);\n      expect(nodeProps.node.targetLinks).toBeInstanceOf(Array);\n      expect(nodeProps.node.targetLinks).toHaveLength(targetLinks.length);\n      const expectedNodeValue = Math.max(\n        _.sumBy(sourceLinks, l => l.value),\n        _.sumBy(targetLinks, l => l.value),\n      );\n      expect(nodeProps.node.value).toEqual(expectedNodeValue);\n      expect(Number.isFinite(nodeProps.node.x0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.x1)).toBe(true);\n      expect(nodeProps.node.x0).not.toEqual(nodeProps.node.x1);\n      expect(Number.isFinite(nodeProps.node.y0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.y1)).toBe(true);\n      expect(nodeProps.node.y0).not.toEqual(nodeProps.node.y1);\n    });\n    expect(sankeyNodes.at(0).props().node.depth).toEqual(0);\n    expect(sankeyNodes.at(2).props().node.depth).toEqual(1);\n    expect(sankeyNodes.at(4).props().node.depth).toEqual(2);\n\n    sankeyLinks.forEach((link, i) => {\n      const linkProps = link.props();\n      expect(linkProps.graph).toBeInstanceOf(Object);\n      expect(typeof linkProps.linkPath).toBe('string');\n      expect(linkProps.linkPath.length).toBeGreaterThan(2);\n      expect(linkProps.linkPath).toContain('M');\n      expect(linkProps.linkPath).toContain('C');\n      expect(linkProps.link).toBeInstanceOf(Object);\n      expect(linkProps.link.source).toBeInstanceOf(Object);\n      expect(linkProps.link.source.id).toEqual(sampleData.links[i].source);\n      expect(linkProps.link.target).toBeInstanceOf(Object);\n      expect(linkProps.link.target.id).toEqual(sampleData.links[i].target);\n      expect(Number.isFinite(linkProps.link.value)).toBe(true);\n      expect(linkProps.link.value).toEqual(sampleData.links[i].value);\n      expect(Number.isFinite(linkProps.link.width)).toBe(true);\n      expect(linkProps.link.width).not.toEqual(0);\n    });\n  });\n\n  it('uses showNodes boolean or accessor prop to determine whether to render nodes', () => {\n    const size = { width: 600, height: 400 };\n    const showNodesProps = {\n      ...size,\n      ...getSampleData(),\n      showNodes: true,\n    };\n    const showNodesChart = mount(<SankeyDiagram {...showNodesProps} />);\n    expect(showNodesChart.find(SankeyNode)).toHaveLength(5);\n\n    const hideNodesProps = {\n      ...size,\n      ...getSampleData(),\n      showNodes: false,\n    };\n    const hideNodesChart = mount(<SankeyDiagram {...hideNodesProps} />);\n    expect(hideNodesChart.find(SankeyNode)).toHaveLength(0);\n\n    const showSomeNodesProps = {\n      ...size,\n      ...getSampleData(),\n      showNodes: node => node.index < 3,\n    };\n    const showSomeNodesChart = mount(<SankeyDiagram {...showSomeNodesProps} />);\n    expect(showSomeNodesChart.find(SankeyNode)).toHaveLength(3);\n  });\n\n  it('uses showLinks boolean or accessor prop to determine whether to render links', () => {\n    const size = { width: 600, height: 400 };\n    const showLinksProps = {\n      ...size,\n      ...getSampleData(),\n      showLinks: true,\n    };\n    const showLinksChart = mount(<SankeyDiagram {...showLinksProps} />);\n    expect(showLinksChart.find(SankeyLink)).toHaveLength(6);\n\n    const hideLinksProps = {\n      ...size,\n      ...getSampleData(),\n      showLinks: false,\n    };\n    const hideLinksChart = mount(<SankeyDiagram {...hideLinksProps} />);\n    expect(hideLinksChart.find(SankeyLink)).toHaveLength(0);\n\n    const showSomeLinksProps = {\n      ...size,\n      ...getSampleData(),\n      showLinks: link => link.target.index === 2,\n    };\n    const showSomeLinksChart = mount(<SankeyDiagram {...showSomeLinksProps} />);\n    expect(showSomeLinksChart.find(SankeyLink)).toHaveLength(2);\n  });\n\n  it('uses nodeWidth prop to control the width of the node rectangles', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      nodeWidth: 19,\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const sankeyNodes = chart.find(SankeyNode);\n    expect(sankeyNodes).toHaveLength(5);\n\n    sankeyNodes.forEach(node => {\n      const nodeProps = node.props();\n      expect(nodeProps.node).toBeInstanceOf(Object);\n      expect(Number.isFinite(nodeProps.node.x0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.x1)).toBe(true);\n      expect(nodeProps.node.x1 - nodeProps.node.x0).toEqual(19);\n      expect(Number.isFinite(nodeProps.node.y0)).toBe(true);\n      expect(Number.isFinite(nodeProps.node.y1)).toBe(true);\n      expect(nodeProps.node.y0).not.toEqual(nodeProps.node.y1);\n    });\n  });\n\n  it('uses nodePadding to control vertical space between node rectangles', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      nodePadding: 37,\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const sankeyNodes = chart.find(SankeyNode);\n    expect(sankeyNodes).toHaveLength(5);\n    expect(\n      sankeyNodes.at(1).props().node.y0 - sankeyNodes.at(0).props().node.y1,\n    ).toEqual(37);\n    expect(\n      sankeyNodes.at(3).props().node.y0 - sankeyNodes.at(2).props().node.y1,\n    ).toEqual(37);\n  });\n\n  // todo: test nodeAlignment? how?\n\n  it('passes nodeClassName, nodeStyle and node mouse event handlers through to nodes', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      nodeClassName: 'doggo',\n      nodeStyle: { fill: 'orange' },\n      onMouseEnterNode: jest.fn(),\n      onMouseLeaveNode: jest.fn(),\n      onMouseMoveNode: jest.fn(),\n      onMouseDownNode: jest.fn(),\n      onMouseUpNode: jest.fn(),\n      onClickNode: jest.fn(),\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const sankeyNodes = chart.find(SankeyNode);\n    expect(sankeyNodes).toHaveLength(5);\n\n    sankeyNodes.forEach(node => {\n      const nodeProps = node.props();\n      expect(nodeProps.nodeClassName).toEqual('doggo');\n      expect(nodeProps.nodeStyle).toBeInstanceOf(Object);\n      expect(nodeProps.nodeStyle.fill).toEqual('orange');\n      expect(nodeProps.onMouseEnterNode).toEqual(props.onMouseEnterNode);\n      expect(nodeProps.onMouseLeaveNode).toEqual(props.onMouseLeaveNode);\n      expect(nodeProps.onMouseMoveNode).toEqual(props.onMouseMoveNode);\n      expect(nodeProps.onMouseDownNode).toEqual(props.onMouseDownNode);\n      expect(nodeProps.onMouseUpNode).toEqual(props.onMouseUpNode);\n      expect(nodeProps.onClickNode).toEqual(props.onClickNode);\n    });\n  });\n\n  it('passes linkClassName, linkStyle and link mouse event handlers through to nodes', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      linkClassName: 'kitten',\n      linkStyle: { fill: 'tomato' },\n      onMouseEnterLink: jest.fn(),\n      onMouseLeaveLink: jest.fn(),\n      onMouseMoveLink: jest.fn(),\n      onMouseDownLink: jest.fn(),\n      onMouseUpLink: jest.fn(),\n      onClickLink: jest.fn(),\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const sankeyLinks = chart.find(SankeyLink);\n    expect(sankeyLinks).toHaveLength(6);\n\n    sankeyLinks.forEach(link => {\n      const linkProps = link.props();\n      expect(linkProps.linkClassName).toEqual('kitten');\n      expect(linkProps.linkStyle).toBeInstanceOf(Object);\n      expect(linkProps.linkStyle.fill).toEqual('tomato');\n      expect(linkProps.onMouseEnterLink).toEqual(props.onMouseEnterLink);\n      expect(linkProps.onMouseLeaveLink).toEqual(props.onMouseLeaveLink);\n      expect(linkProps.onMouseMoveLink).toEqual(props.onMouseMoveLink);\n      expect(linkProps.onMouseDownLink).toEqual(props.onMouseDownLink);\n      expect(linkProps.onMouseUpLink).toEqual(props.onMouseUpLink);\n      expect(linkProps.onClickLink).toEqual(props.onClickLink);\n    });\n  });\n\n  it('passes stepLabelText, stepLabelClassName, stepLabelPadding and stepLabelStyle through to SankeyStepLabel', () => {\n    const props = {\n      ...getSampleData(),\n      width: 600,\n      height: 400,\n      stepLabelText: 'text',\n      stepLabelClassName: 'scoop',\n      stepLabelStyle: { fill: 'orange' },\n      stepLabelPadding: 16,\n    };\n    const chart = mount(<SankeyDiagram {...props} />);\n    const sankeyStepLabels = chart.find(SankeyStepLabel);\n    expect(sankeyStepLabels).toHaveLength(3);\n\n    sankeyStepLabels.forEach(label => {\n      const stepLabelProps = label.props();\n      expect(stepLabelProps.stepLabelText).toEqual('text');\n      expect(stepLabelProps.stepLabelClassName).toEqual('scoop');\n      expect(stepLabelProps.stepLabelPadding).toEqual(16);\n      expect(stepLabelProps.stepLabelStyle).toBeInstanceOf(Object);\n      expect(stepLabelProps.stepLabelStyle.fill).toEqual('orange');\n    });\n  });\n\n  it('uses showNodeLabels boolean or accessor prop to determine whether to render node labels', () => {\n    const size = { width: 600, height: 400 };\n    const showNodeLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showNodeLabels: true,\n    };\n    const showNodeLabelsChart = mount(\n      <SankeyDiagram {...showNodeLabelsProps} />,\n    );\n    expect(showNodeLabelsChart.find(SankeyNodeLabel)).toHaveLength(5);\n\n    const hideNodeLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showNodeLabels: false,\n    };\n    const hideNodeLabelsChart = mount(\n      <SankeyDiagram {...hideNodeLabelsProps} />,\n    );\n    expect(hideNodeLabelsChart.find(SankeyNodeLabel)).toHaveLength(0);\n\n    const showSomeNodeLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showNodeLabels: node => node.index < 3,\n    };\n    const showSomeNodeLabelsChart = mount(\n      <SankeyDiagram {...showSomeNodeLabelsProps} />,\n    );\n    expect(showSomeNodeLabelsChart.find(SankeyNodeLabel)).toHaveLength(3);\n  });\n\n  it('uses showLinkLabels boolean or accessor prop to determine whether to render link labels', () => {\n    const size = { width: 600, height: 400 };\n    const showLinkLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showLinkLabels: true,\n    };\n    const showLinkLabelsChart = mount(\n      <SankeyDiagram {...showLinkLabelsProps} />,\n    );\n    expect(showLinkLabelsChart.find(SankeyLinkLabel)).toHaveLength(6);\n\n    const hideLinkLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showLinkLabels: false,\n    };\n    const hideLinkLabelsChart = mount(\n      <SankeyDiagram {...hideLinkLabelsProps} />,\n    );\n    expect(hideLinkLabelsChart.find(SankeyLinkLabel)).toHaveLength(0);\n\n    const showSomeLinkLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      showLinkLabels: link => link.target.index === 2,\n    };\n    const showSomeLinkLabelsChart = mount(\n      <SankeyDiagram {...showSomeLinkLabelsProps} />,\n    );\n    expect(showSomeLinkLabelsChart.find(SankeyLinkLabel)).toHaveLength(2);\n  });\n\n  it('uses stepLabelText text or accessor prop to determine whether to render SankeyStepLabels', () => {\n    const size = { width: 600, height: 400 };\n    const stepLabelsProps = {\n      ...size,\n      ...getSampleData(),\n      stepLabelText: step => `Step: ${step}`,\n    };\n    const stepLabelsChart = mount(<SankeyDiagram {...stepLabelsProps} />);\n    expect(stepLabelsChart.find(SankeyStepLabel)).toHaveLength(3);\n  });\n\n  describe('SankeyNode', () => {\n    const basicNodeObj = {\n      index: 5,\n      x0: 30,\n      x1: 50,\n      y0: 25,\n      y1: 100,\n    };\n    it('renders a rectangle with the position & size of the current node', () => {\n      const node = mount(<SankeyNode {...{ node: basicNodeObj }} />);\n      const rect = node.find('rect');\n      expect(rect).toHaveLength(1);\n      expect(rect.props().x).toEqual(30);\n      expect(rect.props().y).toEqual(25);\n      expect(rect.props().width).toEqual(20);\n      expect(rect.props().height).toEqual(75);\n      expect(rect.props().className).toContain('sankey-node');\n    });\n    it('passes nodeClassName and nodeStyle through to the node rectangle element', () => {\n      const className = 'foo-bar-node';\n      const style = { fill: 'coral' };\n      const nodeProps = {\n        node: basicNodeObj,\n        nodeClassName: className,\n        nodeStyle: style,\n      };\n      const node = mount(<SankeyNode {...nodeProps} />);\n      const rect = node.find('rect');\n      expect(rect.props().className).toContain(className);\n      expect(rect.props().style).toBeInstanceOf(Object);\n      expect(rect.props().style.fill).toEqual('coral');\n    });\n    it('calls nodeClassName & nodeStyle to get class & style, if they are functions', () => {\n      const className = node => `i-${node.index}-x0-${node.x0}`;\n      const style = node => ({ strokeWidth: `${node.x1}px` });\n      const nodeProps = {\n        node: basicNodeObj,\n        nodeClassName: className,\n        nodeStyle: style,\n      };\n      const node = mount(<SankeyNode {...nodeProps} />);\n      const rect = node.find('rect');\n      expect(rect.props().className).toContain('i-5-x0-30');\n      expect(rect.props().style).toBeInstanceOf(Object);\n      expect(rect.props().style.strokeWidth).toEqual('50px');\n    });\n    it('attaches mouse event handlers (enter, leave, move, down, up, click) to the node rectangle', () => {\n      const nodeProps = {\n        node: basicNodeObj,\n        graph: { nodes: [], links: [] },\n        onMouseEnterNode: jest.fn(),\n        onMouseLeaveNode: jest.fn(),\n        onMouseMoveNode: jest.fn(),\n        onMouseDownNode: jest.fn(),\n        onMouseUpNode: jest.fn(),\n        onClickNode: jest.fn(),\n      };\n      const node = mount(<SankeyNode {...nodeProps} />);\n      const rect = node.find('rect');\n\n      expect(rect.props().onMouseEnter).toBeInstanceOf(Function);\n      expect(rect.props().onMouseLeave).toBeInstanceOf(Function);\n      expect(rect.props().onMouseMove).toBeInstanceOf(Function);\n      expect(rect.props().onMouseDown).toBeInstanceOf(Function);\n      expect(rect.props().onMouseUp).toBeInstanceOf(Function);\n      expect(rect.props().onClick).toBeInstanceOf(Function);\n\n      expect(nodeProps.onMouseEnterNode).not.toHaveBeenCalled();\n      rect.simulate('mouseenter');\n      expect(nodeProps.onMouseEnterNode).toHaveBeenCalled();\n      expect(nodeProps.onMouseLeaveNode).not.toHaveBeenCalled();\n      rect.simulate('mouseleave');\n      expect(nodeProps.onMouseLeaveNode).toHaveBeenCalled();\n      expect(nodeProps.onMouseMoveNode).not.toHaveBeenCalled();\n      rect.simulate('mousemove');\n      expect(nodeProps.onMouseMoveNode).toHaveBeenCalled();\n      expect(nodeProps.onMouseDownNode).not.toHaveBeenCalled();\n      rect.simulate('mousedown');\n      expect(nodeProps.onMouseDownNode).toHaveBeenCalled();\n      expect(nodeProps.onMouseUpNode).not.toHaveBeenCalled();\n      rect.simulate('mouseup');\n      expect(nodeProps.onMouseUpNode).toHaveBeenCalled();\n      expect(nodeProps.onClickNode).not.toHaveBeenCalled();\n      rect.simulate('click');\n      expect(nodeProps.onClickNode).toHaveBeenCalled();\n\n      // make sure callbacks are called with (event, {link, graph})\n      expect(nodeProps.onClickNode.mock.calls[0]).toHaveLength(2);\n      const eventArg = nodeProps.onClickNode.mock.calls[0][0];\n      const infoArg = nodeProps.onClickNode.mock.calls[0][1];\n      expect(eventArg).toBeInstanceOf(Object);\n      expect(eventArg).toHaveProperty('target');\n      // SVG <rects> are treated as HTMLUnknownElement since jsdom doesn't support SVG\n      expect(eventArg.target.constructor.name).toBe('HTMLUnknownElement');\n      expect(infoArg).toBeInstanceOf(Object);\n      expect(infoArg.node).toEqual(basicNodeObj);\n      expect(infoArg.graph).toEqual(nodeProps.graph);\n    });\n  });\n\n  describe('SankeyLink', () => {\n    const linkPath = 'M10 10';\n    const linkObj = { width: 20 };\n    it('renders a link path', () => {\n      const link = mount(<SankeyLink {...{ link: linkObj, linkPath }} />);\n      const path = link.find('path');\n      expect(path).toHaveLength(1);\n      expect(path.props().d).toEqual(linkPath);\n      expect(path.props().style).toBeInstanceOf(Object);\n      expect(path.props().style.strokeWidth).toEqual(20);\n    });\n    it('passes linkClassName and linkStyle through to the path element', () => {\n      const linkClassName = 'foo-bar-link';\n      const linkStyle = { fill: 'thistle' };\n      const link = mount(\n        <SankeyLink\n          {...{ link: linkObj, linkPath, linkClassName, linkStyle }}\n        />,\n      );\n      const path = link.find('path');\n      expect(path.props().className).toContain(linkClassName);\n      expect(path.props().style).toBeInstanceOf(Object);\n      expect(path.props().style.fill).toEqual('thistle');\n    });\n    it('calls linkClassName & linkStyle to get class & style, if they are functions', () => {\n      const linkClassName = link => `w-${link.width}`;\n      const linkStyle = link => ({ borderWidth: link.width });\n      const linkProps = { link: linkObj, linkClassName, linkStyle };\n      const link = mount(<SankeyLink {...linkProps} />);\n      const path = link.find('path');\n      expect(path.props().className).toContain('w-20');\n      expect(path.props().style).toBeInstanceOf(Object);\n      expect(path.props().style.borderWidth).toEqual(20);\n    });\n    it('attaches mouse event handlers (enter, leave, move, down, up, click) to the link path', () => {\n      const linkProps = {\n        link: linkObj,\n        graph: { nodes: [], links: [] },\n        onMouseEnterLink: jest.fn(),\n        onMouseLeaveLink: jest.fn(),\n        onMouseMoveLink: jest.fn(),\n        onMouseDownLink: jest.fn(),\n        onMouseUpLink: jest.fn(),\n        onClickLink: jest.fn(),\n      };\n      const link = mount(<SankeyLink {...linkProps} />);\n      const path = link.find('path');\n\n      expect(path.props().onMouseEnter).toBeInstanceOf(Function);\n      expect(path.props().onMouseLeave).toBeInstanceOf(Function);\n      expect(path.props().onMouseMove).toBeInstanceOf(Function);\n      expect(path.props().onMouseDown).toBeInstanceOf(Function);\n      expect(path.props().onMouseUp).toBeInstanceOf(Function);\n      expect(path.props().onClick).toBeInstanceOf(Function);\n\n      expect(linkProps.onMouseEnterLink).not.toHaveBeenCalled();\n      path.simulate('mouseenter');\n      expect(linkProps.onMouseEnterLink).toHaveBeenCalled();\n      expect(linkProps.onMouseLeaveLink).not.toHaveBeenCalled();\n      path.simulate('mouseleave');\n      expect(linkProps.onMouseLeaveLink).toHaveBeenCalled();\n      expect(linkProps.onMouseMoveLink).not.toHaveBeenCalled();\n      path.simulate('mousemove');\n      expect(linkProps.onMouseMoveLink).toHaveBeenCalled();\n      expect(linkProps.onMouseDownLink).not.toHaveBeenCalled();\n      path.simulate('mousedown');\n      expect(linkProps.onMouseDownLink).toHaveBeenCalled();\n      expect(linkProps.onMouseUpLink).not.toHaveBeenCalled();\n      path.simulate('mouseup');\n      expect(linkProps.onMouseUpLink).toHaveBeenCalled();\n      expect(linkProps.onClickLink).not.toHaveBeenCalled();\n      path.simulate('click');\n      expect(linkProps.onClickLink).toHaveBeenCalled();\n\n      // make sure callbacks are called with (event, {link, graph})\n      expect(linkProps.onClickLink.mock.calls[0]).toHaveLength(2);\n      const eventArg = linkProps.onClickLink.mock.calls[0][0];\n      const infoArg = linkProps.onClickLink.mock.calls[0][1];\n      expect(eventArg).toBeInstanceOf(Object);\n      expect(eventArg).toHaveProperty('target');\n      // SVG <rects> are treated as HTMLUnknownElement since jsdom doesn't support SVG\n      expect(eventArg.target.constructor.name).toBe('HTMLUnknownElement');\n      expect(infoArg).toBeInstanceOf(Object);\n      expect(infoArg.link).toEqual(linkObj);\n      expect(infoArg.graph).toEqual(linkProps.graph);\n    });\n  });\n\n  describe('SankeyNodeLabel', () => {\n    const basicNodeObj = {\n      x0: 30,\n      x1: 50,\n      y0: 40,\n      y1: 100,\n      id: 'lemons',\n      name: 'Sour Lemons',\n    };\n    it('renders a node label in a <text> element', () => {\n      const label = mount(\n        <SankeyNodeLabel\n          {...{ node: basicNodeObj, nodeLabelText: () => 'ok' }}\n        />,\n      );\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(Number.isFinite(text.props().x)).toBe(true);\n      expect(Number.isFinite(text.props().y)).toBe(true);\n    });\n    it('uses nodeLabelText accessor prop to create label text, falls back to nodeId if nodeLabelText not provided', () => {\n      const labelWithName = mount(\n        <SankeyNodeLabel\n          {...{\n            node: basicNodeObj,\n            nodeLabelText: node => node.name,\n            nodeId: node => node.id,\n          }}\n        />,\n      );\n      const textWithName = labelWithName.find('text');\n      expect(textWithName).toHaveLength(1);\n      expect(textWithName.text()).toEqual('Sour Lemons');\n\n      const labelWithId = mount(\n        <SankeyNodeLabel\n          {...{\n            node: basicNodeObj,\n            nodeId: node => node.id,\n          }}\n        />,\n      );\n      const textWithId = labelWithId.find('text');\n      expect(textWithId).toHaveLength(1);\n      expect(textWithId.text()).toEqual('lemons');\n    });\n    it('renders nodeLabelText as-is (not wrapped in <text>), if it returns an element instead of string', () => {\n      const label = mount(\n        <SankeyNodeLabel\n          {...{\n            node: basicNodeObj,\n            nodeLabelText: node => (\n              <rect x={node.x0} y={node.y0} width={50} height={20} />\n            ),\n          }}\n        />,\n      );\n      expect(label.find('text')).toHaveLength(0);\n      expect(label.find('rect')).toHaveLength(1);\n      expect(label.find('rect').props().width).toEqual(50);\n    });\n\n    it('passes nodeLabelClassName and nodeLabelStyle through to the text element', () => {\n      const nodeLabelClassName = 'my-fun-node-label';\n      const nodeLabelStyle = { fill: 'salmon' };\n      const nodeLabelText = node => node.name;\n      const label = mount(\n        <SankeyNodeLabel\n          {...{\n            node: basicNodeObj,\n            nodeLabelText,\n            nodeLabelClassName,\n            nodeLabelStyle,\n          }}\n        />,\n      );\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('my-fun-node-label');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('salmon');\n    });\n    it('calls nodeLabelClassName & nodeLabelStyle to get class & style, if they are functions', () => {\n      const nodeLabelClassName = node => `node-label-${node.id}`;\n      const nodeLabelStyle = node => ({\n        fill: node.id === 'lemons' ? 'orange' : 'purple',\n      });\n      const nodeLabelText = node => node.name;\n      const label = mount(\n        <SankeyNodeLabel\n          {...{\n            node: basicNodeObj,\n            nodeLabelText,\n            nodeLabelClassName,\n            nodeLabelStyle,\n          }}\n        />,\n      );\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('node-label-lemons');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('orange');\n    });\n    it(\"uses nodeLabelPlacement to determine the label's position\", () => {\n      const nodeLabelText = node => node.name;\n      const commonProps = { node: basicNodeObj, nodeLabelText };\n\n      const labelBefore = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'before' }}\n        />,\n      );\n      const labelBeforeText = labelBefore.find('text');\n      expect(labelBeforeText.props().x).toBeLessThanOrEqual(30);\n      expect(labelBeforeText.props().y).toEqual(70);\n      expect(labelBeforeText.props().style.alignmentBaseline).toEqual(\n        'middle',\n      );\n      expect(labelBeforeText.props().style.textAnchor).toEqual('end');\n\n      const labelAfter = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'after' }}\n        />,\n      );\n      const labelAfterText = labelAfter.find('text');\n      expect(labelAfterText.props().x).toBeGreaterThanOrEqual(50);\n      expect(labelAfterText.props().y).toEqual(70);\n      expect(labelAfterText.props().style.alignmentBaseline).toEqual('middle');\n      expect(labelAfterText.props().style.textAnchor).toEqual('start');\n\n      const labelAbove = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'above' }}\n        />,\n      );\n      const labelAboveText = labelAbove.find('text');\n      expect(labelAboveText.props().x).toEqual(40);\n      expect(labelAboveText.props().y).toBeLessThanOrEqual(40);\n      expect(labelAboveText.props().style.alignmentBaseline).toEqual(\n        'baseline',\n      );\n      expect(labelAboveText.props().style.textAnchor).toEqual('middle');\n\n      const labelBelow = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'below' }}\n        />,\n      );\n      const labelBelowText = labelBelow.find('text');\n      expect(labelBelowText.props().x).toEqual(40);\n      expect(labelBelowText.props().y).toBeGreaterThanOrEqual(100);\n      expect(labelBelowText.props().style.alignmentBaseline).toEqual(\n        'hanging',\n      );\n      expect(labelBelowText.props().style.textAnchor).toEqual('middle');\n\n      const conditionalPlacement = node =>\n        node.id === 'lemons' ? 'below' : 'above';\n      const labelConditional = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: conditionalPlacement }}\n        />,\n      );\n      // should resolve to 'below', so use same tests as 'below'\n      const labelConditionalText = labelConditional.find('text');\n      expect(labelConditionalText.props().x).toEqual(40);\n      expect(labelConditionalText.props().y).toBeGreaterThanOrEqual(100);\n      expect(labelConditionalText.props().style.alignmentBaseline).toEqual(\n        'hanging',\n      );\n      expect(labelConditionalText.props().style.textAnchor).toEqual('middle');\n    });\n    it(\"uses nodeLabelDistance to determine node label's distance from the node\", () => {\n      const nodeLabelText = node => node.name;\n      const commonProps = {\n        node: basicNodeObj,\n        nodeLabelText,\n        nodeLabelDistance: 9,\n      };\n\n      const labelBefore = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'before' }}\n        />,\n      );\n      const labelBeforeText = labelBefore.find('text');\n      expect(labelBeforeText.props().x).toEqual(21);\n\n      const labelAfter = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'after' }}\n        />,\n      );\n      const labelAfterText = labelAfter.find('text');\n      expect(labelAfterText.props().x).toEqual(59);\n\n      const labelAbove = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'above' }}\n        />,\n      );\n      const labelAboveText = labelAbove.find('text');\n      expect(labelAboveText.props().y).toEqual(31);\n\n      const labelBelow = mount(\n        <SankeyNodeLabel\n          {...{ ...commonProps, nodeLabelPlacement: 'below' }}\n        />,\n      );\n      const labelBelowText = labelBelow.find('text');\n      expect(labelBelowText.props().y).toEqual(109);\n\n      const getDistance = () => 7;\n\n      const labelDynamic = mount(\n        <SankeyNodeLabel\n          {...{\n            ...commonProps,\n            nodeLabelDistance: getDistance,\n            nodeLabelPlacement: 'below',\n          }}\n        />,\n      );\n      const labelDynamicText = labelDynamic.find('text');\n      expect(labelDynamicText.props().y).toEqual(107);\n    });\n  });\n\n  describe('SankeyLinkLabel', () => {\n    const basicLinkObj = { source: 2, target: 5, value: 99 };\n\n    it('renders a link label', () => {\n      const props = {\n        link: basicLinkObj,\n        linkPathId: 'myLinkPath',\n        linkLabelText: () => 'r2d2',\n      };\n      const label = mount(<SankeyLinkLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      const textPath = text.find('textPath');\n      expect(textPath).toHaveLength(1);\n      expect(textPath.text()).toEqual('r2d2');\n      expect(textPath.props().xlinkHref).toEqual('#myLinkPath');\n    });\n    it('passes linkLabelClassName, linkLabelStyle & linkLabelAttributes through to the text element', () => {\n      const props = {\n        link: basicLinkObj,\n        linkPathId: 'myLinkPath',\n        linkLabelText: () => 'r2d2',\n        linkLabelClassName: 'link-zelda',\n        linkLabelStyle: { fill: 'orange' },\n        linkLabelAttributes: { textAnchor: 'end' },\n      };\n      const label = mount(<SankeyLinkLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('link-zelda');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('orange');\n      expect(text.props().textAnchor).toEqual('end');\n    });\n    it('calls linkLabelClassName, linkLabelStyle & linkLabelAttributes if they are functions', () => {\n      const props = {\n        link: basicLinkObj,\n        linkPathId: 'myLinkPath',\n        linkLabelText: () => 'r2d2',\n        linkLabelClassName: link => `link-${link.source}-${link.target}`,\n        linkLabelStyle: () => ({ fill: 'thistle' }),\n        linkLabelAttributes: () => ({ textAnchor: 'start' }),\n      };\n      const label = mount(<SankeyLinkLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('link-2-5');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('thistle');\n      expect(text.props().textAnchor).toEqual('start');\n    });\n    it(\"passes linkLabelStartOffset to the label's textPath as startOffset attribute\", () => {\n      const props = {\n        link: basicLinkObj,\n        linkPathId: 'myLinkPath',\n        linkLabelText: () => 'r2d2',\n        linkLabelStartOffset: '27%',\n      };\n      const label = mount(<SankeyLinkLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      const textPath = text.find('textPath');\n      expect(textPath).toHaveLength(1);\n      expect(textPath.props().startOffset).toEqual('27%');\n    });\n  });\n\n  describe('SankeyStepLabel', () => {\n    const step = 0;\n\n    it('renders a step label', () => {\n      const props = {\n        step,\n        x: 100,\n        y: 100,\n        stepLabelText: () => 'r2d2',\n      };\n      const label = mount(<SankeyStepLabel {...props} />);\n\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(Number.isFinite(text.props().x)).toBe(true);\n      expect(Number.isFinite(text.props().y)).toBe(true);\n      expect(text.text()).toEqual('r2d2');\n    });\n    it('uses stepLabelText accessor prop to create label text', () => {\n      const labelWithName = mount(\n        <SankeyStepLabel\n          {...{\n            step,\n            stepLabelText: currentStep => currentStep,\n          }}\n        />,\n      );\n      const textWithName = labelWithName.find('text');\n      expect(textWithName).toHaveLength(1);\n      expect(textWithName.text()).toEqual('0');\n    });\n    it('passes stepLabelClassName & stepLabelStyle through to the text element', () => {\n      const props = {\n        step,\n        stepLabelText: () => 'r2d2',\n        stepLabelClassName: 'link-zelda',\n        stepLabelStyle: { fill: 'orange' },\n      };\n      const label = mount(<SankeyStepLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('link-zelda');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('orange');\n    });\n    it('calls stepLabelClassName & stepLabelStyle if they are functions', () => {\n      const props = {\n        step,\n        stepLabelText: () => 'r2d2',\n        stepLabelClassName: currentStep => `step-${currentStep}`,\n        stepLabelStyle: () => ({ fill: 'thistle' }),\n      };\n      const label = mount(<SankeyStepLabel {...props} />);\n      const text = label.find('text');\n      expect(text).toHaveLength(1);\n      expect(text.props().className).toContain('step-0');\n      expect(text.props().style).toBeInstanceOf(Object);\n      expect(text.props().style.fill).toEqual('thistle');\n    });\n  });\n\n  describe('SankeyNodeTerminal', () => {\n    const basicNodeObj = {\n      index: 5,\n      x0: 30,\n      x1: 50,\n      y0: 25,\n      y1: 100,\n      terminalValue: 10,\n    };\n    const nodeTerminalProps = {\n      node: basicNodeObj,\n      graph: { nodes: [], links: [] },\n      nodeTerminalWidth: 5,\n      nodeTerminalDistance: 1,\n      nodeTerminalStyle: { stroke: 'blue' },\n      nodeTerminalClassName: 'merpy',\n      nodeTerminalAttributes: { rx: 3, ry: 3 },\n      onMouseEnterNodeTerminal: jest.fn(),\n      onMouseLeaveNodeTerminal: jest.fn(),\n      onMouseMoveNodeTerminal: jest.fn(),\n      onMouseDownNodeTerminal: jest.fn(),\n      onMouseUpNodeTerminal: jest.fn(),\n      onClickNodeTerminal: jest.fn(),\n    };\n\n    it('renders nothing when terminalValue is falsey', () => {\n      const nodeTerminal = mount(\n        <SankeyNodeTerminal {...{ ...nodeTerminalProps, node: {} }} />,\n      );\n      const rect = nodeTerminal.find('rect');\n      expect(rect).toHaveLength(0);\n    });\n\n    it('renders a rect with passed in props', () => {\n      const nodeTerminal = mount(<SankeyNodeTerminal {...nodeTerminalProps} />);\n      const rect = nodeTerminal.find('rect');\n      expect(rect).toHaveLength(1);\n      expect(rect.props()).toHaveProperty('x');\n      expect(rect.props()).toHaveProperty('y');\n      expect(rect.props().style).toEqual(nodeTerminalProps.nodeTerminalStyle);\n      expect(rect.props().className).toContain(\n        nodeTerminalProps.nodeTerminalClassName,\n      );\n      expect(rect.props().attributes).toEqual(nodeTerminalProps.attributes);\n    });\n\n    it('attaches mouse event handlers (enter, leave, move, down, up, click) to the link path', () => {\n      const nodeTerminal = mount(<SankeyNodeTerminal {...nodeTerminalProps} />);\n      const rect = nodeTerminal.find('rect');\n\n      expect(rect.props().onMouseEnter).toBeInstanceOf(Function);\n      expect(rect.props().onMouseLeave).toBeInstanceOf(Function);\n      expect(rect.props().onMouseMove).toBeInstanceOf(Function);\n      expect(rect.props().onMouseDown).toBeInstanceOf(Function);\n      expect(rect.props().onMouseUp).toBeInstanceOf(Function);\n      expect(rect.props().onClick).toBeInstanceOf(Function);\n\n      expect(nodeTerminalProps.onMouseEnterNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('mouseenter');\n      expect(nodeTerminalProps.onMouseEnterNodeTerminal).toHaveBeenCalled();\n      expect(nodeTerminalProps.onMouseLeaveNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('mouseleave');\n      expect(nodeTerminalProps.onMouseLeaveNodeTerminal).toHaveBeenCalled();\n      expect(nodeTerminalProps.onMouseMoveNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('mousemove');\n      expect(nodeTerminalProps.onMouseMoveNodeTerminal).toHaveBeenCalled();\n      expect(nodeTerminalProps.onMouseDownNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('mousedown');\n      expect(nodeTerminalProps.onMouseDownNodeTerminal).toHaveBeenCalled();\n      expect(nodeTerminalProps.onMouseUpNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('mouseup');\n      expect(nodeTerminalProps.onMouseUpNodeTerminal).toHaveBeenCalled();\n      expect(nodeTerminalProps.onClickNodeTerminal).not.toHaveBeenCalled();\n      rect.simulate('click');\n      expect(nodeTerminalProps.onClickNodeTerminal).toHaveBeenCalled();\n\n      // make sure callbacks are called with (event, {node, graph})\n      expect(nodeTerminalProps.onClickNodeTerminal.mock.calls[0]).toHaveLength(2);\n      const eventArg = nodeTerminalProps.onClickNodeTerminal.mock.calls[0][0];\n      const infoArg = nodeTerminalProps.onClickNodeTerminal.mock.calls[0][1];\n      expect(eventArg).toBeInstanceOf(Object);\n      expect(eventArg).toHaveProperty('target');\n      // SVG <rects> are treated as HTMLUnknownElement since jsdom doesn't support SVG\n      expect(eventArg.target.constructor.name).toBe('HTMLUnknownElement');\n      expect(infoArg).toBeInstanceOf(Object);\n      expect(infoArg.node).toEqual(basicNodeObj);\n      expect(infoArg.graph).toEqual(nodeTerminalProps.graph);\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/ScatterPlot.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\nimport { ScatterPlot } from '../../../src';\n\ndescribe('ScatterPlot', () => {\n  const props = {\n    data: [[0, 0], [2, 1], [5, 1], [3, 5], [4, 2], [5, 5], [1, 4]],\n    x: d => d[0],\n    y: d => d[1],\n    pointClassName: 'my-point',\n    pointStyle: { fill: 'blue' },\n    xScale: scaleLinear().domain([0, 5]),\n    yScale: scaleLinear().domain([0, 5]),\n    onMouseEnterPoint: jest.fn(),\n    onMouseMovePoint: jest.fn(),\n    onMouseLeavePoint: jest.fn(),\n    pointOffset: [2, 2],\n  };\n\n  it('passes props correctly to points', () => {\n    let chart = mount(<ScatterPlot {...props} />);\n    let points = chart.find('circle');\n\n    points.forEach(point => {\n      expect(point.props().className).toContain(props.pointClassName);\n      expect(point.props().style).toEqual(props.pointStyle);\n    });\n\n    chart = mount(<ScatterPlot {...props} pointSymbol={() => 'a'} />);\n    points = chart.find('text');\n\n    points.forEach(point => {\n      expect(point.props().className).toContain(props.pointClassName);\n      expect(point.props().style).toEqual({\n        textAnchor: 'middle',\n        dominantBaseline: 'central',\n        ...props.pointStyle,\n      });\n    });\n  });\n\n  it('renders correct amount of points in correct area', () => {\n    const chart = mount(<ScatterPlot {...props} />);\n    const points = chart.find('circle');\n\n    expect(points).toHaveLength(props.data.length);\n\n    points.forEach((point, idx) => {\n      const { xScale, yScale, data, x, y, pointOffset } = props;\n      const xPos = xScale(x(data[idx])) + pointOffset[0];\n      const yPos = yScale(y(data[idx])) + pointOffset[1];\n\n      expect(point.props().cx).toEqual(xPos);\n      expect(point.props().cy).toEqual(yPos);\n    });\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<ScatterPlot {...props} />);\n    const points = chart.find('circle');\n\n    expect(props.onMouseMovePoint).not.toHaveBeenCalled();\n    points.at(1).simulate('mousemove');\n    expect(props.onMouseMovePoint).toHaveBeenCalled();\n    expect(props.onMouseEnterPoint).not.toHaveBeenCalled();\n    points.at(1).simulate('mouseenter');\n    expect(props.onMouseEnterPoint).toHaveBeenCalled();\n    expect(props.onMouseLeavePoint).not.toHaveBeenCalled();\n    points.at(1).simulate('mouseleave');\n    expect(props.onMouseLeavePoint).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/TreeMap.spec.js",
    "content": "import React from 'react';\nimport _ from 'lodash';\nimport { mount } from 'enzyme';\n\nimport { TreeMap } from '../../../src';\nimport TreeMapNode from '../../../src/TreeMapNode.js';\nimport TreeMapNodeLabel from '../../../src/TreeMapNodeLabel.js';\n\ndescribe('TreeMap', () => {\n  const data = {\n    children: _.range(1, 5).map(n => ({\n      size: n * 5,\n      name: `Name: ${n}`,\n    })),\n  };\n\n  const props = {\n    data,\n    nodeStyle: { border: '1px solid #333' },\n    getLabel: d => d.name,\n    getValue: d => d.size,\n    onClickNode: jest.fn(),\n    onMouseEnterNode: jest.fn(),\n    onMouseLeaveNode: jest.fn(),\n    onMouseMoveNode: jest.fn(),\n    width: 400,\n    height: 500,\n  };\n\n  it('passes props correctly to nodes', () => {\n    const chart = mount(<TreeMap {...props} />);\n    const nodes = chart.find(TreeMapNode);\n\n    nodes.forEach(node => {\n      expect(node.props().nodeStyle.border).toEqual(props.nodeStyle.border);\n    });\n  });\n\n  it('renders correct amount of nodes and labels', () => {\n    const chart = mount(<TreeMap {...props} />);\n    const nodes = chart.find(TreeMapNode);\n\n    expect(nodes).toHaveLength(5);\n\n    nodes.forEach(node => {\n      expect(node.find(TreeMapNodeLabel)).toHaveLength(1);\n    });\n  });\n\n  it('recreates tree when sticky is false, and keeps tree when true', () => {\n    let chart = mount(<TreeMap {...props} />);\n    let tree = chart.instance().state.tree;\n\n    chart.setProps({ data });\n    expect(tree).not.toEqual(chart.instance().state.tree);\n\n    chart = mount(<TreeMap {...props} sticky />);\n    tree = chart.instance().state.tree;\n    chart.setProps({ data });\n    expect(tree).toEqual(chart.instance().state.tree);\n  });\n\n  it('triggers event handlers', () => {\n    const chart = mount(<TreeMap {...props} />);\n    const nodes = chart.find(TreeMapNode);\n\n    expect(props.onMouseMoveNode).not.toHaveBeenCalled();\n    nodes.at(1).simulate('mousemove');\n    expect(props.onMouseMoveNode).toHaveBeenCalled();\n    expect(props.onMouseEnterNode).not.toHaveBeenCalled();\n    nodes.at(1).simulate('mouseenter');\n    expect(props.onMouseEnterNode).toHaveBeenCalled();\n    expect(props.onMouseLeaveNode).not.toHaveBeenCalled();\n    nodes.at(1).simulate('mouseleave');\n    expect(props.onMouseLeaveNode).toHaveBeenCalled();\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/XGrid.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\n\nimport { XGrid, XLine } from '../../../src';\nimport { getScaleTicks, getTickDomain } from '../../../src/utils/Scale';\n\ndescribe('XGrid', () => {\n  const props = {\n    height: 10,\n    spacingTop: 10,\n    spacingBottom: 10,\n    spacingLeft: 10,\n    spacingRight: 10,\n    lineClassName: 'xgrid-line-class',\n    lineStyle: { stroke: 'blue' },\n    xScale: scaleLinear().domain([0, 100]),\n  };\n\n  it('passes props correctly to XLine', () => {\n    const xGrid = mount(<XGrid {...props} />);\n    const xLines = xGrid.find(XLine);\n    const group = xGrid.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(group.getDOMNode().className).toEqual('rct-chart-grid-x');\n\n    xLines.forEach(xLine => {\n      const xLineProps = xLine.props();\n\n      expect(xLineProps.className).toContain(props.lineClassName);\n      expect(xLineProps.style).toEqual(props.lineStyle);\n      expect(xLineProps.spacingTop).toEqual(props.spacingTop);\n      expect(xLineProps.spacingBottom).toEqual(props.spacingBottom);\n      expect(xLineProps.spacingLeft).toEqual(props.spacingLeft);\n      expect(xLineProps.spacingRight).toEqual(props.spacingRight);\n      expect(xLineProps.xScale).toEqual(props.xScale);\n      expect(xLineProps.height).toEqual(props.height);\n    });\n  });\n\n  it('renders the correct amount of XLines given tickCount', () => {\n    const tickCount = 50;\n    const xGrid = mount(<XGrid {...props} tickCount={tickCount} />);\n    const group = xGrid.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(group.getDOMNode().className).toEqual('rct-chart-grid-x');\n\n    const xLines = xGrid.find(XLine);\n    const numTicksMade = getScaleTicks(props.xScale, null, tickCount);\n\n    expect(xLines).toHaveLength(numTicksMade.length);\n  });\n\n  it('renders the correct amount of XLines given ticks', () => {\n    const ticks = [0, 25, 50, 100];\n    const xGrid = mount(<XGrid {...props} ticks={ticks} />);\n    const group = xGrid.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(group.getDOMNode().className).toEqual('rct-chart-grid-x');\n\n    const xLines = xGrid.find(XLine);\n    expect(xLines).toHaveLength(ticks.length);\n  });\n\n  it('getTickDomain works as expected', () => {\n    const ticks = [0, 25, 50, 100];\n\n    const result = getTickDomain(props.xScale, { ...props, ticks });\n\n    expect(XGrid.getTickDomain({ ...props, ticks })).toEqual({\n      xTickDomain: result,\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/XLine.spec.js",
    "content": "import { scaleLinear, scalePoint, scaleTime } from 'd3-scale';\nimport React from 'react';\nimport { shallow } from 'enzyme';\n\nimport XLine from '../../../src/XLine';\n\nfunction findLine(wrapper) {\n  return wrapper.find('line.rct-chart-line-x').first();\n}\n\nfunction expectCorrectLinePlacement(wrapper, value, scale) {\n  const lines = wrapper.find('line.rct-chart-line-x');\n  expect(lines).toHaveLength(1);\n  const line = lines.first();\n  expect(line.first().prop('x1')).toEqual(scale(value));\n  expect(line.first().prop('x2')).toEqual(scale(value));\n  return wrapper;\n}\n\nfunction getLineHeight(line) {\n  const y1 = +line.prop('y1') || 0;\n  const y2 = +line.prop('y2');\n  return Math.abs(y2 - y1);\n}\n\ndescribe('XLine', () => {\n  const linearScale = scaleLinear()\n    .domain([-5, 5])\n    .range([0, 500]);\n  const timeScale = scaleTime()\n    .domain([new Date(2009, 0, 1), new Date(2010, 0, 1)])\n    .range([0, 500]);\n  const ordinalScale = scalePoint()\n    .domain(['a', 'b', 'c', 'd'])\n    .range([0, 300]);\n\n  const linearValue = 2;\n  const timeValue = new Date(2009, 9, 19);\n  const ordinalValue = 'c';\n  const commonProps = { spacing: { top: 0, bottom: 0, left: 0, right: 0 } };\n\n  it('renders a .rct-chart-line-x element in the correct place', () => {\n    let wrapper = shallow(\n      <XLine xScale={linearScale} value={linearValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, linearValue, linearScale);\n\n    wrapper = shallow(\n      <XLine xScale={timeScale} value={timeValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, timeValue, timeScale);\n\n    wrapper = shallow(\n      <XLine xScale={ordinalScale} value={ordinalValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, ordinalValue, ordinalScale);\n  });\n\n  it('renders a line with the correct height', () => {\n    let wrapper = shallow(\n      <XLine\n        xScale={linearScale}\n        value={linearValue}\n        height={200}\n        {...commonProps}\n      />,\n    );\n    expect(getLineHeight(findLine(wrapper))).toEqual(200);\n\n    wrapper = shallow(\n      <XLine\n        xScale={linearScale}\n        value={linearValue}\n        height={400}\n        {...commonProps}\n      />,\n    );\n    expect(getLineHeight(findLine(wrapper))).toEqual(400);\n  });\n\n  it('passes className to the line', () => {\n    const wrapper = shallow(\n      <XLine\n        xScale={linearScale}\n        value={linearValue}\n        className=\"test-line-class\"\n        {...commonProps}\n      />,\n    );\n    expect(wrapper).toContainMatchingElement('line.test-line-class');\n  });\n\n  it('passes style to the line', () => {\n    const style = { fill: 'red' };\n    const wrapper = shallow(\n      <XLine\n        xScale={linearScale}\n        value={linearValue}\n        style={style}\n        {...commonProps}\n      />,\n    );\n    expect(findLine(wrapper).prop('style')).toEqual(style);\n  });\n\n  it(\"limits the line's height using yLimit\", () => {\n    const limit = 2;\n    const wrapper = shallow(\n      <XLine\n        yScale={linearScale}\n        xScale={linearScale}\n        yDomain={linearScale.domain()}\n        value={linearValue}\n        yLimit={limit}\n        {...commonProps}\n      />,\n    );\n    expect(getLineHeight(findLine(wrapper))).toEqual(linearScale(limit));\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/XTicks.spec.js",
    "content": "import _ from 'lodash';\nimport { scaleLinear, scalePoint, scaleTime } from 'd3-scale';\nimport React from 'react';\nimport { shallow } from 'enzyme';\n\nimport XTicks from '../../../src/XTicks';\n\nfunction expectTicksToExist(wrapper) {\n  const ticksGroup = wrapper.find('g.rct-chart-ticks-x');\n  expect(ticksGroup).toHaveLength(1);\n  expect(ticksGroup).toContainMatchingElement('line.rct-chart-tick-x');\n  return wrapper;\n}\n\nfunction expectCorrectTickPlacement(wrapper, ticks, scale) {\n  const tickLines = wrapper.find('line.rct-chart-tick-x');\n  expect(tickLines).toHaveLength(ticks.length);\n  tickLines.forEach((line, i) => {\n    expect(Math.round(+line.prop('x1'))).toEqual(Math.round(scale(ticks[i])));\n  });\n  return wrapper;\n}\n\nfunction getLineHeight(line) {\n  const y1 = +line.prop('y1') || 0;\n  const y2 = +line.prop('y2');\n  return Math.abs(y2 - y1);\n}\n\ndescribe('XTicks', () => {\n  const linearScale = scaleLinear()\n    .domain([-5, 5])\n    .range([0, 500]);\n  const timeScale = scaleTime()\n    .domain([new Date(2009, 0, 1), new Date(2010, 0, 1)])\n    .range([0, 500]);\n  const ordinalScale = scalePoint()\n    .domain(['a', 'b', 'c', 'd'])\n    .range([0, 300]);\n\n  it('renders a .rct-chart-ticks-x element with tick lines', () => {\n    expectTicksToExist(shallow(<XTicks xScale={linearScale} />));\n    expectTicksToExist(shallow(<XTicks xScale={ordinalScale} />));\n    expectTicksToExist(shallow(<XTicks xScale={timeScale} />));\n  });\n\n  it('uses `tickCount` to determine approx. # of ticks to display on number/time scales', () => {\n    let wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickCount={11} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-x')).toHaveLength(11);\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickCount={3} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-x')).toHaveLength(3);\n\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={timeScale} tickCount={13} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-x')).toHaveLength(13);\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={timeScale} tickCount={5} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-x')).toHaveLength(5);\n  });\n\n  it('uses `ticks` to determine which ticks to show', () => {\n    const linearTicks = [-3, 2, 4];\n    let wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} ticks={linearTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, linearTicks, linearScale);\n\n    const timeTicks = [new Date(2009, 4, 10), new Date(2010, 5, 13)];\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={timeScale} ticks={timeTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, timeTicks, timeScale);\n\n    const ordinalTicks = ['b', 'd'];\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={ordinalScale} ticks={ordinalTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, ordinalTicks, ordinalScale);\n  });\n\n  it('uses `tickLength` to determine tick length', () => {\n    let wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickLength={5} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(getLineHeight(line)).toEqual(5));\n\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickLength={13} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(getLineHeight(line)).toEqual(13));\n  });\n\n  it('uses `top` to draw the ticks at top of rectangle', () => {\n    const height = 400;\n    let wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} height={height} />),\n    );\n    expect(wrapper.find('g.rct-chart-ticks-x')).toHaveProp(\n      'transform',\n      `translate(0, ${height})`,\n    );\n\n    wrapper = expectTicksToExist(\n      shallow(<XTicks position=\"top\" xScale={linearScale} height={height} />),\n    );\n    expect(wrapper.find('g.rct-chart-ticks-x')).toHaveProp(\n      'transform',\n      `translate(0, 0)`,\n    );\n  });\n\n  it('draws the ticks above/below line if `placement` is passed', () => {\n    let wrapper = expectTicksToExist(shallow(<XTicks xScale={linearScale} />));\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(line.prop('y2')).toBeGreaterThan(0));\n    wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} placement=\"above\" />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(line.prop('y2')).toBeLessThan(0));\n\n    wrapper = expectTicksToExist(\n      shallow(<XTicks position=\"top\" xScale={linearScale} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(line.prop('y2')).toBeLessThan(0));\n    wrapper = expectTicksToExist(\n      shallow(<XTicks position=\"top\" xScale={linearScale} placement=\"below\" />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(line.prop('y2')).toBeGreaterThan(0));\n  });\n\n  it('passes className to the ticks', () => {\n    const wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickClassName=\"test-tick-class\" />),\n    );\n    expect(wrapper).toContainMatchingElement('line.test-tick-class');\n  });\n\n  it('passes style to the ticks', () => {\n    const style = { fill: 'red' };\n    const wrapper = expectTicksToExist(\n      shallow(<XTicks xScale={linearScale} tickStyle={style} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-x')\n      .forEach(line => expect(line.prop('style')).toEqual(style));\n  });\n\n  it('has a static getMargin method which returns the required outer margin space', () => {\n    const zeroMargins = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    let margin = XTicks.getMargin({\n      tickLength: 10,\n      position: 'bottom',\n      placement: 'below',\n    });\n    expect(margin).toEqual(_.defaults({ marginBottom: 10 }, zeroMargins));\n    margin = XTicks.getMargin({\n      tickLength: 10,\n      position: 'top',\n      placement: 'above',\n    });\n    expect(margin).toEqual(_.defaults({ marginTop: 10 }, zeroMargins));\n\n    margin = XTicks.getMargin({\n      tickLength: 10,\n      position: 'bottom',\n      placement: 'above',\n    });\n    expect(margin).toEqual(zeroMargins);\n    margin = XTicks.getMargin({\n      tickLength: 10,\n      position: 'top',\n      placement: 'below',\n    });\n    expect(margin).toEqual(zeroMargins);\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/XYPlot.spec.js",
    "content": "import React from 'react';\nimport { mount } from 'enzyme';\n\nimport { XYPlot, Bar } from '../../../src';\n\ndescribe('XYPlot', () => {\n  const commonXYProps = {\n    xDomain: [0, 10],\n    yDomain: [0, 100],\n    xyPlotClassName: 'xy-plot',\n    xyPlotStyle: { fill: 'blue' },\n    xyPlotContainerStyle: { opacity: '0.5' },\n  };\n\n  it('renders SVG with given width, height, style and className (or a default)', () => {\n    const chart = mount(<XYPlot width={600} height={800} {...commonXYProps} />);\n    const svg = chart.find('svg');\n    const plot = chart.find('.rct-plot-background');\n\n    // svg className returns SvgAnimatedString, so access baseVal to get string\n    // for chai contains to test against\n    expect(svg.getDOMNode().className.baseVal).toContain(\n      commonXYProps.xyPlotClassName,\n    );\n\n    expect(svg.getDOMNode().style._values).toEqual(\n      commonXYProps.xyPlotContainerStyle,\n    );\n    expect(plot.getDOMNode().style._values).toEqual(commonXYProps.xyPlotStyle);\n\n    const node = svg.instance();\n    expect(node.tagName.toLowerCase()).toEqual('svg');\n    expect(node.getAttribute('width')).toEqual('600');\n    expect(node.getAttribute('height')).toEqual('800');\n\n    const chart2 = mount(<XYPlot {...commonXYProps} />);\n    const node2 = chart2.find('svg').instance();\n    expect(node2.tagName.toLowerCase()).toEqual('svg');\n    expect(parseInt(node2.getAttribute('width'), 10)).not.toBeNaN();\n    expect(parseInt(node2.getAttribute('width'), 10)).toBeGreaterThan(10);\n    expect(parseInt(node2.getAttribute('height'), 10)).not.toBeNaN();\n    expect(parseInt(node2.getAttribute('height'), 10)).toBeGreaterThan(10);\n  });\n\n  it('renders inner chart area with given margin', () => {\n    const size = 400;\n    const margin = {\n      marginTop: 10,\n      marginBottom: 20,\n      marginLeft: 30,\n      marginRight: 40,\n    };\n    const chart = mount(\n      <XYPlot width={size} height={size} {...margin} {...commonXYProps} />,\n    );\n    const inner = chart.find('.rct-chart-inner').instance();\n    const bg = chart.find('.rct-plot-background').instance();\n    expect(inner.getAttribute('transform').replace(/\\s/, '')).toContain(\n      `translate(${margin.marginLeft},${margin.marginTop})`,\n    );\n    expect(parseInt(bg.getAttribute('width'), 10)).toEqual(\n      size - (margin.marginLeft + margin.marginRight),\n    );\n    expect(parseInt(bg.getAttribute('height'), 10)).toEqual(\n      size - (margin.marginTop + margin.marginBottom),\n    );\n  });\n\n  it('renders children with correct props', () => {\n    const barProps = {\n      x: 0,\n      y: 0,\n      yEnd: 30,\n      style: { fill: 'red' },\n      onMouseMove: jest.fn(),\n    };\n    const chart = mount(\n      <XYPlot\n        width={600}\n        height={800}\n        {...commonXYProps}\n        onMouseMove={jest.fn()}\n      >\n        <Bar {...barProps} />\n      </XYPlot>,\n    );\n\n    const bar = chart.find(Bar);\n\n    // Make sure props passed into bar are correctly passed down by XYPlot and not overriden\n    Object.keys(barProps).forEach(k => {\n      expect(bar.props()[k]).toEqual(barProps[k]);\n    });\n\n    // Make sure click handlers passed into bar are correctly triggered\n    expect(chart.props().onMouseMove).not.toHaveBeenCalled();\n    expect(bar.props().onMouseMove).not.toHaveBeenCalled();\n    bar.simulate('mousemove');\n    expect(chart.props().onMouseMove).toHaveBeenCalled();\n    expect(bar.props().onMouseMove).toHaveBeenCalled();\n  });\n\n  it('triggers event handlers', () => {\n    const mouseHandlers = {\n      onMouseMove: jest.fn(),\n      onMouseEnter: jest.fn(),\n      onMouseLeave: jest.fn(),\n      onMouseDown: jest.fn(),\n      onMouseUp: jest.fn(),\n      onClick: jest.fn(),\n    };\n    const chart = mount(<XYPlot {...commonXYProps} {...mouseHandlers} />);\n    const chartProps = chart.props();\n    const expectedKeys = [\n      'event',\n      'outerX',\n      'outerY',\n      'innerX',\n      'innerY',\n      'xValue',\n      'yValue',\n      'xScale',\n      'yScale',\n      'marginTop',\n      'marginBottom',\n      'marginLeft',\n      'marginRight',\n    ];\n\n    Object.keys(mouseHandlers).forEach(handler => {\n      const handlerSimulateEventName = handler.substring(2).toLowerCase();\n\n      expect(chartProps[handler]).not.toHaveBeenCalled();\n      chart.simulate(handlerSimulateEventName);\n      expect(chartProps[handler]).toHaveBeenCalled();\n      expect(Object.keys(chartProps[handler].mock.calls[0][0])).toEqual(expectedKeys);\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/YGrid.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear } from 'd3-scale';\nimport { mount } from 'enzyme';\n\nimport { YGrid, YLine } from '../../../src/index.js';\nimport { getScaleTicks, getTickDomain } from '../../../src/utils/Scale';\n\ndescribe('YGrid', () => {\n  const props = {\n    width: 10,\n    spacingTop: 10,\n    spacingBottom: 10,\n    spacingLeft: 10,\n    spacingRight: 10,\n    lineClassName: 'ygrid-line-class',\n    lineStyle: { stroke: 'blue' },\n    yScale: scaleLinear().domain([0, 100]),\n  };\n\n  it('passes props correctly to YLine', () => {\n    const yGrid = mount(<YGrid {...props} />);\n    const yLines = yGrid.find(YLine);\n\n    yLines.forEach(yLine => {\n      const yLineProps = yLine.props();\n\n      expect(yLineProps.className).toContain(props.lineClassName);\n      expect(yLineProps.style).toEqual(props.lineStyle);\n      expect(yLineProps.spacingTop).toEqual(props.spacingTop);\n      expect(yLineProps.spacingBottom).toEqual(props.spacingBottom);\n      expect(yLineProps.spacingLeft).toEqual(props.spacingLeft);\n      expect(yLineProps.spacingRight).toEqual(props.spacingRight);\n      expect(yLineProps.yScale).toEqual(props.yScale);\n      expect(yLineProps.width).toEqual(props.width);\n    });\n  });\n\n  it('renders the correct amount of YLines given tickCount', () => {\n    const tickCount = 50;\n    const yGrid = mount(<YGrid {...props} tickCount={tickCount} />);\n    const group = yGrid.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(group.getDOMNode().className).toEqual('rct-chart-grid-y');\n\n    const yLines = yGrid.find(YLine);\n    const numTicksMade = getScaleTicks(props.yScale, null, tickCount);\n\n    expect(yLines).toHaveLength(numTicksMade.length);\n  });\n\n  it('renders the correct amount of YLines given ticks', () => {\n    const ticks = [0, 25, 50, 100];\n    const yGrid = mount(<YGrid {...props} ticks={ticks} />);\n    const group = yGrid.find('g');\n\n    expect(group).toHaveLength(1);\n    expect(group.getDOMNode().className).toEqual('rct-chart-grid-y');\n\n    const yLines = yGrid.find(YLine);\n    expect(yLines).toHaveLength(ticks.length);\n  });\n\n  it('getTickDomain works as expected', () => {\n    const ticks = [0, 25, 50, 100];\n\n    const result = getTickDomain(props.yScale, { ...props, ticks });\n\n    expect(YGrid.getTickDomain({ ...props, ticks })).toEqual({\n      yTickDomain: result,\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/YLine.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear, scaleTime, scalePoint } from 'd3-scale';\nimport { shallow } from 'enzyme';\n\nimport YLine from '../../../src/YLine';\n\nfunction findLine(wrapper) {\n  return wrapper.find('line.rct-chart-line-y').first();\n}\n\nfunction expectCorrectLinePlacement(wrapper, value, scale) {\n  const lines = wrapper.find('line.rct-chart-line-y');\n  expect(lines).toHaveLength(1);\n  const line = lines.first();\n  expect(line.first().prop('y1')).toEqual(scale(value));\n  expect(line.first().prop('y2')).toEqual(scale(value));\n  return wrapper;\n}\n\nfunction getLineWidth(line) {\n  const x1 = +line.prop('x1') || 0;\n  const x2 = +line.prop('x2');\n  return Math.abs(x2 - x1);\n}\n\ndescribe('YLine', () => {\n  const linearScale = scaleLinear()\n    .domain([-5, 5])\n    .range([0, 500]);\n  const timeScale = scaleTime()\n    .domain([new Date(2009, 0, 1), new Date(2010, 0, 1)])\n    .range([0, 500]);\n  const ordinalScale = scalePoint()\n    .domain(['a', 'b', 'c', 'd'])\n    .range([0, 300]);\n\n  const linearValue = 2;\n  const timeValue = new Date(2009, 9, 19);\n  const ordinalValue = 'c';\n  const commonProps = { spacing: { top: 0, bottom: 0, left: 0, right: 0 } };\n\n  it('renders a .chart-line-x element in the correct place', () => {\n    let wrapper = shallow(\n      <YLine yScale={linearScale} value={linearValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, linearValue, linearScale);\n\n    wrapper = shallow(\n      <YLine yScale={timeScale} value={timeValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, timeValue, timeScale);\n\n    wrapper = shallow(\n      <YLine yScale={ordinalScale} value={ordinalValue} {...commonProps} />,\n    );\n    expectCorrectLinePlacement(wrapper, ordinalValue, ordinalScale);\n  });\n\n  it('renders a line with the correct width', () => {\n    let wrapper = shallow(\n      <YLine\n        yScale={linearScale}\n        value={linearValue}\n        width={200}\n        {...commonProps}\n      />,\n    );\n    expect(getLineWidth(findLine(wrapper))).toEqual(200);\n\n    wrapper = shallow(\n      <YLine\n        yScale={linearScale}\n        value={linearValue}\n        width={400}\n        {...commonProps}\n      />,\n    );\n    expect(getLineWidth(findLine(wrapper))).toEqual(400);\n  });\n\n  it('passes className to the line', () => {\n    const wrapper = shallow(\n      <YLine\n        yScale={linearScale}\n        value={linearValue}\n        className=\"test-line-class\"\n        {...commonProps}\n      />,\n    );\n    expect(wrapper).toContainMatchingElement('line.test-line-class');\n  });\n\n  it('passes style to the line', () => {\n    const style = { fill: 'red' };\n    const wrapper = shallow(\n      <YLine\n        yScale={linearScale}\n        value={linearValue}\n        style={style}\n        {...commonProps}\n      />,\n    );\n    expect(findLine(wrapper).prop('style')).toEqual(style);\n  });\n\n  it(\"limits the line's width using xLimit\", () => {\n    const limit = 2;\n    const wrapper = shallow(\n      <YLine\n        yScale={linearScale}\n        xScale={linearScale}\n        value={linearValue}\n        xLimit={limit}\n        {...commonProps}\n      />,\n    );\n    expect(getLineWidth(findLine(wrapper))).toEqual(linearScale(limit));\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/YTicks.spec.js",
    "content": "import _ from 'lodash';\nimport { scaleLinear, scalePoint, scaleTime } from 'd3-scale';\nimport React from 'react';\nimport { shallow } from 'enzyme';\n\nimport { YTicks } from '../../../src';\n\nfunction expectTicksToExist(wrapper) {\n  const ticksGroup = wrapper.find('g.rct-chart-ticks-y');\n  expect(ticksGroup).toHaveLength(1);\n  expect(ticksGroup).toContainMatchingElement('line.rct-chart-tick-y');\n  return wrapper;\n}\n\nfunction expectCorrectTickPlacement(wrapper, ticks, scale) {\n  const tickLines = wrapper.find('line.rct-chart-tick-y');\n  expect(tickLines).toHaveLength(ticks.length);\n  tickLines.forEach((line, i) => {\n    expect(Math.round(+line.prop('y1'))).toEqual(Math.round(scale(ticks[i])));\n  });\n  return wrapper;\n}\n\nfunction getLineWidth(line) {\n  const y1 = +line.prop('x1') || 0;\n  const y2 = +line.prop('x2');\n  return Math.abs(y2 - y1);\n}\n\ndescribe('YTicks', () => {\n  const linearScale = scaleLinear()\n    .domain([-5, 5])\n    .range([0, 500]);\n  const timeScale = scaleTime()\n    .domain([new Date(2009, 0, 1), new Date(2010, 0, 1)])\n    .range([0, 500]);\n  const ordinalScale = scalePoint()\n    .domain(['a', 'b', 'c', 'd'])\n    .range([0, 300]);\n\n  it('renders a .rct-chart-ticks-y element with tick lines', () => {\n    expectTicksToExist(shallow(<YTicks yScale={linearScale} />));\n    expectTicksToExist(shallow(<YTicks yScale={ordinalScale} />));\n    expectTicksToExist(shallow(<YTicks yScale={timeScale} />));\n  });\n\n  it('uses `tickCount` to determine approx. # of ticks to display on number/time scales', () => {\n    let wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickCount={11} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-y')).toHaveLength(11);\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickCount={3} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-y')).toHaveLength(3);\n\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={timeScale} tickCount={13} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-y')).toHaveLength(13);\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={timeScale} tickCount={5} />),\n    );\n    expect(wrapper.find('line.rct-chart-tick-y')).toHaveLength(5);\n  });\n\n  it('uses `ticks` to determine which ticks to show', () => {\n    const linearTicks = [-3, 2, 4];\n    let wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} ticks={linearTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, linearTicks, linearScale);\n\n    const timeTicks = [new Date(2009, 4, 10), new Date(2010, 5, 13)];\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={timeScale} ticks={timeTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, timeTicks, timeScale);\n\n    const ordinalTicks = ['b', 'd'];\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={ordinalScale} ticks={ordinalTicks} />),\n    );\n    expectCorrectTickPlacement(wrapper, ordinalTicks, ordinalScale);\n  });\n\n  it('uses `tickLength` to determine tick length', () => {\n    let wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickLength={5} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(getLineWidth(line)).toEqual(5));\n\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickLength={13} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(getLineWidth(line)).toEqual(13));\n  });\n\n  it('uses `right` to draw the ticks right of rectangle', () => {\n    const width = 400;\n    let wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} width={width} />),\n    );\n    expect(wrapper.find('g.rct-chart-ticks-y')).toHaveProp(\n      'transform',\n      `translate(0, 0)`,\n    );\n\n    wrapper = expectTicksToExist(\n      shallow(<YTicks position=\"right\" yScale={linearScale} width={width} />),\n    );\n    expect(wrapper.find('g.rct-chart-ticks-y')).toHaveProp(\n      'transform',\n      `translate(${width}, 0)`,\n    );\n  });\n\n  it('draws the ticks above/below line if `placement` is passed', () => {\n    let wrapper = expectTicksToExist(shallow(<YTicks yScale={linearScale} />));\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(line.prop('x2')).toBeLessThan(0));\n    wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} placement=\"before\" />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(line.prop('x2')).toBeLessThan(0));\n\n    wrapper = expectTicksToExist(\n      shallow(<YTicks position=\"right\" yScale={linearScale} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(line.prop('x2')).toBeGreaterThan(0));\n    wrapper = expectTicksToExist(\n      shallow(\n        <YTicks position=\"right\" yScale={linearScale} placement=\"after\" />,\n      ),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(line.prop('x2')).toBeGreaterThan(0));\n  });\n\n  it('passes className to the ticks', () => {\n    const wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickClassName=\"test-tick-class\" />),\n    );\n    expect(wrapper).toContainMatchingElement('line.test-tick-class');\n  });\n\n  it('passes style to the ticks', () => {\n    const style = { fill: 'red' };\n    const wrapper = expectTicksToExist(\n      shallow(<YTicks yScale={linearScale} tickStyle={style} />),\n    );\n    wrapper\n      .find('line.rct-chart-tick-y')\n      .forEach(line => expect(line.prop('style')).toEqual(style));\n  });\n\n  it('has a static getMargin method which returns the required outer margin space', () => {\n    const zeroMargins = {\n      marginTop: 0,\n      marginBottom: 0,\n      marginLeft: 0,\n      marginRight: 0,\n    };\n\n    let margin = YTicks.getMargin({\n      tickLength: 10,\n      position: 'left',\n      placement: 'before',\n    });\n    expect(margin).toEqual(_.defaults({ marginLeft: 10 }, zeroMargins));\n    margin = YTicks.getMargin({\n      tickLength: 10,\n      position: 'left',\n      placement: 'after',\n    });\n    expect(margin).toEqual(zeroMargins);\n\n    margin = YTicks.getMargin({\n      tickLength: 10,\n      position: 'right',\n      placement: 'before',\n    });\n    expect(margin).toEqual(zeroMargins);\n    margin = YTicks.getMargin({\n      tickLength: 10,\n      position: 'right',\n      placement: 'after',\n    });\n    expect(margin).toEqual(_.defaults({ marginRight: 10 }, zeroMargins));\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/ZoomContainer.spec.js",
    "content": "import React from 'react';\nimport { mount } from 'enzyme';\n\nimport { ZoomContainer } from '../../../src';\n\ndescribe('ZoomContainer', () => {\n  const uncontrolledProps = {\n    width: 500,\n    height: 500,\n    scaleExtent: [0.5, 2],\n  };\n\n  const controlledProps = {\n    ...uncontrolledProps,\n    controlled: true,\n  };\n\n  it('passes props correctly to DOM', () => {\n    const zoomContainer = mount(<ZoomContainer {...uncontrolledProps} />);\n\n    let svg = zoomContainer.find('svg').instance();\n    let group = zoomContainer.find('g').instance();\n\n    expect(parseInt(svg.getAttribute('width'))).toEqual(\n      uncontrolledProps.width,\n    );\n    expect(parseInt(svg.getAttribute('height'))).toEqual(\n      uncontrolledProps.height,\n    );\n    expect(parseInt(group.getAttribute('width'))).toEqual(\n      uncontrolledProps.width,\n    );\n    expect(parseInt(group.getAttribute('height'))).toEqual(\n      uncontrolledProps.height,\n    );\n\n    const controlledZoomContainer = mount(\n      <ZoomContainer {...controlledProps} />,\n    );\n\n    svg = controlledZoomContainer.find('svg').instance();\n    group = controlledZoomContainer.find('g').instance();\n\n    expect(parseInt(svg.getAttribute('width'))).toEqual(controlledProps.width);\n    expect(parseInt(svg.getAttribute('height'))).toEqual(\n      controlledProps.height,\n    );\n    expect(parseInt(group.getAttribute('width'))).toEqual(\n      controlledProps.width,\n    );\n    expect(parseInt(group.getAttribute('height'))).toEqual(\n      controlledProps.height,\n    );\n  });\n\n  it('passes props correctly to d3 zoom', () => {\n    const d3Props = {\n      extent: [[0, 0], [1, 1]],\n      scaleExtent: [0.5, 2],\n      translateExtent: [[0, 0], [1, 1]],\n      clickDistance: 1,\n      duration: 250,\n      interpolate: () => {},\n      constrain: () => {},\n      filter: () => {},\n      touchable: () => {},\n      wheelDelta: () => {},\n    };\n\n    const zoomContainer = mount(\n      <ZoomContainer {...uncontrolledProps} {...d3Props} />,\n    );\n\n    const d3Zoom = zoomContainer.instance().zoom;\n\n    expect(d3Zoom.extent).toBeInstanceOf(Function);\n    expect(d3Zoom.scaleExtent).toBeInstanceOf(Function);\n    expect(d3Zoom.translateExtent).toBeInstanceOf(Function);\n    expect(d3Zoom.clickDistance).toBeInstanceOf(Function);\n    expect(d3Zoom.duration).toBeInstanceOf(Function);\n    expect(d3Zoom.interpolate).toBeInstanceOf(Function);\n    expect(d3Zoom.constrain).toBeInstanceOf(Function);\n    expect(d3Zoom.filter).toBeInstanceOf(Function);\n    expect(d3Zoom.touchable).toBeInstanceOf(Function);\n    expect(d3Zoom.wheelDelta).toBeInstanceOf(Function);\n  });\n\n  it('passes zoom props correctly when controlled', () => {\n    const zoomContainer = mount(<ZoomContainer {...controlledProps} />);\n\n    expect(zoomContainer.prop('zoomX')).toEqual(0);\n    expect(zoomContainer.prop('zoomY')).toEqual(0);\n    expect(zoomContainer.prop('zoomScale')).toEqual(1);\n    expect(zoomContainer.state('lastZoomTransform').k).toEqual(1);\n    expect(zoomContainer.state('lastZoomTransform').x).toEqual(0);\n    expect(zoomContainer.state('lastZoomTransform').y).toEqual(0);\n\n    zoomContainer.setProps({ zoomX: 100, zoomY: 100, zoomScale: 2 });\n\n    expect(zoomContainer.state('lastZoomTransform').k).toEqual(2);\n    expect(zoomContainer.state('lastZoomTransform').x).toEqual(100);\n    expect(zoomContainer.state('lastZoomTransform').y).toEqual(100);\n  });\n\n  it('renders correctly', () => {\n    const zoomContainer = mount(<ZoomContainer {...uncontrolledProps} />);\n\n    let svg = zoomContainer.find('svg');\n    let group = zoomContainer.find('g');\n\n    expect(svg.length).toEqual(1);\n    expect(group.length).toEqual(1);\n\n    const controlledZoomContainer = mount(\n      <ZoomContainer {...controlledProps} />,\n    );\n\n    svg = controlledZoomContainer.find('svg');\n    group = controlledZoomContainer.find('g');\n\n    expect(svg.length).toEqual(1);\n    expect(group.length).toEqual(1);\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/resolveXYScales.spec.js",
    "content": "import React from 'react';\nimport { scaleLinear, scaleOrdinal } from 'd3-scale';\nimport { mount } from 'enzyme';\n\nimport { isValidScale } from '../../../src/utils/Scale';\nimport { innerRangeX, innerRangeY } from '../../../src/utils/Margin';\n\nimport resolveXYScales from '../../../src/utils/resolveXYScales';\n\nfunction expectRefAndDeepEqual(a, b) {\n  expect(a).toBe(b);\n  expect(a).toEqual(b);\n}\n\nfunction expectXYScales(scales) {\n  expect(scales).toBeInstanceOf('object');\n  ['x', 'y'].forEach(k => {\n    expect(scales).toHaveProperty(k);\n    expect(isValidScale(scales[k])).toEqual(true);\n  });\n}\n\nfunction expectXYScaledComponent(\n  rendered,\n  { width, height, scaleType, domain, margin, range },\n) {\n  // checks that a given rendered component has been created with XY scales/margin\n  // that match the expected domain, range & margin\n  // if range not provided, it should be width/height minus margins\n  range = range || {\n    x: innerRangeX(width, margin),\n    y: innerRangeY(height, margin),\n  };\n  expect(scaleType).toBeInstanceOf('object');\n  console.log('expected domains', domain);\n  console.log('expected range', range);\n\n  expect(rendered.props).toBeInstanceOf('object');\n  expect(rendered.props.margin).toEqual(margin);\n\n  const renderedScale = rendered.props.scale;\n  expectXYScales(renderedScale);\n  ['x', 'y'].forEach(k => {\n    expect(rendered.props.scaleType[k]).toEqual(scaleType[k]);\n    console.log('domain', renderedScale[k].domain());\n    console.log('expected domain', domain[k]);\n    expect(renderedScale[k].domain()).toEqual(domain[k]);\n    if (scaleType[k] === 'ordinal')\n      expect(renderedScale[k].range()).toEqual(\n        scaleOrdinal()\n          .domain(domain[k])\n          .rangePoints(range[k])\n          .range(),\n      );\n    else expect(renderedScale[k].range()).toEqual(range[k]);\n  });\n}\n\nfunction expectXYScaledComponentEnzyme(\n  rendered,\n  { width, height, scaleType, domain, margin, range },\n) {\n  // checks that a given rendered component has been created with XY scales/margin\n  // that match the expected domain, range & margin\n  // if range not provided, it should be width/height minus margins\n  range = range || {\n    x: innerRangeX(width, margin),\n    y: innerRangeY(height, margin),\n  };\n  expect(scaleType).toBeInstanceOf('object');\n\n  expect(rendered.props().margin).toEqual(margin);\n\n  const renderedScale = rendered.props().scale;\n  expectXYScales(renderedScale);\n  ['x', 'y'].forEach(k => {\n    expect(rendered.props().scaleType[k]).toEqual(scaleType[k]);\n    console.log('domain', renderedScale[k].domain());\n    console.log('expected domain', domain[k]);\n    expect(renderedScale[k].domain()).toEqual(domain[k]);\n    if (scaleType[k] === 'ordinal')\n      expect(renderedScale[k].range()).toEqual(\n        scaleOrdinal()\n          .domain(domain[k])\n          .rangePoints(range[k])\n          .range(),\n      );\n    else expect(renderedScale[k].range()).toEqual(range[k]);\n  });\n}\n\ndescribe('resolveXYScales', () => {\n  const customScaleType = { xScaleType: 'ordinal', yScaleType: 'linear' };\n  const customDomain = { xDomain: [-5, 5], yDomain: [0, 10] };\n  const customMargin = {\n    marginTop: 10,\n    marginBottom: 20,\n    marginLeft: 30,\n    marginRight: 40,\n  };\n  const width = 500;\n  const height = 400;\n\n  // test fixture component classes\n  class ComponentWithChildren extends React.Component {\n    render() {\n      return <div>{this.props.children}</div>;\n    }\n  }\n\n  class Chart extends ComponentWithChildren {}\n  const XYChart = resolveXYScales(Chart);\n\n  class ChartWithCustomScaleType extends ComponentWithChildren {\n    static getScaleType(props) {\n      return customScaleType;\n    }\n  }\n  const XYChartWithCustomScaleType = resolveXYScales(ChartWithCustomScaleType);\n\n  class ChartWithCustomDomain extends ComponentWithChildren {\n    static getDomain(props) {\n      return customDomain;\n    }\n  }\n  const XYChartWithCustomDomain = resolveXYScales(ChartWithCustomDomain);\n\n  class ChartWithCustomMargin extends ComponentWithChildren {\n    static getMargin(props) {\n      return customMargin;\n    }\n  }\n  const XYChartWithCustomMargin = resolveXYScales(ChartWithCustomMargin);\n\n  class ContainerChart extends React.Component {\n    render() {\n      const {\n        width,\n        height,\n        xScale,\n        yScale,\n        xScaleType,\n        yScaleType,\n        marginTop,\n        marginBottom,\n        marginLeft,\n        marginRight,\n        xDomain,\n        yDomain,\n      } = this.props;\n      const newChildren = React.Children.map(\n        this.props.children,\n        (child, i) => {\n          return React.cloneElement(child, {\n            width,\n            height,\n            xScale,\n            yScale,\n            xScaleType,\n            yScaleType,\n            marginTop,\n            marginBottom,\n            marginLeft,\n            marginRight,\n            xDomain,\n            yDomain,\n          });\n        },\n      );\n      return <div>{newChildren}</div>;\n    }\n  }\n  const XYContainerChart = resolveXYScales(ContainerChart);\n\n  it('passes XY scales and margins through if both are provided', () => {\n    const props = {\n      xScale: scaleLinear()\n        .domain([-1, 1])\n        .range([0, 400]),\n      yScale: scaleLinear()\n        .domain([-2, 2])\n        .range([10, 300]),\n      marginTop: 11,\n      marginBottom: 21,\n      marginLeft: 31,\n      marginRight: 41,\n    };\n    const wrapped = mount(<XYChart {...props} />);\n    const rendered = wrapped.find(Chart);\n\n    [\n      'xScale',\n      'yScale',\n      'marginTop',\n      'marginBottom',\n      'marginLeft',\n      'marginRight',\n    ].forEach(propKey => {\n      expectRefAndDeepEqual(rendered.props()[propKey], props[propKey]);\n    });\n  });\n\n  it('creates scales from scaleType, size, domain & margins', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'ordinal',\n      xDomain: [-50, 50],\n      yDomain: [-100, 100],\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n\n    const wrapped = mount(<XYChart {...props} />);\n    const rendered = wrapped.find(Chart);\n    const renderedXScale = rendered.props().xScale;\n    const renderedYScale = rendered.props().yScale;\n\n    expect(isValidScale(renderedXScale)).toEqual(true);\n    expect(isValidScale(renderedYScale)).toEqual(true);\n    expect(renderedXScale.domain()).toEqual(props.xDomain);\n    expect(renderedYScale.domain()).toEqual(props.yDomain);\n    expect(renderedXScale.range()).toEqual([\n      0,\n      width - (props.marginLeft + props.marginRight),\n    ]);\n    expect(renderedYScale.range()).toEqual([\n      height - (props.marginTop + props.marginBottom),\n      0,\n    ]);\n  });\n\n  it('infers scaleType from Component.getScaleType', () => {\n    const props = {\n      width,\n      height,\n      xDomain: [-50, 50],\n      yDomain: [-100, 100],\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n\n    const wrapped = mount(<XYChartWithCustomScaleType {...props} />);\n    const rendered = wrapped.find(ChartWithCustomScaleType);\n\n    expect(rendered.props().xScaleType).toEqual(customScaleType.xScaleType);\n    expect(rendered.props().yScaleType).toEqual(customScaleType.yScaleType);\n  });\n\n  it('infers scaleType from data', () => {\n    const props = {\n      width,\n      height,\n      data: [[12, 'a'], [18, 'b'], [22, 'c']],\n      x: d => d[0],\n      y: d => d[1],\n      xDomain: [12, 22],\n      yDomain: ['a', 'b', 'c'],\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n\n    const wrapped = mount(<XYChart {...props} />);\n    const rendered = wrapped.find(Chart);\n\n    expect(rendered.props().xScaleType).toEqual('linear');\n    expect(rendered.props().yScaleType).toEqual('ordinal');\n  });\n\n  // todo: fix this (only matters in edge case)\n  // it('infers scaleType from children getScaleType', () => {\n  //   const props = {\n  //     width, height,\n  //     domain: {x: [12, 22], y: [2, 3]},\n  //     margin: {top: 11, bottom: 22, left: 33, right: 44}\n  //   };\n  //\n  //   const tree = <XYContainerChart {...props}><XYChartWithCustomScaleType a=\"1\"/></XYContainerChart>;\n  //   const wrapped = mount(tree);\n  //   const rendered = wrapped.find(ContainerChart);\n  //\n  //   console.log(rendered.props());\n  //   expect(rendered.props().scaleType).toEqual(customScaleType);\n  // });\n\n  it('infers scaleType from children data', () => {\n    const props = {\n      width,\n      height,\n      xDomain: [12, 22],\n      yDomain: ['a', 'b', 'c'],\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const chartProps = {\n      data: [[12, 'a'], [18, 'b'], [22, 'c']],\n      x: d => d[0],\n      y: d => d[1],\n    };\n\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChart {...chartProps} />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n\n    expect(rendered.props().xScaleType).toEqual('linear');\n    expect(rendered.props().yScaleType).toEqual('ordinal');\n  });\n\n  it('infers domain from Component.getDomain', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const wrapped = mount(<XYChartWithCustomDomain {...props} />);\n    const rendered = wrapped.find(ChartWithCustomDomain);\n\n    expect(rendered.props().xDomain).toEqual(customDomain.xDomain);\n    expect(rendered.props().yDomain).toEqual(customDomain.yDomain);\n  });\n\n  it('infers domain from data', () => {\n    const props = {\n      width,\n      height,\n      data: [[12, 'a'], [18, 'b'], [22, 'c']],\n      x: d => d[0],\n      y: d => d[1],\n      xScaleType: 'linear',\n      yScaleType: 'ordinal',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const wrapped = mount(<XYChart {...props} />);\n    const rendered = wrapped.find(Chart);\n\n    expect(rendered.props().xDomain).toEqual([12, 22]);\n    expect(rendered.props().yDomain).toEqual(['a', 'b', 'c']);\n  });\n\n  it('infers domain from children getDomain', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChartWithCustomDomain />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n    expect(rendered.props().xDomain).toEqual(customDomain.xDomain);\n    expect(rendered.props().yDomain).toEqual(customDomain.yDomain);\n  });\n\n  it('infers domain from children data', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChart data={[[0, 2], [3, 5]]} x={d => d[0]} y={d => d[1]} />\n        <XYChart data={[[-2, 0], [2, 4]]} x={d => d[0]} y={d => d[1]} />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n\n    expect(rendered.props().xDomain).toEqual([-2, 3]);\n    expect(rendered.props().yDomain).toEqual([0, 5]);\n  });\n\n  it('x and y domain includes 0 given inferred domain from children data', () => {\n    const props = {\n      width,\n      height,\n      includeXZero: true,\n      includeYZero: true,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChart data={[[5, 10], [5, 14]]} x={d => d[0]} y={d => d[1]} />\n        <XYChart data={[[10, 5], [10, 5]]} x={d => d[0]} y={d => d[1]} />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n\n    expect(rendered.props().xDomain).toEqual([0, 10]);\n    expect(rendered.props().yDomain).toEqual([0, 14]);\n  });\n\n  it('infers margin from Component.getMargin', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      xDomain: [-50, 50],\n      yDomain: [-100, 100],\n    };\n    const wrapped = mount(<XYChartWithCustomMargin {...props} />);\n    const rendered = wrapped.find(ChartWithCustomMargin);\n    expect(rendered.props().marginTop).toEqual(customMargin.marginTop);\n    expect(rendered.props().marginBottom).toEqual(customMargin.marginBottom);\n    expect(rendered.props().marginLeft).toEqual(customMargin.marginLeft);\n    expect(rendered.props().marginRight).toEqual(customMargin.marginRight);\n  });\n\n  it('infers margin from children getMargin', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      xDomain: [-50, 50],\n      yDomain: [-100, 100],\n    };\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChartWithCustomMargin />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n    expect(rendered.props().marginTop).toEqual(customMargin.marginTop);\n    expect(rendered.props().marginBottom).toEqual(customMargin.marginBottom);\n    expect(rendered.props().marginLeft).toEqual(customMargin.marginLeft);\n    expect(rendered.props().marginRight).toEqual(customMargin.marginRight);\n  });\n\n  it('infers margin from children margin props', () => {\n    const props = {\n      width,\n      height,\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      xDomain: [-50, 50],\n      yDomain: [-100, 100],\n    };\n    const tree = (\n      <XYContainerChart {...props}>\n        <XYChart marginTop={20} marginLeft={10} />\n        <XYChart marginBottom={40} marginLeft={30} marginRight={50} />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ContainerChart);\n    expect(rendered.props().marginTop).toEqual(20);\n    expect(rendered.props().marginBottom).toEqual(40);\n    expect(rendered.props().marginLeft).toEqual(30);\n    expect(rendered.props().marginRight).toEqual(50);\n  });\n\n  it('infers scaleType & domain from data, margin from getMargin', () => {\n    const containerProps = { width, height };\n    const chartProps = {\n      data: [[12, 'a'], [18, 'b'], [22, 'c']],\n      x: d => d[0],\n      y: d => d[1],\n    };\n    const tree = (\n      <XYContainerChart {...containerProps}>\n        <XYChartWithCustomMargin {...chartProps} />\n      </XYContainerChart>\n    );\n    const wrapped = mount(tree);\n    const rendered = wrapped.find(ChartWithCustomMargin);\n\n    expect(rendered.props().marginTop).toEqual(customMargin.marginTop);\n    expect(rendered.props().marginBottom).toEqual(customMargin.marginBottom);\n    expect(rendered.props().marginLeft).toEqual(customMargin.marginLeft);\n    expect(rendered.props().marginRight).toEqual(customMargin.marginRight);\n    expect(rendered.props().xScaleType).toEqual('linear');\n    expect(rendered.props().yScaleType).toEqual('ordinal');\n    expect(rendered.props().xDomain).toEqual([12, 22]);\n    expect(rendered.props().yDomain).toEqual(['a', 'b', 'c']);\n  });\n\n  it('inverts the scale domain if `invertScale` option is true', () => {\n    const props = {\n      width,\n      height,\n      xDomain: [-3, 3],\n      yDomain: [0, 10],\n      xScaleType: 'linear',\n      yScaleType: 'linear',\n      marginTop: 11,\n      marginBottom: 22,\n      marginLeft: 33,\n      marginRight: 44,\n    };\n\n    const invertXChart = mount(<XYChart {...props} invertXScale />).find(Chart);\n    expect(invertXChart.props().xDomain).toEqual([3, -3]);\n    expect(invertXChart.props().yDomain).toEqual([0, 10]);\n\n    const invertYChart = mount(<XYChart {...props} invertYScale />).find(Chart);\n    expect(invertYChart.props().xDomain).toEqual([-3, 3]);\n    expect(invertYChart.props().yDomain).toEqual([10, 0]);\n  });\n\n  // todo test resolving scaleType from domains\n\n  // todo spacing/padding\n  // todo test tickCount\n  // todo includeZero?\n\n  // todo test combining multiple scaletypes/domains/margins from children\n  // todo test partially specified scaletype\n  // todo test partially specified margins\n  // todo test partially specified scales\n  // todo test partially specified domains\n  // todo: test with thin layers of components (w/o getDomain) in between?\n  // todo: test when one scale or domain is passed but not the other?\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.Axis.spec.js",
    "content": "import { scaleLinear, scalePoint } from 'd3-scale';\nimport _ from 'lodash';\nimport {\n  getAxisChildProps,\n  getMouseAxisOptions,\n} from '../../../src/utils/Axis';\n\ndescribe('Axis utils', () => {\n  it('getAxisChildProps', () => {\n    const axisProps = {\n      width: 400,\n      height: 250,\n      xScale: scaleLinear(),\n      yScale: scaleLinear(),\n      spacingTop: 10,\n      spacingBottom: 10,\n      spacingLeft: 10,\n      spacingRight: 10,\n      position: 'top',\n      placement: '',\n      ticks: [10, 20, 30, 40, 50],\n      tickCount: 5,\n      tickLength: 8,\n      tickClassName: 'my-ticks',\n      tickStyle: { stroke: 'blue' },\n      title: 'what a title',\n      titleDistance: 12,\n      titleAlign: 'center',\n      titleRotate: true,\n      titleStyle: { color: 'blue' },\n      labelDistance: 12,\n      labelClassName: 'my-label',\n      labelStyle: { color: 'brown' },\n      labelFormat: '0a',\n      labelFormats: ['0a'],\n      labels: ['what a label'],\n      gridLineClassName: 'my-grid',\n      labelOffset: 10,\n      gridLineStyle: { stroke: 'blue' },\n      onMouseEnterLabel: () => {},\n      onMouseMoveLabel: () => {},\n      onMouseLeaveLabel: () => {},\n      onMouseClickLabel: () => {},\n    };\n\n    const {\n      ticksProps,\n      gridProps,\n      labelsProps,\n      titleProps,\n    } = getAxisChildProps(axisProps);\n\n    expect(ticksProps).toEqual(\n      _.pick(axisProps, [\n        'width',\n        'height',\n        'xScale',\n        'yScale',\n        'ticks',\n        'tickCount',\n        'spacingTop',\n        'spacingBottom',\n        'spacingLeft',\n        'spacingRight',\n        'position',\n        'placement',\n        'tickLength',\n        'tickStyle',\n        'tickClassName',\n      ]),\n    );\n\n    expect(gridProps).toEqual(\n      Object.assign(\n        {},\n        _.pick(axisProps, [\n          'width',\n          'height',\n          'xScale',\n          'yScale',\n          'ticks',\n          'tickCount',\n          'spacingTop',\n          'spacingBottom',\n          'spacingLeft',\n          'spacingRight',\n        ]),\n        {\n          lineClassName: axisProps.gridLineClassName,\n          lineStyle: axisProps.gridLineStyle,\n        },\n      ),\n    );\n\n    expect(labelsProps).toEqual(\n      Object.assign(\n        { noLabelOverhang: undefined },\n        _.pick(axisProps, [\n          'width',\n          'height',\n          'xScale',\n          'yScale',\n          'ticks',\n          'tickCount',\n          'spacingTop',\n          'spacingBottom',\n          'spacingLeft',\n          'spacingRight',\n          'position',\n          'placement',\n          'labels',\n          'labelClassName',\n          'labelStyle',\n          'noLabelOverhang',\n          'onMouseEnterLabel',\n          'onMouseMoveLabel',\n          'onMouseLeaveLabel',\n          'onMouseClickLabel',\n        ]),\n        {\n          distance: axisProps.labelDistance,\n          format: axisProps.labelFormat,\n          formats: axisProps.labelFormats,\n          offset: axisProps.labelOffset,\n        },\n      ),\n    );\n\n    expect(titleProps).toEqual(\n      Object.assign(\n        {},\n        _.pick(axisProps, [\n          'width',\n          'height',\n          'position',\n          'placement',\n          'title',\n          'spacingTop',\n          'spacingBottom',\n          'spacingLeft',\n          'spacingRight',\n        ]),\n        {\n          style: axisProps.titleStyle,\n          distance: axisProps.titleDistance,\n          alignment: axisProps.titleAlign,\n          rotate: axisProps.titleRotate,\n        },\n      ),\n    );\n  });\n\n  describe('getMouseAxisOptions', () => {\n    it('throws error on invalid axis type', () => {\n      expect(() => {\n        getMouseAxisOptions('z', {}, {});\n      }).toThrow(Error);\n    });\n\n    it('returns valid mouse options for x axisType', () => {\n      const mockEvent = {\n        currentTarget: {\n          getBoundingClientRect: () => {\n            return {\n              top: 0,\n              left: 0,\n              height: 300,\n              width: 300,\n            };\n          },\n        },\n        clientX: 50,\n        clientY: 0,\n      };\n\n      const scale = scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]);\n\n      expect(getMouseAxisOptions('x', mockEvent, scale)).toEqual({\n        event: mockEvent,\n        outerX: 50,\n        outerY: 0,\n        xScale: scale,\n        xValue: 'b',\n      });\n    });\n\n    it('returns valid mouse options for y axisType', () => {\n      const mockEvent = {\n        currentTarget: {\n          getBoundingClientRect: () => {\n            return {\n              top: 0,\n              left: 0,\n              height: 300,\n              width: 300,\n            };\n          },\n        },\n        clientX: 0,\n        clientY: 50,\n      };\n\n      const scale = scalePoint()\n        .domain(['a', 'b', 'c'])\n        .range([0, 100]);\n\n      expect(getMouseAxisOptions('y', mockEvent, scale)).toEqual({\n        event: mockEvent,\n        outerX: 0,\n        outerY: 50,\n        yScale: scale,\n        yValue: 'b',\n      });\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.Data.spec.js",
    "content": "import { mount } from 'enzyme';\nimport _ from 'lodash';\nimport React from 'react';\nimport {\n  combineDomains,\n  datasetsFromPropsOrDescendants,\n  domainFromData,\n  domainFromDatasets,\n  inferDatasetsType,\n  inferDataType,\n  isValidDomain,\n  makeAccessor,\n} from '../../../src/utils/Data';\n\nconst notImplemented = () => {\n  console.log('* * * TEST NOT YET IMPLEMENTED * * *');\n  throw new Error('not implemented');\n};\n\ndescribe('Data utils', () => {\n  describe('makeAccessor', () => {\n    it('passes existing accessor functions through', () => {\n      const getter = d => d + 1;\n      expect(makeAccessor(getter)).toEqual(getter);\n    });\n\n    it('returns identity function given null or undefined', () => {\n      const d = { x: 6 };\n      expect(makeAccessor(undefined)(d)).toEqual(d);\n      expect(makeAccessor(null)(d)).toEqual(d);\n    });\n\n    it('deeply retrieves object values given array indices and/or key strings', () => {\n      const d = [{ x: [{ y: 'z' }] }];\n      expect(makeAccessor(0)(d)).toEqual(d[0]);\n      expect(makeAccessor('0.x')(d)).toEqual(d[0].x);\n      expect(makeAccessor('0.x.0.y')(d)).toEqual('z');\n      expect(makeAccessor('x.0.y')(d[0])).toEqual('z');\n    });\n  });\n\n  describe('datasetsFromPropsOrDescendants', () => {\n    it('returns props.datasets', () => {\n      const props = { datasets: [[1]] };\n      const datasets = datasetsFromPropsOrDescendants(props);\n      expect(datasets).toEqual(props.datasets);\n      expect(datasets).toEqual(props.datasets);\n    });\n\n    it('returns props.data wrapped in an array', () => {\n      const props = { data: [2] };\n      const datasets = datasetsFromPropsOrDescendants(props);\n      expect(Array.isArray(datasets)).toBe(true);\n      expect(datasets[0]).toEqual(props.data);\n      expect(datasets[0]).toEqual(props.data);\n    });\n\n    it('traverses children and combines their props.data & props.datasets', () => {\n      class TestComponent extends React.Component {\n        render() {\n          return <div>{this.props.children}</div>;\n        }\n      }\n\n      const tree = (\n        <TestComponent first>\n          <div>\n            <TestComponent data={[0, 1]} />\n            <TestComponent datasets={[[2, 3], [4, 5]]} />\n            <div>\n              <TestComponent data={[6, 7]} />\n            </div>\n          </div>\n        </TestComponent>\n      );\n\n      const rendered = mount(tree);\n      const datasets = datasetsFromPropsOrDescendants(rendered.props());\n      expect(Array.isArray(datasets)).toBe(true);\n      expect(datasets).toEqual([[0, 1], [2, 3], [4, 5], [6, 7]]);\n    });\n  });\n\n  describe('inferDataType', () => {\n    it('returns `number` for dataset with all numbers', () => {\n      expect(inferDataType([-1, 0, 1.2, 4.5])).toEqual('number');\n    });\n\n    it('returns `time` for dataset with all Dates', () => {\n      expect(inferDataType([new Date(), new Date(2003, 2, 4)])).toEqual(\n        'time',\n      );\n    });\n\n    it('returns `categorical` for dataset with all strings', () => {\n      expect(inferDataType(['a', 'b', 'c'])).toEqual('categorical');\n    });\n\n    it('returns `categorical` for mixed types', () => {\n      expect(inferDataType([42, new Date()])).toEqual('categorical');\n    });\n\n    it('takes an accessor function for getting the data points', () => {\n      const getD = d => d.a;\n      expect(inferDataType([{ a: 1 }, { a: 1.3 }], getD)).toEqual('number');\n      expect(\n        inferDataType([{ a: new Date() }, { a: new Date() }], getD),\n      ).toEqual('time');\n      expect(inferDataType([{ a: 'b' }, { a: 'c' }], getD)).toEqual(\n        'categorical',\n      );\n    });\n  });\n\n  describe('inferDatasetsType', () => {\n    it('returns same as inferDataType if all datasets are same type', () => {\n      expect(inferDatasetsType([[-1, 0], [1.2, 4.5]])).toEqual('number');\n      expect(\n        inferDatasetsType([[new Date()], [new Date(2003, 2, 4)]]),\n      ).toEqual('time');\n      expect(inferDatasetsType([['a'], ['b', 'c']])).toEqual('categorical');\n      expect(inferDatasetsType([[42, new Date()]])).toEqual('categorical');\n\n      const getD = d => d.a;\n      expect(inferDatasetsType([[{ a: 1 }, { a: 1.3 }]], getD)).toEqual(\n        'number',\n      );\n      expect(\n        inferDatasetsType([[{ a: new Date() }, { a: new Date() }]], getD),\n      ).toEqual('time');\n      expect(inferDatasetsType([[{ a: 'b' }, { a: 'c' }]], getD)).toEqual(\n        'categorical',\n      );\n    });\n\n    it('returns `categorical` if datasets are mixed types', () => {\n      expect(inferDatasetsType([[7], [new Date()]])).toEqual('categorical');\n    });\n  });\n\n  describe('domainFromData', () => {\n    const numberData = [2, 4, 6, -2, 0];\n    const timeData = [\n      new Date(2006, 1, 1),\n      new Date(2013, 1, 1),\n      new Date(2008, 1, 1),\n    ];\n    const categoricalData = ['a', 'b', 'c'];\n\n    it('determines domain from data when type is provided', () => {\n      const numberDomain = domainFromData(numberData, _.identity, 'number');\n      expect(numberDomain).toEqual([-2, 6]);\n      const timeDomain = domainFromData(timeData, _.identity, 'time');\n      expect(timeDomain).toEqual([\n        new Date(2006, 1, 1),\n        new Date(2013, 1, 1),\n      ]);\n      const categoricalDomain = domainFromData(\n        numberData,\n        _.identity,\n        'categorical',\n      );\n      expect(categoricalDomain).toEqual(numberData);\n    });\n\n    it('infers accessor & type when not provided', () => {\n      const numberDomain = domainFromData(numberData);\n      expect(numberDomain).toEqual([-2, 6]);\n      const timeDomain = domainFromData(timeData);\n      expect(timeDomain).toEqual([\n        new Date(2006, 1, 1),\n        new Date(2013, 1, 1),\n      ]);\n      const categoricalDomain = domainFromData(categoricalData);\n      expect(categoricalDomain).toEqual(categoricalData);\n    });\n  });\n\n  describe('domainFromDatasets', () => {\n    const numberDatasets = [[8, 7], [4, 5], [3, 1]];\n    const timeDatasets = [\n      [new Date('2007-03-12'), new Date('2002-03-12')],\n      [new Date('2009-01-09'), new Date('2004-04-25')],\n    ];\n    const categoricalDatasets = [['x', 'z'], ['y', 'z']];\n\n    it('determines domain from datasets when accessor & type are provided', () => {\n      const numberDomain = domainFromDatasets(\n        numberDatasets,\n        _.identity,\n        'number',\n      );\n      const timeDomain = domainFromDatasets(timeDatasets, _.identity, 'time');\n      const categoricalDomain = domainFromDatasets(\n        categoricalDatasets,\n        _.identity,\n        'categorical',\n      );\n\n      expect(numberDomain).toEqual([1, 8]);\n      expect(timeDomain).toEqual([\n        new Date('2002-03-12'),\n        new Date('2009-01-09'),\n      ]);\n      expect(categoricalDomain).toEqual(['x', 'z', 'y']);\n    });\n\n    it('infers accessor & type when not provided', () => {\n      const numberDomain = domainFromDatasets(numberDatasets);\n      const timeDomain = domainFromDatasets(timeDatasets);\n      const categoricalDomain = domainFromDatasets(categoricalDatasets);\n\n      expect(numberDomain).toEqual([1, 8]);\n      expect(timeDomain).toEqual([\n        new Date('2002-03-12'),\n        new Date('2009-01-09'),\n      ]);\n      expect(categoricalDomain).toEqual(['x', 'z', 'y']);\n    });\n  });\n\n  describe('combineDomains', () => {\n    it('returns extent of domains for number-type data', () => {\n      const domains = [[0, 3], [2, 9], [-2, 4]];\n      expect(combineDomains(domains, 'number')).toEqual([-2, 9]);\n    });\n\n    it('returns extent of domains for time-type data', () => {\n      const domains = [\n        [new Date(2004, 1, 1), new Date(2008, 1, 1)],\n        [new Date(2006, 1, 1), new Date(2010, 1, 1)],\n      ];\n      expect(combineDomains(domains, 'time')).toEqual([\n        new Date(2004, 1, 1),\n        new Date(2010, 1, 1),\n      ]);\n    });\n\n    it('returns all unique domain values for categorical-type data', () => {\n      const domains = [['a', 'b', 'c'], ['b', 'd', 'c', 'e']];\n      expect(combineDomains(domains, 'categorical')).toEqual([\n        'a',\n        'b',\n        'c',\n        'd',\n        'e',\n      ]);\n    });\n  });\n\n  describe('isValidDomain', () => {\n    it('returns false for non-arrays and empty arrays', () => {\n      expect(isValidDomain(4)).toEqual(false);\n      expect(isValidDomain('abc')).toEqual(false);\n      expect(isValidDomain([])).toEqual(false);\n    });\n\n    it('returns true for any array with items if type is categorical', () => {\n      expect(isValidDomain([4])).toEqual(true);\n      expect(isValidDomain([4], 'categorical')).toEqual(true);\n      expect(isValidDomain(['abc', 'def', 'ghi'])).toEqual(true);\n      expect(isValidDomain(['abc', 'def', 'ghi'], 'categorical')).toEqual(\n        true,\n      );\n      expect(isValidDomain([new Date(), new Date()])).toEqual(true);\n      expect(isValidDomain([new Date(), new Date()], 'categorical')).toEqual(\n        true,\n      );\n    });\n\n    it('returns true for 2-item number arrays if type is number', () => {\n      expect(isValidDomain([4, 5], 'number')).toEqual(true);\n      expect(isValidDomain([4], 'number')).toEqual(false);\n      expect(isValidDomain([4, 5, 6], 'number')).toEqual(false);\n      expect(isValidDomain([new Date(), new Date()], 'number')).toEqual(false);\n      expect(isValidDomain(['abc', 'def'], 'number')).toEqual(false);\n    });\n\n    it('returns true for 2-item date arrays if type is time', () => {\n      expect(isValidDomain([new Date(), new Date()], 'time')).toEqual(true);\n      expect(isValidDomain([new Date()], 'time')).toEqual(false);\n      expect(\n        isValidDomain([new Date(), new Date(), new Date()], 'time'),\n      ).toEqual(false);\n      expect(isValidDomain([4, 5], 'time')).toEqual(false);\n      expect(isValidDomain(['abc', 'def'], 'time')).toEqual(false);\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.Label.spec.js",
    "content": "import { scaleLinear } from 'd3-scale';\nimport {\n  checkLabelsDistinct,\n  checkRangesOverlap,\n  countRangeOverlaps,\n  getLabelsXOverhang,\n  getLabelsYOverhang,\n  getLabelXOverhang,\n  getLabelXRange,\n  getLabelYOverhang,\n  getLabelYRange,\n  makeLabelFormatters,\n} from '../../../src/utils/Label';\n\ndescribe('Label utils', () => {\n  it('checkLabelsDistinct', () => {\n    const labels = [\n      { value: -20, text: '-20', height: 14, width: 20.234375 },\n      { value: -15, text: '-15', height: 14, width: 20.234375 },\n      { value: -10, text: '-10', height: 14, width: 20.234375 },\n      { value: -5, text: '-5', height: 14, width: 12.4482421875 },\n      { value: 0, text: '0', height: 14, width: 7.7861328125 },\n      { value: 5, text: '5', height: 14, width: 7.7861328125 },\n    ];\n\n    expect(checkLabelsDistinct(labels)).toEqual(true);\n\n    labels.push(labels[0]);\n\n    expect(checkLabelsDistinct(labels)).toEqual(false);\n  });\n\n  it('checkRangesOverlap', () => {\n    const arr1 = [5, 10];\n    const arr2 = [11, 15];\n    const arr3 = [8, 12];\n\n    expect(checkRangesOverlap(arr1, arr2)).toEqual(false);\n    expect(checkRangesOverlap(arr1, arr3)).toEqual(true);\n    expect(checkRangesOverlap(arr2, arr3)).toEqual(true);\n  });\n\n  it('makeLabelFormatters', () => {\n    const formatStrs = [\n      '0.[00]a',\n      '0,0',\n      '0.[0]',\n      '0.[00]',\n      '0.[0000]',\n      '0.[000000]',\n    ];\n    const scaleType = 'linear';\n\n    const results = makeLabelFormatters(formatStrs, scaleType);\n    expect(results).toHaveLength(6);\n    results.forEach(r => {\n      expect(r).toBeInstanceOf(Function);\n    });\n  });\n\n  it('countRangeOverlaps', () => {\n    const ranges = [\n      [-10.1171875, 10.1171875],\n      [27.3828125, 47.6171875],\n      [64.8828125, 85.1171875],\n      [106.27587890625, 118.72412109375],\n      [146.10693359375, 153.89306640625],\n      [183.60693359375, 191.39306640625],\n    ];\n\n    expect(countRangeOverlaps(ranges)).toEqual(0);\n\n    ranges.push([183.60693359375, 191.39306640625]);\n\n    expect(countRangeOverlaps(ranges)).toEqual(1);\n  });\n\n  it('getLabelXRange', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const label = { value: -20, text: '-20', height: 14, width: 20.234375 };\n\n    expect(getLabelXRange(scale, label)).toEqual([\n      -9.950520833333334,\n      10.283854166666666,\n    ]);\n  });\n\n  it('getLabelYRange', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const label = { value: -20, text: '-20', height: 14, width: 20.234375 };\n\n    expect(getLabelYRange(scale, label)).toEqual([\n      -6.833333333333333,\n      7.166666666666667,\n    ]);\n  });\n\n  it('getLabelXOverhang', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const label = { value: -20, text: '-20', height: 14, width: 20.234375 };\n\n    expect(getLabelXOverhang(scale, label)).toEqual([10, 10]);\n  });\n\n  it('getLabelYOverhang', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const label = { value: -20, text: '-20', height: 14, width: 20.234375 };\n\n    expect(getLabelYOverhang(scale, label)).toEqual([7, 7]);\n  });\n\n  it('getLabelsXOverhang', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const labels = [\n      { value: -20, text: '-20', height: 14, width: 20.234375 },\n      { value: -15, text: '-15', height: 14, width: 20.234375 },\n      { value: -10, text: '-10', height: 14, width: 20.234375 },\n      { value: -5, text: '-5', height: 14, width: 12.4482421875 },\n      { value: 0, text: '0', height: 14, width: 7.7861328125 },\n      { value: 5, text: '5', height: 14, width: 7.7861328125 },\n    ];\n\n    expect(getLabelsXOverhang(scale, labels)).toEqual([10, 10]);\n  });\n\n  it('getLabelsYOverhang', () => {\n    const scale = scaleLinear().domain([-30, 30]);\n    const labels = [\n      { value: -20, text: '-20', height: 14, width: 20.234375 },\n      { value: -15, text: '-15', height: 14, width: 20.234375 },\n      { value: -10, text: '-10', height: 14, width: 20.234375 },\n      { value: -5, text: '-5', height: 14, width: 12.4482421875 },\n      { value: 0, text: '0', height: 14, width: 7.7861328125 },\n      { value: 5, text: '5', height: 14, width: 7.7861328125 },\n    ];\n\n    expect(getLabelsYOverhang(scale, labels)).toEqual([7, 7]);\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.Margin.spec.js",
    "content": "import {\n  innerHeight,\n  innerRangeX,\n  innerRangeY,\n  innerWidth,\n  prefixKeys,\n  sumMargins,\n} from '../../../src/utils/Margin';\n\ndescribe('Scale utils', () => {\n  describe('innerWidth', () => {\n    it('returns inner width value, given outer width and a margin object', () => {\n      expect(innerWidth(500)).toEqual(500);\n      expect(innerWidth(500, {})).toEqual(500);\n      expect(innerWidth(500, { top: 100, bottom: 50 })).toEqual(500);\n      expect(innerWidth(500, { left: 100, right: 50 })).toEqual(350);\n      expect(innerWidth(10, { left: 100, right: 50 })).toEqual(0);\n    });\n  });\n\n  describe('innerHeight', () => {\n    it('returns inner height value, given outer height and a margin object', () => {\n      expect(innerHeight(500)).toEqual(500);\n      expect(innerHeight(500, {})).toEqual(500);\n      expect(innerHeight(500, { left: 100, right: 50 })).toEqual(500);\n      expect(innerHeight(500, { top: 100, bottom: 50 })).toEqual(350);\n      expect(innerHeight(10, { top: 100, bottom: 50 })).toEqual(0);\n    });\n  });\n\n  describe('innerRangeX', () => {\n    it('returns inner X-range array, given outer width and a margin object', () => {\n      expect(innerRangeX(500)).toEqual([0, 500]);\n      expect(innerRangeX(500, {})).toEqual([0, 500]);\n      expect(innerRangeX(500, { top: 100, bottom: 50 })).toEqual([\n        0,\n        500,\n      ]);\n      expect(innerRangeX(500, { left: 100, right: 50 })).toEqual([\n        100,\n        450,\n      ]);\n      expect(innerRangeX(10, { left: 100, right: 50 })).toEqual([10, 10]);\n      expect(innerRangeX(120, { left: 100, right: 50 })).toEqual([\n        100,\n        100,\n      ]);\n    });\n  });\n\n  describe('innerRangeY', () => {\n    it('returns inner Y-range array, given outer width and a margin object', () => {\n      expect(innerRangeY(500)).toEqual([500, 0]);\n      expect(innerRangeY(500, {})).toEqual([500, 0]);\n      expect(innerRangeY(500, { left: 100, right: 50 })).toEqual([\n        500,\n        0,\n      ]);\n      expect(innerRangeY(500, { top: 100, bottom: 50 })).toEqual([\n        450,\n        100,\n      ]);\n      expect(innerRangeY(10, { top: 100, bottom: 50 })).toEqual([10, 10]);\n      expect(innerRangeY(120, { top: 100, bottom: 50 })).toEqual([\n        100,\n        100,\n      ]);\n    });\n  });\n\n  describe('prefixKeys', () => {\n    const obj = { a: 1, b: 2, c: 3 };\n    const prefix = 'woot';\n\n    expect(prefixKeys(obj, prefix)).toEqual({\n      wootA: 1,\n      wootB: 2,\n      wootC: 3,\n    });\n  });\n\n  describe('sumMargins', () => {\n    const margins = [\n      { marginBottom: 5, marginTop: 0, marginLeft: 0, marginRight: 0 },\n      { marginTop: 0, marginBottom: 29, marginLeft: 0, marginRight: 0 },\n      { marginBottom: 17, marginLeft: 16, marginRight: 16, marginTop: 0 },\n    ];\n    const prefix = 'margin';\n    expect(sumMargins(margins, prefix)).toEqual({\n      marginTop: 0,\n      marginBottom: 51,\n      marginLeft: 16,\n      marginRight: 16,\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.Scale.spec.js",
    "content": "import React from 'react';\nimport {\n  scaleLinear,\n  scaleTime,\n  scaleOrdinal,\n  scaleLog,\n  scalePoint,\n  scalePow,\n} from 'd3-scale';\n\nimport {\n  scaleTypeFromDataType,\n  dataTypeFromScaleType,\n  inferScaleType,\n  initScale,\n  isValidScale,\n  invertPointScale,\n  indexOfClosestNumberInList,\n} from '../../../src/utils/Scale';\n\ndescribe('Scale utils', () => {\n  describe('scaleTypeFromDataType', () => {\n    it('returns scale types given data types', () => {\n      expect(scaleTypeFromDataType('number')).toEqual('linear');\n      expect(scaleTypeFromDataType('time')).toEqual('time');\n      expect(scaleTypeFromDataType('categorical')).toEqual('ordinal');\n    });\n\n    it('returns `ordinal` for unknown data types', () => {\n      expect(scaleTypeFromDataType('chewbacca')).toEqual('ordinal');\n    });\n  });\n\n  describe('dataTypeFromScaleType', () => {\n    it('returns data types given scale types', () => {\n      expect(dataTypeFromScaleType('linear')).toEqual('number');\n      expect(dataTypeFromScaleType('log')).toEqual('number');\n      expect(dataTypeFromScaleType('pow')).toEqual('number');\n      expect(dataTypeFromScaleType('time')).toEqual('time');\n      expect(dataTypeFromScaleType('ordinal')).toEqual('categorical');\n    });\n\n    it('returns `categorical` for unknown scale types', () => {\n      expect(dataTypeFromScaleType('chewbacca')).toEqual('categorical');\n    });\n  });\n\n  describe('inferScaleType', () => {\n    it('infers the correct scale type, given a scale', () => {\n      expect(inferScaleType(scaleLinear())).toEqual('linear');\n      expect(inferScaleType(scaleTime())).toEqual('time');\n      expect(inferScaleType(scaleOrdinal())).toEqual('ordinal');\n      expect(inferScaleType(scaleLog())).toEqual('log');\n      expect(inferScaleType(scalePow())).toEqual('pow');\n    });\n  });\n\n  describe('initScale', () => {\n    it('creates a scale of the correct type, given a scale type', () => {\n      const linearScale = initScale('linear')\n        .domain([0, 1])\n        .range([100, 200]);\n      expect(inferScaleType(linearScale)).toEqual('linear');\n      expect(linearScale(0.5)).toEqual(150);\n\n      expect(inferScaleType(initScale('time'))).toEqual('time');\n      expect(inferScaleType(initScale('ordinal'))).toEqual('ordinal');\n      expect(inferScaleType(initScale('log'))).toEqual('log');\n      expect(inferScaleType(initScale('pow'))).toEqual('pow');\n    });\n  });\n\n  describe('isValidScale', () => {\n    it('returns true for all known scale types', () => {\n      expect(isValidScale(scaleLinear())).toEqual(true);\n      expect(isValidScale(scaleTime())).toEqual(true);\n      expect(isValidScale(scaleOrdinal())).toEqual(true);\n      expect(isValidScale(scaleLog())).toEqual(true);\n      expect(isValidScale(scalePow())).toEqual(true);\n    });\n    it('returns false for non-scale things', () => {\n      expect(isValidScale(9)).toEqual(false);\n      expect(isValidScale(true)).toEqual(false);\n      expect(isValidScale([4, 5])).toEqual(false);\n      expect(isValidScale({ range: [0, 100], domain: [500, 1000] })).toEqual(\n        false,\n      );\n    });\n  });\n\n  describe('indexOfClosestNumberInList', () => {\n    it('returns index of closest to the number in the array', () => {\n      expect(indexOfClosestNumberInList(1.5, [5, 4, 3, 2, 1])).toEqual(3);\n      expect(indexOfClosestNumberInList(1.5, [1, 2, 3, 4, 5])).toEqual(0);\n    });\n  });\n\n  describe('invertPointScale', () => {\n    it('returns a valid value for given rangeValue', () => {\n      const scale = scalePoint()\n        .domain(['a', 'b', 'c', 'd', 'e'])\n        .range([0, 100]);\n\n      expect(invertPointScale(scale, 0)).toEqual('a');\n      expect(invertPointScale(scale, 26)).toEqual('b');\n      expect(invertPointScale(scale, 51)).toEqual('c');\n      expect(invertPointScale(scale, 76)).toEqual('d');\n      expect(invertPointScale(scale, 101)).toEqual('e');\n    });\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/spec/utils.measureText.spec.js",
    "content": "/**\n * The MIT License (MIT)\n *\n * Copyright (c) 2016 Formidable\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nimport measureText from '../../../src/utils/measureText';\n\nclass MockCtx {\n  measureText() {\n    return { width: 42 };\n  }\n}\n\nclass MockCanvas {\n  getContext() {\n    return new MockCtx();\n  }\n}\n\ndescribe('measure-text', () => {\n  it(`should measure a single line of text provided a\n      px font size and a unitless line height`, () => {\n    const measurement = measureText({\n      text: 'The quick brown fox jumps over the lazy dog',\n      fontFamily: 'Helvetica Neue',\n      fontSize: '24px',\n      lineHeight: '1.2',\n      fontWeight: 400,\n      fontStyle: 'normal',\n      canvas: new MockCanvas(),\n    });\n\n    expect(measurement).toHaveProperty('width.value', 42);\n    expect(measurement).toHaveProperty('height.value', 24 * 1.2);\n    expect(measurement).toHaveProperty('width.unit', 'px');\n    expect(measurement).toHaveProperty('height.unit', 'px');\n  });\n\n  it(`should measure multiline text provided a\n      px font size and a unitless line height`, () => {\n    const measurement = measureText({\n      text: [\n        'The quick brown fox jumps over the lazy dog',\n        'The lazy fox jumps over the quick brown dog',\n        'The dog jumps over the quick, lazy brown fox',\n      ],\n      fontFamily: 'Helvetica Neue',\n      fontSize: '24px',\n      lineHeight: '1.2',\n      fontWeight: 'bold',\n      fontStyle: 'italic',\n      canvas: new MockCanvas(),\n    });\n    expect(measurement).toHaveProperty('width.value', 42);\n    expect(measurement).toHaveProperty(\n      'height.value',\n      24 * 1.2 * 3,\n    );\n    expect(measurement).toHaveProperty('width.unit', 'px');\n    expect(measurement).toHaveProperty('height.unit', 'px');\n  });\n\n  it(`should calculate height when provided a\n      em font size and a unitless line height`, () => {\n    const measurement = measureText({\n      text: 'The quick brown fox jumps over the lazy dog',\n      fontFamily: 'Georgia',\n      fontSize: '2em',\n      lineHeight: 1.3,\n      fontWeight: 700,\n      fontStyle: 'italic',\n      canvas: new MockCanvas(),\n    });\n\n    expect(measurement).toHaveProperty('height.value', 2 * 1.3);\n    expect(measurement).toHaveProperty('height.unit', 'em');\n  });\n\n  it(`should calculate height when provided a\n      line height with units`, () => {\n    const measurement = measureText({\n      text: 'The quick brown fox jumps over the lazy dog',\n      fontFamily: 'Georgia',\n      fontSize: '30px',\n      lineHeight: '40px',\n      fontWeight: 400,\n      fontStyle: 'normal',\n      canvas: new MockCanvas(),\n    });\n\n    expect(measurement).toHaveProperty('height.value', 40);\n    expect(measurement).toHaveProperty('height.unit', 'px');\n  });\n});\n"
  },
  {
    "path": "tests/jsdom/utils.js",
    "content": "import _ from 'lodash';\nimport { scaleLinear, scalePoint } from 'd3-scale';\n\nexport function expectProps(el, expectedProps) {\n  const props = el.props();\n  _.forEach(expectedProps, (expectedValue, key) => {\n    expect(props[key]).toEqual(expectedValue);\n  });\n}\n\nexport function testWithScales(scaleTypes, callback) {\n  const testScales = {\n    linear: {\n      scale: scaleLinear()\n        .domain([-3, 3])\n        .range([20, 100]),\n      testValues: [-1.4, 1.7, 2.8],\n    },\n    // time: {},\n    ordinal: {\n      scale: scalePoint()\n        .domain(['a', 'b', 'c', 'd', 'e'])\n        .range([0, 100]),\n      testValues: ['a', 'c', 'e'],\n    },\n  };\n\n  scaleTypes.forEach(scaleType => {\n    if (!_.has(testScales, scaleType))\n      throw new Error(\n        `${scaleType} is not a valid scaleType for testWithScales`,\n      );\n  });\n\n  const scalesToTest = _.compact(\n    scaleTypes.map(scaleType => testScales[scaleType]),\n  );\n  scalesToTest.forEach((scaleInfo, scaleType) => {\n    callback({ ...scaleInfo, scaleType });\n  });\n}\n"
  },
  {
    "path": "webpack.config.base.js",
    "content": "const path = require('path');\nconst HtmlPlugin = require('html-webpack-plugin');\nconst CopyPlugin = require('copy-webpack-plugin');\n\nmodule.exports = {\n  mode: 'development',\n  context: __dirname,\n  entry: ['./docs/src/main.js'],\n  output: {\n    path: path.join(__dirname, 'docs/build'),\n    filename: 'bundle.[hash].js',\n  },\n  devServer: {\n    port: 9876,\n    static: {\n      directory: path.join(__dirname, 'docs/build'),\n    },\n  },\n  devtool: 'source-map',\n  module: {\n    rules: [\n      {\n        use: 'babel-loader',\n        test: /\\.jsx?$/,\n        exclude: /node_modules/,\n      },\n      {\n        test: /\\.less?$/,\n        use: [\n          { loader: 'style-loader' },\n          { loader: 'css-loader' },\n          { loader: 'less-loader' },\n        ],\n      },\n      {\n        test: /\\.js.example/,\n        use: 'raw-loader',\n      },\n    ],\n  },\n  optimization: {\n    emitOnErrors: false,\n  },\n  plugins: [\n    new HtmlPlugin({\n      // put built html file in /docs/index.html ('../' because relative to /docs/build)\n      // filename: path.join(__dirname, 'docs/index.html'),\n      title: 'Reactochart Docs',\n      template: 'docs/src/index_html.ejs',\n    }),\n    new CopyPlugin({\n      patterns: [{ from: path.join(__dirname, 'docs/assets'), to: 'assets' }],\n    }),\n  ],\n  resolve: {\n    extensions: ['.js', '.jsx'],\n  },\n};\n"
  },
  {
    "path": "webpack.config.build.js",
    "content": "// This webpack file is used for the documentation build\n\nconst _ = require('lodash');\nconst { CleanWebpackPlugin } = require('clean-webpack-plugin');\n\nlet config = require('./webpack.config.base');\n\nconfig = _.merge(config, {\n  mode: 'production',\n  plugins: config.plugins.concat([new CleanWebpackPlugin()]),\n});\n\nmodule.exports = config;\n"
  }
]