From 0fcbcfefce54fb3c179b1405ac2e07ab3e87e4fb Mon Sep 17 00:00:00 2001 From: vincbeck Date: Wed, 18 Dec 2024 16:59:44 -0500 Subject: [PATCH 1/7] AIP-79 Generate assets for Flask application in FAB provider (#44744) This reverts commit 2f92f824c7f5a22f8dbe97feddba24dfc37ab16a. --- scripts/ci/pre_commit/compile_www_assets.py | 34 ++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/scripts/ci/pre_commit/compile_www_assets.py b/scripts/ci/pre_commit/compile_www_assets.py index bf2664685ed6c..ba53ac2d96c98 100755 --- a/scripts/ci/pre_commit/compile_www_assets.py +++ b/scripts/ci/pre_commit/compile_www_assets.py @@ -18,11 +18,11 @@ from __future__ import annotations import hashlib +import importlib.util import os import re import shutil import subprocess -import sys from pathlib import Path # NOTE!. This script is executed from node environment created by pre-commit and this environment @@ -52,17 +52,18 @@ def get_directory_hash(directory: Path, skip_path_regexp: str | None = None) -> f"To run this script, run the ./{__file__} command" ) -if __name__ == "__main__": - www_directory = AIRFLOW_SOURCES_PATH / "airflow" / "www" + +def compile_assets(www_directory: Path, www_hash_file_name: str): node_modules_directory = www_directory / "node_modules" dist_directory = www_directory / "static" / "dist" - WWW_HASH_FILE.parent.mkdir(exist_ok=True, parents=True) + www_hash_file = AIRFLOW_SOURCES_PATH / ".build" / "www" / www_hash_file_name + www_hash_file.parent.mkdir(exist_ok=True, parents=True) if node_modules_directory.exists() and dist_directory.exists(): - old_hash = WWW_HASH_FILE.read_text() if WWW_HASH_FILE.exists() else "" + old_hash = www_hash_file.read_text() if www_hash_file.exists() else "" new_hash = get_directory_hash(www_directory, skip_path_regexp=r".*node_modules.*") if new_hash == old_hash: print("The WWW directory has not changed! Skip regeneration.") - sys.exit(0) + return else: shutil.rmtree(node_modules_directory, ignore_errors=True) shutil.rmtree(dist_directory, ignore_errors=True) @@ -71,4 +72,23 @@ def get_directory_hash(directory: Path, skip_path_regexp: str | None = None) -> subprocess.check_call(["yarn", "install", "--frozen-lockfile"], cwd=os.fspath(www_directory)) subprocess.check_call(["yarn", "run", "build"], cwd=os.fspath(www_directory), env=env) new_hash = get_directory_hash(www_directory, skip_path_regexp=r".*node_modules.*") - WWW_HASH_FILE.write_text(new_hash) + www_hash_file.write_text(new_hash) + + +def is_fab_provider_installed() -> bool: + return ( + importlib.util.find_spec("airflow") is not None + and importlib.util.find_spec("airflow.providers.fab") is not None + ) + + +if __name__ == "__main__": + # Compile assets for main + main_www_directory = AIRFLOW_SOURCES_PATH / "airflow" / "www" + compile_assets(main_www_directory, "hash.txt") + # Compile assets for fab provider + fab_provider_www_directory = ( + AIRFLOW_SOURCES_PATH / "providers" / "src" / "airflow" / "providers" / "fab" / "www" + ) + if fab_provider_www_directory.exists(): + compile_assets(fab_provider_www_directory, "hash_fab.txt") From 976d0f0deb90efe8863f3adcead19d5f61683282 Mon Sep 17 00:00:00 2001 From: vincbeck Date: Thu, 19 Dec 2024 14:48:39 -0500 Subject: [PATCH 2/7] Fix static checks --- airflow/dag_processing/collection.py | 1 - 1 file changed, 1 deletion(-) diff --git a/airflow/dag_processing/collection.py b/airflow/dag_processing/collection.py index 12a79d370b6b5..2a2a86ce867ff 100644 --- a/airflow/dag_processing/collection.py +++ b/airflow/dag_processing/collection.py @@ -198,7 +198,6 @@ def _serialize_dag_capturing_errors(dag: MaybeSerializedDAG, session: Session, p if not dag_was_updated: DagCode.update_source_code(dag.dag_id, dag.fileloc) - return [] except OperationalError: raise From a271b291de837e622c9def29b1452c85a60bf938 Mon Sep 17 00:00:00 2001 From: vincbeck Date: Fri, 7 Feb 2025 14:07:39 -0500 Subject: [PATCH 3/7] Create pre-commit to generate FAB provider assets --- .gitignore | 1 + .pre-commit-config.yaml | 15 ++- contributing-docs/08_static_code_checks.rst | 2 + .../doc/images/output_static-checks.svg | 12 +-- .../doc/images/output_static-checks.txt | 2 +- .../src/airflow_breeze/pre_commit_ids.py | 1 + .../3rd-party-licenses/LICENSES-ui.txt | 87 ++++++++++++++++ ...rflowDefaultTheme.9afce1aedbae94358039.css | 33 +++++++ ...irflowDefaultTheme.9afce1aedbae94358039.js | 20 ++++ .../fab/www/static/dist/codemirror.css | 20 ++++ .../fab/www/static/dist/codemirror.js | 20 ++++ .../fab/www/static/dist/coffeescript-lint.js | 20 ++++ .../providers/fab/www/static/dist/css-lint.js | 20 ++++ .../fab/www/static/dist/d3-shape.min.js | 20 ++++ .../providers/fab/www/static/dist/d3-tip.js | 20 ++++ .../providers/fab/www/static/dist/d3.min.js | 20 ++++ .../fab/www/static/dist/dagre-d3.core.min.js | 21 ++++ .../dist/dagre-d3.core.min.js.LICENSE.txt | 22 +++++ .../www/static/dist/dagre-d3.core.min.js.map | 1 + .../fab/www/static/dist/dagre-d3.min.js | 21 ++++ .../static/dist/dagre-d3.min.js.LICENSE.txt | 22 +++++ .../fab/www/static/dist/dagre-d3.min.js.map | 1 + .../fab/www/static/dist/html-lint.js | 20 ++++ .../fab/www/static/dist/javascript-lint.js | 20 ++++ .../fab/www/static/dist/javascript.js | 20 ++++ .../fab/www/static/dist/jquery-ui.min.css | 24 +++++ .../fab/www/static/dist/jquery-ui.min.js | 21 ++++ .../static/dist/jquery-ui.min.js.LICENSE.txt | 4 + .../providers/fab/www/static/dist/jshint.js | 21 ++++ .../fab/www/static/dist/jshint.js.LICENSE.txt | 30 ++++++ .../fab/www/static/dist/json-lint.js | 20 ++++ .../providers/fab/www/static/dist/lint.css | 20 ++++ .../providers/fab/www/static/dist/lint.js | 20 ++++ .../dist/loadingDots.1c54103d58133bcf341c.css | 20 ++++ .../dist/loadingDots.1c54103d58133bcf341c.js | 20 ++++ .../static/dist/main.dfca1a45df456ea33163.css | 20 ++++ .../static/dist/main.dfca1a45df456ea33163.js | 21 ++++ .../main.dfca1a45df456ea33163.js.LICENSE.txt | 18 ++++ .../fab/www/static/dist/manifest.json | 34 +++++++ .../materialIcons.869fb7b069687466e62b.css | 20 ++++ .../materialIcons.869fb7b069687466e62b.js | 20 ++++ .../dist/moment.a925b68ebcdd92124096.js | 21 ++++ ...moment.a925b68ebcdd92124096.js.LICENSE.txt | 11 +++ .../fab/www/static/dist/oss-licenses.json | 29 ++++++ .../fab/www/static/dist/yaml-lint.js | 20 ++++ .../providers/fab/www/static/js/main.js | 1 + scripts/ci/pre_commit/compile_fab_assets.py | 98 +++++++++++++++++++ scripts/ci/pre_commit/compile_www_assets.py | 16 +-- 48 files changed, 965 insertions(+), 25 deletions(-) create mode 100644 providers/fab/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/coffeescript-lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/css-lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/d3-shape.min.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/d3-tip.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/d3.min.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js.map create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.map create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/html-lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/javascript-lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/javascript.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/jshint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/jshint.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/json-lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/lint.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/lint.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.1c54103d58133bcf341c.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.1c54103d58133bcf341c.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/main.dfca1a45df456ea33163.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/main.dfca1a45df456ea33163.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/main.dfca1a45df456ea33163.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/manifest.json create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.869fb7b069687466e62b.css create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.869fb7b069687466e62b.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/moment.a925b68ebcdd92124096.js create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/moment.a925b68ebcdd92124096.js.LICENSE.txt create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/oss-licenses.json create mode 100644 providers/fab/src/airflow/providers/fab/www/static/dist/yaml-lint.js create mode 100755 scripts/ci/pre_commit/compile_fab_assets.py diff --git a/.gitignore b/.gitignore index 84afbd474102b..d80c57714493b 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,7 @@ env/ build/ develop-eggs/ dist/ +!providers/fab/**/www/static/dist downloads/ eggs/ .eggs/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f567c13d06e7f..1b33afee8ca25 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -67,7 +67,7 @@ repos: - id: insert-license name: Add license for CSS/JS/JSX/PUML/TS/TSX files: \.(css|jsx?|puml|tsx?)$ - exclude: ^\.github/.*$|^airflow/www/static/js/types/api-generated.ts$|ui/openapi-gen/ + exclude: ^\.github/.*$|^airflow/www/static/js/types/api-generated.ts$|ui/openapi-gen/|.*/dist/.* args: - --comment-style - "/*!| *| */" @@ -309,7 +309,7 @@ repos: The word(s) should be in lowercase." && exec codespell "$@"' -- language: python types: [text] - exclude: material-icons\.css$|^images/.*$|^RELEASE_NOTES\.txt$|^.*package-lock\.json$|^.*/kinglear\.txt$|^.*pnpm-lock\.yaml$ + exclude: material-icons\.css$|^images/.*$|^RELEASE_NOTES\.txt$|^.*package-lock\.json$|^.*/kinglear\.txt$|^.*pnpm-lock\.yaml$|.*/dist/.* args: - --ignore-words=docs/spelling_wordlist.txt - --skip=providers/src/airflow/providers/*/*.rst,providers/*/docs/changelog.rst,airflow/www/*.log,docs/*/commits.rst,providers/*/docs/commits.rst,providers/*/*/docs/commits.rst,docs/apache-airflow/tutorial/pipeline_example.csv,*.min.js,*.lock,INTHEWILD.md @@ -684,7 +684,8 @@ repos: ^contributing-docs/03_contributors_quick_start.rst$| ^.*\.(png|gif|jp[e]?g|tgz|lock)$| git| - ^newsfragments/43349\.significant\.rst$ + ^newsfragments/43349\.significant\.rst$| + .*/dist/.* - id: check-base-operator-partial-arguments name: Check BaseOperator and partial() arguments language: python @@ -889,6 +890,14 @@ repos: entry: ./scripts/ci/pre_commit/compile_ui_assets_dev.py pass_filenames: false additional_dependencies: ['pnpm@9.7.1'] + - id: compile-fab-assets + name: Compile FAB provider assets + language: node + 'types_or': [ javascript, ts, tsx ] + files: ^providers/fab/.*/www/ + entry: ./scripts/ci/pre_commit/compile_fab_assets.py + pass_filenames: false + additional_dependencies: [ 'yarn@1.22.21' ] - id: compile-www-assets name: Compile www assets (manual) language: node diff --git a/contributing-docs/08_static_code_checks.rst b/contributing-docs/08_static_code_checks.rst index 1ee8ae5289027..c9fbcb027873d 100644 --- a/contributing-docs/08_static_code_checks.rst +++ b/contributing-docs/08_static_code_checks.rst @@ -254,6 +254,8 @@ require Breeze Docker image to be built locally. +-----------------------------------------------------------+--------------------------------------------------------+---------+ | codespell | Run codespell | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ +| compile-fab-assets | Compile FAB provider assets | | ++-----------------------------------------------------------+--------------------------------------------------------+---------+ | compile-ui-assets | Compile ui assets (manual) | | +-----------------------------------------------------------+--------------------------------------------------------+---------+ | compile-ui-assets-dev | Compile ui assets in dev mode (manual) | | diff --git a/dev/breeze/doc/images/output_static-checks.svg b/dev/breeze/doc/images/output_static-checks.svg index c316ed2a2ccf8..3ee3556c0cd6d 100644 --- a/dev/breeze/doc/images/output_static-checks.svg +++ b/dev/breeze/doc/images/output_static-checks.svg @@ -361,12 +361,12 @@ check-template-context-variable-in-sync | check-template-fields-valid |           check-tests-in-the-right-folders | check-tests-unittest-testcase |                check-urlparse-usage-in-code | check-usage-of-re2-over-re | check-xml | codespell -| compile-ui-assets | compile-ui-assets-dev | compile-www-assets |                -compile-www-assets-dev | create-missing-init-py-files-tests | debug-statements |  -detect-private-key | doctoc | end-of-file-fixer | fix-encoding-pragma | flynt |   -generate-airflow-diagrams | generate-openapi-spec | generate-pypi-readme |        -generate-volumes-for-sources | identity | insert-license | kubeconform |          -lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart |                +| compile-fab-assets | compile-ui-assets | compile-ui-assets-dev |                +compile-www-assets | compile-www-assets-dev | create-missing-init-py-files-tests  +| debug-statements | detect-private-key | doctoc | end-of-file-fixer |            +fix-encoding-pragma | flynt | generate-airflow-diagrams | generate-openapi-spec | +generate-pypi-readme | generate-volumes-for-sources | identity | insert-license | +kubeconform | lint-chart-schema | lint-css | lint-dockerfile | lint-helm-chart |  lint-json-schema | lint-markdown | lint-openapi | mixed-line-ending |             mypy-airflow | mypy-dev | mypy-docs | mypy-providers | mypy-task-sdk |            pretty-format-json | pylint | python-no-log-warn | replace-bad-characters |       diff --git a/dev/breeze/doc/images/output_static-checks.txt b/dev/breeze/doc/images/output_static-checks.txt index d120b5b0839f8..a20efc9d9d27a 100644 --- a/dev/breeze/doc/images/output_static-checks.txt +++ b/dev/breeze/doc/images/output_static-checks.txt @@ -1 +1 @@ -bc496446ce0ed673262a2515daf88da9 +fba4a9072959d3db34de71e25740bb76 diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py b/dev/breeze/src/airflow_breeze/pre_commit_ids.py index a5a75cd8fadc8..22b16e6cb1939 100644 --- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py +++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py @@ -92,6 +92,7 @@ "check-usage-of-re2-over-re", "check-xml", "codespell", + "compile-fab-assets", "compile-ui-assets", "compile-ui-assets-dev", "compile-www-assets", diff --git a/providers/fab/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt b/providers/fab/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt new file mode 100644 index 0000000000000..1a50834a5037d --- /dev/null +++ b/providers/fab/src/airflow/providers/3rd-party-licenses/LICENSES-ui.txt @@ -0,0 +1,87 @@ +Apache Airflow +Copyright 2016-2023 The Apache Software Foundation + +This product includes software developed at The Apache Software +Foundation (http://www.apache.org/). + +======================================================================= +css-loader|5.2.7: +----- +MIT +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +webpack-contrib/css-loader + + +moment|2.30.1: +----- +MIT +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +https://github.com/moment/moment.git + + +moment-timezone|0.5.47: +----- +MIT +The MIT License (MIT) + +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +https://github.com/moment/moment-timezone.git diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.css b/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.css new file mode 100644 index 0000000000000..f1394ef461548 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.css @@ -0,0 +1,33 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*! + * Bootstrap v3.2 + * + * Copyright 2014 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + * BootSwatchr built and provided by @DrewStrickland + */ + +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}html[data-color-scheme=dark]{filter:invert(100%) hue-rotate(180deg) saturate(90%) contrast(85%)}#dark_icon,#light_icon{display:none}html[data-color-scheme=dark] #dark_icon{display:block}html[data-color-scheme=dark] #light_icon,html[data-color-scheme=light] #dark_icon{display:none}html[data-color-scheme=light] #light_icon{display:block}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:initial}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:initial;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:none;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:#0000!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#cbcbcb!important}.label{border:1px solid #51504f}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #f0f0f0!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:12px}body{color:#51504f;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a,a code{color:#365f84;text-decoration:none}a:focus,a:hover{color:#017cee;text-decoration:none}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{background-color:#fafafa;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.428571429;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{border:0;border-top:2px solid #f0f0f0;margin-bottom:15px;margin-top:15px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#777;font-weight:400;line-height:1}.h1,.h2,.h3,h1,h2,h3{margin-bottom:10px;margin-top:20px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-bottom:10px;margin-top:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#cbcbcb}.text-primary{color:#017cee}a.text-primary:hover{color:#002e33}.text-success{color:#1b8e49}a.text-success:hover{color:#366f4c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#e43921}a.text-danger:hover{color:#843534}.bg-primary{background-color:#017cee;color:#fff}a.bg-primary:hover{background-color:#002e33}.bg-success{background-color:#bfebd1}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}ol,ul{margin-bottom:10px;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px;margin-top:0}dd,dt{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{border-bottom:1px dotted #777;cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{border-left:5px solid #eee;font-size:17.5px;margin:0 0 20px;padding:10px 20px}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{color:#777;display:block;font-size:80%;line-height:1.428571429}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{font-style:normal;line-height:1.428571429;margin-bottom:20px}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{background-color:#e2e2e2;border-radius:4px;color:#51504f}code,kbd{font-size:90%;padding:2px 4px}kbd{background-color:#51504f;border-radius:3px;box-shadow:inset 0 -1px 0 #00000040;color:#fff}kbd kbd{box-shadow:none;font-size:100%;font-weight:700;padding:0}pre{word-wrap:break-word;background-color:#f0f0f0;border:0;border-radius:4px;color:#51504f;display:block;font-size:13px;line-height:1.428571429;margin:0 0 10px;padding:9.5px;word-break:break-all}pre code{background-color:initial;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.pre-scrollable{max-height:340px;overflow-y:auto}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{background-color:initial}caption{color:#777;padding-bottom:8px;padding-top:8px}caption,th{text-align:left}.table{margin-bottom:20px;max-width:100%;width:100%}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #ddd;line-height:1.428571429;padding:8px;vertical-align:middle}.table>thead>tr>th{background-color:#f0f0f0;border-bottom:1px solid #fff;vertical-align:bottom;white-space:nowrap}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>tbody+tbody,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table .table{background-color:#f0f0f0}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #f0f0f0}.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>th{border:0}.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td,.table-bordered>thead>tr>td{border:0;border-top:1px solid #f0f0f0}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#fff}.table-striped>tbody>tr:nth-child(2n){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#bfebd1}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow:visible}@media screen and (max-width:767px){.table-responsive{border:1px solid #ddd;margin-bottom:15px;width:100%}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{border:0;padding:0}legend{border-bottom:1px solid #e5e5e5;color:#51504f;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;width:100%}label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input[type=checkbox],input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{color:#555;display:block;font-size:14px;line-height:1.428571429}.form-control{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:34px;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #66afe999;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #66afe999;outline:0}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;color:#cbcbcb;cursor:not-allowed;opacity:1}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=datetime-local],input[type=month],input[type=time]{line-height:34px}input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;vertical-align:middle}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{margin-bottom:0;padding-bottom:7px;padding-top:7px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.33;padding:10px 16px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.33;padding:10px 16px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#1b8e49}.has-success .form-control{border-color:#1b8e49;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#366f4c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{background-color:#bfebd1;border-color:#1b8e49;color:#1b8e49}.has-success .form-control-feedback{color:#1b8e49}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#e43921}.has-error .form-control{border-color:#e43921;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{background-color:#f2dede;border-color:#e43921;color:#e43921}.has-error .form-control-feedback{color:#e43921}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{background:#fff;border:1px solid #017cee;border-radius:4px;color:#017cee;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.428571429;margin-bottom:0;padding:6px 12px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{background-color:#c0defb;color:#017cee;text-decoration:none}.btn.active,.btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;opacity:.5;pointer-events:none}.btn-icon-only{padding:6px}.btn-default{background-color:#fff;border-color:#ccc;color:#365f84}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{background-color:#f0f0f0;border-color:#adadad;color:#017cee}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{background-color:#51504f;color:#fff}.btn-primary{background-color:#017cee;border-color:#017cee;color:#fff}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{background-color:#0cb6ff;border-color:#0cb6ff;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#017cee;border-color:#00454c}.btn-primary .badge{background-color:#fff;color:#017cee}.btn-primary.active .badge,.btn-primary.focus .badge,.btn-primary:active .badge,.btn-primary:focus .badge,.btn-primary:hover .badge,.open>.dropdown-toggle.btn-primary .badge{color:#0cb6ff}.btn-success{background-color:#00ad46;border-color:#38a047;color:#fff}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{background-color:#328d3e;border-color:#287333;color:#fff}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#00ad46;border-color:#00ad46}.btn-success .badge{background-color:#fff;color:#00ad46}.btn-info{background-color:#00d1c1;border-color:#00b8a9;color:#fff}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{background-color:#009e92;border-color:#007a71;color:#fff}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#00d1c1;border-color:#00b8a9}.btn-info .badge{background-color:#fff;color:#00d1c1}.btn-warning{background-color:#ffb400;border-color:#e6a200;color:#fff}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{background-color:#cc9000;border-color:#a87700;color:#fff}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#ffb400;border-color:#e6a200}.btn-warning .badge{background-color:#fff;color:#ffb400}.btn-danger{background-color:#ff5a5f;border-color:#ff4146;color:#fff}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{background-color:#ff272e;border-color:#ff030b;color:#fff}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ff5a5f;border-color:#ff4146}.btn-danger .badge{background-color:#fff;color:#ff5a5f}.btn-link{border-radius:0;color:#017cee;font-weight:400}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:initial;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:#0000}.btn-link:focus,.btn-link:hover{background-color:initial;color:#004c54;text-decoration:underline}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{border-radius:6px;font-size:18px;line-height:1.33;padding:10px 16px}.btn-group-lg>.btn.btn-icon-only,.btn-lg.btn-icon-only{padding:10px}.btn-group-sm>.btn,.btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.btn-group-sm>.btn.btn-icon-only,.btn-sm.btn-icon-only{padding:5px}.btn-group-xs>.btn,.btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.btn-group-xs>.btn.btn-icon-only,.btn-xs.btn-icon-only{padding:1px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a,.dropdown-menu>li>form>button{clear:both;color:#51504f;display:block;font-weight:400;line-height:1.428571429;max-width:100%;padding:3px 20px;text-align:left;white-space:nowrap;width:100%}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover,.dropdown-menu>li>form>button:focus,.dropdown-menu>li>form>button:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#017cee;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:initial;background-image:none;cursor:not-allowed;text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#777;display:block;font-size:12px;line-height:1.428571429;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px solid;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{float:left;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-right-radius:4px}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{border-collapse:initial;display:table;table-layout:fixed;width:100%}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{border-collapse:initial;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.33;padding:10px 16px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px 15px}.nav>li:focus-within>a,.nav>li>a:focus,.nav>li>a:hover{background-color:#eee;text-decoration:none}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:initial;color:#777;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#017cee}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid #0000;border-radius:4px 4px 0 0;line-height:1.428571429;margin-right:2px}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fafafa;border:1px solid;border-color:#ddd #ddd #0000;color:#555;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-bottom:5px;margin-right:0;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fafafa}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px;color:#365f84}.nav-pills>li>a:focus,.nav-pills>li>a:hover{background-color:#c0defb;color:#365f84}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#365f84;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fafafa}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.navbar{background-color:#fff;border:0;box-shadow:0 0 16px #1d201940;margin:0;min-height:50px;position:relative}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid #0000;box-shadow:inset 0 1px 0 #ffffff1a;overflow-x:visible;padding-left:15px;padding-right:15px}.navbar-collapse.in{overflow-y:visible}@media (min-width:768px){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:none}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.navbar-brand{float:left;height:50px;padding:10px 15px}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{background-color:initial;background-image:none;border:1px solid #0000;border-radius:4px;float:right;margin-bottom:8px;margin-right:15px;margin-top:8px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{background:currentColor;border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:767px){.navbar-nav .dropdown:focus-within>.dropdown-menu,.navbar-nav .dropdown:hover>.dropdown-menu{background-color:initial;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .dropdown:focus-within>.dropdown-menu .dropdown-header,.navbar-nav .dropdown:focus-within>.dropdown-menu>li>a,.navbar-nav .dropdown:focus-within>.dropdown-menu>li>form>button,.navbar-nav .dropdown:hover>.dropdown-menu .dropdown-header,.navbar-nav .dropdown:hover>.dropdown-menu>li>a,.navbar-nav .dropdown:hover>.dropdown-menu>li>form>button{padding:5px 15px 5px 25px}.navbar-nav .dropdown:focus-within>.dropdown-menu>li>a,.navbar-nav .dropdown:focus-within>.dropdown-menu>li>form>button,.navbar-nav .dropdown:hover>.dropdown-menu>li>a,.navbar-nav .dropdown:hover>.dropdown-menu>li>form>button{line-height:20px}.navbar-nav .dropdown:focus-within>.dropdown-menu>li>a:focus,.navbar-nav .dropdown:focus-within>.dropdown-menu>li>a:hover,.navbar-nav .dropdown:hover>.dropdown-menu>li>a:focus,.navbar-nav .dropdown:hover>.dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:20px;padding-top:20px}}.navbar-form{border-bottom:1px solid #0000;border-top:1px solid #0000;-webkit-box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;box-shadow:inset 0 1px 0 #ffffff1a,0 1px 0 #ffffff1a;margin:8px -15px;padding:10px 15px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-radius:4px 4px 0 0}.navbar-btn{margin-bottom:8px;margin-top:8px}.navbar-btn.btn-sm{margin-bottom:10px;margin-top:10px}.navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#ffb400;border-color:#de9d00}.navbar-default .navbar-brand{color:#007a87}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:initial;color:#004c54}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#007a87}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:initial;color:#51504f}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:#de9d00;color:#555}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:initial;color:#ccc}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#de9d00}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#de9d00;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#007a87}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#51504f}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#de9d00;color:#555}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#ccc}}.navbar-default .navbar-link{color:#007a87}.navbar-default .navbar-link:hover{color:#51504f}.navbar-default .btn-link{color:#007a87}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#51504f}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#007a87;border-color:#004c54}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.navbar-inverse,.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a,ee.dropdown-menu>.active>a:focus{background-image:none}.navbar-inverse .navbar-brand{color:#ddd}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:initial;color:#fff}.navbar-inverse .navbar-text{color:#ffb400}.navbar-inverse .navbar-nav>li>a{color:#ddd}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:initial;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#004c54;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:initial;color:#444}.navbar-inverse .navbar-toggle{border-color:#51504f}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#51504f}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#005a63}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#004c54;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#004c54}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#004c54}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#ddd}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:initial;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#004c54;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:initial;color:#444}}.navbar-inverse .navbar-link{color:#ddd}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#ddd}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.breadcrumb>.active{color:#777}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#017cee;float:left;line-height:1.428571429;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#0cb6ff}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:##017cee;border-color:##017cee;color:#fff;cursor:default;z-index:2}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:18px;padding:10px 16px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:12px;padding:5px 10px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#eee;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.label{border-radius:.25em;color:#51504f;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:initial;white-space:nowrap}a.label:focus,a.label:hover{color:#51504f;cursor:pointer;text-decoration:none}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#e2e2e2}.label-default[href]:focus,.label-default[href]:hover{background-color:#cbcbcb}.label-primary{background-color:#c0defb;color:#365f84}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#0cb6ff;color:#365f84}.label-success{background-color:#bfebd1;color:#366f4c}.label-success[href]:focus,.label-success[href]:hover{background-color:#04d659;color:#366f4c}.label-info{background-color:#bff1f4;color:#36787b}.label-info[href]:focus,.label-info[href]:hover{background-color:#11e1ee;color:#36787b}.label-warning{background-color:#ffb400}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#cc9000}.label-danger{background-color:#f8cec8;color:#824840}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#ff7557;color:#824840}.badge{background-color:#777;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:initial;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{padding:1px 5px;top:0}a.badge:focus,a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{background-color:#fff;color:#017cee}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{background-color:#eee;margin-bottom:30px;padding:30px 15px}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{font-size:21px;font-weight:200;margin-bottom:15px}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{background-color:#fafafa;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.428571429;margin-bottom:20px;padding:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#017cee}.thumbnail .caption{color:#51504f;padding:9px}.alert{border:0;border-radius:4px;margin-bottom:16px;padding:16px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#bfebd1;color:#1b8e49}.alert-success hr{border-top-color:#bfebd1}.alert-success .alert-link{color:#366f4c}.alert-info{background-color:#bff1f4;color:#36787b}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;color:#e43921}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.alert-message{background-color:#d9edf7;color:#31708f}.alert-message hr{border-top-color:#a6e1ec}.alert-message .alert-link{color:#245269}.alert-error{background-color:#f2dede;color:#e43921}.alert-error hr{border-top-color:#e4b9c0}.alert-error .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px #0000001a;box-shadow:inset 0 1px 2px #0000001a;height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#017cee;-webkit-box-shadow:inset 0 -1px 0 #00000026;box-shadow:inset 0 -1px 0 #00000026;color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#00ad46}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-info{background-color:#00d1c1}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-warning{background-color:#ffb400}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.progress-bar-danger{background-color:#ff5a5f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-image:-o-linear-gradient(45deg,#ffffff26 25%,#0000 25%,#0000 50%,#ffffff26 50%,#ffffff26 75%,#0000 75%,#0000);background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-bottom:5px;margin-top:0}.media-list{list-style:none;padding-left:0}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#51504f}a.list-group-item:focus,a.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#017cee;border-color:#017cee;color:#fff;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#33ebff}.list-group-item-success{background-color:#bfebd1;color:#1b8e49}a.list-group-item-success{color:#1b8e49}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{background-color:#d0e9c6;color:#1b8e49}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{background-color:#1b8e49;border-color:#1b8e49;color:#fff}.list-group-item-info{background-color:#d9edf7;color:#31708f}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.list-group-item-danger{background-color:#f2dede;color:#e43921}a.list-group-item-danger{color:#e43921}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{background-color:#ebcccc;color:#e43921}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{background-color:#e43921;border-color:#e43921;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.panel{background-color:#fff;border:2px solid #0000;border-radius:4px;box-shadow:none;margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid #0000;border-top-left-radius:2px;border-top-right-radius:2px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:16px;margin-bottom:0;margin-top:0}.panel-title>a{color:inherit}.panel-footer{background-color:#f5f5f5;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #ddd;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#51504f}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{background-color:#51504f;color:#f5f5f5}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#e2e2e2}.panel-primary>.panel-heading{background-color:#e2e2e2;border-color:#e2e2e2;color:#51504f}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e2e2e2}.panel-primary>.panel-heading .badge{color:#e2e2e2}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e2e2e2}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{background-color:#bfebd1;border-color:#d6e9c6;color:#1b8e49}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{background-color:#1b8e49;color:#bfebd1}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#e43921}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{background-color:#e43921;color:#f2dede}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.well{background-color:#f5f5f5;border:0;border-radius:4px;box-shadow:none;margin-bottom:20px;min-height:20px;padding:19px}.well blockquote{border-color:#00000026}.well-lg{border-radius:6px;padding:24px}.well-sm{padding:9px}.close{color:currentColor;float:right;font-size:21px;font-weight:700;line-height:1;opacity:.4}.close:focus,.close:hover{color:currentColor;cursor:pointer;opacity:.8;text-decoration:none}button.close{-webkit-appearance:none;background:#0000;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;position:fixed;right:0;top:0;z-index:1040}.modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:0;border-radius:6px;-webkit-box-shadow:0 3px 9px #00000080;box-shadow:0 3px 9px #00000080;outline:0;position:relative;z-index:5}.modal-backdrop{background-color:#000;left:0;position:fixed;right:0;top:0;z-index:2}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;min-height:16.428571429px;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.428571429;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{height:50px;overflow:auto;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.modal-dialog{margin:30px auto;width:600px}.modal-content{-webkit-box-shadow:0 5px 15px #00000080;box-shadow:0 5px 15px #00000080}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;opacity:0;position:absolute;visibility:visible;z-index:1070}.tooltip.in{opacity:1}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{background-color:#51504f;border-radius:4px;color:#fff;font-size:13px;max-width:500px;padding:3px 8px;text-align:left;text-decoration:none}.tooltip-arrow{border-color:#0000;border-style:solid;height:0;position:absolute;width:0}.tooltip.top .tooltip-arrow{border-top-color:#51504f;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{border-top-color:#51504f;border-width:5px 5px 0;bottom:0;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{border-right-color:#51504f;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.tooltip.left .tooltip-arrow{border-left-color:#51504f;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.tooltip.bottom .tooltip-arrow{border-bottom-color:#51504f;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#51504f;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#51504f;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.popover{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:6px;-webkit-box-shadow:0 5px 10px #0003;box-shadow:0 5px 10px #0003;display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;left:0;line-height:1.428571429;max-width:276px;padding:1px;position:absolute;text-align:left;top:0;white-space:normal;z-index:1060}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{border-color:#0000;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#00000040;bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#00000040;left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#00000040;border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#00000040;border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;-o-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@supports (transform:translate3d){.carousel-inner>.item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{bottom:0;color:#fff;font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px #0009;top:0;width:15%}.carousel-control.left{background-image:-webkit-linear-gradient(left,#00000080,#0000);background-image:-o-linear-gradient(left,#00000080 0,#0000 100%);background-image:linear-gradient(90deg,#00000080 0,#0000);background-repeat:repeat-x}.carousel-control.right{background-image:-webkit-linear-gradient(left,#0000,#00000080);background-image:-o-linear-gradient(left,#0000 0,#00000080 100%);background-image:linear-gradient(90deg,#0000 0,#00000080);background-repeat:repeat-x;left:auto;right:0}.carousel-control:focus,.carousel-control:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{display:inline-block;position:absolute;top:50%;z-index:5}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px;right:50%}.carousel-control .icon-next,.carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;margin-top:-10px;width:20px}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.carousel-indicators li{background-color:#000\9;background-color:#0000;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px #0009;z-index:10}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-15px;width:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{left:20%;padding-bottom:30px;right:20%}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}} diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.js b/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.js new file mode 100644 index 0000000000000..d3f921e2c0a32 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.9afce1aedbae94358039.js @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.Airflow=o():(e.Airflow=e.Airflow||{},e.Airflow.airflowDefaultTheme=o())}(self,(()=>(()=>{"use strict";var e={r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};return e.r(o),o})())); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.css b/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.css new file mode 100644 index 0000000000000..57902f161f4c9 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.css @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:#0000}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:#0000}.cm-fat-cursor{caret-color:#0000}@-moz-keyframes blink{50%{background-color:initial}}@-webkit-keyframes blink{50%{background-color:initial}}@keyframes blink{50%{background-color:initial}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:none;overflow:scroll!important;padding-bottom:50px;position:relative;z-index:0}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:initial}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:initial}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;background:#0000;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:initial}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none} diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.js b/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.js new file mode 100644 index 0000000000000..ceec30a4aa912 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/codemirror.js @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).CodeMirror=t()}(this,(function(){"use strict";var e=navigator.userAgent,t=navigator.platform,r=/gecko\/\d/i.test(e),n=/MSIE \d/.test(e),i=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),l=n||i||o,s=l&&(n?document.documentMode||6:+(o||i)[1]),a=!o&&/WebKit\//.test(e),u=a&&/Qt\/\d+\.\d+/.test(e),c=!o&&/Chrome\/(\d+)/.exec(e),h=c&&+c[1],f=/Opera\//.test(e),d=/Apple Computer/.test(navigator.vendor),p=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),g=/PhantomJS/.test(e),v=d&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),m=/Android/.test(e),y=v||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),b=v||/Mac/.test(t),w=/\bCrOS\b/.test(e),x=/win/i.test(t),C=f&&e.match(/Version\/(\d*\.\d*)/);C&&(C=Number(C[1])),C&&C>=15&&(f=!1,a=!0);var S=b&&(u||f&&(null==C||C<12.11)),L=r||l&&s>=9;function k(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var T,M=function(e,t){var r=e.className,n=k(t).exec(r);if(n){var i=r.slice(n.index+n[0].length);e.className=r.slice(0,n.index)+(i?n[1]+i:"")}};function N(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function O(e,t){return N(e).appendChild(t)}function A(e,t,r,n){var i=document.createElement(e);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof t)i.appendChild(document.createTextNode(t));else if(t)for(var o=0;o=t)return l+(t-o);l+=s-o,l+=r-l%r,o=s+1}}v?E=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:l&&(E=function(e){try{e.select()}catch(e){}});var K=function(){this.id=null,this.f=null,this.time=0,this.handler=G(this.onTimeout,this)};function j(e,t){for(var r=0;r=t)return n+Math.min(l,t-i);if(i+=o-n,n=o+1,(i+=r-i%r)>=t)return n}}var Z=[""];function Q(e){for(;Z.length<=e;)Z.push(J(Z)+" ");return Z[e]}function J(e){return e[e.length-1]}function ee(e,t){for(var r=[],n=0;n"€"&&(e.toUpperCase()!=e.toLowerCase()||ne.test(e))}function oe(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ie(e))||t.test(e):ie(e)}function le(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var se=/[\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 ae(e){return e.charCodeAt(0)>=768&&se.test(e)}function ue(e,t,r){for(;(r<0?t>0:tr?-1:1;;){if(t==r)return t;var i=(t+r)/2,o=n<0?Math.ceil(i):Math.floor(i);if(o==t)return e(o)?t:r;e(o)?r=o:t=o+n}}var he=null;function fe(e,t,r){var n;he=null;for(var i=0;it)return i;o.to==t&&(o.from!=o.to&&"before"==r?n=i:he=i),o.from==t&&(o.from!=o.to&&"before"!=r?n=i:he=i)}return null!=n?n:he}var de=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,r=/[LRr]/,n=/[Lb1n]/,i=/[1n]/;function o(e,t,r){this.level=e,this.from=t,this.to=r}return function(l,s){var a="ltr"==s?"L":"R";if(0==l.length||"ltr"==s&&!e.test(l))return!1;for(var u,c=l.length,h=[],f=0;f-1&&(n[t]=i.slice(0,o).concat(i.slice(o+1)))}}}function be(e,t){var r=me(e,t);if(r.length)for(var n=Array.prototype.slice.call(arguments,2),i=0;i0}function Se(e){e.prototype.on=function(e,t){ve(this,e,t)},e.prototype.off=function(e,t){ye(this,e,t)}}function Le(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function ke(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Te(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Me(e){Le(e),ke(e)}function Ne(e){return e.target||e.srcElement}function Oe(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),b&&e.ctrlKey&&1==t&&(t=3),t}var Ae,De,We=function(){if(l&&s<9)return!1;var e=A("div");return"draggable"in e||"dragDrop"in e}();function He(e){if(null==Ae){var t=A("span","​");O(e,A("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Ae=t.offsetWidth<=1&&t.offsetHeight>2&&!(l&&s<8))}var r=Ae?A("span","​"):A("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return r.setAttribute("cm-text",""),r}function Fe(e){if(null!=De)return De;var t=O(e,document.createTextNode("AخA")),r=T(t,0,1).getBoundingClientRect(),n=T(t,1,2).getBoundingClientRect();return N(e),!(!r||r.left==r.right)&&(De=n.right-r.right<3)}var Pe,Ee=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,r=[],n=e.length;t<=n;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),t+=l+1):(r.push(o),t=i+1)}return r}:function(e){return e.split(/\r\n?|\n/)},Re=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)},ze="oncopy"in(Pe=A("div"))||(Pe.setAttribute("oncopy","return;"),"function"==typeof Pe.oncopy),Ie=null;var Be={},Ge={};function Ue(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Be[e]=t}function Ve(e){if("string"==typeof e&&Ge.hasOwnProperty(e))e=Ge[e];else if(e&&"string"==typeof e.name&&Ge.hasOwnProperty(e.name)){var t=Ge[e.name];"string"==typeof t&&(t={name:t}),(e=re(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ve("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ve("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Ke(e,t){t=Ve(t);var r=Be[t.name];if(!r)return Ke(e,"text/plain");var n=r(e,t);if(je.hasOwnProperty(t.name)){var i=je[t.name];for(var o in i)i.hasOwnProperty(o)&&(n.hasOwnProperty(o)&&(n["_"+o]=n[o]),n[o]=i[o])}if(n.name=t.name,t.helperType&&(n.helperType=t.helperType),t.modeProps)for(var l in t.modeProps)n[l]=t.modeProps[l];return n}var je={};function Xe(e,t){U(t,je.hasOwnProperty(e)?je[e]:je[e]={})}function Ye(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var r={};for(var n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function $e(e,t){for(var r;e.innerMode&&(r=e.innerMode(t))&&r.mode!=e;)t=r.state,e=r.mode;return r||{mode:e,state:t}}function _e(e,t,r){return!e.startState||e.startState(t,r)}var qe=function(e,t,r){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=r};function Ze(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 r=e;!r.lines;)for(var n=0;;++n){var i=r.children[n],o=i.chunkSize();if(t=e.first&&tr?ot(r,Ze(e,r).text.length):function(e,t){var r=e.ch;return null==r||r>t?ot(e.line,t):r<0?ot(e.line,0):e}(t,Ze(e,t.line).text.length)}function dt(e,t){for(var r=[],n=0;n=this.string.length},qe.prototype.sol=function(){return this.pos==this.lineStart},qe.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},qe.prototype.next=function(){if(this.post},qe.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},qe.prototype.skipToEnd=function(){this.pos=this.string.length},qe.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},qe.prototype.backUp=function(e){this.pos-=e},qe.prototype.column=function(){return this.lastColumnPos0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}var i=function(e){return r?e.toLowerCase():e};if(i(this.string.substr(this.pos,e.length))==i(e))return!1!==t&&(this.pos+=e.length),!0},qe.prototype.current=function(){return this.string.slice(this.start,this.pos)},qe.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},qe.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},qe.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var pt=function(e,t){this.state=e,this.lookAhead=t},gt=function(e,t,r,n){this.state=t,this.doc=e,this.line=r,this.maxLookAhead=n||0,this.baseTokens=null,this.baseTokenPos=1};function vt(e,t,r,n){var i=[e.state.modeGen],o={};kt(e,t.text,e.doc.mode,r,(function(e,t){return i.push(e,t)}),o,n);for(var l=r.state,s=function(n){r.baseTokens=i;var s=e.state.overlays[n],a=1,u=0;r.state=!0,kt(e,t.text,s.mode,r,(function(e,t){for(var r=a;ue&&i.splice(a,1,e,i[a+1],n),a+=2,u=Math.min(e,n)}if(t)if(s.opaque)i.splice(r,a-r,e,"overlay "+t),a=r+2;else for(;re.options.maxHighlightLength&&Ye(e.doc.mode,n.state),o=vt(e,t,n);i&&(n.state=i),t.stateAfter=n.save(!i),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),r===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function yt(e,t,r){var n=e.doc,i=e.display;if(!n.mode.startState)return new gt(n,!0,t);var o=function(e,t,r){for(var n,i,o=e.doc,l=r?-1:t-(e.doc.mode.innerMode?1e3:100),s=t;s>l;--s){if(s<=o.first)return o.first;var a=Ze(o,s-1),u=a.stateAfter;if(u&&(!r||s+(u instanceof pt?u.lookAhead:0)<=o.modeFrontier))return s;var c=V(a.text,null,e.options.tabSize);(null==i||n>c)&&(i=s-1,n=c)}return i}(e,t,r),l=o>n.first&&Ze(n,o-1).stateAfter,s=l?gt.fromSaved(n,l,o):new gt(n,_e(n.mode),o);return n.iter(o,t,(function(r){bt(e,r.text,s);var n=s.line;r.stateAfter=n==t-1||n%5==0||n>=i.viewFrom&&nt.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}gt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},gt.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}},gt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},gt.fromSaved=function(e,t,r){return t instanceof pt?new gt(e,Ye(e.mode,t.state),r,t.lookAhead):new gt(e,Ye(e.mode,t),r)},gt.prototype.save=function(e){var t=!1!==e?Ye(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new pt(t,this.maxLookAhead):t};var Ct=function(e,t,r){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=r};function St(e,t,r,n){var i,o,l=e.doc,s=l.mode,a=Ze(l,(t=ft(l,t)).line),u=yt(e,t.line,r),c=new qe(a.text,e.options.tabSize,u);for(n&&(o=[]);(n||c.pose.options.maxHighlightLength?(s=!1,l&&bt(e,t,n,h.pos),h.pos=t.length,a=null):a=Lt(xt(r,h,n.state,f),o),f){var d=f[0].name;d&&(a="m-"+(a?d+" "+a:d))}if(!s||c!=a){for(;u=t:o.to>t);(n||(n=[])).push(new Nt(l,o.from,s?null:o.to))}}return n}(r,i,l),a=function(e,t,r){var n;if(e)for(var i=0;i=t:o.to>t)||o.from==t&&"bookmark"==l.type&&(!r||o.marker.insertLeft)){var s=null==o.from||(l.inclusiveLeft?o.from<=t:o.from0&&s)for(var b=0;bt)&&(!r||Rt(r,o.marker)<0)&&(r=o.marker)}return r}function Ut(e,t,r,n,i){var o=Ze(e,t),l=Mt&&o.markedSpans;if(l)for(var s=0;s=0&&h<=0||c<=0&&h>=0)&&(c<=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?lt(u.to,r)>=0:lt(u.to,r)>0)||c>=0&&(a.marker.inclusiveRight&&i.inclusiveLeft?lt(u.from,n)<=0:lt(u.from,n)<0)))return!0}}}function Vt(e){for(var t;t=It(e);)e=t.find(-1,!0).line;return e}function Kt(e,t){var r=Ze(e,t),n=Vt(r);return r==n?t:tt(n)}function jt(e,t){if(t>e.lastLine())return t;var r,n=Ze(e,t);if(!Xt(e,n))return t;for(;r=Bt(n);)n=r.find(1,!0).line;return tt(n)+1}function Xt(e,t){var r=Mt&&t.markedSpans;if(r)for(var n=void 0,i=0;it.maxLineLength&&(t.maxLineLength=r,t.maxLine=e)}))}var Zt=function(e,t,r){this.text=e,Ft(this,t),this.height=r?r(this):1};function Qt(e){e.parent=null,Ht(e)}Zt.prototype.lineNo=function(){return tt(this)},Se(Zt);var Jt={},er={};function tr(e,t){if(!e||/^\s*$/.test(e))return null;var r=t.addModeClass?er:Jt;return r[e]||(r[e]=e.replace(/\S+/g,"cm-$&"))}function rr(e,t){var r=D("span",null,null,a?"padding-right: .1px":null),n={pre:D("pre",[r],"CodeMirror-line"),content:r,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,l=void 0;n.pos=0,n.addToken=ir,Fe(e.display.measure)&&(l=pe(o,e.doc.direction))&&(n.addToken=or(n.addToken,l)),n.map=[],sr(o,n,mt(e,o,t!=e.display.externalMeasured&&tt(o))),o.styleClasses&&(o.styleClasses.bgClass&&(n.bgClass=P(o.styleClasses.bgClass,n.bgClass||"")),o.styleClasses.textClass&&(n.textClass=P(o.styleClasses.textClass,n.textClass||""))),0==n.map.length&&n.map.push(0,0,n.content.appendChild(He(e.display.measure))),0==i?(t.measure.map=n.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(n.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(a){var s=n.content.lastChild;(/\bcm-tab\b/.test(s.className)||s.querySelector&&s.querySelector(".cm-tab"))&&(n.content.className="cm-tab-wrap-hack")}return be(e,"renderLine",e,t.line,n.pre),n.pre.className&&(n.textClass=P(n.pre.className,n.textClass||"")),n}function nr(e){var t=A("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function ir(e,t,r,n,i,o,a){if(t){var u,c=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var r=t,n="",i=0;iu&&h.from<=u);f++);if(h.to>=c)return e(r,n,i,o,l,s,a);e(r,n.slice(0,h.to-u),i,o,null,s,a),o=null,n=n.slice(h.to-u),u=h.to}}}function lr(e,t,r,n){var i=!n&&r.widgetNode;i&&e.map.push(e.pos,e.pos+t,i),!n&&e.cm.display.input.needsContentAttribute&&(i||(i=e.content.appendChild(document.createElement("span"))),i.setAttribute("cm-marker",r.id)),i&&(e.cm.display.input.setUneditable(i),e.content.appendChild(i)),e.pos+=t,e.trailingSpace=!1}function sr(e,t,r){var n=e.markedSpans,i=e.text,o=0;if(n)for(var l,s,a,u,c,h,f,d=i.length,p=0,g=1,v="",m=0;;){if(m==p){a=u=c=s="",f=null,h=null,m=1/0;for(var y=[],b=void 0,w=0;wp||C.collapsed&&x.to==p&&x.from==p)){if(null!=x.to&&x.to!=p&&m>x.to&&(m=x.to,u=""),C.className&&(a+=" "+C.className),C.css&&(s=(s?s+";":"")+C.css),C.startStyle&&x.from==p&&(c+=" "+C.startStyle),C.endStyle&&x.to==m&&(b||(b=[])).push(C.endStyle,x.to),C.title&&((f||(f={})).title=C.title),C.attributes)for(var S in C.attributes)(f||(f={}))[S]=C.attributes[S];C.collapsed&&(!h||Rt(h.marker,C)<0)&&(h=x)}else x.from>p&&m>x.from&&(m=x.from)}if(b)for(var L=0;L=d)break;for(var T=Math.min(d,m);;){if(v){var M=p+v.length;if(!h){var N=M>T?v.slice(0,T-p):v;t.addToken(t,N,l?l+a:a,c,p+N.length==m?u:"",s,f)}if(M>=T){v=v.slice(T-p),p=T;break}p=M,c=""}v=i.slice(o,o=r[g++]),l=tr(r[g++],t.cm.options)}}else for(var O=1;Or)return{map:e.measure.maps[i],cache:e.measure.caches[i],before:!0}}}function Fr(e,t,r,n){return Rr(e,Er(e,t),r,n)}function Pr(e,t){if(t>=e.display.viewFrom&&t=r.lineN&&t2&&o.push((a.bottom+u.top)/2-r.top)}}o.push(r.bottom-r.top)}}(e,t.view,t.rect),t.hasHeights=!0),o=function(e,t,r,n){var i,o=Br(t.map,r,n),a=o.node,u=o.start,c=o.end,h=o.collapse;if(3==a.nodeType){for(var f=0;f<4;f++){for(;u&&ae(t.line.text.charAt(o.coverStart+u));)--u;for(;o.coverStart+c1}(e))return t;var r=screen.logicalXDPI/screen.deviceXDPI,n=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*r,right:t.right*r,top:t.top*n,bottom:t.bottom*n}}(e.display.measure,i))}else{var d;u>0&&(h=n="right"),i=e.options.lineWrapping&&(d=a.getClientRects()).length>1?d["right"==n?d.length-1:0]:a.getBoundingClientRect()}if(l&&s<9&&!u&&(!i||!i.left&&!i.right)){var p=a.parentNode.getClientRects()[0];i=p?{left:p.left,right:p.left+un(e.display),top:p.top,bottom:p.bottom}:Ir}for(var g=i.top-t.rect.top,v=i.bottom-t.rect.top,m=(g+v)/2,y=t.view.measure.heights,b=0;bt)&&(i=(o=a-s)-1,t>=a&&(l="right")),null!=i){if(n=e[u+2],s==a&&r==(n.insertLeft?"left":"right")&&(l=r),"left"==r&&0==i)for(;u&&e[u-2]==e[u-3]&&e[u-1].insertLeft;)n=e[2+(u-=3)],l="left";if("right"==r&&i==a-s)for(;u=0&&(r=e[i]).left==r.right;i--);return r}function Ur(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t=n.text.length?(a=n.text.length,u="before"):a<=0&&(a=0,u="after"),!s)return l("before"==u?a-1:a,"before"==u);function c(e,t,r){return l(r?e-1:e,1==s[t].level!=r)}var h=fe(s,a,u),f=he,d=c(a,h,"before"==u);return null!=f&&(d.other=c(a,f,"before"!=u)),d}function Qr(e,t){var r=0;t=ft(e.doc,t),e.options.lineWrapping||(r=un(e.display)*t.ch);var n=Ze(e.doc,t.line),i=$t(n)+Mr(e.display);return{left:r,right:r,top:i,bottom:i+n.height}}function Jr(e,t,r,n,i){var o=ot(e,t,r);return o.xRel=i,n&&(o.outside=n),o}function en(e,t,r){var n=e.doc;if((r+=e.display.viewOffset)<0)return Jr(n.first,0,null,-1,-1);var i=rt(n,r),o=n.first+n.size-1;if(i>o)return Jr(n.first+n.size-1,Ze(n,o).text.length,null,1,1);t<0&&(t=0);for(var l=Ze(n,i);;){var s=on(e,l,i,t,r),a=Gt(l,s.ch+(s.xRel>0||s.outside>0?1:0));if(!a)return s;var u=a.find(1);if(u.line==i)return u;l=Ze(n,i=u.line)}}function tn(e,t,r,n){n-=Yr(t);var i=t.text.length,o=ce((function(t){return Rr(e,r,t-1).bottom<=n}),i,0);return{begin:o,end:i=ce((function(t){return Rr(e,r,t).top>n}),o,i)}}function rn(e,t,r,n){return r||(r=Er(e,t)),tn(e,t,r,$r(e,t,Rr(e,r,n),"line").top)}function nn(e,t,r,n){return!(e.bottom<=r)&&(e.top>r||(n?e.left:e.right)>t)}function on(e,t,r,n,i){i-=$t(t);var o=Er(e,t),l=Yr(t),s=0,a=t.text.length,u=!0,c=pe(t,e.doc.direction);if(c){var h=(e.options.lineWrapping?sn:ln)(e,t,r,o,c,n,i);s=(u=1!=h.level)?h.from:h.to-1,a=u?h.to:h.from-1}var f,d,p=null,g=null,v=ce((function(t){var r=Rr(e,o,t);return r.top+=l,r.bottom+=l,!!nn(r,n,i,!1)&&(r.top<=i&&r.left<=n&&(p=t,g=r),!0)}),s,a),m=!1;if(g){var y=n-g.left=w.bottom?1:0}return Jr(r,v=ue(t.text,v,1),d,m,n-f)}function ln(e,t,r,n,i,o,l){var s=ce((function(s){var a=i[s],u=1!=a.level;return nn(Zr(e,ot(r,u?a.to:a.from,u?"before":"after"),"line",t,n),o,l,!0)}),0,i.length-1),a=i[s];if(s>0){var u=1!=a.level,c=Zr(e,ot(r,u?a.from:a.to,u?"after":"before"),"line",t,n);nn(c,o,l,!0)&&c.top>l&&(a=i[s-1])}return a}function sn(e,t,r,n,i,o,l){var s=tn(e,t,n,l),a=s.begin,u=s.end;/\s/.test(t.text.charAt(u-1))&&u--;for(var c=null,h=null,f=0;f=u||d.to<=a)){var p=Rr(e,n,1!=d.level?Math.min(u,d.to)-1:Math.max(a,d.from)).right,g=pg)&&(c=d,h=g)}}return c||(c=i[i.length-1]),c.fromu&&(c={from:c.from,to:u,level:c.level}),c}function an(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==zr){zr=A("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)zr.appendChild(document.createTextNode("x")),zr.appendChild(A("br"));zr.appendChild(document.createTextNode("x"))}O(e.measure,zr);var r=zr.offsetHeight/50;return r>3&&(e.cachedTextHeight=r),N(e.measure),r||1}function un(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=A("span","xxxxxxxxxx"),r=A("pre",[t],"CodeMirror-line-like");O(e.measure,r);var n=t.getBoundingClientRect(),i=(n.right-n.left)/10;return i>2&&(e.cachedCharWidth=i),i||10}function cn(e){for(var t=e.display,r={},n={},i=t.gutters.clientLeft,o=t.gutters.firstChild,l=0;o;o=o.nextSibling,++l){var s=e.display.gutterSpecs[l].className;r[s]=o.offsetLeft+o.clientLeft+i,n[s]=o.clientWidth}return{fixedPos:hn(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function hn(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function fn(e){var t=an(e.display),r=e.options.lineWrapping,n=r&&Math.max(5,e.display.scroller.clientWidth/un(e.display)-3);return function(i){if(Xt(e.doc,i))return 0;var o=0;if(i.widgets)for(var l=0;l0&&(a=Ze(e.doc,u.line).text).length==u.ch){var c=V(a,a.length,e.options.tabSize)-a.length;u=ot(u.line,Math.max(0,Math.round((o-Or(e.display).left)/un(e.display))-c))}return u}function gn(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var r=e.display.view,n=0;nt)&&(i.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=i.viewTo)Mt&&Kt(e.doc,t)i.viewFrom?yn(e):(i.viewFrom+=n,i.viewTo+=n);else if(t<=i.viewFrom&&r>=i.viewTo)yn(e);else if(t<=i.viewFrom){var o=bn(e,r,r+n,1);o?(i.view=i.view.slice(o.index),i.viewFrom=o.lineN,i.viewTo+=n):yn(e)}else if(r>=i.viewTo){var l=bn(e,t,t,-1);l?(i.view=i.view.slice(0,l.index),i.viewTo=l.lineN):yn(e)}else{var s=bn(e,t,t,-1),a=bn(e,r,r+n,1);s&&a?(i.view=i.view.slice(0,s.index).concat(ur(e,s.lineN,a.lineN)).concat(i.view.slice(a.index)),i.viewTo+=n):yn(e)}var u=i.externalMeasured;u&&(r=i.lineN&&t=n.viewTo)){var o=n.view[gn(e,t)];if(null!=o.node){var l=o.changes||(o.changes=[]);-1==j(l,r)&&l.push(r)}}}function yn(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function bn(e,t,r,n){var i,o=gn(e,t),l=e.display.view;if(!Mt||r==e.doc.first+e.doc.size)return{index:o,lineN:r};for(var s=e.display.viewFrom,a=0;a0){if(o==l.length-1)return null;i=s+l[o].size-t,o++}else i=s-t;t+=i,r+=i}for(;Kt(e.doc,r)!=r;){if(o==(n<0?0:l.length-1))return null;r+=n*l[o-(n<0?1:0)].size,o+=n}return{index:o,lineN:r}}function wn(e){for(var t=e.display.view,r=0,n=0;n=e.display.viewTo||a.to().line0?l:e.defaultCharWidth())+"px"}if(n.other){var s=r.appendChild(A("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));s.style.display="",s.style.left=n.other.left+"px",s.style.top=n.other.top+"px",s.style.height=.85*(n.other.bottom-n.other.top)+"px"}}function Ln(e,t){return e.top-t.top||e.left-t.left}function kn(e,t,r){var n=e.display,i=e.doc,o=document.createDocumentFragment(),l=Or(e.display),s=l.left,a=Math.max(n.sizerWidth,Dr(e)-n.sizer.offsetLeft)-l.right,u="ltr"==i.direction;function c(e,t,r,n){t<0&&(t=0),t=Math.round(t),n=Math.round(n),o.appendChild(A("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==r?a-e:r)+"px;\n height: "+(n-t)+"px"))}function h(t,r,n){var o,l,h=Ze(i,t),f=h.text.length;function d(r,n){return qr(e,ot(t,r),"div",h,n)}function p(t,r,n){var i=rn(e,h,null,t),o="ltr"==r==("after"==n)?"left":"right";return d("after"==n?i.begin:i.end-(/\s/.test(h.text.charAt(i.end-1))?2:1),o)[o]}var g=pe(h,i.direction);return function(e,t,r,n){if(!e)return n(t,r,"ltr",0);for(var i=!1,o=0;ot||t==r&&l.to==t)&&(n(Math.max(l.from,t),Math.min(l.to,r),1==l.level?"rtl":"ltr",o),i=!0)}i||n(t,r,"ltr")}(g,r||0,null==n?f:n,(function(e,t,i,h){var v="ltr"==i,m=d(e,v?"left":"right"),y=d(t-1,v?"right":"left"),b=null==r&&0==e,w=null==n&&t==f,x=0==h,C=!g||h==g.length-1;if(y.top-m.top<=3){var S=(u?w:b)&&C,L=(u?b:w)&&x?s:(v?m:y).left,k=S?a:(v?y:m).right;c(L,m.top,k-L,m.bottom)}else{var T,M,N,O;v?(T=u&&b&&x?s:m.left,M=u?a:p(e,i,"before"),N=u?s:p(t,i,"after"),O=u&&w&&C?a:y.right):(T=u?p(e,i,"before"):s,M=!u&&b&&x?a:m.right,N=!u&&w&&C?s:y.left,O=u?p(t,i,"after"):a),c(T,m.top,M-T,m.bottom),m.bottom0?t.blinker=setInterval((function(){e.hasFocus()||An(e),t.cursorDiv.style.visibility=(r=!r)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Mn(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||On(e))}function Nn(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&An(e))}),100)}function On(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(be(e,"focus",e,t),e.state.focused=!0,F(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),a&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Tn(e))}function An(e,t){e.state.delayingBlurEvent||(e.state.focused&&(be(e,"blur",e,t),e.state.focused=!1,M(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Dn(e){for(var t=e.display,r=t.lineDiv.offsetTop,n=Math.max(0,t.scroller.getBoundingClientRect().top),i=t.lineDiv.getBoundingClientRect().top,o=0,a=0;a.005||g<-.005)&&(ie.display.sizerWidth){var m=Math.ceil(f/un(e.display));m>e.display.maxLineLength&&(e.display.maxLineLength=m,e.display.maxLine=u.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function Wn(e){if(e.widgets)for(var t=0;t=l&&(o=rt(t,$t(Ze(t,a))-e.wrapper.clientHeight),l=a)}return{from:o,to:Math.max(l,o+1)}}function Fn(e,t){var r=e.display,n=an(e.display);t.top<0&&(t.top=0);var i=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:r.scroller.scrollTop,o=Wr(e),l={};t.bottom-t.top>o&&(t.bottom=t.top+o);var s=e.doc.height+Nr(r),a=t.tops-n;if(t.topi+o){var c=Math.min(t.top,(u?s:t.bottom)-o);c!=i&&(l.scrollTop=c)}var h=e.options.fixedGutter?0:r.gutters.offsetWidth,f=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:r.scroller.scrollLeft-h,d=Dr(e)-r.gutters.offsetWidth,p=t.right-t.left>d;return p&&(t.right=t.left+d),t.left<10?l.scrollLeft=0:t.leftd+f-3&&(l.scrollLeft=t.right+(p?0:10)-d),l}function Pn(e,t){null!=t&&(zn(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function En(e){zn(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Rn(e,t,r){null==t&&null==r||zn(e),null!=t&&(e.curOp.scrollLeft=t),null!=r&&(e.curOp.scrollTop=r)}function zn(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,In(e,Qr(e,t.from),Qr(e,t.to),t.margin))}function In(e,t,r,n){var i=Fn(e,{left:Math.min(t.left,r.left),top:Math.min(t.top,r.top)-n,right:Math.max(t.right,r.right),bottom:Math.max(t.bottom,r.bottom)+n});Rn(e,i.scrollLeft,i.scrollTop)}function Bn(e,t){Math.abs(e.doc.scrollTop-t)<2||(r||di(e,{top:t}),Gn(e,t,!0),r&&di(e),ai(e,100))}function Gn(e,t,r){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||r)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Un(e,t,r,n){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!n||(e.doc.scrollLeft=t,vi(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Vn(e){var t=e.display,r=t.gutters.offsetWidth,n=Math.round(e.doc.height+Nr(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?r:0,docHeight:n,scrollHeight:n+Ar(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:r}}var Kn=function(e,t,r){this.cm=r;var n=this.vert=A("div",[A("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),i=this.horiz=A("div",[A("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");n.tabIndex=i.tabIndex=-1,e(n),e(i),ve(n,"scroll",(function(){n.clientHeight&&t(n.scrollTop,"vertical")})),ve(i,"scroll",(function(){i.clientWidth&&t(i.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,l&&s<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Kn.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,r=e.scrollHeight>e.clientHeight+1,n=e.nativeBarWidth;if(r){this.vert.style.display="block",this.vert.style.bottom=t?n+"px":"0";var i=e.viewHeight-(t?n:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+i)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=r?n+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(r?n: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==n&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:r?n:0,bottom:t?n:0}},Kn.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Kn.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Kn.prototype.zeroWidthHack=function(){var e=b&&!p?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new K,this.disableVert=new K},Kn.prototype.enableZeroWidthBar=function(e,t,r){e.style.visibility="",t.set(1e3,(function n(){var i=e.getBoundingClientRect();("vert"==r?document.elementFromPoint(i.right-1,(i.top+i.bottom)/2):document.elementFromPoint((i.right+i.left)/2,i.bottom-1))!=e?e.style.visibility="hidden":t.set(1e3,n)}))},Kn.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var jn=function(){};function Xn(e,t){t||(t=Vn(e));var r=e.display.barWidth,n=e.display.barHeight;Yn(e,t);for(var i=0;i<4&&r!=e.display.barWidth||n!=e.display.barHeight;i++)r!=e.display.barWidth&&e.options.lineWrapping&&Dn(e),Yn(e,Vn(e)),r=e.display.barWidth,n=e.display.barHeight}function Yn(e,t){var r=e.display,n=r.scrollbars.update(t);r.sizer.style.paddingRight=(r.barWidth=n.right)+"px",r.sizer.style.paddingBottom=(r.barHeight=n.bottom)+"px",r.heightForcer.style.borderBottom=n.bottom+"px solid transparent",n.right&&n.bottom?(r.scrollbarFiller.style.display="block",r.scrollbarFiller.style.height=n.bottom+"px",r.scrollbarFiller.style.width=n.right+"px"):r.scrollbarFiller.style.display="",n.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(r.gutterFiller.style.display="block",r.gutterFiller.style.height=n.bottom+"px",r.gutterFiller.style.width=t.gutterWidth+"px"):r.gutterFiller.style.display=""}jn.prototype.update=function(){return{bottom:0,right:0}},jn.prototype.setScrollLeft=function(){},jn.prototype.setScrollTop=function(){},jn.prototype.clear=function(){};var $n={native:Kn,null:jn};function _n(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&M(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new $n[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),ve(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,r){"horizontal"==r?Un(e,t):Bn(e,t)}),e),e.display.scrollbars.addClass&&F(e.display.wrapper,e.display.scrollbars.addClass)}var qn=0;function Zn(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:++qn,markArrays:null},t=e.curOp,cr?cr.ops.push(t):t.ownsGroup=cr={ops:[t],delayedCallbacks:[]}}function Qn(e){var t=e.curOp;t&&function(e,t){var r=e.ownsGroup;if(r)try{!function(e){var t=e.delayedCallbacks,r=0;do{for(;r=r.viewTo)||r.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ci(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function ei(e){e.updatedDisplay=e.mustUpdate&&hi(e.cm,e.update)}function ti(e){var t=e.cm,r=t.display;e.updatedDisplay&&Dn(t),e.barMeasure=Vn(t),r.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Fr(t,r.maxLine,r.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(r.scroller.clientWidth,r.sizer.offsetLeft+e.adjustWidthTo+Ar(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,r.sizer.offsetLeft+e.adjustWidthTo-Dr(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=r.input.prepareSelection())}function ri(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft1&&(l=!0)),null!=u.scrollLeft&&(Un(e,u.scrollLeft),Math.abs(e.doc.scrollLeft-h)>1&&(l=!0)),!l)break}return i}(t,ft(n,e.scrollToPos.from),ft(n,e.scrollToPos.to),e.scrollToPos.margin);!function(e,t){if(!we(e,"scrollCursorIntoView")){var r=e.display,n=r.sizer.getBoundingClientRect(),i=null,o=r.wrapper.ownerDocument;if(t.top+n.top<0?i=!0:t.bottom+n.top>(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(i=!1),null!=i&&!g){var l=A("div","​",null,"position: absolute;\n top: "+(t.top-r.viewOffset-Mr(e.display))+"px;\n height: "+(t.bottom-t.top+Ar(e)+r.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(l),l.scrollIntoView(i),e.display.lineSpace.removeChild(l)}}}(t,i)}var o=e.maybeHiddenMarkers,l=e.maybeUnhiddenMarkers;if(o)for(var s=0;s=e.display.viewTo)){var r=+new Date+e.options.workTime,n=yt(e,t.highlightFrontier),i=[];t.iter(n.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(n.line>=e.display.viewFrom){var l=o.styles,s=o.text.length>e.options.maxHighlightLength?Ye(t.mode,n.state):null,a=vt(e,o,n,!0);s&&(n.state=s),o.styles=a.styles;var u=o.styleClasses,c=a.classes;c?o.styleClasses=c:u&&(o.styleClasses=null);for(var h=!l||l.length!=o.styles.length||u!=c&&(!u||!c||u.bgClass!=c.bgClass||u.textClass!=c.textClass),f=0;!h&&fr)return ai(e,e.options.workDelay),!0})),t.highlightFrontier=n.line,t.modeFrontier=Math.max(t.modeFrontier,n.line),i.length&&ii(e,(function(){for(var t=0;t=r.viewFrom&&t.visible.to<=r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo)&&r.renderedView==r.view&&0==wn(e))return!1;mi(e)&&(yn(e),t.dims=cn(e));var i=n.first+n.size,o=Math.max(t.visible.from-e.options.viewportMargin,n.first),l=Math.min(i,t.visible.to+e.options.viewportMargin);r.viewFroml&&r.viewTo-l<20&&(l=Math.min(i,r.viewTo)),Mt&&(o=Kt(e.doc,o),l=jt(e.doc,l));var s=o!=r.viewFrom||l!=r.viewTo||r.lastWrapHeight!=t.wrapperHeight||r.lastWrapWidth!=t.wrapperWidth;!function(e,t,r){var n=e.display;0==n.view.length||t>=n.viewTo||r<=n.viewFrom?(n.view=ur(e,t,r),n.viewFrom=t):(n.viewFrom>t?n.view=ur(e,t,n.viewFrom).concat(n.view):n.viewFromr&&(n.view=n.view.slice(0,gn(e,r)))),n.viewTo=r}(e,o,l),r.viewOffset=$t(Ze(e.doc,r.viewFrom)),e.display.mover.style.top=r.viewOffset+"px";var u=wn(e);if(!s&&0==u&&!t.force&&r.renderedView==r.view&&(null==r.updateLineNumbers||r.updateLineNumbers>=r.viewTo))return!1;var c=function(e){if(e.hasFocus())return null;var t=H(z(e));if(!t||!W(e.display.lineDiv,t))return null;var r={activeElt:t};if(window.getSelection){var n=B(e).getSelection();n.anchorNode&&n.extend&&W(e.display.lineDiv,n.anchorNode)&&(r.anchorNode=n.anchorNode,r.anchorOffset=n.anchorOffset,r.focusNode=n.focusNode,r.focusOffset=n.focusOffset)}return r}(e);return u>4&&(r.lineDiv.style.display="none"),function(e,t,r){var n=e.display,i=e.options.lineNumbers,o=n.lineDiv,l=o.firstChild;function s(t){var r=t.nextSibling;return a&&b&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),r}for(var u=n.view,c=n.viewFrom,h=0;h-1&&(d=!1),pr(e,f,c,r)),d&&(N(f.lineNumber),f.lineNumber.appendChild(document.createTextNode(it(e.options,c)))),l=f.node.nextSibling}else{var p=xr(e,f,c,r);o.insertBefore(p,l)}c+=f.size}for(;l;)l=s(l)}(e,r.updateLineNumbers,t.dims),u>4&&(r.lineDiv.style.display=""),r.renderedView=r.view,function(e){if(e&&e.activeElt&&e.activeElt!=H(I(e.activeElt))&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&W(document.body,e.anchorNode)&&W(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,r=t.defaultView.getSelection(),n=t.createRange();n.setEnd(e.anchorNode,e.anchorOffset),n.collapse(!1),r.removeAllRanges(),r.addRange(n),r.extend(e.focusNode,e.focusOffset)}}(c),N(r.cursorDiv),N(r.selectionDiv),r.gutters.style.height=r.sizer.style.minHeight=0,s&&(r.lastWrapHeight=t.wrapperHeight,r.lastWrapWidth=t.wrapperWidth,ai(e,400)),r.updateLineNumbers=null,!0}function fi(e,t){for(var r=t.viewport,n=!0;;n=!1){if(n&&e.options.lineWrapping&&t.oldDisplayWidth!=Dr(e))n&&(t.visible=Hn(e.display,e.doc,r));else if(r&&null!=r.top&&(r={top:Math.min(e.doc.height+Nr(e.display)-Wr(e),r.top)}),t.visible=Hn(e.display,e.doc,r),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!hi(e,t))break;Dn(e);var i=Vn(e);xn(e),Xn(e,i),gi(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 di(e,t){var r=new ci(e,t);if(hi(e,r)){Dn(e),fi(e,r);var n=Vn(e);xn(e),Xn(e,n),gi(e,n),r.finish()}}function pi(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",fr(e,"gutterChanged",e)}function gi(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+Ar(e)+"px"}function vi(e){var t=e.display,r=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var n=hn(t)-t.scroller.scrollLeft+e.doc.scrollLeft,i=t.gutters.offsetWidth,o=n+"px",l=0;l=105&&(o.wrapper.style.clipPath="inset(0px)"),o.wrapper.setAttribute("translate","no"),l&&s<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),a||r&&y||(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=yi(i.gutters,i.lineNumbers),bi(o),n.init(o)}ci.prototype.signal=function(e,t){Ce(e,t)&&this.events.push(arguments)},ci.prototype.finish=function(){for(var e=0;eu.clientWidth,p=u.scrollHeight>u.clientHeight;if(i&&d||o&&p){if(o&&b&&a)e:for(var g=t.target,v=s.view;g!=u;g=g.parentNode)for(var m=0;m=0&<(e,n.to())<=0)return r}return-1};var Ni=function(e,t){this.anchor=e,this.head=t};function Oi(e,t,r){var n=e&&e.options.selectionsMayTouch,i=t[r];t.sort((function(e,t){return lt(e.from(),t.from())})),r=j(t,i);for(var o=1;o0:a>=0){var u=ct(s.from(),l.from()),c=ut(s.to(),l.to()),h=s.empty()?l.from()==l.head:s.from()==s.head;o<=r&&--r,t.splice(--o,2,new Ni(h?c:u,h?u:c))}}return new Mi(t,r)}function Ai(e,t){return new Mi([new Ni(e,t||e)],0)}function Di(e){return e.text?ot(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Wi(e,t){if(lt(e,t.from)<0)return e;if(lt(e,t.to)<=0)return Di(t);var r=e.line+t.text.length-(t.to.line-t.from.line)-1,n=e.ch;return e.line==t.to.line&&(n+=Di(t).ch-t.to.ch),ot(r,n)}function Hi(e,t){for(var r=[],n=0;n1&&e.remove(s.line+1,p-1),e.insert(s.line+1,m)}fr(e,"change",e,t)}function Ii(e,t,r){!function e(n,i,o){if(n.linked)for(var l=0;ls-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Ki(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(i,i.lastOp==n)))l=J(o.changes),0==lt(t.from,t.to)&&0==lt(t.from,l.to)?l.to=Di(t):o.changes.push(Vi(e,t));else{var a=J(i.done);for(a&&a.ranges||Yi(e.sel,i.done),o={changes:[Vi(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(r),i.generation=++i.maxGeneration,i.lastModTime=i.lastSelTime=s,i.lastOp=i.lastSelOp=n,i.lastOrigin=i.lastSelOrigin=t.origin,l||be(e,"historyAdded")}function Xi(e,t,r,n){var i=e.history,o=n&&n.origin;r==i.lastSelOp||o&&i.lastSelOrigin==o&&(i.lastModTime==i.lastSelTime&&i.lastOrigin==o||function(e,t,r,n){var i=t.charAt(0);return"*"==i||"+"==i&&r.ranges.length==n.ranges.length&&r.somethingSelected()==n.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(i.done),t))?i.done[i.done.length-1]=t:Yi(t,i.done),i.lastSelTime=+new Date,i.lastSelOrigin=o,i.lastSelOp=r,n&&!1!==n.clearRedo&&Ki(i.undone)}function Yi(e,t){var r=J(t);r&&r.ranges&&r.equals(e)||t.push(e)}function $i(e,t,r,n){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,r),Math.min(e.first+e.size,n),(function(r){r.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=r.markedSpans),++o}))}function _i(e){if(!e)return null;for(var t,r=0;r-1&&(J(s)[h]=u[h],delete u[h])}}}return n}function Qi(e,t,r,n){if(n){var i=e.anchor;if(r){var o=lt(t,i)<0;o!=lt(r,i)<0?(i=t,t=r):o!=lt(t,r)<0&&(t=r)}return new Ni(i,t)}return new Ni(r||t,t)}function Ji(e,t,r,n,i){null==i&&(i=e.cm&&(e.cm.display.shift||e.extend)),io(e,new Mi([Qi(e.sel.primary(),t,r,i)],0),n)}function eo(e,t,r){for(var n=[],i=e.cm&&(e.cm.display.shift||e.extend),o=0;o=t.ch:s.to>t.ch))){if(i&&(be(a,"beforeCursorEnter"),a.explicitlyCleared)){if(o.markedSpans){--l;continue}break}if(!a.atomic)continue;if(r){var h=a.find(n<0?1:-1),f=void 0;if((n<0?c:u)&&(h=ho(e,h,-n,h&&h.line==t.line?o:null)),h&&h.line==t.line&&(f=lt(h,r))&&(n<0?f<0:f>0))return uo(e,h,t,n,i)}var d=a.find(n<0?-1:1);return(n<0?u:c)&&(d=ho(e,d,n,d.line==t.line?o:null)),d?uo(e,d,t,n,i):null}}return t}function co(e,t,r,n,i){var o=n||1,l=uo(e,t,r,o,i)||!i&&uo(e,t,r,o,!0)||uo(e,t,r,-o,i)||!i&&uo(e,t,r,-o,!0);return l||(e.cantEdit=!0,ot(e.first,0))}function ho(e,t,r,n){return r<0&&0==t.ch?t.line>e.first?ft(e,ot(t.line-1)):null:r>0&&t.ch==(n||Ze(e,t.line)).text.length?t.line0)){var c=[a,1],h=lt(u.from,s.from),f=lt(u.to,s.to);(h<0||!l.inclusiveLeft&&!h)&&c.push({from:u.from,to:s.from}),(f>0||!l.inclusiveRight&&!f)&&c.push({from:s.to,to:u.to}),i.splice.apply(i,c),a+=c.length-3}}return i}(e,t.from,t.to);if(n)for(var i=n.length-1;i>=0;--i)vo(e,{from:n[i].from,to:n[i].to,text:i?[""]:t.text,origin:t.origin});else vo(e,t)}}function vo(e,t){if(1!=t.text.length||""!=t.text[0]||0!=lt(t.from,t.to)){var r=Hi(e,t);ji(e,t,r,e.cm?e.cm.curOp.id:NaN),bo(e,t,r,Dt(e,t));var n=[];Ii(e,(function(e,r){r||-1!=j(n,e.history)||(So(e.history,t),n.push(e.history)),bo(e,t,null,Dt(e,t))}))}}function mo(e,t,r){var n=e.cm&&e.cm.state.suppressEdits;if(!n||r){for(var i,o=e.history,l=e.sel,s="undo"==t?o.done:o.undone,a="undo"==t?o.undone:o.done,u=0;u=0;--d){var p=f(d);if(p)return p.v}}}}function yo(e,t){if(0!=t&&(e.first+=t,e.sel=new Mi(ee(e.sel.ranges,(function(e){return new Ni(ot(e.anchor.line+t,e.anchor.ch),ot(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){vn(e.cm,e.first,e.first-t,t);for(var r=e.cm.display,n=r.viewFrom;ne.lastLine())){if(t.from.lineo&&(t={from:t.from,to:ot(o,Ze(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),r||(r=Hi(e,t)),e.cm?function(e,t,r){var n=e.doc,i=e.display,o=t.from,l=t.to,s=!1,a=o.line;e.options.lineWrapping||(a=tt(Vt(Ze(n,o.line))),n.iter(a,l.line+1,(function(e){if(e==i.maxLine)return s=!0,!0})));n.sel.contains(t.from,t.to)>-1&&xe(e);zi(n,t,r,fn(e)),e.options.lineWrapping||(n.iter(a,o.line+t.text.length,(function(e){var t=_t(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.highlightFrontierr;n--){var i=Ze(e,n).stateAfter;if(i&&(!(i instanceof pt)||n+i.lookAhead1||!(this.children[0]instanceof ko))){var s=[];this.collapse(s),this.children=[new ko(s)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t50){for(var l=i.lines.length%25+25,s=l;s10);e.parent.maybeSpill()}},iterN:function(e,t,r){for(var n=0;n0||0==l&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=D("span",[o.replacedWith],"CodeMirror-widget"),n.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),n.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Ut(e,t.line,t,r,o)||t.line!=r.line&&Ut(e,r.line,t,r,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Mt=!0}o.addToHistory&&ji(e,{from:t,to:r,origin:"markText"},e.sel,NaN);var s,a=t.line,u=e.cm;if(e.iter(a,r.line+1,(function(n){u&&o.collapsed&&!u.options.lineWrapping&&Vt(n)==u.display.maxLine&&(s=!0),o.collapsed&&a!=t.line&&et(n,0),function(e,t,r){var n=r&&window.WeakSet&&(r.markedSpans||(r.markedSpans=new WeakSet));n&&e.markedSpans&&n.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],n&&n.add(e.markedSpans)),t.marker.attachLine(e)}(n,new Nt(o,a==t.line?t.ch:null,a==r.line?r.ch:null),e.cm&&e.cm.curOp),++a})),o.collapsed&&e.iter(t.line,r.line+1,(function(t){Xt(e,t)&&et(t,0)})),o.clearOnEnter&&ve(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Tt=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Oo,o.atomic=!0),u){if(s&&(u.curOp.updateMaxLine=!0),o.collapsed)vn(u,t.line,r.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var c=t.line;c<=r.line;c++)mn(u,c,"text");o.atomic&&so(u.doc),fr(u,"markerAdded",u,o)}return o}Ao.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Zn(e),Ce(this,"clear")){var r=this.find();r&&fr(this,"clear",r.from,r.to)}for(var n=null,i=null,o=0;oe.display.maxLineLength&&(e.display.maxLine=u,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=n&&e&&this.collapsed&&vn(e,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&so(e.doc)),e&&fr(e,"markerCleared",e,this,n,i),t&&Qn(e),this.parent&&this.parent.clear()}},Ao.prototype.find=function(e,t){var r,n;null==e&&"bookmark"==this.type&&(e=1);for(var i=0;i=0;a--)go(this,n[a]);s?no(this,s):this.cm&&En(this.cm)})),undo:si((function(){mo(this,"undo")})),redo:si((function(){mo(this,"redo")})),undoSelection:si((function(){mo(this,"undo",!0)})),redoSelection:si((function(){mo(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,r=0,n=0;n=e.ch)&&t.push(i.marker.parent||i.marker)}return t},findMarks:function(e,t,r){e=ft(this,e),t=ft(this,t);var n=[],i=e.line;return this.iter(e.line,t.line+1,(function(o){var l=o.markedSpans;if(l)for(var s=0;s=a.to||null==a.from&&i!=e.line||null!=a.from&&i==t.line&&a.from>=t.ch||r&&!r(a.marker)||n.push(a.marker.parent||a.marker)}++i})),n},getAllMarks:function(){var e=[];return this.iter((function(t){var r=t.markedSpans;if(r)for(var n=0;ne)return t=e,!0;e-=o,++r})),ft(this,ot(r,t))},indexFromPos:function(e){var t=(e=ft(this,e)).ch;if(e.linet&&(t=e.from),null!=e.to&&e.to-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var h=e.dataTransfer.getData("Text");if(h){var f;if(t.state.draggingText&&!t.state.draggingText.copy&&(f=t.listSelections()),oo(t.doc,Ai(r,r)),f)for(var d=0;d=0;t--)wo(e.doc,"",n[t].from,n[t].to,"+delete");En(e)}))}function nl(e,t,r){var n=ue(e.text,t+r,r);return n<0||n>e.text.length?null:n}function il(e,t,r){var n=nl(e,t.ch,r);return null==n?null:new ot(t.line,n,r<0?"after":"before")}function ol(e,t,r,n,i){if(e){"rtl"==t.doc.direction&&(i=-i);var o=pe(r,t.doc.direction);if(o){var l,s=i<0?J(o):o[0],a=i<0==(1==s.level)?"after":"before";if(s.level>0||"rtl"==t.doc.direction){var u=Er(t,r);l=i<0?r.text.length-1:0;var c=Rr(t,u,l).top;l=ce((function(e){return Rr(t,u,e).top==c}),i<0==(1==s.level)?s.from:s.to-1,l),"before"==a&&(l=nl(r,l,1))}else l=i<0?s.to:s.from;return new ot(n,l,a)}}return new ot(n,i<0?r.text.length:0,i<0?"before":"after")}$o.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"},$o.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"},$o.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"},$o.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"]},$o.default=b?$o.macDefault:$o.pcDefault;var ll={selectAll:fo,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),Y)},killLine:function(e){return rl(e,(function(t){if(t.empty()){var r=Ze(e.doc,t.head.line).text.length;return t.head.ch==r&&t.head.line0)i=new ot(i.line,i.ch+1),e.replaceRange(o.charAt(i.ch-1)+o.charAt(i.ch-2),ot(i.line,i.ch-2),i,"+transpose");else if(i.line>e.doc.first){var l=Ze(e.doc,i.line-1).text;l&&(i=new ot(i.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+l.charAt(l.length-1),ot(i.line-1,l.length-1),i,"+transpose"))}r.push(new Ni(i,i))}e.setSelections(r)}))},newlineAndIndent:function(e){return ii(e,(function(){for(var t=e.listSelections(),r=t.length-1;r>=0;r--)e.replaceRange(e.doc.lineSeparator(),t[r].anchor,t[r].head,"+input");t=e.listSelections();for(var n=0;n-1&&(lt((i=u.ranges[i]).from(),t)<0||t.xRel>0)&&(lt(i.to(),t)>0||t.xRel<0)?function(e,t,r,n){var i=e.display,o=!1,u=oi(e,(function(t){a&&(i.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Nn(e)),ye(i.wrapper.ownerDocument,"mouseup",u),ye(i.wrapper.ownerDocument,"mousemove",c),ye(i.scroller,"dragstart",h),ye(i.scroller,"drop",u),o||(Le(t),n.addNew||Ji(e.doc,r,null,null,n.extend),a&&!d||l&&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},h=function(){return o=!0};a&&(i.scroller.draggable=!0);e.state.draggingText=u,u.copy=!n.moveOnDrag,ve(i.wrapper.ownerDocument,"mouseup",u),ve(i.wrapper.ownerDocument,"mousemove",c),ve(i.scroller,"dragstart",h),ve(i.scroller,"drop",u),e.state.delayingBlurEvent=!0,setTimeout((function(){return i.input.focus()}),20),i.scroller.dragDrop&&i.scroller.dragDrop()}(e,n,t,o):function(e,t,r,n){l&&Nn(e);var i=e.display,o=e.doc;Le(t);var s,a,u=o.sel,c=u.ranges;n.addNew&&!n.extend?(a=o.sel.contains(r),s=a>-1?c[a]:new Ni(r,r)):(s=o.sel.primary(),a=o.sel.primIndex);if("rectangle"==n.unit)n.addNew||(s=new Ni(r,r)),r=pn(e,t,!0,!0),a=-1;else{var h=Cl(e,r,n.unit);s=n.extend?Qi(s,h.anchor,h.head,n.extend):h}n.addNew?-1==a?(a=c.length,io(o,Oi(e,c.concat([s]),a),{scroll:!1,origin:"*mouse"})):c.length>1&&c[a].empty()&&"char"==n.unit&&!n.extend?(io(o,Oi(e,c.slice(0,a).concat(c.slice(a+1)),0),{scroll:!1,origin:"*mouse"}),u=o.sel):to(o,a,s,$):(a=0,io(o,new Mi([s],0),$),u=o.sel);var f=r;function d(t){if(0!=lt(f,t))if(f=t,"rectangle"==n.unit){for(var i=[],l=e.options.tabSize,c=V(Ze(o,r.line).text,r.ch,l),h=V(Ze(o,t.line).text,t.ch,l),d=Math.min(c,h),p=Math.max(c,h),g=Math.min(r.line,t.line),v=Math.min(e.lastLine(),Math.max(r.line,t.line));g<=v;g++){var m=Ze(o,g).text,y=q(m,d,l);d==p?i.push(new Ni(ot(g,y),ot(g,y))):m.length>y&&i.push(new Ni(ot(g,y),ot(g,q(m,p,l))))}i.length||i.push(new Ni(r,r)),io(o,Oi(e,u.ranges.slice(0,a).concat(i),a),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var b,w=s,x=Cl(e,t,n.unit),C=w.anchor;lt(x.anchor,C)>0?(b=x.head,C=ct(w.from(),x.anchor)):(b=x.anchor,C=ut(w.to(),x.head));var S=u.ranges.slice(0);S[a]=function(e,t){var r=t.anchor,n=t.head,i=Ze(e.doc,r.line);if(0==lt(r,n)&&r.sticky==n.sticky)return t;var o=pe(i);if(!o)return t;var l=fe(o,r.ch,r.sticky),s=o[l];if(s.from!=r.ch&&s.to!=r.ch)return t;var a,u=l+(s.from==r.ch==(1!=s.level)?0:1);if(0==u||u==o.length)return t;if(n.line!=r.line)a=(n.line-r.line)*("ltr"==e.doc.direction?1:-1)>0;else{var c=fe(o,n.ch,n.sticky),h=c-l||(n.ch-r.ch)*(1==s.level?-1:1);a=c==u-1||c==u?h<0:h>0}var f=o[u+(a?-1:0)],d=a==(1==f.level),p=d?f.from:f.to,g=d?"after":"before";return r.ch==p&&r.sticky==g?t:new Ni(new ot(r.line,p,g),n)}(e,new Ni(ft(o,C),b)),io(o,Oi(e,S,a),$)}}var p=i.wrapper.getBoundingClientRect(),g=0;function v(t){var r=++g,l=pn(e,t,!0,"rectangle"==n.unit);if(l)if(0!=lt(l,f)){e.curOp.focus=H(z(e)),d(l);var s=Hn(i,o);(l.line>=s.to||l.linep.bottom?20:0;a&&setTimeout(oi(e,(function(){g==r&&(i.scroller.scrollTop+=a,v(t))})),50)}}function m(t){e.state.selectingText=!1,g=1/0,t&&(Le(t),i.input.focus()),ye(i.wrapper.ownerDocument,"mousemove",y),ye(i.wrapper.ownerDocument,"mouseup",b),o.history.lastSelOrigin=null}var y=oi(e,(function(e){0!==e.buttons&&Oe(e)?v(e):m(e)})),b=oi(e,m);e.state.selectingText=b,ve(i.wrapper.ownerDocument,"mousemove",y),ve(i.wrapper.ownerDocument,"mouseup",b)}(e,n,t,o)}(t,n,o,e):Ne(e)==r.scroller&&Le(e):2==i?(n&&Ji(t.doc,n),setTimeout((function(){return r.input.focus()}),20)):3==i&&(L?t.display.input.onContextMenu(e):Nn(t)))}}function Cl(e,t,r){if("char"==r)return new Ni(t,t);if("word"==r)return e.findWordAt(t);if("line"==r)return new Ni(ot(t.line,0),ft(e.doc,ot(t.line+1,0)));var n=r(e,t);return new Ni(n.from,n.to)}function Sl(e,t,r,n){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;n&&Le(t);var l=e.display,s=l.lineDiv.getBoundingClientRect();if(o>s.bottom||!Ce(e,r))return Te(t);o-=s.top-l.viewOffset;for(var a=0;a=i)return be(e,r,e,rt(e.doc,o),e.display.gutterSpecs[a].className,t),Te(t)}}function Ll(e,t){return Sl(e,t,"gutterClick",!0)}function kl(e,t){Tr(e.display,t)||function(e,t){if(!Ce(e,"gutterContextMenu"))return!1;return Sl(e,t,"gutterContextMenu",!1)}(e,t)||we(e,t,"contextmenu")||L||e.display.input.onContextMenu(t)}function Tl(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Kr(e)}wl.prototype.compare=function(e,t,r){return this.time+400>e&&0==lt(t,this.pos)&&r==this.button};var Ml={toString:function(){return"CodeMirror.Init"}},Nl={},Ol={};function Al(e,t,r){if(!t!=!(r&&r!=Ml)){var n=e.display.dragFunctions,i=t?ve:ye;i(e.display.scroller,"dragstart",n.start),i(e.display.scroller,"dragenter",n.enter),i(e.display.scroller,"dragover",n.over),i(e.display.scroller,"dragleave",n.leave),i(e.display.scroller,"drop",n.drop)}}function Dl(e){e.options.lineWrapping?(F(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(M(e.display.wrapper,"CodeMirror-wrap"),qt(e)),dn(e),vn(e),Kr(e),setTimeout((function(){return Xn(e)}),100)}function Wl(e,t){var r=this;if(!(this instanceof Wl))return new Wl(e,t);this.options=t=t?U(t):{},U(Nl,t,!1);var n=t.value;"string"==typeof n?n=new Eo(n,t.mode,null,t.lineSeparator,t.direction):t.mode&&(n.modeOption=t.mode),this.doc=n;var i=new Wl.inputStyles[t.inputStyle](this),o=this.display=new xi(e,n,i,t);for(var u in o.wrapper.CodeMirror=this,Tl(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),_n(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 K,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),l&&s<11&&setTimeout((function(){return r.display.input.reset(!0)}),20),function(e){var t=e.display;ve(t.scroller,"mousedown",oi(e,xl)),ve(t.scroller,"dblclick",l&&s<11?oi(e,(function(t){if(!we(e,t)){var r=pn(e,t);if(r&&!Ll(e,t)&&!Tr(e.display,t)){Le(t);var n=e.findWordAt(r);Ji(e.doc,n.anchor,n.head)}}})):function(t){return we(e,t)||Le(t)});ve(t.scroller,"contextmenu",(function(t){return kl(e,t)})),ve(t.input.getField(),"contextmenu",(function(r){t.scroller.contains(r.target)||kl(e,r)}));var r,n={end:0};function i(){t.activeTouch&&(r=setTimeout((function(){return t.activeTouch=null}),1e3),(n=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 a(e,t){if(null==t.left)return!0;var r=t.left-e.left,n=t.top-e.top;return r*r+n*n>400}ve(t.scroller,"touchstart",(function(i){if(!we(e,i)&&!o(i)&&!Ll(e,i)){t.input.ensurePolled(),clearTimeout(r);var l=+new Date;t.activeTouch={start:l,moved:!1,prev:l-n.end<=300?n:null},1==i.touches.length&&(t.activeTouch.left=i.touches[0].pageX,t.activeTouch.top=i.touches[0].pageY)}})),ve(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),ve(t.scroller,"touchend",(function(r){var n=t.activeTouch;if(n&&!Tr(t,r)&&null!=n.left&&!n.moved&&new Date-n.start<300){var o,l=e.coordsChar(t.activeTouch,"page");o=!n.prev||a(n,n.prev)?new Ni(l,l):!n.prev.prev||a(n,n.prev.prev)?e.findWordAt(l):new Ni(ot(l.line,0),ft(e.doc,ot(l.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),Le(r)}i()})),ve(t.scroller,"touchcancel",i),ve(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Bn(e,t.scroller.scrollTop),Un(e,t.scroller.scrollLeft,!0),be(e,"scroll",e))})),ve(t.scroller,"mousewheel",(function(t){return Ti(e,t)})),ve(t.scroller,"DOMMouseScroll",(function(t){return Ti(e,t)})),ve(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){we(e,t)||Me(t)},over:function(t){we(e,t)||(!function(e,t){var r=pn(e,t);if(r){var n=document.createDocumentFragment();Sn(e,r,n),e.display.dragCursor||(e.display.dragCursor=A("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),O(e.display.dragCursor,n)}}(e,t),Me(t))},start:function(t){return function(e,t){if(l&&(!e.state.draggingText||+new Date-Ro<100))Me(t);else if(!we(e,t)&&!Tr(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!d)){var r=A("img",null,null,"position: fixed; left: 0; top: 0;");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",f&&(r.width=r.height=1,e.display.wrapper.appendChild(r),r._top=r.offsetTop),t.dataTransfer.setDragImage(r,0,0),f&&r.parentNode.removeChild(r)}}(e,t)},drop:oi(e,zo),leave:function(t){we(e,t)||Io(e)}};var u=t.input.getField();ve(u,"keyup",(function(t){return vl.call(e,t)})),ve(u,"keydown",oi(e,gl)),ve(u,"keypress",oi(e,ml)),ve(u,"focus",(function(t){return On(e,t)})),ve(u,"blur",(function(t){return An(e,t)}))}(this),Uo(),Zn(this),this.curOp.forceUpdate=!0,Bi(this,n),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){r.hasFocus()&&!r.state.focused&&On(r)}),20):An(this),Ol)Ol.hasOwnProperty(u)&&Ol[u](this,t[u],Ml);mi(this),t.finishInit&&t.finishInit(this);for(var c=0;c150)){if(!n)return;r="prev"}}else u=0,r="not";"prev"==r?u=t>o.first?V(Ze(o,t-1).text,null,l):0:"add"==r?u=a+e.options.indentUnit:"subtract"==r?u=a-e.options.indentUnit:"number"==typeof r&&(u=a+r),u=Math.max(0,u);var h="",f=0;if(e.options.indentWithTabs)for(var d=Math.floor(u/l);d;--d)f+=l,h+="\t";if(fl,a=Ee(t),u=null;if(s&&n.ranges.length>1)if(Pl&&Pl.text.join("\n")==t){if(n.ranges.length%Pl.text.length==0){u=[];for(var c=0;c=0;f--){var d=n.ranges[f],p=d.from(),g=d.to();d.empty()&&(r&&r>0?p=ot(p.line,p.ch-r):e.state.overwrite&&!s?g=ot(g.line,Math.min(Ze(o,g.line).text.length,g.ch+J(a).length)):s&&Pl&&Pl.lineWise&&Pl.text.join("\n")==a.join("\n")&&(p=g=ot(p.line,0)));var v={from:p,to:g,text:u?u[f%u.length]:a,origin:i||(s?"paste":e.state.cutIncoming>l?"cut":"+input")};go(e.doc,v),fr(e,"inputRead",e,v)}t&&!s&&Il(e,t),En(e),e.curOp.updateInput<2&&(e.curOp.updateInput=h),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function zl(e,t){var r=e.clipboardData&&e.clipboardData.getData("Text");if(r)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||!t.hasFocus()||ii(t,(function(){return Rl(t,r,0,null,"paste")})),!0}function Il(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var r=e.doc.sel,n=r.ranges.length-1;n>=0;n--){var i=r.ranges[n];if(!(i.head.ch>100||n&&r.ranges[n-1].head.line==i.head.line)){var o=e.getModeAt(i.head),l=!1;if(o.electricChars){for(var s=0;s-1){l=Fl(e,i.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ze(e.doc,i.head.line).text.slice(0,i.head.ch))&&(l=Fl(e,i.head.line,"smart"));l&&fr(e,"electricInput",e,i.head.line)}}}function Bl(e){for(var t=[],r=[],n=0;n0?0:-1));if(isNaN(c))l=null;else{var h=r>0?c>=55296&&c<56320:c>=56320&&c<57343;l=new ot(t.line,Math.max(0,Math.min(s.text.length,t.ch+r*(h?2:1))),-r)}}else l=i?function(e,t,r,n){var i=pe(t,e.doc.direction);if(!i)return il(t,r,n);r.ch>=t.text.length?(r.ch=t.text.length,r.sticky="before"):r.ch<=0&&(r.ch=0,r.sticky="after");var o=fe(i,r.ch,r.sticky),l=i[o];if("ltr"==e.doc.direction&&l.level%2==0&&(n>0?l.to>r.ch:l.from=l.from&&f>=c.begin)){var d=h?"before":"after";return new ot(r.line,f,d)}}var p=function(e,t,n){for(var o=function(e,t){return t?new ot(r.line,a(e,1),"before"):new ot(r.line,e,"after")};e>=0&&e0==(1!=l.level),u=s?n.begin:a(n.end,-1);if(l.from<=u&&u0?c.end:a(c.begin,-1);return null==v||n>0&&v==t.text.length||!(g=p(n>0?0:i.length-1,n,u(v)))?null:g}(e.cm,s,t,r):il(s,t,r);if(null==l){if(o||(u=t.line+a)=e.first+e.size||(t=new ot(u,t.ch,t.sticky),!(s=Ze(e,u))))return!1;t=ol(i,e.cm,s,t.line,a)}else t=l;return!0}if("char"==n||"codepoint"==n)u();else if("column"==n)u(!0);else if("word"==n||"group"==n)for(var c=null,h="group"==n,f=e.cm&&e.cm.getHelper(t,"wordChars"),d=!0;!(r<0)||u(!d);d=!1){var p=s.text.charAt(t.ch)||"\n",g=oe(p,f)?"w":h&&"\n"==p?"n":!h||/\s/.test(p)?null:"p";if(!h||d||g||(g="s"),c&&c!=g){r<0&&(r=1,u(),t.sticky="after");break}if(g&&(c=g),r>0&&!u(!d))break}var v=co(e,t,o,l,!0);return st(o,v)&&(v.hitSide=!0),v}function Kl(e,t,r,n){var i,o,l=e.doc,s=t.left;if("page"==n){var a=Math.min(e.display.wrapper.clientHeight,B(e).innerHeight||l(e).documentElement.clientHeight),u=Math.max(a-.5*an(e.display),3);i=(r>0?t.bottom:t.top)+r*u}else"line"==n&&(i=r>0?t.bottom+3:t.top-3);for(;(o=en(e,s,i)).outside;){if(r<0?i<=0:i>=l.height){o.hitSide=!0;break}i+=5*r}return o}var jl=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new K,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Xl(e,t){var r=Pr(e,t.line);if(!r||r.hidden)return null;var n=Ze(e.doc,t.line),i=Hr(r,n,t.line),o=pe(n,e.doc.direction),l="left";o&&(l=fe(o,t.ch)%2?"right":"left");var s=Br(i.map,t.ch,l);return s.offset="right"==s.collapse?s.end:s.start,s}function Yl(e,t){return t&&(e.bad=!0),e}function $l(e,t,r){var n;if(t==e.display.lineDiv){if(!(n=e.display.lineDiv.childNodes[r]))return Yl(e.clipPos(ot(e.display.viewTo-1)),!0);t=null,r=0}else for(n=t;;n=n.parentNode){if(!n||n==e.display.lineDiv)return null;if(n.parentNode&&n.parentNode==e.display.lineDiv)break}for(var i=0;i=t.display.viewTo||o.line=t.display.viewFrom&&Xl(t,i)||{node:a[0].measure.map[2],offset:0},c=o.linen.firstLine()&&(l=ot(l.line-1,Ze(n.doc,l.line-1).length)),s.ch==Ze(n.doc,s.line).text.length&&s.linei.viewTo-1)return!1;l.line==i.viewFrom||0==(e=gn(n,l.line))?(t=tt(i.view[0].line),r=i.view[0].node):(t=tt(i.view[e].line),r=i.view[e-1].node.nextSibling);var a,u,c=gn(n,s.line);if(c==i.view.length-1?(a=i.viewTo-1,u=i.lineDiv.lastChild):(a=tt(i.view[c+1].line)-1,u=i.view[c+1].node.previousSibling),!r)return!1;for(var h=n.doc.splitLines(function(e,t,r,n,i){var o="",l=!1,s=e.doc.lineSeparator(),a=!1;function u(e){return function(t){return t.id==e}}function c(){l&&(o+=s,a&&(o+=s),l=a=!1)}function h(e){e&&(c(),o+=e)}function f(t){if(1==t.nodeType){var r=t.getAttribute("cm-text");if(r)return void h(r);var o,d=t.getAttribute("cm-marker");if(d){var p=e.findMarks(ot(n,0),ot(i+1,0),u(+d));return void(p.length&&(o=p[0].find(0))&&h(Qe(e.doc,o.from,o.to).join(s)))}if("false"==t.getAttribute("contenteditable"))return;var g=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;g&&c();for(var v=0;v1&&f.length>1;)if(J(h)==J(f))h.pop(),f.pop(),a--;else{if(h[0]!=f[0])break;h.shift(),f.shift(),t++}for(var d=0,p=0,g=h[0],v=f[0],m=Math.min(g.length,v.length);dl.ch&&y.charCodeAt(y.length-p-1)==b.charCodeAt(b.length-p-1);)d--,p++;h[h.length-1]=y.slice(0,y.length-p).replace(/^\u200b+/,""),h[0]=h[0].slice(d).replace(/\u200b+$/,"");var x=ot(t,d),C=ot(a,f.length?J(f).length-p:0);return h.length>1||h[0]||lt(x,C)?(wo(n.doc,h,x,C,"+input"),!0):void 0},jl.prototype.ensurePolled=function(){this.forceCompositionEnd()},jl.prototype.reset=function(){this.forceCompositionEnd()},jl.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},jl.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))},jl.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||ii(this.cm,(function(){return vn(e.cm)}))},jl.prototype.setUneditable=function(e){e.contentEditable="false"},jl.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||oi(this.cm,Rl)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},jl.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},jl.prototype.onContextMenu=function(){},jl.prototype.resetPosition=function(){},jl.prototype.needsContentAttribute=!0;var ql=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new K,this.hasSelection=!1,this.composing=null,this.resetting=!1};ql.prototype.init=function(e){var t=this,r=this,n=this.cm;this.createField(e);var i=this.textarea;function o(e){if(!we(n,e)){if(n.somethingSelected())El({lineWise:!1,text:n.getSelections()});else{if(!n.options.lineWiseCopyCut)return;var t=Bl(n);El({lineWise:!0,text:t.text}),"cut"==e.type?n.setSelections(t.ranges,null,Y):(r.prevInput="",i.value=t.text.join("\n"),E(i))}"cut"==e.type&&(n.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),v&&(i.style.width="0px"),ve(i,"input",(function(){l&&s>=9&&t.hasSelection&&(t.hasSelection=null),r.poll()})),ve(i,"paste",(function(e){we(n,e)||zl(e,n)||(n.state.pasteIncoming=+new Date,r.fastPoll())})),ve(i,"cut",o),ve(i,"copy",o),ve(e.scroller,"paste",(function(t){if(!Tr(e,t)&&!we(n,t)){if(!i.dispatchEvent)return n.state.pasteIncoming=+new Date,void r.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,i.dispatchEvent(o)}})),ve(e.lineSpace,"selectstart",(function(t){Tr(e,t)||Le(t)})),ve(i,"compositionstart",(function(){var e=n.getCursor("from");r.composing&&r.composing.range.clear(),r.composing={start:e,range:n.markText(e,n.getCursor("to"),{className:"CodeMirror-composing"})}})),ve(i,"compositionend",(function(){r.composing&&(r.poll(),r.composing.range.clear(),r.composing=null)}))},ql.prototype.createField=function(e){this.wrapper=Ul(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;Gl(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},ql.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},ql.prototype.prepareSelection=function(){var e=this.cm,t=e.display,r=e.doc,n=Cn(e);if(e.options.moveInputWithCursor){var i=Zr(e,r.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),l=t.lineDiv.getBoundingClientRect();n.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,i.top+l.top-o.top)),n.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,i.left+l.left-o.left))}return n},ql.prototype.showSelection=function(e){var t=this.cm.display;O(t.cursorDiv,e.cursors),O(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},ql.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var r=t.getSelection();this.textarea.value=r,t.state.focused&&E(this.textarea),l&&s>=9&&(this.hasSelection=r)}else e||(this.prevInput=this.textarea.value="",l&&s>=9&&(this.hasSelection=null));this.resetting=!1}},ql.prototype.getField=function(){return this.textarea},ql.prototype.supportsTouch=function(){return!1},ql.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||H(I(this.textarea))!=this.textarea))try{this.textarea.focus()}catch(e){}},ql.prototype.blur=function(){this.textarea.blur()},ql.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},ql.prototype.receivedFocus=function(){this.slowPoll()},ql.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},ql.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function r(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,r))}))},ql.prototype.poll=function(){var e=this,t=this.cm,r=this.textarea,n=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||Re(r)&&!n&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var i=r.value;if(i==n&&!t.somethingSelected())return!1;if(l&&s>=9&&this.hasSelection===i||b&&/[\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||n||(n="​"),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var a=0,u=Math.min(n.length,i.length);a1e3||i.indexOf("\n")>-1?r.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},ql.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},ql.prototype.onKeyPress=function(){l&&s>=9&&(this.hasSelection=null),this.fastPoll()},ql.prototype.onContextMenu=function(e){var t=this,r=t.cm,n=r.display,i=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=pn(r,e),u=n.scroller.scrollTop;if(o&&!f){r.options.resetSelectionOnContextMenu&&-1==r.doc.sel.contains(o)&&oi(r,io)(r.doc,Ai(o),Y);var c,h=i.style.cssText,d=t.wrapper.style.cssText,p=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",i.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-p.top-5)+"px; left: "+(e.clientX-p.left-5)+"px;\n z-index: 1000; background: "+(l?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",a&&(c=i.ownerDocument.defaultView.scrollY),n.input.focus(),a&&i.ownerDocument.defaultView.scrollTo(null,c),n.input.reset(),r.somethingSelected()||(i.value=t.prevInput=" "),t.contextMenuPending=m,n.selForContextMenu=r.doc.sel,clearTimeout(n.detectingSelectAll),l&&s>=9&&v(),L){Me(e);var g=function(){ye(window,"mouseup",g),setTimeout(m,20)};ve(window,"mouseup",g)}else setTimeout(m,50)}function v(){if(null!=i.selectionStart){var e=r.somethingSelected(),o="​"+(e?i.value:"");i.value="⇚",i.value=o,t.prevInput=e?"":"​",i.selectionStart=1,i.selectionEnd=o.length,n.selForContextMenu=r.doc.sel}}function m(){if(t.contextMenuPending==m&&(t.contextMenuPending=!1,t.wrapper.style.cssText=d,i.style.cssText=h,l&&s<9&&n.scrollbars.setScrollTop(n.scroller.scrollTop=u),null!=i.selectionStart)){(!l||l&&s<9)&&v();var e=0,o=function(){n.selForContextMenu==r.doc.sel&&0==i.selectionStart&&i.selectionEnd>0&&"​"==t.prevInput?oi(r,fo)(r):e++<10?n.detectingSelectAll=setTimeout(o,500):(n.selForContextMenu=null,n.input.reset())};n.detectingSelectAll=setTimeout(o,200)}}},ql.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},ql.prototype.setUneditable=function(){},ql.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function r(r,n,i,o){e.defaults[r]=n,i&&(t[r]=o?function(e,t,r){r!=Ml&&i(e,t,r)}:i)}e.defineOption=r,e.Init=Ml,r("value","",(function(e,t){return e.setValue(t)}),!0),r("mode",null,(function(e,t){e.doc.modeOption=t,Pi(e)}),!0),r("indentUnit",2,Pi,!0),r("indentWithTabs",!1),r("smartIndent",!0),r("tabSize",4,(function(e){Ei(e),Kr(e),vn(e)}),!0),r("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var r=[],n=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,r.push(ot(n,o))}n++}));for(var i=r.length-1;i>=0;i--)wo(e.doc,t,r[i],ot(r[i].line,r[i].ch+t.length))}})),r("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,(function(e,t,r){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),r!=Ml&&e.refresh()})),r("specialCharPlaceholder",nr,(function(e){return e.refresh()}),!0),r("electricChars",!0),r("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),r("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),r("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),r("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),r("rtlMoveVisually",!x),r("wholeLineUpdateBefore",!0),r("theme","default",(function(e){Tl(e),wi(e)}),!0),r("keyMap","default",(function(e,t,r){var n=tl(t),i=r!=Ml&&tl(r);i&&i.detach&&i.detach(e,n),n.attach&&n.attach(e,i||null)})),r("extraKeys",null),r("configureMouse",null),r("lineWrapping",!1,Dl,!0),r("gutters",[],(function(e,t){e.display.gutterSpecs=yi(t,e.options.lineNumbers),wi(e)}),!0),r("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?hn(e.display)+"px":"0",e.refresh()}),!0),r("coverGutterNextToScrollbar",!1,(function(e){return Xn(e)}),!0),r("scrollbarStyle","native",(function(e){_n(e),Xn(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),r("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=yi(e.options.gutters,t),wi(e)}),!0),r("firstLineNumber",1,wi,!0),r("lineNumberFormatter",(function(e){return e}),wi,!0),r("showCursorWhenSelecting",!1,xn,!0),r("resetSelectionOnContextMenu",!0),r("lineWiseCopyCut",!0),r("pasteLinesPerSelection",!0),r("selectionsMayTouch",!1),r("readOnly",!1,(function(e,t){"nocursor"==t&&(An(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),r("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),r("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),r("dragDrop",!0,Al),r("allowDropFileTypes",null),r("cursorBlinkRate",530),r("cursorScrollMargin",0),r("cursorHeight",1,xn,!0),r("singleCursorHeightPerLine",!0,xn,!0),r("workTime",100),r("workDelay",100),r("flattenSpans",!0,Ei,!0),r("addModeClass",!1,Ei,!0),r("pollInterval",100),r("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),r("historyEventDelay",1250),r("viewportMargin",10,(function(e){return e.refresh()}),!0),r("maxHighlightLength",1e4,Ei,!0),r("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),r("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),r("autofocus",null),r("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),r("phrases",null)}(Wl),function(e){var t=e.optionHandlers,r=e.helpers={};e.prototype={constructor:e,focus:function(){B(this).focus(),this.display.input.focus()},setOption:function(e,r){var n=this.options,i=n[e];n[e]==r&&"mode"!=e||(n[e]=r,t.hasOwnProperty(e)&&oi(this,t[e])(this,r,i),be(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"](tl(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,r=0;rr&&(Fl(this,i.head.line,e,!0),r=i.head.line,n==this.doc.sel.primIndex&&En(this));else{var o=i.from(),l=i.to(),s=Math.max(r,o.line);r=Math.min(this.lastLine(),l.line-(l.ch?0:1))+1;for(var a=s;a0&&to(this.doc,n,new Ni(o,u[n].to()),Y)}}})),getTokenAt:function(e,t){return St(this,e,t)},getLineTokens:function(e,t){return St(this,ot(e),t,!0)},getTokenTypeAt:function(e){e=ft(this.doc,e);var t,r=mt(this,Ze(this.doc,e.line)),n=0,i=(r.length-1)/2,o=e.ch;if(0==o)t=r[2];else for(;;){var l=n+i>>1;if((l?r[2*l-1]:0)>=o)i=l;else{if(!(r[2*l+1]o&&(e=o,i=!0),n=Ze(this.doc,e)}else n=e;return $r(this,n,{top:0,left:0},t||"page",r||i).top+(i?this.doc.height-$t(n):0)},defaultTextHeight:function(){return an(this.display)},defaultCharWidth:function(){return un(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,r,n,i){var o,l,s,a=this.display,u=(e=Zr(this,ft(this.doc,e))).bottom,c=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),a.sizer.appendChild(t),"over"==n)u=e.top;else if("above"==n||"near"==n){var h=Math.max(a.wrapper.clientHeight,this.doc.height),f=Math.max(a.sizer.clientWidth,a.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>h)&&e.top>t.offsetHeight?u=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=h&&(u=e.bottom),c+t.offsetWidth>f&&(c=f-t.offsetWidth)}t.style.top=u+"px",t.style.left=t.style.right="","right"==i?(c=a.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?c=0:"middle"==i&&(c=(a.sizer.clientWidth-t.offsetWidth)/2),t.style.left=c+"px"),r&&(o=this,l={left:c,top:u,right:c+t.offsetWidth,bottom:u+t.offsetHeight},null!=(s=Fn(o,l)).scrollTop&&Bn(o,s.scrollTop),null!=s.scrollLeft&&Un(o,s.scrollLeft))},triggerOnKeyDown:li(gl),triggerOnKeyPress:li(ml),triggerOnKeyUp:vl,triggerOnMouseDown:li(xl),execCommand:function(e){if(ll.hasOwnProperty(e))return ll[e].call(null,this)},triggerElectric:li((function(e){Il(this,e)})),findPosH:function(e,t,r,n){var i=1;t<0&&(i=-1,t=-t);for(var o=ft(this.doc,e),l=0;l0&&l(t.charAt(r-1));)--r;for(;n.5||this.options.lineWrapping)&&dn(this),be(this,"refresh",this)})),swapDoc:li((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Bi(this,e),Kr(this),this.display.input.reset(),Rn(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,fr(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}},Se(e),e.registerHelper=function(t,n,i){r.hasOwnProperty(t)||(r[t]=e[t]={_global:[]}),r[t][n]=i},e.registerGlobalHelper=function(t,n,i,o){e.registerHelper(t,n,o),r[t]._global.push({pred:i,val:o})}}(Wl);var Zl="iter insert remove copy getEditor constructor".split(" ");for(var Ql in Eo.prototype)Eo.prototype.hasOwnProperty(Ql)&&j(Zl,Ql)<0&&(Wl.prototype[Ql]=function(e){return function(){return e.apply(this.doc,arguments)}}(Eo.prototype[Ql]));return Se(Eo),Wl.inputStyles={textarea:ql,contenteditable:jl},Wl.defineMode=function(e){Wl.defaults.mode||"null"==e||(Wl.defaults.mode=e),Ue.apply(this,arguments)},Wl.defineMIME=function(e,t){Ge[e]=t},Wl.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Wl.defineMIME("text/plain","null"),Wl.defineExtension=function(e,t){Wl.prototype[e]=t},Wl.defineDocExtension=function(e,t){Eo.prototype[e]=t},Wl.fromTextArea=function(e,t){if((t=t?U(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var r=H(I(e));t.autofocus=r==e||null!=e.getAttribute("autofocus")&&r==document.body}function n(){e.value=s.getValue()}var i;if(e.form&&(ve(e.form,"submit",n),!t.leaveSubmitMethodAlone)){var o=e.form;i=o.submit;try{var l=o.submit=function(){n(),o.submit=i,o.submit(),o.submit=l}}catch(e){}}t.finishInit=function(r){r.save=n,r.getTextArea=function(){return e},r.toTextArea=function(){r.toTextArea=isNaN,n(),e.parentNode.removeChild(r.getWrapperElement()),e.style.display="",e.form&&(ye(e.form,"submit",n),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=i))}},e.style.display="none";var s=Wl((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return s},function(e){e.off=ye,e.on=ve,e.wheelEventPixels=ki,e.Doc=Eo,e.splitLines=Ee,e.countColumn=V,e.findColumn=q,e.isWordChar=ie,e.Pass=X,e.signal=be,e.Line=Zt,e.changeEnd=Di,e.scrollbarModel=$n,e.Pos=ot,e.cmpPos=lt,e.modes=Be,e.mimeModes=Ge,e.resolveMode=Ve,e.getMode=Ke,e.modeExtensions=je,e.extendMode=Xe,e.copyState=Ye,e.startState=_e,e.innerMode=$e,e.commands=ll,e.keyMap=$o,e.keyName=el,e.isModifierKey=Qo,e.lookupKey=Zo,e.normalizeKeyMap=qo,e.StringStream=qe,e.SharedTextMarker=Wo,e.TextMarker=Ao,e.LineWidget=Mo,e.e_preventDefault=Le,e.e_stopPropagation=ke,e.e_stop=Me,e.addClass=F,e.contains=W,e.rmClass=M,e.keyNames=Ko}(Wl),Wl.version="5.65.18",Wl})); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/coffeescript-lint.js b/providers/fab/src/airflow/providers/fab/www/static/dist/coffeescript-lint.js new file mode 100644 index 0000000000000..6dc14813d9e6e --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/coffeescript-lint.js @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";e.registerHelper("lint","coffeescript",(function(o){var r=[];if(!window.coffeelint)return window.console&&window.console.error("Error: window.coffeelint not defined, CodeMirror CoffeeScript linting cannot run."),r;var i,n;try{for(var t=coffeelint.lint(o),f=0;f=1?u:t<=-1?-u:Math.asin(t)}function x(t){return t.innerRadius}function p(t){return t.outerRadius}function v(t){return t.startAngle}function d(t){return t.endAngle}function T(t){return t&&t.padAngle}function g(t,i,n,e,s,o,_){var r=t-n,c=i-e,l=(_?o:-o)/a(r*r+c*c),u=l*c,f=-l*r,y=t+u,x=i+f,p=n+u,v=e+f,d=(y+p)/2,T=(x+v)/2,g=p-y,b=v-x,m=g*g+b*b,w=s-o,k=y*v-p*x,N=(b<0?-1:1)*a(h(0,w*w*m-k*k)),M=(k*b-g*N)/m,S=(-k*g-b*N)/m,E=(k*b+g*N)/m,A=(-k*g+b*N)/m,P=M-d,C=S-T,O=E-d,R=A-T;return P*P+C*C>O*O+R*R&&(M=E,S=A),{cx:M,cy:S,x01:-u,y01:-f,x11:M*(s/w-1),y11:S*(s/w-1)}}var b=Array.prototype.slice;function m(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function w(t){this._context=t}function k(t){return new w(t)}function N(t){return t[0]}function M(t){return t[1]}function S(t,e){var s=n(!0),o=null,h=k,_=null;function r(n){var r,a,c,l=(n=m(n)).length,u=!1;for(null==o&&(_=h(c=i.path())),r=0;r<=l;++r)!(r=l;--u)a.point(v[u],d[u]);a.lineEnd(),a.areaEnd()}p&&(v[c]=+t(f,c,n),d[c]=+e(f,c,n),a.point(o?+o(f,c,n):v[c],s?+s(f,c,n):d[c]))}if(y)return a=null,y+""||null}function l(){return S().defined(h).curve(r).context(_)}return t="function"==typeof t?t:void 0===t?N:n(+t),e="function"==typeof e?e:n(void 0===e?0:+e),s="function"==typeof s?s:void 0===s?M:n(+s),c.x=function(i){return arguments.length?(t="function"==typeof i?i:n(+i),o=null,c):t},c.x0=function(i){return arguments.length?(t="function"==typeof i?i:n(+i),c):t},c.x1=function(t){return arguments.length?(o=null==t?null:"function"==typeof t?t:n(+t),c):o},c.y=function(t){return arguments.length?(e="function"==typeof t?t:n(+t),s=null,c):e},c.y0=function(t){return arguments.length?(e="function"==typeof t?t:n(+t),c):e},c.y1=function(t){return arguments.length?(s=null==t?null:"function"==typeof t?t:n(+t),c):s},c.lineX0=c.lineY0=function(){return l().x(t).y(e)},c.lineY1=function(){return l().x(t).y(s)},c.lineX1=function(){return l().x(o).y(e)},c.defined=function(t){return arguments.length?(h="function"==typeof t?t:n(!!t),c):h},c.curve=function(t){return arguments.length?(r=t,null!=_&&(a=r(_)),c):r},c.context=function(t){return arguments.length?(null==t?_=a=null:a=r(_=t),c):_},c}function A(t,i){return it?1:i>=t?0:NaN}function P(t){return t}w.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(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:this._context.lineTo(t,i)}}};var C=R(k);function O(t){this._curve=t}function R(t){function i(i){return new O(t(i))}return i._curve=t,i}function q(t){var i=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?i(R(t)):i()._curve},t}function z(){return q(S().curve(C))}function X(){var t=E().curve(C),i=t.curve,n=t.lineX0,e=t.lineX1,s=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return q(n())},delete t.lineX0,t.lineEndAngle=function(){return q(e())},delete t.lineX1,t.lineInnerRadius=function(){return q(s())},delete t.lineY0,t.lineOuterRadius=function(){return q(o())},delete t.lineY1,t.curve=function(t){return arguments.length?i(R(t)):i()._curve},t}function Y(t,i){return[(i=+i)*Math.cos(t-=Math.PI/2),i*Math.sin(t)]}function B(t){return t.source}function j(t){return t.target}function I(t){var e=B,s=j,o=N,h=M,_=null;function r(){var n,r=b.call(arguments),a=e.apply(this,r),c=s.apply(this,r);if(_||(_=n=i.path()),t(_,+o.apply(this,(r[0]=a,r)),+h.apply(this,r),+o.apply(this,(r[0]=c,r)),+h.apply(this,r)),n)return _=null,n+""||null}return r.source=function(t){return arguments.length?(e=t,r):e},r.target=function(t){return arguments.length?(s=t,r):s},r.x=function(t){return arguments.length?(o="function"==typeof t?t:n(+t),r):o},r.y=function(t){return arguments.length?(h="function"==typeof t?t:n(+t),r):h},r.context=function(t){return arguments.length?(_=null==t?null:t,r):_},r}function D(t,i,n,e,s){t.moveTo(i,n),t.bezierCurveTo(i=(i+e)/2,n,i,s,e,s)}function L(t,i,n,e,s){t.moveTo(i,n),t.bezierCurveTo(i,n=(n+s)/2,e,n,e,s)}function V(t,i,n,e,s){var o=Y(i,n),h=Y(i,n=(n+s)/2),_=Y(e,n),r=Y(e,s);t.moveTo(o[0],o[1]),t.bezierCurveTo(h[0],h[1],_[0],_[1],r[0],r[1])}O.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,i){this._curve.point(i*Math.sin(t),i*-Math.cos(t))}};var W={draw:function(t,i){var n=Math.sqrt(i/l);t.moveTo(n,0),t.arc(0,0,n,0,f)}},H={draw:function(t,i){var n=Math.sqrt(i/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},F=Math.sqrt(1/3),G=2*F,J={draw:function(t,i){var n=Math.sqrt(i/G),e=n*F;t.moveTo(0,-n),t.lineTo(e,0),t.lineTo(0,n),t.lineTo(-e,0),t.closePath()}},K=Math.sin(l/10)/Math.sin(7*l/10),Q=Math.sin(f/10)*K,U=-Math.cos(f/10)*K,Z={draw:function(t,i){var n=Math.sqrt(.8908130915292852*i),e=Q*n,s=U*n;t.moveTo(0,-n),t.lineTo(e,s);for(var o=1;o<5;++o){var h=f*o/5,_=Math.cos(h),r=Math.sin(h);t.lineTo(r*n,-_*n),t.lineTo(_*e-r*s,r*e+_*s)}t.closePath()}},$={draw:function(t,i){var n=Math.sqrt(i),e=-n/2;t.rect(e,e,n,n)}},tt=Math.sqrt(3),it={draw:function(t,i){var n=-Math.sqrt(i/(3*tt));t.moveTo(0,2*n),t.lineTo(-tt*n,-n),t.lineTo(tt*n,-n),t.closePath()}},nt=-.5,et=Math.sqrt(3)/2,st=1/Math.sqrt(12),ot=3*(st/2+1),ht={draw:function(t,i){var n=Math.sqrt(i/ot),e=n/2,s=n*st,o=e,h=n*st+n,_=-o,r=h;t.moveTo(e,s),t.lineTo(o,h),t.lineTo(_,r),t.lineTo(nt*e-et*s,et*e+nt*s),t.lineTo(nt*o-et*h,et*o+nt*h),t.lineTo(nt*_-et*r,et*_+nt*r),t.lineTo(nt*e+et*s,nt*s-et*e),t.lineTo(nt*o+et*h,nt*h-et*o),t.lineTo(nt*_+et*r,nt*r-et*_),t.closePath()}},_t=[W,H,J,$,Z,it,ht];function rt(){}function at(t,i,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+i)/6,(t._y0+4*t._y1+n)/6)}function ct(t){this._context=t}function lt(t){this._context=t}function ut(t){this._context=t}ct.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:at(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(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);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:at(this,t,i)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i}},lt.prototype={areaStart:rt,areaEnd:rt,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(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._x2=t,this._y2=i;break;case 1:this._point=2,this._x3=t,this._y3=i;break;case 2:this._point=3,this._x4=t,this._y4=i,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+i)/6);break;default:at(this,t,i)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i}},ut.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(t,i){switch(t=+t,i=+i,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+t)/6,e=(this._y0+4*this._y1+i)/6;this._line?this._context.lineTo(n,e):this._context.moveTo(n,e);break;case 3:this._point=4;default:at(this,t,i)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=i}};class ft{constructor(t,i){this._context=t,this._x=i}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(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,i,t,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,t,this._y0,t,i)}this._x0=t,this._y0=i}}function yt(t,i){this._basis=new ct(t),this._beta=i}yt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,i=this._y,n=t.length-1;if(n>0)for(var e,s=t[0],o=i[0],h=t[n]-s,_=i[n]-o,r=-1;++r<=n;)e=r/n,this._basis.point(this._beta*t[r]+(1-this._beta)*(s+e*h),this._beta*i[r]+(1-this._beta)*(o+e*_));this._x=this._y=null,this._basis.lineEnd()},point:function(t,i){this._x.push(+t),this._y.push(+i)}};var xt=function t(i){function n(t){return 1===i?new ct(t):new yt(t,i)}return n.beta=function(i){return t(+i)},n}(.85);function pt(t,i,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-i),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function vt(t,i){this._context=t,this._k=(1-i)/6}vt.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:pt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2,this._x1=t,this._y1=i;break;case 2:this._point=3;default:pt(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var dt=function t(i){function n(t){return new vt(t,i)}return n.tension=function(i){return t(+i)},n}(0);function Tt(t,i){this._context=t,this._k=(1-i)/6}Tt.prototype={areaStart:rt,areaEnd:rt,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(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._x3=t,this._y3=i;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=i);break;case 2:this._point=3,this._x5=t,this._y5=i;break;default:pt(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var gt=function t(i){function n(t){return new Tt(t,i)}return n.tension=function(i){return t(+i)},n}(0);function bt(t,i){this._context=t,this._k=(1-i)/6}bt.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(t,i){switch(t=+t,i=+i,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:pt(this,t,i)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var mt=function t(i){function n(t){return new bt(t,i)}return n.tension=function(i){return t(+i)},n}(0);function wt(t,i,n){var e=t._x1,s=t._y1,o=t._x2,h=t._y2;if(t._l01_a>c){var _=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,r=3*t._l01_a*(t._l01_a+t._l12_a);e=(e*_-t._x0*t._l12_2a+t._x2*t._l01_2a)/r,s=(s*_-t._y0*t._l12_2a+t._y2*t._l01_2a)/r}if(t._l23_a>c){var a=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*a+t._x1*t._l23_2a-i*t._l12_2a)/l,h=(h*a+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(e,s,o,h,t._x2,t._y2)}function kt(t,i){this._context=t,this._alpha=i}kt.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(t,i){if(t=+t,i=+i,this._point){var n=this._x2-t,e=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;break;case 2:this._point=3;default:wt(this,t,i)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var Nt=function t(i){function n(t){return i?new kt(t,i):new vt(t,0)}return n.alpha=function(i){return t(+i)},n}(.5);function Mt(t,i){this._context=t,this._alpha=i}Mt.prototype={areaStart:rt,areaEnd:rt,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(t,i){if(t=+t,i=+i,this._point){var n=this._x2-t,e=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=i;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=i);break;case 2:this._point=3,this._x5=t,this._y5=i;break;default:wt(this,t,i)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var St=function t(i){function n(t){return i?new Mt(t,i):new Tt(t,0)}return n.alpha=function(i){return t(+i)},n}(.5);function Et(t,i){this._context=t,this._alpha=i}Et.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(t,i){if(t=+t,i=+i,this._point){var n=this._x2-t,e=this._y2-i;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+e*e,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:wt(this,t,i)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=i}};var At=function t(i){function n(t){return i?new Et(t,i):new bt(t,0)}return n.alpha=function(i){return t(+i)},n}(.5);function Pt(t){this._context=t}function Ct(t){return t<0?-1:1}function Ot(t,i,n){var e=t._x1-t._x0,s=i-t._x1,o=(t._y1-t._y0)/(e||s<0&&-0),h=(n-t._y1)/(s||e<0&&-0),_=(o*s+h*e)/(e+s);return(Ct(o)+Ct(h))*Math.min(Math.abs(o),Math.abs(h),.5*Math.abs(_))||0}function Rt(t,i){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-i)/2:i}function qt(t,i,n){var e=t._x0,s=t._y0,o=t._x1,h=t._y1,_=(o-e)/3;t._context.bezierCurveTo(e+_,s+_*i,o-_,h-_*n,o,h)}function zt(t){this._context=t}function Xt(t){this._context=new Yt(t)}function Yt(t){this._context=t}function Bt(t){this._context=t}function jt(t){var i,n,e=t.length-1,s=new Array(e),o=new Array(e),h=new Array(e);for(s[0]=0,o[0]=2,h[0]=t[0]+2*t[1],i=1;i=0;--i)s[i]=(h[i]-s[i+1])/o[i];for(o[e-1]=(t[e]+s[e-1])/2,i=0;i1)for(var n,e,s,o=1,h=t[i[0]],_=h.length;o=0;)n[i]=i;return n}function Vt(t,i){return t[i]}function Wt(t){const i=[];return i.key=t,i}function Ht(t){var i=t.map(Ft);return Lt(t).sort((function(t,n){return i[t]-i[n]}))}function Ft(t){for(var i,n=-1,e=0,s=t.length,o=-1/0;++no&&(o=i,e=n);return e}function Gt(t){var i=t.map(Jt);return Lt(t).sort((function(t,n){return i[t]-i[n]}))}function Jt(t){for(var i,n=0,e=-1,s=t.length;++e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,i){switch(t=+t,i=+i,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,i):this._context.moveTo(t,i);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,i),this._context.lineTo(t,i);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,i)}}this._x=t,this._y=i}},t.arc=function(){var t=x,h=p,b=n(0),m=null,w=v,k=d,N=T,M=null;function S(){var n,x,p=+t.apply(this,arguments),v=+h.apply(this,arguments),d=w.apply(this,arguments)-u,T=k.apply(this,arguments)-u,S=e(T-d),E=T>d;if(M||(M=n=i.path()),vc)if(S>f-c)M.moveTo(v*o(d),v*r(d)),M.arc(0,0,v,d,T,!E),p>c&&(M.moveTo(p*o(T),p*r(T)),M.arc(0,0,p,T,d,E));else{var A,P,C=d,O=T,R=d,q=T,z=S,X=S,Y=N.apply(this,arguments)/2,B=Y>c&&(m?+m.apply(this,arguments):a(p*p+v*v)),j=_(e(v-p)/2,+b.apply(this,arguments)),I=j,D=j;if(B>c){var L=y(B/p*r(Y)),V=y(B/v*r(Y));(z-=2*L)>c?(R+=L*=E?1:-1,q-=L):(z=0,R=q=(d+T)/2),(X-=2*V)>c?(C+=V*=E?1:-1,O-=V):(X=0,C=O=(d+T)/2)}var W=v*o(C),H=v*r(C),F=p*o(q),G=p*r(q);if(j>c){var J,K=v*o(O),Q=v*r(O),U=p*o(R),Z=p*r(R);if(S1?0:t<-1?l:Math.acos(t)}(($*it+tt*nt)/(a($*$+tt*tt)*a(it*it+nt*nt)))/2),st=a(J[0]*J[0]+J[1]*J[1]);I=_(j,(p-st)/(et-1)),D=_(j,(v-st)/(et+1))}}X>c?D>c?(A=g(U,Z,W,H,v,D,E),P=g(K,Q,F,G,v,D,E),M.moveTo(A.cx+A.x01,A.cy+A.y01),Dc&&z>c?I>c?(A=g(F,G,K,Q,p,-I,E),P=g(W,H,U,Z,p,-I,E),M.lineTo(A.cx+A.x01,A.cy+A.y01),I0&&(y+=l);for(null!=i?x.sort((function(t,n){return i(p[t],p[n])})):null!=e&&x.sort((function(t,i){return e(n[t],n[i])})),_=0,a=y?(d-u*g)/y:0;_0?l*a:0)+g,p[r]={data:n[r],index:_,value:l,startAngle:v,endAngle:c,padAngle:T};return p}return _.value=function(i){return arguments.length?(t="function"==typeof i?i:n(+i),_):t},_.sortValues=function(t){return arguments.length?(i=t,e=null,_):i},_.sort=function(t){return arguments.length?(e=t,i=null,_):e},_.startAngle=function(t){return arguments.length?(s="function"==typeof t?t:n(+t),_):s},_.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:n(+t),_):o},_.padAngle=function(t){return arguments.length?(h="function"==typeof t?t:n(+t),_):h},_},t.pointRadial=Y,t.radialArea=X,t.radialLine=z,t.stack=function(){var t=n([]),i=Lt,e=Dt,s=Vt;function o(n){var o,h,_=Array.from(t.apply(this,arguments),Wt),r=_.length,a=-1;for(const t of n)for(o=0,++a;o0)for(var n,e,s,o,h,_,r=0,a=t[i[0]].length;r0?(e[0]=o,e[1]=o+=s):s<0?(e[1]=h,e[0]=h+=s):(e[0]=0,e[1]=s)},t.stackOffsetExpand=function(t,i){if((e=t.length)>0){for(var n,e,s,o=0,h=t[0].length;o0){for(var n,e=0,s=t[i[0]],o=s.length;e0&&(e=(n=t[i[0]]).length)>0){for(var n,e,s,o=0,h=1;hn?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function c(n){return(n+="")===Su||n[0]===ku?ku+n:n}function f(n){return(n+="")[0]===ku?n.slice(1):n}function s(n){return c(n)in this._}function h(n){return(n=c(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function v(){for(var n in this._)return!1;return!0}function d(){this._=Object.create(null)}function y(n){return n}function m(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function M(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=Nu.length;r>e;++e){var i=Nu[e]+t;if(i in n)return i}}function x(){}function b(){}function _(n){function t(){for(var t,r=e,i=-1,u=r.length;++ie;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Y(n){return Au(n,Du),n}function Z(n,t,e){function r(){var t=this[i];t&&(this.removeEventListener(n,t,t.$),delete this[i])}var i="__on"+n,u=n.indexOf("."),o=V;u>0&&(n=n.slice(0,u));var a=Pu.get(n);return a&&(n=a,o=X),u?t?function(){var u=o(t,vu(arguments));r.call(this),this.addEventListener(n,this[i]=u,u.$=e),u._=t}:r:t?x:function(){var t,e=new RegExp("^__on([^.]+)"+pu.requote(n)+"$");for(var r in this)if(t=r.match(e)){var i=this[r];this.removeEventListener(t[1],i,i.$),delete this[r]}}}function V(n,t){return function(e){var r=pu.event;pu.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{pu.event=r}}}function X(n,t){var e=V(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function $(e){var r=".dragsuppress-"+ ++ju,i="click"+r,u=pu.select(t(e)).on("touchmove"+r,w).on("dragstart"+r,w).on("selectstart"+r,w);if(null==Uu&&(Uu=!("onselectstart"in e)&&M(e.style,"userSelect")),Uu){var o=n(e).style,a=o[Uu];o[Uu]="none"}return function(n){if(u.on(r,null),Uu&&(o[Uu]=a),n){var t=function(){u.on(i,null)};u.on(i,(function(){w(),t()}),!0),setTimeout(t,0)}}}function B(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Fu){var u=t(n);if(u.scrollX||u.scrollY){var o=(r=pu.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();Fu=!(o.f||o.e),r.remove()}}return Fu?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),[(i=i.matrixTransform(n.getScreenCTM().inverse())).x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function W(){return pu.event.changedTouches[0].identifier}function J(n){return n>0?1:0>n?-1:0}function G(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function K(n){return n>1?0:-1>n?Iu:Math.acos(n)}function Q(n){return n>1?Vu:-1>n?-Vu:Math.asin(n)}function nn(n){return((n=Math.exp(n))+1/n)/2}function tn(n){return(n=Math.sin(n/2))*n}function en(){}function rn(n,t,e){return this instanceof rn?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof rn?new rn(n.h,n.s,n.l):mn(""+n,Mn,rn):new rn(n,t,e)}function un(n,t,e){function r(n){return Math.round(255*function(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(u-i)*n/60:180>n?u:240>n?i+(u-i)*(240-n)/60:i}(n))}var i,u;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)||0>t?0:t>1?1:t,i=2*(e=0>e?0:e>1?1:e)-(u=.5>=e?e*(1+t):e+t-e*t),new gn(r(n+120),r(n),r(n-120))}function on(n,t,e){return this instanceof on?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof on?new on(n.h,n.c,n.l):fn(n instanceof ln?n.l:(n=xn((n=pu.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new on(n,t,e)}function an(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new ln(e,Math.cos(n*=Xu)*t,Math.sin(n)*t)}function ln(n,t,e){return this instanceof ln?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof ln?new ln(n.l,n.a,n.b):n instanceof on?an(n.h,n.c,n.l):xn((n=gn(n)).r,n.g,n.b):new ln(n,t,e)}function cn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return new gn(pn(3.2404542*(i=sn(i)*to)-1.5371385*(r=sn(r)*eo)-.4985314*(u=sn(u)*ro)),pn(-.969266*i+1.8760108*r+.041556*u),pn(.0556434*i-.2040259*r+1.0572252*u))}function fn(n,t,e){return n>0?new on(Math.atan2(e,t)*$u,Math.sqrt(t*t+e*e),n):new on(NaN,NaN,n)}function sn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function hn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function pn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function gn(n,t,e){return this instanceof gn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof gn?new gn(n.r,n.g,n.b):mn(""+n,gn,un):new gn(n,t,e)}function vn(n){return new gn(n>>16,n>>8&255,255&n)}function dn(n){return vn(n)+""}function yn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function mn(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(_n(i[0]),_n(i[1]),_n(i[2]))}return(u=oo.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o|=o>>4,a=240&u,a|=a>>4,l=15&u,l|=l<<4):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function Mn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new rn(r,i,l)}function xn(n,t,e){var r=hn((.4124564*(n=bn(n))+.3575761*(t=bn(t))+.1804375*(e=bn(e)))/to),i=hn((.2126729*n+.7151522*t+.072175*e)/eo);return ln(116*i-16,500*(r-i),200*(i-hn((.0193339*n+.119192*t+.9503041*e)/ro)))}function bn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function _n(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function wn(n){return"function"==typeof n?n:function(){return n}}function Sn(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),kn(t,e,n,r)}}function kn(n,t,e,r){function i(){var n,t=l.status;if(!t&&function(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(n){return void o.error.call(u,n)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=pu.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=pu.event;pu.event=n;try{o.progress.call(u,l)}finally{pu.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach((function(n){u[n]=function(){return u.send.apply(u,[n].concat(vu(arguments)))}})),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",(function(n){i(null,n)})),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},pu.rebind(u,o,"on"),null==r?u:u.get(function(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}(r))}function Nn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i={c:n,t:e+t,n:null};return lo?lo.n=i:ao=i,lo=i,co||(fo=clearTimeout(fo),co=1,so(En)),i}function En(){var n=An(),t=Cn()-n;t>24?(isFinite(t)&&(clearTimeout(fo),fo=setTimeout(En,t)),co=0):(co=1,so(En))}function An(){for(var n=Date.now(),t=ao;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Cn(){for(var n,t=ao,e=1/0;t;)t.c?(t.t0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:y;return function(n){var e=po.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=go.get(p)||qn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=pu.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;var x,b,_=(n=p(n,h)).lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function qn(n){return n+""}function Tn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rn(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new yo(e-1)),1),e}function u(n,e){return t(n=new yo(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var a=n.utc=Dn(n);return a.floor=a,a.round=Dn(r),a.ceil=Dn(i),a.offset=Dn(u),a.range=function(n,t,e){try{yo=Tn;var r=new Tn;return r._=n,o(r,t,e)}finally{yo=Date}},n}function Dn(n){return function(t,e){try{yo=Tn;var r=new Tn;return r._=t,n(r,e)._}finally{yo=Date}}}function Pn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++aa;){if(r>=c)return-1;if(37===(i=t.charCodeAt(a++))){if(o=t.charAt(a++),!(u=b[o in Mo?t.charAt(a++):o])||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}var r=n.dateTime,i=n.date,u=n.time,o=n.periods,a=n.days,l=n.shortDays,c=n.months,f=n.shortMonths;t.utc=function(n){function e(n){try{var t=new(yo=Tn);return t._=n,r(t)}finally{yo=Date}}var r=t(n);return e.parse=function(n){try{yo=Tn;var t=r.parse(n);return t&&t._}finally{yo=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=tt;var s=pu.map(),h=jn(a),p=Fn(a),g=jn(l),v=Fn(l),d=jn(c),y=Fn(c),m=jn(f),M=Fn(f);o.forEach((function(n,t){s.set(n.toLowerCase(),t)}));var x={a:function(n){return l[n.getDay()]},A:function(n){return a[n.getDay()]},b:function(n){return f[n.getMonth()]},B:function(n){return c[n.getMonth()]},c:t(r),d:function(n,t){return Un(n.getDate(),t,2)},e:function(n,t){return Un(n.getDate(),t,2)},H:function(n,t){return Un(n.getHours(),t,2)},I:function(n,t){return Un(n.getHours()%12||12,t,2)},j:function(n,t){return Un(1+vo.dayOfYear(n),t,3)},L:function(n,t){return Un(n.getMilliseconds(),t,3)},m:function(n,t){return Un(n.getMonth()+1,t,2)},M:function(n,t){return Un(n.getMinutes(),t,2)},p:function(n){return o[+(n.getHours()>=12)]},S:function(n,t){return Un(n.getSeconds(),t,2)},U:function(n,t){return Un(vo.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Un(vo.mondayOfYear(n),t,2)},x:t(i),X:t(u),y:function(n,t){return Un(n.getFullYear()%100,t,2)},Y:function(n,t){return Un(n.getFullYear()%1e4,t,4)},Z:Qn,"%":function(){return"%"}},b={a:function(n,t,e){g.lastIndex=0;var r=g.exec(t.slice(e));return r?(n.w=v.get(r[0].toLowerCase()),e+r[0].length):-1},A:function(n,t,e){h.lastIndex=0;var r=h.exec(t.slice(e));return r?(n.w=p.get(r[0].toLowerCase()),e+r[0].length):-1},b:function(n,t,e){m.lastIndex=0;var r=m.exec(t.slice(e));return r?(n.m=M.get(r[0].toLowerCase()),e+r[0].length):-1},B:function(n,t,e){d.lastIndex=0;var r=d.exec(t.slice(e));return r?(n.m=y.get(r[0].toLowerCase()),e+r[0].length):-1},c:function(n,t,r){return e(n,x.c.toString(),t,r)},d:$n,e:$n,H:Wn,I:Wn,j:Bn,L:Kn,m:Xn,M:Jn,p:function(n,t,e){var r=s.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)},S:Gn,U:On,w:Hn,W:In,x:function(n,t,r){return e(n,x.x.toString(),t,r)},X:function(n,t,r){return e(n,x.X.toString(),t,r)},y:Zn,Y:Yn,Z:Vn,"%":nt};return t}function Un(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function jn(n){return new RegExp("^(?:"+n.map(pu.requote).join("|")+")","i")}function Fn(n){for(var t=new l,e=-1,r=n.length;++e68?1900:2e3)}(+r[0]),e+r[0].length):-1}function Vn(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Xn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function $n(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Bn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Wn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Jn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Gn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Kn(n,t,e){xo.lastIndex=0;var r=xo.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function Qn(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=wu(t)/60|0,i=wu(t)%60;return e+Un(r,"0",2)+Un(i,"0",2)}function nt(n,t,e){bo.lastIndex=0;var r=bo.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function tt(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);Eo.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Ao.point=function(o,a){Ao.point=n,r=(t=o)*Xu,i=Math.cos(a=(e=a)*Xu/2+Iu/4),u=Math.sin(a)},Ao.lineEnd=function(){n(t,e)}}function lt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ct(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function ft(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function st(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ht(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function gt(n){return[Math.atan2(n[1],n[0]),Q(n[2])]}function vt(n,t){return wu(n[0]-t[0])a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new kt(e,n,null,!0),c=new kt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new kt(r,n,null,!1),c=new kt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}})),o.sort(t),St(u),St(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g)for(a=(f=p.p.z).length-1;a>=0;--a)i.point((s=f[a])[0],s[1]);else r(p.x,p.p.x,-1,i);p=p.p}f=(p=p.o).z,g=!g}while(!p.v);i.lineEnd()}}}function St(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Et))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=pu.merge(p);var n=function(n,t){var e=n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;Eo.reset();for(var a=0,l=t.length;l>a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Iu/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0);var y=(n=c[d])[0],m=n[1]/2+Iu/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Iu,k=g*M;if(Eo.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Yu:b,S^h>=e^y>=e){var N=ft(lt(s),lt(n));pt(N);var E=ft(i,N);pt(E);var A=(S^b>=0?-1:1)*Q(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Hu>u||Hu>u&&-Hu>Eo)^1&o}(y,g);p.length?(b||(u.polygonStart(),b=!0),wt(p,Ct,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=At(),x=t(M),b=!1;return m}}function Et(n){return n.length>1}function At(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:x,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ct(n,t){return((n=n.x)[0]<0?n[1]-Vu-Hu:Vu-n[1])-((t=t.x)[0]<0?t[1]-Vu-Hu:Vu-t[1])}function zt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=0,s=1,h=a.x-l,p=a.y-c;if(u=n-l,h||!(u>0)){if(u/=h,0>h){if(f>u)return;s>u&&(s=u)}else if(h>0){if(u>s)return;u>f&&(f=u)}if(u=e-l,h||!(0>u)){if(u/=h,0>h){if(u>s)return;u>f&&(f=u)}else if(h>0){if(f>u)return;s>u&&(s=u)}if(u=t-c,p||!(u>0)){if(u/=p,0>p){if(f>u)return;s>u&&(s=u)}else if(p>0){if(u>s)return;u>f&&(f=u)}if(u=r-c,p||!(0>u)){if(u/=p,0>p){if(u>s)return;u>f&&(f=u)}else if(p>0){if(f>u)return;s>u&&(s=u)}return f>0&&(i.a={x:l+f*h,y:c+f*p}),1>s&&(i.b={x:l+s*h,y:c+s*p}),i}}}}}}function Lt(n,t,e,r){function i(r,i){return wu(r[0]-n)0?0:3:wu(r[0]-e)0?2:1:wu(r[1]-t)0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0)do{c.point(0===f||3===f?n:e,f>1?r:t)}while((f=(f+l+4)%4)!==s);else c.point(a[0],a[1])}function c(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function f(n,t){c(n,t)&&a.point(n,t)}function s(n,t){var e=c(n=Math.max(-Io,Math.min(Io,n)),t=Math.max(-Io,Math.min(Io,t)));if(p&&g.push([n,t]),b)v=n,d=t,y=e,b=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&x)a.point(n,t);else{var r={a:{x:m,y:M},b:{x:n,y:t}};k(r)?(x||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),_=!1):e&&(a.lineStart(),a.point(n,t),_=!1)}m=n,M=t,x=e}var h,p,g,v,d,y,m,M,x,b,_,w=a,S=At(),k=zt(n,t,e,r),N={point:f,lineStart:function(){N.point=s,p&&p.push(g=[]),b=!0,x=!1,m=M=NaN},lineEnd:function(){h&&(s(v,d),y&&x&&S.rejoin(),h.push(S.buffer())),N.point=f,x&&a.lineEnd()},polygonStart:function(){a=S,h=[],p=[],_=!0},polygonEnd:function(){a=w,h=pu.merge(h);var t=function(n){for(var t=0,e=p.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=p[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&G(c,u,n)>0&&++t:u[1]<=r&&G(c,u,n)<0&&--t,c=u;return 0!==t}([n,r]),e=_&&t,i=h.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),i&&wt(h,u,t,l,a),a.polygonEnd()),h=p=g=null}};return N}}function qt(n){var t=0,e=Iu/3,r=Xt(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Iu/180,e=n[1]*Iu/180):[t/Iu*180,e/Iu*180]},i}function Tt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,Q((u-(n*n+e*e)*i*i)/(2*i))]},e}function Rt(){function n(n,t){Zo+=i*n-r*t,r=n,i=t}var t,e,r,i;Wo.point=function(u,o){Wo.point=n,t=r=u,e=i=o},Wo.lineEnd=function(){n(t,e)}}function Dt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Pt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Pt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Pt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ut(n,t){Lo+=n,qo+=t,++To}function jt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);Ro+=o*(t+n)/2,Do+=o*(e+r)/2,Po+=o,Ut(t=n,e=r)}var t,e;Go.point=function(r,i){Go.point=n,Ut(t=r,e=i)}}function Ft(){Go.point=Ut}function Ht(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);Ro+=o*(r+n)/2,Do+=o*(i+t)/2,Po+=o,Uo+=(o=i*n-r*t)*(r+n),jo+=o*(i+t),Fo+=3*o,Ut(r=n,i=t)}var t,e,r,i;Go.point=function(u,o){Go.point=n,Ut(t=r=u,e=i=o)},Go.lineEnd=function(){n(t,e)}}function Ot(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Yu)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:x};return a}function It(n){function t(n){return(a?r:e)(n)}function e(t){return Zt(t,(function(e,r){e=n(e,r),t.point(e[0],e[1])}))}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){m=NaN,w.point=u,t.lineStart()}function u(e,r){var u=lt([e,r]),o=n(e,r);i(m,M,y,x,b,_,m=o[0],M=o[1],y=e,x=u[0],b=u[1],_=u[2],a,t),t.point(m,M)}function o(){w.point=e,t.lineEnd()}function l(){r(),w.point=c,w.lineEnd=f}function c(n,t){u(s=n,t),h=m,p=M,g=x,v=b,d=_,w.point=u}function f(){i(m,M,y,x,b,_,h,p,s,g,v,d,a,t),w.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),w.lineStart=l},polygonEnd:function(){t.polygonEnd(),w.lineStart=r}};return w}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=wu(wu(w)-1)u||wu((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Xu),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function Yt(n){this.stream=n}function Zt(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Vt(n){return Xt((function(){return n}))()}function Xt(n){function t(n){return[(n=a(n[0]*Xu,n[1]*Xu))[0]*h+l,c-n[1]*h]}function e(n){return(n=a.invert((n[0]-l)/h,(c-n[1])/h))&&[n[0]*$u,n[1]*$u]}function r(){a=bt(o=Jt(m,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=It((function(n,t){return[(n=u(n,t))[0]*h+l,c-n[1]*h]})),h=150,p=480,g=250,v=0,d=0,m=0,M=0,x=0,b=Oo,_=y,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),(f=$t(b(o,s(_(n))))).valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Oo):function(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n,t,e){var r=[1,0,0],u=ft(lt(n),lt(t)),o=ct(u,u),a=u[0],l=o-a*a;if(!l)return!e&&n;var c=i*o/l,f=-i*a/l,s=ft(r,u),h=ht(r,c);st(h,ht(u,f));var p=s,g=ct(h,p),v=ct(p,p),d=g*g-v*(ct(h,h)-1);if(!(0>d)){var y=Math.sqrt(d),m=ht(p,(-g-y)/v);if(st(m,h),m=gt(m),!e)return m;var M,x=n[0],b=t[0],_=n[1],w=t[1];x>b&&(M=x,x=b,b=M);var S=b-x,k=wu(S-Iu)w&&(M=_,_=w,w=M),k||Hu>S?k?_+w>0^m[1]<(wu(m[0]-x)Iu^(x<=m[0]&&m[0]<=b)){var N=ht(p,(-g+y)/v);return st(N,h),[m,gt(N)]}}}function r(t,e){var r=u?n:Iu-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var i=Math.cos(n),u=i>0,o=wu(i)>Hu;return Nt(t,(function(n){var i,a,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=u?v?0:r(s,h):v?r(s+(0>s?Iu:-Iu),h):0;if(!i&&(c=l=v)&&n.lineStart(),v!==l&&(p=e(i,g),(vt(i,p)||vt(g,p))&&(g[0]+=Hu,g[1]+=Hu,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=e(g,i),n.point(p[0],p[1])):(p=e(i,g),n.point(p[0],p[1]),n.lineEnd()),i=p;else if(o&&i&&u^v){var y;d&a||!(y=e(g,i,!0))||(f=0,u?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||i&&vt(i,g)||n.point(g[0],g[1]),i=g,l=v,a=d},lineEnd:function(){l&&n.lineEnd(),i=null},clean:function(){return f|(c&&l)<<1}}}),ne(n,6*Xu),u?[0,-n]:[-Iu,n-Iu])}((w=+n)*Xu),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Lt(n[0][0],n[0][1],n[1][0],n[1][1]):y,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Xu,d=n[1]%360*Xu,r()):[v*$u,d*$u]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Xu,M=n[1]%360*Xu,x=n.length>2?n[2]%360*Xu:0,r()):[m*$u,M*$u,x*$u]},pu.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function $t(n){return Zt(n,(function(t,e){n.point(t*Xu,e*Xu)}))}function Bt(n,t){return[n,t]}function Wt(n,t){return[n>Iu?n-Yu:-Iu>n?n+Yu:n,t]}function Jt(n,t,e){return n?t||e?bt(Kt(n),Qt(t,e)):Kt(n):t||e?Qt(t,e):Wt}function Gt(n){return function(t,e){return[(t+=n)>Iu?t-Yu:-Iu>t?t+Yu:t,e]}}function Kt(n){var t=Gt(n);return t.invert=Gt(-n),t}function Qt(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),Q(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),Q(f*r-a*i)]},e}function ne(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=te(e,i),u=te(e,u),(o>0?u>i:i>u)&&(i+=o*Yu)):(i=n+o*Yu,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=gt([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function te(n,t){var e=lt(t);e[0]-=n,pt(e);var r=K(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Hu)%(2*Math.PI)}function ee(n,t,e){var r=pu.range(n,t-Hu,e).concat(t);return function(n){return r.map((function(t){return[n,t]}))}}function re(n,t,e){var r=pu.range(n,t-Hu,e).concat(t);return function(n){return r.map((function(t){return[t,n]}))}}function ie(n){return n.source}function ue(n){return n.target}function oe(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function ae(n,t){function e(n,t){o>0?-Vu+Hu>t&&(t=-Vu+Hu):t>Vu-Hu&&(t=Vu-Hu);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Iu/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=J(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Vu]},e):ce}function le(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return wu(i)i;i++){for(;r>1&&G(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function ve(n,t){return n[0]-t[0]||n[1]-t[1]}function de(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function ye(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function me(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Me(){je(this),this.edge=this.site=this.circle=null}function xe(n){var t=sa.pop()||new Me;return t.site=n,t}function be(n){ze(n),la.remove(n),sa.push(n),je(n)}function _e(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];be(n);for(var l=u;l.circle&&wu(e-l.circle.x)f;++f)c=a[f],l=a[f-1],De(c.edge,l.site,c.site,i);l=a[0],(c=a[s-1]).edge=Te(l.site,c.site,null,i),Ce(l),Ce(c)}function we(n){for(var t,e,r,i,u=n.x,o=n.y,a=la._;a;)if((r=Se(a,o)-u)>Hu)a=a.L;else{if(!((i=u-ke(a,o))>Hu)){r>-Hu?(t=a.P,e=a):i>-Hu?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=xe(n);if(la.insert(t,l),t||e){if(t===e)return ze(t),e=xe(t.site),la.insert(l,e),l.edge=e.edge=Te(t.site,l.site),Ce(t),void Ce(e);if(!e)return void(l.edge=Te(t.site,l.site));ze(t),ze(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};De(e.edge,c,g,x),l.edge=Te(c,n,null,x),e.edge=Te(n,g,null,x),Ce(t),Ce(e)}}function Se(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-1/0;var a=(e=o.site).x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function ke(n,t){var e=n.N;if(e)return Se(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ne(n){this.site=n,this.edges=[]}function Ee(n,t){return t.angle-n.angle}function Ae(){je(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ce(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,i=n.site,u=e.site;if(r!==u){var o=i.x,a=i.y,l=r.x-o,c=r.y-a,f=u.x-o,s=2*(l*(d=u.y-a)-c*f);if(!(s>=-Ou)){var h=l*l+c*c,p=f*f+d*d,g=(d*h-c*p)/s,v=(l*p-f*h)/s,d=v+a,y=ha.pop()||new Ae;y.arc=n,y.site=i,y.x=g+o,y.y=d+Math.sqrt(g*g+v*v),y.cy=d,n.circle=y;for(var m=null,M=fa._;M;)if(y.yd||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.yr||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.yp){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.xo;)r=(f=a[o].end()).x,i=f.y,t=(c=a[++o%l].start()).x,e=c.y,(wu(r-t)>Hu||wu(i-e)>Hu)&&(a.splice(o,0,new Pe(Re(u.site,f,wu(r-s)Hu?{x:s,y:wu(t-s)Hu?{x:wu(e-g)Hu?{x:h,y:wu(t-h)Hu?{x:wu(e-p)u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:Je(e,r)})),u=va.lastIndex;return ur;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Ke(n,t){for(var e,r=pu.interpolators.length;--r>=0&&!(e=pu.interpolators[r](n,t)););return e}function Qe(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Ke(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function nr(n){return function(t){return 1-n(1-t)}}function tr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function er(n){return n*n}function rr(n){return n*n*n}function ir(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ur(n){return 1-Math.cos(n*Vu)}function or(n){return Math.pow(2,10*(n-1))}function ar(n){return 1-Math.sqrt(1-n*n)}function lr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function cr(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function fr(n){var t=[n.a,n.b],e=[n.c,n.d],r=hr(t),i=sr(t,e),u=hr(function(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}(e,t,-i))||0;t[0]*e[1]180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(pr(e)+"rotate(",null,")")-2,x:Je(n,t)})):t&&e.push(pr(e)+"rotate("+t+")")}(n.rotate,t.rotate,e,r),function(n,t,e,r){n!==t?r.push({i:e.push(pr(e)+"skewX(",null,")")-2,x:Je(n,t)}):t&&e.push(pr(e)+"skewX("+t+")")}(n.skew,t.skew,e,r),function(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(pr(e)+"scale(",null,",",null,")");r.push({i:i-4,x:Je(n[0],t[0])},{i:i-2,x:Je(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(pr(e)+"scale("+t+")")}(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i=0;)e.push(i[r])}function Nr(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++oe;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function Ur(n){return n.reduce(jr,0)}function jr(n,t){return n+t[1]}function Fr(n,t){return Hr(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function Hr(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function Or(n){return[pu.min(n),pu.max(n)]}function Ir(n,t){return n.value-t.value}function Yr(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Zr(n,t){n._pack_next=t,t._pack_prev=n}function Vr(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Xr(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-1/0,h=1/0,p=-1/0;if(e.forEach($r),(r=e[0]).x=-r.r,r.y=0,t(r),c>1&&((i=e[1]).x=i.r,i.y=0,t(i),c>2))for(Jr(r,i,u=e[2]),t(u),Yr(r,u),r._pack_prev=u,Yr(u,i),i=r._pack_next,o=3;c>o;o++){Jr(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(Vr(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!Vr(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.ro;o++)(u=e[o]).x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Br)}}function $r(n){n._pack_next=n._pack_prev=n}function Br(n){delete n._pack_next,delete n._pack_prev}function Wr(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++ui&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function oi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function ai(n){return n.rangeExtent?n.rangeExtent():oi(n.range())}function li(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function ci(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function fi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Na}function si(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?si:li,l=r?dr:vr;return o=i(n,t,l,e),a=i(t,n,l,Ke),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(cr)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return di(n,t)},u.tickFormat=function(t,e){return yi(n,t,e)},u.nice=function(t){return gi(n,t),i()},u.copy=function(){return hi(n,t,e,r)},i()}function pi(n,t){return pu.rebind(n,t,"range","rangeRound","interpolate","clamp")}function gi(n,t){return ci(n,fi(vi(n,t)[2])),ci(n,fi(vi(n,t)[2])),n}function vi(n,t){null==t&&(t=10);var e=oi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function di(n,t){return pu.range.apply(pu,vi(n,t))}function yi(n,t,e){var r=vi(n,t);if(e){var i=po.exec(e);if(i.shift(),"s"===i[8]){var u=pu.formatPrefix(Math.max(wu(r[0]),wu(r[1])));return i[7]||(i[7]="."+mi(u.scale(r[2]))),i[8]="f",e=pu.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+function(n,t){var e=mi(t[2]);return n in Ea?Math.abs(e-mi(Math.max(wu(t[0]),wu(t[1]))))+ +("e"!==n):e-2*("%"===n)}(i[8],r)),e=i.join("")}else e=",."+mi(r[2])+"f";return pu.format(e)}function mi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Mi(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=ci(r.map(i),e?Math:Ca);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=oi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++0;h--)o.push(u(c)*h);for(c=0;o[c]l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Aa;arguments.length<2?e=Aa:"function"!=typeof e&&(e=pu.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return Mi(n.copy(),t,e,r)},pi(o,n)}function xi(n,t,e){function r(t){return n(i(t))}var i=bi(t),u=bi(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return di(e,n)},r.tickFormat=function(n,t){return yi(e,n,t)},r.nice=function(n){return r.domain(gi(e,n))},r.exponent=function(o){return arguments.length?(i=bi(t=o),u=bi(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return xi(n.copy(),t,e)},pi(r,n)}function bi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function _i(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return pu.range(n.length).map((function(n){return t+e*n}))}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new l;for(var u,o=-1,a=r.length;++o(e=t.indexOf(e))?[NaN,NaN]:[e>0?a[e-1]:n[0],e(t=e.indexOf(t))?NaN:t/u+n,t+1/u]},r.copy=function(){return Si(n,t,e)},i()}function ki(n,t){function e(e){return e>=e?t[pu.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return ki(n,t)},e}function Ni(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return di(n,t)},t.tickFormat=function(t,e){return yi(n,t,e)},t.copy=function(){return Ni(n)},t}function Ei(){return 0}function Ai(n){return n.innerRadius}function Ci(n){return n.outerRadius}function zi(n){return n.startAngle}function Li(n){return n.endAngle}function qi(n){return n&&n.padAngle}function Ti(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function Ri(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Di(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=wn(e),g=wn(r);++s1?n.join("L"):n+"Z"}function Ui(n){return n.join("L")+"Z"}function ji(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r);for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function $i(n){for(var t,e,r,i=-1,u=n.length;++i+l){var v=p[l];v.timer.c=null,v.timer.t=NaN,--p.count,delete p[l]}c.c=o,Nn((function(){return c.c&&o(e||1)&&(c.c=null,c.t=NaN),1}),0,a),p.active=r,g.event&&g.event.start.call(n,n.__data__,t),h=[],g.tween.forEach((function(e,r){(r=r.call(n,n.__data__,t))&&h.push(r)})),s=g.ease,f=g.duration}function o(i){for(var u=i/f,o=s(u),a=h.length;a>0;)h[--a].call(n,o);return u>=1?(g.event&&g.event.end.call(n,n.__data__,t),--p.count?delete p[r]:delete n[e],1):void 0}var a,c,f,s,h,p=n[e]||(n[e]={active:0,count:0}),g=p[r];g||(a=i.time,c=Nn((function(n){var t=g.delay;return c.t=t+a,n>=t?u(n-t):void(c.c=u)}),0,a),g=p[r]={tween:new l,time:a,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++p.count)}function ou(n,t,e){n.attr("transform",(function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"}))}function au(n,t,e){n.attr("transform",(function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"}))}function lu(n){return n.toISOString()}function cu(n,t,e){function r(t){return n(t)}function i(n,e){var r=(n[1]-n[0])/e,i=pu.bisect(nl,r);return i==nl.length?[t.year,vi(n.map((function(n){return n/31536e6})),e)[2]]:i?t[r/nl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=fu(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=fu(+t+1);return t}}:n))},r.ticks=function(n,t){var e=oi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],fu(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return cu(n.copy(),t,e)},pi(r,n)}function fu(n){return new Date(n)}function su(n){return JSON.parse(n.responseText)}function hu(n){var t=du.createRange();return t.selectNode(du.body),t.createContextualFragment(n.responseText)}var pu={version:"3.5.17"},gu=[].slice,vu=function(n){return gu.call(n)},du=this.document;if(du)try{vu(du.documentElement.childNodes)[0].nodeType}catch(n){vu=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),du)try{du.createElement("DIV").style.setProperty("opacity",0,"")}catch(n){var yu=this.Element.prototype,mu=yu.setAttribute,Mu=yu.setAttributeNS,xu=this.CSSStyleDeclaration.prototype,bu=xu.setProperty;yu.setAttribute=function(n,t){mu.call(this,n,t+"")},yu.setAttributeNS=function(n,t,e){Mu.call(this,n,t,e+"")},xu.setProperty=function(n,t,e){bu.call(this,n,t+"",e)}}pu.ascending=e,pu.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},pu.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ir&&(e=r)}else{for(;++i=r){e=r;break}for(;++ir&&(e=r)}return e},pu.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i=r){e=r;break}for(;++ie&&(e=r)}else{for(;++i=r){e=r;break}for(;++ie&&(e=r)}return e},pu.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}else{for(;++u=r){e=i=r;break}for(;++ur&&(e=r),r>i&&(i=r))}return[e,i]},pu.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o1?l/(f-1):void 0},pu.deviation=function(){var n=pu.variance.apply(this,arguments);return n?Math.sqrt(n):n};var _u=u(e);pu.bisectLeft=_u.left,pu.bisect=pu.bisectRight=_u.right,pu.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},pu.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},pu.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},pu.pairs=function(n){for(var t=0,e=n.length-1,r=n[0],i=new Array(0>e?0:e);e>t;)i[t]=[r,r=n[++t]];return i},pu.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=pu.min(n,o),r=new Array(e);++t=0;)for(t=(r=n[i]).length;--t>=0;)e[--o]=r[t];return e};var wu=Math.abs;pu.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e==1/0)throw new Error("infinite range");var r,i=[],u=function(n){for(var t=1;n*t%1;)t*=10;return t}(wu(e)),o=-1;if(n*=u,t*=u,0>(e*=u))for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var c,f,s,h,p=-1,g=o.length,v=u[a++],d=new l;++p=u.length)return n;var r=[],i=o[e++];return n.forEach((function(n,i){r.push({key:n,values:t(i,e)})})),i?r.sort((function(n,t){return i(n.key,t.key)})):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(pu.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},pu.set=function(n){var t=new d;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},a(d,{has:s,add:function(n){return this._[c(n+="")]=!0,n},remove:h,values:p,size:g,empty:v,forEach:function(n){for(var t in this._)n.call(this,f(t))}}),pu.behavior={},pu.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},pu.event=null,pu.requote=function(n){return n.replace(Eu,"\\$&")};var Eu=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Au={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Cu=function(n,t){return t.querySelector(n)},zu=function(n,t){return t.querySelectorAll(n)},Lu=function(n,t){var e=n.matches||n[M(n,"matchesSelector")];return(Lu=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(Cu=function(n,t){return Sizzle(n,t)[0]||null},zu=Sizzle,Lu=Sizzle.matchesSelector),pu.selection=function(){return pu.select(du.documentElement)};var qu=pu.selection.prototype=[];qu.select=function(n){var t,e,r,i,u=[];n=E(n);for(var o=-1,a=this.length;++o=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Ru.hasOwnProperty(e)?{space:Ru[e],local:n}:n}},qu.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return(n=pu.ns.qualify(n)).local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(C(t,n[t]));return this}return this.each(C(n,t))},qu.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=q(n)).length,i=-1;if(t=e.classList){for(;++ii){if("string"!=typeof n){for(r in 2>i&&(e=""),n)this.each(D(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(D(n,e,r))},qu.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(P(t,n[t]));return this}return this.each(P(n,t))},qu.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},qu.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},qu.append=function(n){return n=U(n),this.select((function(){return this.appendChild(n.apply(this,arguments))}))},qu.insert=function(n,t){return n=U(n),t=E(t),this.select((function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)}))},qu.remove=function(){return this.each(j)},qu.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new l,m=new Array(o);for(r=-1;++rr;++r)g[r]=F(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),c.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++uu;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return N(i)},qu.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},qu.sort=function(n){n=O.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},qu.size=function(){var n=0;return I(this,(function(){++n})),n};var Du=[];pu.selection.enter=Y,pu.selection.enter.prototype=Du,Du.append=qu.append,Du.empty=qu.empty,Du.node=qu.node,Du.call=qu.call,Du.size=qu.size,Du.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++a=t&&(t=i+1);!(o=a[t])&&++tr){if("string"!=typeof n){for(e in 2>r&&(t=!1),n)this.each(Z(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(Z(n,t,e))};var Pu=pu.map({mouseenter:"mouseover",mouseleave:"mouseout"});du&&Pu.forEach((function(n){"on"+n in du&&Pu.remove(n)}));var Uu,ju=0;pu.mouse=function(n){return B(n,S())};var Fu=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;pu.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=S().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return B(n,r)},pu.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){var a,l=this,c=pu.event.target.correspondingElement||pu.event.target,f=l.parentNode,s=r.of(l,arguments),h=0,p=n(),g=".drag"+(null==p?"":"-"+p),v=pu.select(e(c)).on(u+g,(function(){var n,e,r=t(f,p);r&&(n=r[0]-y[0],e=r[1]-y[1],h|=n|e,y=r,s({type:"drag",x:r[0]+a[0],y:r[1]+a[1],dx:n,dy:e}))})).on(o+g,(function(){t(f,p)&&(v.on(u+g,null).on(o+g,null),d(h),s({type:"dragend"}))})),d=$(c),y=t(f,p);i?a=[(a=i.apply(l,arguments)).x-y[0],a.y-y[1]]:a=[0,0],s({type:"dragstart"})}}var r=k(n,"drag","dragstart","dragend"),i=null,u=e(x,pu.mouse,t,"mousemove","mouseup"),o=e(W,pu.touch,y,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},pu.rebind(n,r,"on")},pu.touches=function(n,t){return arguments.length<2&&(t=S().touches),t?vu(t).map((function(t){var e=B(n,t);return e.identifier=t.identifier,e})):[]};var Hu=1e-6,Ou=Hu*Hu,Iu=Math.PI,Yu=2*Iu,Zu=Yu-Hu,Vu=Iu/2,Xu=Iu/180,$u=180/Iu,Bu=Math.SQRT2;pu.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(Ou>h)r=Math.log(c/o)/Bu,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Bu*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+4*h)/(2*o*2*p),v=(c*c-o*o-4*h)/(2*c*2*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Bu,e=function(n){var t=n*r,e=nn(d),a=o/(2*p)*(e*function(n){return((n=Math.exp(2*n))-1)/(n+1)}(Bu*t+d)-function(n){return((n=Math.exp(n))-1/n)/2}(d));return[i+a*f,u+a*s,o*e/nn(Bu*t+d)]}}return e.duration=1e3*r,e},pu.behavior.zoom=function(){function n(n){n.on(z,f).on(Ju+".zoom",h).on("dblclick.zoom",p).on(T,s)}function e(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function i(n,t){t=function(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function u(t,e,u,o){t.__chart__={x:S.x,y:S.y,k:S.k},r(Math.pow(2,o)),i(v=e,u),t=pu.select(t),A>0&&(t=t.transition().duration(A)),t.call(n.event)}function o(){x&&x.domain(M.range().map((function(n){return(n-S.x)/S.k})).map(M.invert)),_&&_.domain(b.range().map((function(n){return(n-S.y)/S.k})).map(b.invert))}function a(n){C++||n({type:"zoomstart"})}function l(n){o(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){--C||(n({type:"zoomend"}),v=null)}function f(){var n=this,r=R.of(n,arguments),u=0,o=pu.select(t(n)).on(L,(function(){u=1,i(pu.mouse(n),f),l(r)})).on(q,(function(){o.on(L,null).on(q,null),s(u),c(r)})),f=e(pu.mouse(n)),s=$(n);Za.call(n),a(r)}function s(){function n(){var n=pu.touches(g);return p=S.k,n.forEach((function(n){n.identifier in d&&(d[n.identifier]=e(n))})),n}function t(){var t=pu.event.target;pu.select(t).on(x,o).on(b,h),_.push(t);for(var e=pu.event.changedTouches,r=0,i=e.length;i>r;++r)d[e[r].identifier]=null;var a=n(),l=Date.now();if(1===a.length){if(500>l-m){var c=a[0];u(g,c,d[c.identifier],Math.floor(Math.log(S.k)/Math.LN2)+1),w()}m=l}else if(a.length>1){c=a[0];var f=a[1],s=c[0]-f[0],p=c[1]-f[1];y=s*s+p*p}}function o(){var n,t,e,u,o=pu.touches(g);Za.call(g);for(var a=0,c=o.length;c>a;++a,u=null)if(e=o[a],u=d[e.identifier]){if(t)break;n=e,t=u}if(u){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+u[0])/2,(t[1]+u[1])/2],r(s*p)}m=null,i(n,t),l(v)}function h(){if(pu.event.touches.length){for(var t=pu.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}pu.selectAll(_).on(M,null),k.on(z,f).on(T,s),N(),c(v)}var p,g=this,v=R.of(g,arguments),d={},y=0,M=".zoom-"+pu.event.changedTouches[0].identifier,x="touchmove"+M,b="touchend"+M,_=[],k=pu.select(g),N=$(g);t(),a(v),k.on(z,null).on(T,t)}function h(){var n=R.of(this,arguments);y?clearTimeout(y):(Za.call(this),g=e(v=d||pu.mouse(this)),a(n)),y=setTimeout((function(){y=null,c(n)}),50),w(),r(Math.pow(2,.002*Wu())*S.k),i(v,g),l(n)}function p(){var n=pu.mouse(this),t=Math.log(S.k)/Math.LN2;u(this,n,e(n),pu.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var g,v,d,y,m,M,x,b,_,S={x:0,y:0,k:1},N=[960,500],E=Gu,A=250,C=0,z="mousedown.zoom",L="mousemove.zoom",q="mouseup.zoom",T="touchstart.zoom",R=k(n,"zoomstart","zoom","zoomend");return Ju||(Ju="onwheel"in du?(Wu=function(){return-pu.event.deltaY*(pu.event.deltaMode?120:1)},"wheel"):"onmousewheel"in du?(Wu=function(){return pu.event.wheelDelta},"mousewheel"):(Wu=function(){return-pu.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each((function(){var n=R.of(this,arguments),t=S;Ia?pu.select(this).transition().each("start.zoom",(function(){S=this.__chart__||{x:0,y:0,k:1},a(n)})).tween("zoom:zoom",(function(){var e=N[0],r=N[1],i=v?v[0]:e/2,u=v?v[1]:r/2,o=pu.interpolateZoom([(i-S.x)/S.k,(u-S.y)/S.k,e/S.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=S={x:i-r[0]*a,y:u-r[1]*a,k:a},l(n)}})).each("interrupt.zoom",(function(){c(n)})).each("end.zoom",(function(){c(n)})):(this.__chart__=S,a(n),l(n),c(n))}))},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},o(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:null},r(+t),o(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Gu:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(d=t&&[+t[0],+t[1]],n):d},n.size=function(t){return arguments.length?(N=t&&[+t[0],+t[1]],n):N},n.duration=function(t){return arguments.length?(A=+t,n):A},n.x=function(t){return arguments.length?(x=t,M=t.copy(),S={x:0,y:0,k:1},n):x},n.y=function(t){return arguments.length?(_=t,b=t.copy(),S={x:0,y:0,k:1},n):_},pu.rebind(n,R,"on")};var Wu,Ju,Gu=[0,1/0];pu.color=en,en.prototype.toString=function(){return this.rgb()+""},pu.hsl=rn;var Ku=rn.prototype=new en;Ku.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new rn(this.h,this.s,this.l/n)},Ku.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new rn(this.h,this.s,n*this.l)},Ku.rgb=function(){return un(this.h,this.s,this.l)},pu.hcl=on;var Qu=on.prototype=new en;Qu.brighter=function(n){return new on(this.h,this.c,Math.min(100,this.l+no*(arguments.length?n:1)))},Qu.darker=function(n){return new on(this.h,this.c,Math.max(0,this.l-no*(arguments.length?n:1)))},Qu.rgb=function(){return an(this.h,this.c,this.l).rgb()},pu.lab=ln;var no=18,to=.95047,eo=1,ro=1.08883,io=ln.prototype=new en;io.brighter=function(n){return new ln(Math.min(100,this.l+no*(arguments.length?n:1)),this.a,this.b)},io.darker=function(n){return new ln(Math.max(0,this.l-no*(arguments.length?n:1)),this.a,this.b)},io.rgb=function(){return cn(this.l,this.a,this.b)},pu.rgb=gn;var uo=gn.prototype=new en;uo.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new gn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new gn(i,i,i)},uo.darker=function(n){return new gn((n=Math.pow(.7,arguments.length?n:1))*this.r,n*this.g,n*this.b)},uo.hsl=function(){return Mn(this.r,this.g,this.b)},uo.toString=function(){return"#"+yn(this.r)+yn(this.g)+yn(this.b)};var oo=pu.map({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});oo.forEach((function(n,t){oo.set(n,vn(t))})),pu.functor=wn,pu.xhr=Sn(y),pu.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=kn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,(function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map((function(n,t){return JSON.stringify(n)+": d["+t+"]"})).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i}))},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++f;){var r,a=1;if(10===(r=n.charCodeAt(f++)))i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new d,i=[];return t.forEach((function(n){for(var t in n)r.has(t)||i.push(r.add(t))})),[i.map(o).join(n)].concat(t.map((function(t){return i.map((function(n){return o(t[n])})).join(n)}))).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},pu.csv=pu.dsv(",","text/csv"),pu.tsv=pu.dsv("\t","text/tab-separated-values");var ao,lo,co,fo,so=this[M(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};pu.timer=function(){Nn.apply(this,arguments)},pu.timer.flush=function(){An(),Cn()},pu.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var ho=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map((function(n,t){var e=Math.pow(10,3*wu(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}));pu.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=pu.round(n,zn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),ho[8+e/3]};var po=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,go=pu.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=pu.round(n,zn(n,t))).toFixed(Math.max(0,Math.min(20,zn(n*(1+1e-15),t))))}}),vo=pu.time={},yo=Date;Tn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){mo.setUTCDate.apply(this._,arguments)},setDay:function(){mo.setUTCDay.apply(this._,arguments)},setFullYear:function(){mo.setUTCFullYear.apply(this._,arguments)},setHours:function(){mo.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){mo.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){mo.setUTCMinutes.apply(this._,arguments)},setMonth:function(){mo.setUTCMonth.apply(this._,arguments)},setSeconds:function(){mo.setUTCSeconds.apply(this._,arguments)},setTime:function(){mo.setTime.apply(this._,arguments)}};var mo=Date.prototype;vo.year=Rn((function(n){return(n=vo.day(n)).setMonth(0,1),n}),(function(n,t){n.setFullYear(n.getFullYear()+t)}),(function(n){return n.getFullYear()})),vo.years=vo.year.range,vo.years.utc=vo.year.utc.range,vo.day=Rn((function(n){var t=new yo(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t}),(function(n,t){n.setDate(n.getDate()+t)}),(function(n){return n.getDate()-1})),vo.days=vo.day.range,vo.days.utc=vo.day.utc.range,vo.dayOfYear=function(n){var t=vo.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach((function(n,t){t=7-t;var e=vo[n]=Rn((function(n){return(n=vo.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n}),(function(n,t){n.setDate(n.getDate()+7*Math.floor(t))}),(function(n){var e=vo.year(n).getDay();return Math.floor((vo.dayOfYear(n)+(e+t)%7)/7)-(e!==t)}));vo[n+"s"]=e.range,vo[n+"s"].utc=e.utc.range,vo[n+"OfYear"]=function(n){var e=vo.year(n).getDay();return Math.floor((vo.dayOfYear(n)+(e+t)%7)/7)}})),vo.week=vo.sunday,vo.weeks=vo.sunday.range,vo.weeks.utc=vo.sunday.utc.range,vo.weekOfYear=vo.sundayOfYear;var Mo={"-":"",_:" ",0:"0"},xo=/^\s*\d+/,bo=/^%/;pu.locale=function(n){return{numberFormat:Ln(n),timeFormat:Pn(n)}};var _o=pu.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",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"]});pu.format=_o.numberFormat,pu.geo={},et.prototype={s:0,t:0,add:function(n){rt(n,this.t,wo),rt(wo.s,this.s,this),this.s?this.t+=wo.t:this.s=wo.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var wo=new et;pu.geo.stream=function(n,t){n&&So.hasOwnProperty(n.type)?So[n.type](n,t):it(n,t)};var So={Feature:function(n,t){it(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++rn?4*Iu+n:n,Ao.lineStart=Ao.lineEnd=Ao.point=x}};pu.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=lt([t*Xu,e*Xu]);if(y){var i=ft(y,r),u=ft([i[1],-i[0],0],i);pt(u),u=gt(u);var o=t-g,l=o>0?1:-1,c=u[0]*$u*l,v=wu(o)>180;if(v^(c>l*g&&l*t>c))(d=u[1]*$u)>p&&(p=d);else if(v^((c=(c+360)%360-180)>l*g&&l*t>c)){var d=-u[1]*$u;s>d&&(s=d)}else s>e&&(s=e),e>p&&(p=e);v?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=wu(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Ao.point(n,e),t(n,e)}function u(){Ao.lineStart()}function o(){i(v,d),Ao.lineEnd(),wu(m)>Hu&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nEo?(f=-(h=180),s=-(p=90)):m>Hu?p=90:-Hu>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){if(p=h=-(f=s=1/0),M=[],pu.geo.stream(n,b),u=M.length){M.sort(l);for(var t=1,e=[g=M[0]];u>t;++t)c((i=M[t])[0],g)||c(i[1],g)?(a(g[0],i[1])>a(g[0],g[1])&&(g[1]=i[1]),a(i[0],g[1])>a(g[0],g[1])&&(g[0]=i[0])):e.push(g=i);for(var r,i,u,o=-1/0,g=(t=0,e[u=e.length-1]);u>=t;g=i,++t)i=e[t],(r=a(g[1],i[0]))>o&&(o=r,f=i[0],h=g[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),pu.geo.centroid=function(n){Co=zo=Lo=qo=To=Ro=Do=Po=Uo=jo=Fo=0,pu.geo.stream(n,Ho);var t=Uo,e=jo,r=Fo,i=t*t+e*e+r*r;return Ou>i&&(t=Ro,e=Do,r=Po,Hu>zo&&(t=Lo,e=qo,r=To),Ou>(i=t*t+e*e+r*r))?[NaN,NaN]:[Math.atan2(e,t)*$u,Q(r/Math.sqrt(i))*$u]};var Co,zo,Lo,qo,To,Ro,Do,Po,Uo,jo,Fo,Ho={sphere:x,point:dt,lineStart:mt,lineEnd:Mt,polygonStart:function(){Ho.lineStart=xt},polygonEnd:function(){Ho.lineStart=mt}},Oo=Nt(_t,(function(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Iu:-Iu,l=wu(u-e);wu(l-Iu)0?Vu:-Vu),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Iu&&(wu(e-i)Hu?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}(e,r,u,o),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineEnd:function(){n.lineEnd(),e=r=NaN},clean:function(){return 2-t}}}),(function(n,t,e,r){var i;if(null==n)i=e*Vu,r.point(-Iu,i),r.point(0,i),r.point(Iu,i),r.point(Iu,0),r.point(Iu,-i),r.point(0,-i),r.point(-Iu,-i),r.point(-Iu,0),r.point(-Iu,i);else if(wu(n[0]-t[0])>Hu){var u=n[0]=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Hu,s+.12*c+Hu],[f-.214*c-Hu,s+.234*c-Hu]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Hu,s+.166*c+Hu],[f-.115*c-Hu,s+.234*c-Hu]]).stream(l).point,n},n.scale(1070)};var Yo,Zo,Vo,Xo,$o,Bo,Wo={point:x,lineStart:x,lineEnd:x,polygonStart:function(){Zo=0,Wo.lineStart=Rt},polygonEnd:function(){Wo.lineStart=Wo.lineEnd=Wo.point=x,Yo+=wu(Zo/2)}},Jo={point:function(n,t){Vo>n&&(Vo=n),n>$o&&($o=n),Xo>t&&(Xo=t),t>Bo&&(Bo=t)},lineStart:x,lineEnd:x,polygonStart:x,polygonEnd:x},Go={point:Ut,lineStart:jt,lineEnd:Ft,polygonStart:function(){Go.lineStart=Ht},polygonEnd:function(){Go.point=Ut,Go.lineStart=jt,Go.lineEnd=Ft}};pu.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),pu.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Yo=0,pu.geo.stream(n,i(Wo)),Yo},n.centroid=function(n){return Lo=qo=To=Ro=Do=Po=Uo=jo=Fo=0,pu.geo.stream(n,i(Go)),Fo?[Uo/Fo,jo/Fo]:Po?[Ro/Po,Do/Po]:To?[Lo/To,qo/To]:[NaN,NaN]},n.bounds=function(n){return $o=Bo=-(Vo=Xo=1/0),pu.geo.stream(n,i(Jo)),[[Vo,Xo],[$o,Bo]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||function(n){var t=It((function(t,e){return n([t*$u,e*$u])}));return function(n){return $t(t(n))}}(n):y,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Dt:new Ot(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(pu.geo.albersUsa()).context(null)},pu.geo.transform=function(n){return{stream:function(t){var e=new Yt(t);for(var r in n)e[r]=n[r];return e}}},Yt.prototype={point:function(n,t){this.stream.point(n,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()}},pu.geo.projection=Vt,pu.geo.projectionMutator=Xt,(pu.geo.equirectangular=function(){return Vt(Bt)}).raw=Bt.invert=Bt,pu.geo.rotation=function(n){function t(t){return(t=n(t[0]*Xu,t[1]*Xu))[0]*=$u,t[1]*=$u,t}return n=Jt(n[0]%360*Xu,n[1]*Xu,n.length>2?n[2]*Xu:0),t.invert=function(t){return(t=n.invert(t[0]*Xu,t[1]*Xu))[0]*=$u,t[1]*=$u,t},t},Wt.invert=Bt,pu.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=Jt(-n[0]*Xu,-n[1]*Xu,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=$u,n[1]*=$u}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ne((t=+r)*Xu,i*Xu),n):t},n.precision=function(r){return arguments.length?(e=ne(t*Xu,(i=+r)*Xu),n):i},n.angle(90)},pu.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Xu,i=n[1]*Xu,u=t[1]*Xu,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},pu.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return pu.range(Math.ceil(u/d)*d,i,d).map(h).concat(pu.range(Math.ceil(c/y)*y,l,y).map(p)).concat(pu.range(Math.ceil(r/g)*g,e,g).filter((function(n){return wu(n%d)>Hu})).map(f)).concat(pu.range(Math.ceil(a/v)*v,o,v).filter((function(n){return wu(n%y)>Hu})).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map((function(n){return{type:"LineString",coordinates:n}}))},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ee(a,o,90),s=re(r,e,m),h=ee(c,l,90),p=re(u,i,m),n):m},n.majorExtent([[-180,-90+Hu],[180,90-Hu]]).minorExtent([[-180,-80-Hu],[180,80+Hu]])},pu.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=ie,i=ue;return n.distance=function(){return pu.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},pu.geo.interpolate=function(n,t){return function(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(tn(r-t)+i*o*tn(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*$u,Math.atan2(o,Math.sqrt(r*r+i*i))*$u]}:function(){return[n*$u,t*$u]};return g.distance=h,g}(n[0]*Xu,n[1]*Xu,t[0]*Xu,t[1]*Xu)},pu.geo.length=function(n){return Ko=0,pu.geo.stream(n,Qo),Ko};var Ko,Qo={sphere:x,point:x,lineStart:function(){function n(n,i){var u=Math.sin(i*=Xu),o=Math.cos(i),a=wu((n*=Xu)-t),l=Math.cos(a);Ko+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Qo.point=function(i,u){t=i*Xu,e=Math.sin(u*=Xu),r=Math.cos(u),Qo.point=n},Qo.lineEnd=function(){Qo.point=Qo.lineEnd=x}},lineEnd:x,polygonStart:x,polygonEnd:x},na=oe((function(n){return Math.sqrt(2/(1+n))}),(function(n){return 2*Math.asin(n/2)}));(pu.geo.azimuthalEqualArea=function(){return Vt(na)}).raw=na;var ta=oe((function(n){var t=Math.acos(n);return t&&t/Math.sin(t)}),y);(pu.geo.azimuthalEquidistant=function(){return Vt(ta)}).raw=ta,(pu.geo.conicConformal=function(){return qt(ae)}).raw=ae,(pu.geo.conicEquidistant=function(){return qt(le)}).raw=le;var ea=oe((function(n){return 1/n}),Math.atan);(pu.geo.gnomonic=function(){return Vt(ea)}).raw=ea,ce.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Vu]},(pu.geo.mercator=function(){return fe(ce)}).raw=ce;var ra=oe((function(){return 1}),Math.asin);(pu.geo.orthographic=function(){return Vt(ra)}).raw=ra;var ia=oe((function(n){return 1/(1+n)}),(function(n){return 2*Math.atan(n)}));(pu.geo.stereographic=function(){return Vt(ia)}).raw=ia,se.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Vu]},(pu.geo.transverseMercator=function(){var n=fe(se),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):[(n=t())[1],-n[0]]},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):[(n=e())[0],n[1],n[2]-90]},e([0,0,90])}).raw=se,pu.geom={},pu.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=wn(e),u=wn(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(ve),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=ge(a),f=ge(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]})),t}function e(n){return n.map((function(n,t){return{x:Math.round(u(n,t)/Hu)*Hu,y:Math.round(o(n,t)/Hu)*Hu,i:t}}))}var r=he,i=pe,u=r,o=i,a=pa;return n?t(n):(t.links=function(n){return Ie(e(n)).edges.filter((function(n){return n.l&&n.r})).map((function(t){return{source:n[t.l.i],target:n[t.r.i]}}))},t.triangles=function(n){var t=[];return Ie(e(n)).cells.forEach((function(e,r){for(var i,u=e.site,o=e.edges.sort(Ee),a=-1,l=o.length,c=o[l-1].edge,f=c.l===u?c.r:c.l;++a=c,h=r>=f,p=h<<1|s;n.leaf=!1,s?i=c:a=c,h?o=f:l=f,u(n=n.nodes[p]||(n.nodes[p]={leaf:!0,nodes:[],point:null,x:null,y:null}),t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=wn(a),x=wn(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)(f=n[p]).xy&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)}};if(k.visit=function(n){$e(n,k,v,d,y,m)},k.find=function(n){return function(n,t,e,r,i,u,o){var a,l=1/0;return function n(c,f,s,h,p){if(!(f>u||s>o||r>h||i>p)){if(g=c.point){var g,v=t-c.x,d=e-c.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=c.nodes,x=.5*(f+h),b=.5*(s+p),_=(e>=b)<<1|t>=x,w=_+4;w>_;++_)if(c=M[3&_])switch(3&_){case 0:n(c,f,s,x,b);break;case 1:n(c,x,s,h,b);break;case 2:n(c,f,b,x,p);break;case 3:n(c,x,b,h,p)}}}(n,r,i,u,o),a}(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=ya.get(e)||da,function(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}((r=ma.get(r)||y)(e.apply(null,gu.call(arguments,1))))},pu.interpolateHcl=function(n,t){n=pu.hcl(n),t=pu.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return an(e+u*n,r+o*n,i+a*n)+""}},pu.interpolateHsl=function(n,t){n=pu.hsl(n),t=pu.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return un(e+u*n,r+o*n,i+a*n)+""}},pu.interpolateLab=function(n,t){n=pu.lab(n),t=pu.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return cn(e+u*n,r+o*n,i+a*n)+""}},pu.interpolateRound=cr,pu.transform=function(n){var t=du.createElementNS(pu.ns.prefix.svg,"g");return(pu.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new fr(e?e.matrix:Ma)})(n)},fr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ma={a:1,b:0,c:0,d:1,e:0,f:0};pu.interpolateTransform=gr,pu.layout={},pu.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/m){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=pu.event.x,n.py=pu.event.y,l.resume()}var e,r,i,u,o,a,l={},c=pu.dispatch("start","tick","end"),f=[1,1],s=.9,h=xa,p=ba,g=-30,v=_a,d=.1,m=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)h=(l=x[r]).source,(v=(m=(p=l.target).x-h.x)*m+(b=p.y-h.y)*b)&&(m*=v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)(l=M[r]).x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(wr(t=pu.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)(l=M[r]).fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(m=n*n,l):Math.sqrt(m)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=Nn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++lt;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)"number"==typeof(r=x[t]).source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=pu.behavior.drag().origin(y).on("dragstart.force",Mr).on("drag.force",t).on("dragend.force",xr)),arguments.length?void this.on("mouseover.force",br).on("mouseout.force",_r).call(r):r},pu.rebind(l,c,"on")};var xa=20,ba=1,_a=1/0;pu.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return Nr(i,(function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)})),a}var t=Cr,e=Er,r=Ar;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(kr(t,(function(n){n.children&&(n.value=0)})),Nr(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},pu.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++cs?-1:1),g=pu.sum(c),v=g?(s-l*p)/g:0,d=pu.range(l),y=[];return null!=e&&d.sort(e===wa?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach((function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}})),y}var t=Number,e=wa,r=0,i=Yu,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var wa={};pu.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map((function(e,r){return t.call(n,e,r)})),f=c.map((function(t){return t.map((function(t,e){return[u.call(n,t,e),o.call(n,t,e)]}))})),s=e.call(n,f,l);c=pu.permute(c,s),f=pu.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=y,e=Rr,r=Dr,i=Tr,u=Lr,o=qr;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Sa.get(t)||Rr,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ka.get(t)||Dr,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var Sa=pu.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(Pr),u=n.map(Ur),o=pu.range(r).sort((function(n,t){return i[n]-i[t]})),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return pu.range(n.length).reverse()},default:Rr}),ka=pu.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:Dr});pu.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),h=(u=-1,c.length),p=s.length-1,g=t?1:1/h;++u0)for(u=-1;++u=f[0]&&a<=f[1]&&((o=l[pu.bisect(s,a,1,p)-1]).y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=Or,i=Fr;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=wn(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return Hr(n,t)}:wn(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},pu.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Nr(a,(function(n){n.r=+f(n.value)})),Nr(a,Xr),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;Nr(a,(function(n){n.r+=s})),Nr(a,Xr),Nr(a,(function(n){n.r-=s}))}return Wr(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=pu.layout.hierarchy().sort(Ir),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Sr(n,e)},pu.layout.tree=function(){function n(n,l){var c=i.call(this,n,l),f=c[0],s=function(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}(f);if(Nr(s,t),s.parent.m=-s.z,kr(s,e),a)kr(f,r);else{var h=f,p=f,g=f;kr(f,(function(n){n.xp.x&&(p=n),n.depth>g.depth&&(g=n)}));var v=u(h,p)/2-h.x,d=o[0]/(p.x+u(p,h)/2+v),y=o[1]/(g.depth||1);kr(f,(function(n){n.x=(n.x+v)*d,n.y=n.depth*y}))}return c}function t(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){!function(n){for(var t,e=0,r=0,i=n.children,u=i.length;--u>=0;)(t=i[u]).z+=e,t.m+=e,e+=t.s+(r+=t.c)}(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+u(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+u(n._,r._));n.parent.A=function(n,t,e){if(t){for(var r,i=n,o=n,a=t,l=i.parent.children[0],c=i.m,f=o.m,s=a.m,h=l.m;a=Qr(a),i=Kr(i),a&&i;)l=Kr(l),(o=Qr(o)).a=n,(r=a.z+s-i.z-c+u(a._,i._))>0&&(ni(ti(a,n,e),n,r),c+=r,f+=r),s+=a.m,c+=i.m,h+=l.m,f+=o.m;a&&!Qr(o)&&(o.t=a,o.m+=s-f),i&&!Kr(l)&&(l.t=i,l.m+=c-h,e=n)}return e}(n,r,n.parent.A||e[0])}function e(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function r(n){n.x*=o[0],n.y=n.depth*o[1]}var i=pu.layout.hierarchy().sort(null).value(null),u=Gr,o=[1,1],a=null;return n.separation=function(t){return arguments.length?(u=t,n):u},n.size=function(t){return arguments.length?(a=null==(o=t)?r:null,n):a?null:o},n.nodeSize=function(t){return arguments.length?(a=null==(o=t)?null:r,n):a?o:null},Sr(n,i)},pu.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;Nr(l,(function(n){var t=n.children;t&&t.length?(n.x=function(n){return n.reduce((function(n,t){return n+t.x}),0)/n.length}(t),n.y=function(n){return 1+pu.max(n,(function(n){return n.y}))}(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)}));var f=ei(l),s=ri(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return Nr(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=pu.layout.hierarchy().sort(null).value(null),e=Gr,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},Sr(n,t)},pu.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++it?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++oe&&(u=e),e>i&&(i=e));return t*=t,(r*=r)?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0;if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++ue.dx)&&(f=e.dx);++ue&&(t=1),1>e&&(n=0),function(){var e,r,i;do{i=(e=2*Math.random()-1)*e+(r=2*Math.random()-1)*r}while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=pu.random.normal.apply(pu,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=pu.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},pu.scale={};var Na={floor:y,ceil:y};pu.scale.linear=function(){return hi([0,1],[0,1],Ke,!1)};var Ea={s:1,g:1,p:1,r:1,e:1};pu.scale.log=function(){return Mi(pu.scale.linear().domain([0,1]),10,!0,[1,10])};var Aa=pu.format(".0e"),Ca={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};pu.scale.pow=function(){return xi(pu.scale.linear(),1,[0,1])},pu.scale.sqrt=function(){return pu.scale.pow().exponent(.5)},pu.scale.ordinal=function(){return _i([],{t:"range",a:[[]]})},pu.scale.category10=function(){return pu.scale.ordinal().range(za)},pu.scale.category20=function(){return pu.scale.ordinal().range(La)},pu.scale.category20b=function(){return pu.scale.ordinal().range(qa)},pu.scale.category20c=function(){return pu.scale.ordinal().range(Ta)};var za=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(dn),La=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(dn),qa=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(dn),Ta=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(dn);pu.scale.quantile=function(){return wi([],[])},pu.scale.quantize=function(){return Si(0,1,[0,1])},pu.scale.threshold=function(){return ki([.5],[0,1])},pu.scale.identity=function(){return Ni([0,1])},pu.svg={},pu.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Vu,s=a.apply(this,arguments)-Vu,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Zu)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===Ra?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=Q(d/c*Math.sin(y))),n&&(N=Q(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Iu?0:1;if(E&&Ti(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Iu?0:1;if(N&&Ti(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Hu&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Iu>h){var D=null==S?[_,w]:null==x?[m,M]:ye([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=Ri(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=Ri([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^Ti(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=Ri([m,M],[S,k],n,-R,p),V=Ri([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^Ti(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=Ai,r=Ci,i=Ei,u=Ra,o=zi,a=Li,l=qi;return n.innerRadius=function(t){return arguments.length?(e=wn(t),n):e},n.outerRadius=function(t){return arguments.length?(r=wn(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=wn(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==Ra?Ra:wn(t),n):u},n.startAngle=function(t){return arguments.length?(o=wn(t),n):o},n.endAngle=function(t){return arguments.length?(a=wn(t),n):a},n.padAngle=function(t){return arguments.length?(l=wn(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Vu;return[Math.cos(t)*n,Math.sin(t)*n]},n};var Ra="auto";pu.svg.line=function(){return Di(y)};var Da=pu.map({linear:Pi,"linear-closed":Ui,step:function(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t1&&i.push("H",r[0]),i.join("")},"step-before":ji,"step-after":Fi,basis:Ii,"basis-open":function(n){if(n.length<4)return Pi(n);for(var t,e=[],r=-1,i=n.length,u=[0],o=[0];++r<3;)t=n[r],u.push(t[0]),o.push(t[1]);for(e.push(Yi(ja,u)+","+Yi(ja,o)),--r;++rIu)+",1 "+t}function r(n,t,e,r){return"Q 0,0 "+r}var i=ie,u=ue,o=Wi,a=zi,l=Li;return n.radius=function(t){return arguments.length?(o=wn(t),n):o},n.source=function(t){return arguments.length?(i=wn(t),n):i},n.target=function(t){return arguments.length?(u=wn(t),n):u},n.startAngle=function(t){return arguments.length?(a=wn(t),n):a},n.endAngle=function(t){return arguments.length?(l=wn(t),n):l},n},pu.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=ie,e=ue,r=Ji;return n.source=function(e){return arguments.length?(t=wn(e),n):t},n.target=function(t){return arguments.length?(e=wn(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},pu.svg.diagonal.radial=function(){var n=pu.svg.diagonal(),t=Ji,e=n.projection;return n.projection=function(n){return arguments.length?e(function(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Vu;return[e*Math.cos(r),e*Math.sin(r)]}}(t=n)):t},n},pu.svg.symbol=function(){function n(n,r){return(Fa.get(t.call(this,n,r))||Qi)(e.call(this,n,r))}var t=Ki,e=Gi;return n.type=function(e){return arguments.length?(t=wn(e),n):t},n.size=function(t){return arguments.length?(e=wn(t),n):e},n};var Fa=pu.map({circle:Qi,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Oa)),e=t*Oa;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Ha),e=t*Ha/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Ha),e=t*Ha/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});pu.svg.symbolTypes=Fa.keys();var Ha=Math.sqrt(3),Oa=Math.tan(30*Xu);qu.transition=function(n){for(var t,e,r=Ia||++Xa,i=iu(n),u=[],o=Ya||{time:Date.now(),ease:ir,delay:0,duration:250},a=-1,l=this.length;++ai;i++){r.push(t=[]);for(var o,a=0,l=(o=this[i]).length;l>a;a++)(e=o[a])&&n.call(e,e.__data__,a,i)&&t.push(e)}return tu(r,this.namespace,this.id)},Va.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):I(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Va.attr=function(n,t){function e(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var i="transform"==n?gr:Ke,u=pu.ns.qualify(n);return eu(this,"attr."+n,t,u.local?function(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(u.space,u.local);return e!==n&&(t=i(e,n),function(n){this.setAttributeNS(u.space,u.local,t(n))})})}:function(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(u);return e!==n&&(t=i(e,n),function(n){this.setAttribute(u,t(n))})})})},Va.attrTween=function(n,t){var e=pu.ns.qualify(n);return this.tween("attr."+n,e.local?function(n,r){var i=t.call(this,n,r,this.getAttributeNS(e.space,e.local));return i&&function(n){this.setAttributeNS(e.space,e.local,i(n))}}:function(n,r){var i=t.call(this,n,r,this.getAttribute(e));return i&&function(n){this.setAttribute(e,i(n))}})},Va.style=function(n,e,r){function i(){this.style.removeProperty(n)}var u=arguments.length;if(3>u){if("string"!=typeof n){for(r in 2>u&&(e=""),n)this.style(r,n[r],e);return this}r=""}return eu(this,"style."+n,e,(function(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Ke(u,e),function(t){this.style.setProperty(n,i(t),r)})})}))},Va.styleTween=function(n,e,r){return arguments.length<3&&(r=""),this.tween("style."+n,(function(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}))},Va.text=function(n){return eu(this,"text",n,ru)},Va.remove=function(){var n=this.namespace;return this.each("end.transition",(function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)}))},Va.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=pu.ease.apply(pu,arguments)),I(this,(function(r){r[e][t].ease=n})))},Va.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:I(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Va.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:I(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Va.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ya,u=Ia;try{Ia=e,I(this,(function(t,i,u){Ya=t[r][e],n.call(t,t.__data__,i,u)}))}finally{Ya=i,Ia=u}}else I(this,(function(i){var u=i[r][e];(u.event||(u.event=pu.dispatch("start","end","interrupt"))).on(n,t)}));return this},Va.transition=function(){for(var n,t,e,r=this.id,i=++Xa,u=this.namespace,o=[],a=0,l=this.length;l>a;a++){o.push(n=[]);for(var c,f=0,s=(c=this[a]).length;s>f;f++)(t=c[f])&&uu(t,f,u,i,{time:(e=t[u][r]).time,ease:e.ease,delay:e.delay+e.duration,duration:e.duration}),n.push(t)}return tu(o,u,i)},pu.svg.axis=function(){function n(n){n.each((function(){var n,c=pu.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):y:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Hu),d=pu.transition(g.exit()).style("opacity",Hu).remove(),m=pu.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=ai(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),pu.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=m.select("line"),C=g.select("text").text(p),z=v.select("text"),L=m.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=ou,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=au,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),m.call(n,s,s)}))}var t,e=pu.scale.linear(),r=$a,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Ba?t+"":$a,n):r},n.ticks=function(){return arguments.length?(a=vu(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var $a="bottom",Ba={top:1,right:1,bottom:1,left:1};pu.svg.brush=function(){function n(t){t.each((function(){var t=pu.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,y);a.exit().remove(),a.enter().append("g").attr("class",(function(n){return"resize "+n})).style("cursor",(function(n){return Wa[n]})).append("rect").attr("x",(function(n){return/[ew]$/.test(n)?-3:null})).attr("y",(function(n){return/^[ns]/.test(n)?-3:null})).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=pu.transition(t),h=pu.transition(o);c&&(l=ai(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=ai(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)}))}function e(n){n.selectAll(".resize").attr("transform",(function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"}))}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){var n=pu.mouse(M),t=!1;m&&(n[0]+=m[0],n[1]+=m[1]),E||(pu.event.altKey?(y||(y=[(s[0]+s[1])/2,(h[0]+h[1])/2]),C[0]=s[+(n[0]f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function d(){u(),_.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),pu.select("body").style("cursor",null),z.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),b({type:"brushend"})}var y,m,M=this,x=pu.select(pu.event.target),b=l.of(M,arguments),_=pu.select(M),S=x.datum(),k=!/^(n|s)$/.test(S)&&c,N=!/^(e|w)$/.test(S)&&f,E=x.classed("extent"),A=$(M),C=pu.mouse(M),z=pu.select(t(M)).on("keydown.brush",(function(){32==pu.event.keyCode&&(E||(y=null,C[0]-=s[1],C[1]-=h[1],E=2),w())})).on("keyup.brush",(function(){32==pu.event.keyCode&&2==E&&(C[0]+=s[1],C[1]+=h[1],E=0,w())}));if(pu.event.changedTouches?z.on("touchmove.brush",u).on("touchend.brush",d):z.on("mousemove.brush",u).on("mouseup.brush",d),_.interrupt().selectAll("*").interrupt(),E)C[0]=s[0]-C[0],C[1]=h[0]-C[1];else if(S){var L=+/w$/.test(S),q=+/^n/.test(S);m=[s[1-L]-C[0],h[1-q]-C[1]],C[0]=s[L],C[1]=h[q]}else pu.event.altKey&&(y=C.slice());_.style("pointer-events","none").selectAll(".resize").style("display",null),pu.select("body").style("cursor",x.style("cursor")),b({type:"brushstart"}),u()}var o,a,l=k(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Ja[0];return n.event=function(n){n.each((function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Ia?pu.select(this).transition().each("start.brush",(function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})})).tween("brush:brush",(function(){var e=Qe(s,t.x),r=Qe(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}})).each("end.brush",(function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})})):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))}))},n.x=function(t){return arguments.length?(v=Ja[!(c=t)<<1|!f],n):c},n.y=function(t){return arguments.length?(v=Ja[!c<<1|!(f=t)],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},pu.rebind(n,l,"on")};var Wa={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ja=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ga=vo.format=_o.timeFormat,Ka=Ga.utc,Qa=Ka("%Y-%m-%dT%H:%M:%S.%LZ");Ga.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?lu:Qa,lu.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},lu.toString=Qa.toString,vo.second=Rn((function(n){return new yo(1e3*Math.floor(n/1e3))}),(function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))}),(function(n){return n.getSeconds()})),vo.seconds=vo.second.range,vo.seconds.utc=vo.second.utc.range,vo.minute=Rn((function(n){return new yo(6e4*Math.floor(n/6e4))}),(function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))}),(function(n){return n.getMinutes()})),vo.minutes=vo.minute.range,vo.minutes.utc=vo.minute.utc.range,vo.hour=Rn((function(n){var t=n.getTimezoneOffset()/60;return new yo(36e5*(Math.floor(n/36e5-t)+t))}),(function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))}),(function(n){return n.getHours()})),vo.hours=vo.hour.range,vo.hours.utc=vo.hour.utc.range,vo.month=Rn((function(n){return(n=vo.day(n)).setDate(1),n}),(function(n,t){n.setMonth(n.getMonth()+t)}),(function(n){return n.getMonth()})),vo.months=vo.month.range,vo.months.utc=vo.month.utc.range;var nl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],tl=[[vo.second,1],[vo.second,5],[vo.second,15],[vo.second,30],[vo.minute,1],[vo.minute,5],[vo.minute,15],[vo.minute,30],[vo.hour,1],[vo.hour,3],[vo.hour,6],[vo.hour,12],[vo.day,1],[vo.day,2],[vo.week,1],[vo.month,1],[vo.month,3],[vo.year,1]],el=Ga.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",_t]]),rl={range:function(n,t,e){return pu.range(Math.ceil(n/e)*e,+t,e).map(fu)},floor:y,ceil:y};tl.year=vo.year,vo.scale=function(){return cu(pu.scale.linear(),tl,el)};var il=tl.map((function(n){return[n[0].utc,n[1]]})),ul=Ka.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",_t]]);il.year=vo.year.utc,vo.scale.utc=function(){return cu(pu.scale.linear(),il,ul)},pu.text=Sn((function(n){return n.responseText})),pu.json=function(n,t){return kn(n,"application/json",su,t)},pu.html=function(n,t){return kn(n,"text/html",hu,t)},pu.xml=Sn((function(n){return n.responseXML})),"function"==typeof define&&define.amd?(this.d3=pu,define(pu)):"object"==typeof module&&module.exports?module.exports=pu:this.d3=pu}(); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js new file mode 100644 index 0000000000000..089557fa902b2 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.core.min.js @@ -0,0 +1,21 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*! For license information please see dagre-d3.core.min.js.LICENSE.txt */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).dagreD3=t()}}((function(){return function t(e,r,n){function a(l,s){if(!r[l]){if(!e[l]){var o="function"==typeof require&&require;if(!s&&o)return o(l,!0);if(i)return i(l,!0);var d=new Error("Cannot find module '"+l+"'");throw d.code="MODULE_NOT_FOUND",d}var c=r[l]={exports:{}};e[l][0].call(c.exports,(function(t){return a(e[l][1][t]||t)}),c,c.exports,t,e,r,n)}return r[l].exports}for(var i="function"==typeof require&&require,l=0;l0}e.exports=function(t,e,r,a){var i,l,s,o,d,c,u,h,p,f,g,y,v;if(i=e.y-t.y,s=t.x-e.x,d=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+d,f=i*a.x+s*a.y+d,0!==p&&0!==f&&n(p,f))return;if(l=a.y-r.y,o=r.x-a.x,c=a.x*r.y-r.x*a.y,u=l*t.x+o*t.y+c,h=l*e.x+o*e.y+c,0!==u&&0!==h&&n(u,h))return;if(0===(g=i*o-l*s))return;return y=Math.abs(g/2),{x:(v=s*c-o*d)<0?(v-y)/g:(v+y)/g,y:(v=l*d-i*c)<0?(v-y)/g:(v+y)/g}}},{}],14:[function(t,e,r){e.exports=function(t,e){return t.intersect(e)}},{}],15:[function(t,e,r){var n=t("./intersect-line");e.exports=function(t,e,r){var a=t.x,i=t.y,l=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;e.forEach((function(t){s=Math.min(s,t.x),o=Math.min(o,t.y)}));for(var d=a-t.width/2-s,c=i-t.height/2-o,u=0;u1&&l.sort((function(t,e){var n=t.x-r.x,a=t.y-r.y,i=Math.sqrt(n*n+a*a),l=e.x-r.x,s=e.y-r.y,o=Math.sqrt(l*l+s*s);return iMath.abs(l)*d?(s<0&&(d=-d),r=0===s?0:d*l/s,n=d):(l<0&&(o=-o),r=o,n=0===l?0:o*s/l);return{x:a+r,y:i+n}}},{}],17:[function(t,e,r){var n=t("../util");e.exports=function(t,e){var r=t.append("foreignObject").attr("width","100000"),a=r.append("xhtml:div");a.attr("xmlns","http://www.w3.org/1999/xhtml");var i=e.label;switch(typeof i){case"function":a.insert(i);break;case"object":a.insert((function(){return i}));break;default:a.html(i)}n.applyStyle(a,e.labelStyle),a.style("display","inline-block"),a.style("white-space","nowrap");var l=a.node().getBoundingClientRect();return r.attr("width",l.width).attr("height",l.height),r}},{"../util":27}],18:[function(t,e,r){var n=t("./add-text-label"),a=t("./add-html-label"),i=t("./add-svg-label");e.exports=function(t,e,r){var l=e.label,s=t.append("g");"svg"===e.labelType?i(s,e):"string"!=typeof l||"html"===e.labelType?a(s,e):n(s,e);var o,d=s.node().getBBox();switch(r){case"top":o=-e.height/2;break;case"bottom":o=e.height/2-d.height;break;default:o=-d.height/2}return s.attr("transform","translate("+-d.width/2+","+o+")"),s}},{"./add-html-label":17,"./add-svg-label":19,"./add-text-label":20}],19:[function(t,e,r){var n=t("../util");e.exports=function(t,e){var r=t;return r.node().appendChild(e.label),n.applyStyle(r,e.labelStyle),r}},{"../util":27}],20:[function(t,e,r){var n=t("../util");e.exports=function(t,e){for(var r=t.append("text"),a=function(t){for(var e,r="",n=!1,a=0;a0}e.exports=function(t,e,n,i){var o,a,u,c,s,f,l,h,d,p,v,y,g;if(o=e.y-t.y,u=t.x-e.x,s=e.x*t.y-t.x*e.y,d=o*n.x+u*n.y+s,p=o*i.x+u*i.y+s,0!==d&&0!==p&&r(d,p))return;if(a=i.y-n.y,c=n.x-i.x,f=i.x*n.y-n.x*i.y,l=a*t.x+c*t.y+f,h=a*e.x+c*e.y+f,0!==l&&0!==h&&r(l,h))return;if(0===(v=o*c-a*u))return;return y=Math.abs(v/2),{x:(g=u*f-c*s)<0?(g-y)/v:(g+y)/v,y:(g=a*s-o*f)<0?(g-y)/v:(g+y)/v}}},{}],14:[function(t,e,n){e.exports=function(t,e){return t.intersect(e)}},{}],15:[function(t,e,n){var r=t("./intersect-line");e.exports=function(t,e,n){var i=t.x,o=t.y,a=[],u=Number.POSITIVE_INFINITY,c=Number.POSITIVE_INFINITY;e.forEach((function(t){u=Math.min(u,t.x),c=Math.min(c,t.y)}));for(var s=i-t.width/2-u,f=o-t.height/2-c,l=0;l1&&a.sort((function(t,e){var r=t.x-n.x,i=t.y-n.y,o=Math.sqrt(r*r+i*i),a=e.x-n.x,u=e.y-n.y,c=Math.sqrt(a*a+u*u);return oMath.abs(a)*s?(u<0&&(s=-s),n=0===u?0:s*a/u,r=s):(a<0&&(c=-c),n=c,r=0===a?0:c*u/a);return{x:i+n,y:o+r}}},{}],17:[function(t,e,n){var r=t("../util");e.exports=function(t,e){var n=t.append("foreignObject").attr("width","100000"),i=n.append("xhtml:div");i.attr("xmlns","http://www.w3.org/1999/xhtml");var o=e.label;switch(typeof o){case"function":i.insert(o);break;case"object":i.insert((function(){return o}));break;default:i.html(o)}r.applyStyle(i,e.labelStyle),i.style("display","inline-block"),i.style("white-space","nowrap");var a=i.node().getBoundingClientRect();return n.attr("width",a.width).attr("height",a.height),n}},{"../util":27}],18:[function(t,e,n){var r=t("./add-text-label"),i=t("./add-html-label"),o=t("./add-svg-label");e.exports=function(t,e,n){var a=e.label,u=t.append("g");"svg"===e.labelType?o(u,e):"string"!=typeof a||"html"===e.labelType?i(u,e):r(u,e);var c,s=u.node().getBBox();switch(n){case"top":c=-e.height/2;break;case"bottom":c=e.height/2-s.height;break;default:c=-s.height/2}return u.attr("transform","translate("+-s.width/2+","+c+")"),u}},{"./add-html-label":17,"./add-svg-label":19,"./add-text-label":20}],19:[function(t,e,n){var r=t("../util");e.exports=function(t,e){var n=t;return n.node().appendChild(e.label),r.applyStyle(n,e.labelStyle),n}},{"../util":27}],20:[function(t,e,n){var r=t("../util");e.exports=function(t,e){for(var n=t.append("text"),i=function(t){for(var e,n="",r=!1,i=0;ie?1:t>=e?0:NaN}function n(t){var n;return 1===t.length&&(n=t,t=function(t,r){return e(n(t),r)}),{left:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)<0?r=o+1:i=o}return r},right:function(e,n,r,i){for(null==r&&(r=0),null==i&&(i=e.length);r>>1;t(e[o],n)>0?i=o:r=o+1}return r}}}var r=n(e),i=r.right,o=r.left;function a(t,e){return[t,e]}function u(t){return null===t?NaN:+t}function c(t,e){var n,r,i=t.length,o=0,a=-1,c=0,s=0;if(null==e)for(;++a1)return s/(o-1)}function s(t,e){var n=c(t,e);return n?Math.sqrt(n):n}function f(t,e){var n,r,i,o=t.length,a=-1;if(null==e){for(;++a=n)for(r=i=n;++an&&(r=n),i=n)for(r=i=n;++an&&(r=n),i=0?(o>=g?10:o>=b?5:o>=_?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=g?10:o>=b?5:o>=_?2:1)}function x(t,e,n){var r=Math.abs(e-t)/Math.max(0,n),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=g?i*=10:o>=b?i*=5:o>=_&&(i*=2),e=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,o=Math.floor(i),a=+n(t[o],o,t);return a+(+n(t[o+1],o+1,t)-a)*(i-o)}}function E(t,e){var n,r,i=t.length,o=-1;if(null==e){for(;++o=n)for(r=n;++on&&(r=n)}else for(;++o=n)for(r=n;++on&&(r=n);return r}function k(t){if(!(i=t.length))return[];for(var e=-1,n=E(t,A),r=new Array(n);++et?1:e>=t?0:NaN},t.deviation=s,t.extent=f,t.histogram=function(){var t=v,e=f,n=w;function r(r){var o,a,u=r.length,c=new Array(u);for(o=0;ol;)h.pop(),--d;var p,v=new Array(d+1);for(o=0;o<=d;++o)(p=v[o]=[]).x0=o>0?h[o-1]:f,p.x1=o=n)for(r=n;++or&&(r=n)}else for(;++o=n)for(r=n;++or&&(r=n);return r},t.mean=function(t,e){var n,r=t.length,i=r,o=-1,a=0;if(null==e)for(;++o=0;)for(e=(r=t[i]).length;--e>=0;)n[--a]=r[e];return n},t.min=E,t.pairs=function(t,e){null==e&&(e=a);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n0)return[t];if((r=e0)for(t=Math.ceil(t/a),e=Math.floor(e/a),o=new Array(i=Math.ceil(e-t+1));++u0&&(e=r-K),F<0?E=k-X:F>0&&(a=u-X),z=l,et.attr("cursor",_.selection),it());break;default:return}s()}),!0).on("keyup.brush",(function(){switch(i.event.keyCode){case 16:W&&(S=T=W=!1,it());break;case 18:z===d&&(D<0?v=b:D>0&&(e=r),F<0?E=k:F>0&&(a=u),z=h,it());break;case 32:z===l&&(i.event.altKey?(D&&(v=b-K*D,e=r+K*D),F&&(E=k-X*F,a=u+X*F),z=d):(D<0?v=b:D>0&&(e=r),F<0?E=k:F>0&&(a=u),z=h),et.attr("cursor",_[I]),it());break;default:return}s()}),!0),n.dragDisable(i.event.view)}c(),o.interrupt(P),L.call(P),J.start()}function rt(){var t=$(P);!W||S||T||(Math.abs(t[0]-Q[0])>Math.abs(t[1]-Q[1])?T=!0:S=!0),Q=t,A=!0,s(),it()}function it(){var t;switch(K=Q[0]-Z[0],X=Q[1]-Z[1],z){case l:case f:D&&(K=Math.max(Y-e,Math.min(V-v,K)),r=e+K,b=v+K),F&&(X=Math.max(G-a,Math.min(H-E,X)),u=a+X,k=E+X);break;case h:D<0?(K=Math.max(Y-e,Math.min(V-e,K)),r=e+K,b=v):D>0&&(K=Math.max(Y-v,Math.min(V-v,K)),r=e,b=v+K),F<0?(X=Math.max(G-a,Math.min(H-a,X)),u=a+X,k=E):F>0&&(X=Math.max(G-E,Math.min(H-E,X)),u=a,k=E+X);break;case d:D&&(r=Math.max(Y,Math.min(V,e-K*D)),b=Math.max(Y,Math.min(V,v+K*D))),F&&(u=Math.max(G,Math.min(H,a-X*F)),k=Math.max(G,Math.min(H,E+X*F)))}b=c.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var u,s,l,h=-1,d=n.length,p=c[i++],v=r(),y=o();++hc.length)return t;var r,i=s[n-1];return null!=e&&n>=c.length?r=t.entries():(r=[],t.each((function(t,e){r.push({key:e,values:l(t,n)})}))),null!=i?r.sort((function(t,e){return i(t.key,e.key)})):r}return n={object:function(t){return f(t,0,i,o)},map:function(t){return f(t,0,a,u)},entries:function(t){return l(f(t,0,a,u),0)},key:function(t){return c.push(t),n},sortKeys:function(t){return s[c.length-1]=t,n},sortValues:function(e){return t=e,n},rollup:function(t){return e=t,n}}},t.set=f,t.map=r,t.keys=function(t){var e=[];for(var n in t)e.push(n);return e},t.values=function(t){var e=[];for(var n in t)e.push(t[n]);return e},t.entries=function(t){var e=[];for(var n in t)e.push({key:n,value:t[n]});return e},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],34:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function n(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function r(){}var i=.7,o=1/i,a="\\s*([+-]?\\d+)\\s*",u="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",c="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3,8})$/,f=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),l=new RegExp("^rgb\\("+[c,c,c]+"\\)$"),h=new RegExp("^rgba\\("+[a,a,a,u]+"\\)$"),d=new RegExp("^rgba\\("+[c,c,c,u]+"\\)$"),p=new RegExp("^hsl\\("+[u,c,c]+"\\)$"),v=new RegExp("^hsla\\("+[u,c,c,u]+"\\)$"),y={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 g(){return this.rgb().formatHex()}function b(){return this.rgb().formatRgb()}function _(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?m(e):3===n?new E(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?new E(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?new E(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=f.exec(t))?new E(e[1],e[2],e[3],1):(e=l.exec(t))?new E(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?x(e[1],e[2],e[3],e[4]):(e=d.exec(t))?x(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?j(e[1],e[2]/100,e[3]/100,1):(e=v.exec(t))?j(e[1],e[2]/100,e[3]/100,e[4]):y.hasOwnProperty(t)?m(y[t]):"transparent"===t?new E(NaN,NaN,NaN,0):null}function m(t){return new E(t>>16&255,t>>8&255,255&t,1)}function x(t,e,n,r){return r<=0&&(t=e=n=NaN),new E(t,e,n,r)}function w(t){return t instanceof r||(t=_(t)),t?new E((t=t.rgb()).r,t.g,t.b,t.opacity):new E}function M(t,e,n,r){return 1===arguments.length?w(t):new E(t,e,n,null==r?1:r)}function E(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function k(){return"#"+S(this.r)+S(this.g)+S(this.b)}function A(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function S(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function j(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new C(t,e,n,r)}function N(t){if(t instanceof C)return new C(t.h,t.s,t.l,t.opacity);if(t instanceof r||(t=_(t)),!t)return new C;if(t instanceof C)return t;var e=(t=t.rgb()).r/255,n=t.g/255,i=t.b/255,o=Math.min(e,n,i),a=Math.max(e,n,i),u=NaN,c=a-o,s=(a+o)/2;return c?(u=e===a?(n-i)/c+6*(n0&&s<1?0:u,new C(u,c,s,t.opacity)}function T(t,e,n,r){return 1===arguments.length?N(t):new C(t,e,n,null==r?1:r)}function C(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function O(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}e(r,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:g,formatHex:g,formatHsl:function(){return N(this).formatHsl()},formatRgb:b,toString:b}),e(E,M,n(r,{brighter:function(t){return t=null==t?o:Math.pow(o,t),new E(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?i:Math.pow(i,t),new E(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){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:k,formatHex:k,formatRgb:A,toString:A})),e(C,T,n(r,{brighter:function(t){return t=null==t?o:Math.pow(o,t),new C(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?i:Math.pow(i,t),new C(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new E(O(t>=240?t-240:t+120,i,r),O(t,i,r),O(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var P=Math.PI/180,I=180/Math.PI,L=.96422,R=.82521,z=4/29,D=6/29,F=3*D*D,B=D*D*D;function q(t){if(t instanceof Y)return new Y(t.l,t.a,t.b,t.opacity);if(t instanceof $)return Z(t);t instanceof E||(t=w(t));var e,n,r=K(t.r),i=K(t.g),o=K(t.b),a=G((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?e=n=a:(e=G((.4360747*r+.3850649*i+.1430804*o)/L),n=G((.0139322*r+.0971045*i+.7141733*o)/R)),new Y(116*a-16,500*(e-a),200*(a-n),t.opacity)}function U(t,e,n,r){return 1===arguments.length?q(t):new Y(t,e,n,null==r?1:r)}function Y(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function G(t){return t>B?Math.pow(t,1/3):t/F+z}function V(t){return t>D?t*t*t:F*(t-z)}function H(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function K(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function X(t){if(t instanceof $)return new $(t.h,t.c,t.l,t.opacity);if(t instanceof Y||(t=q(t)),0===t.a&&0===t.b)return new $(NaN,0r!=p>r&&n<(d-f)*(r-l)/(p-l)+f&&(i=-i)}return i}function u(t,e,n){var r,i,o,a;return function(t,e,n){return(e[0]-t[0])*(n[1]-t[1])==(n[0]-t[0])*(e[1]-t[1])}(t,e,n)&&(i=t[r=+(t[0]===e[0])],o=n[r],a=e[r],i<=o&&o<=a||a<=o&&o<=i)}function c(){}var s=[[],[[[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 f(){var t=1,a=1,u=e.thresholdSturges,f=p;function l(t){var n=u(t);if(Array.isArray(n))n=n.slice().sort(r);else{var i=e.extent(t),o=i[0],a=i[1];n=e.tickStep(o,a,n),n=e.range(Math.floor(o/n)*n,Math.floor(a/n)*n,n)}return n.map((function(e){return h(t,e)}))}function h(e,n){var r=[],i=[];return function(e,n,r){var i,o,u,c,f,l,h=new Array,p=new Array;i=o=-1,c=e[0]>=n,s[c<<1].forEach(v);for(;++i=n,s[u|c<<1].forEach(v);s[c|0].forEach(v);for(;++o=n,f=e[o*t]>=n,s[c<<1|f<<2].forEach(v);++i=n,l=f,f=e[o*t+i+1]>=n,s[u|c<<1|f<<2|l<<3].forEach(v);s[c|f<<3].forEach(v)}i=-1,f=e[o*t]>=n,s[f<<2].forEach(v);for(;++i=n,s[f<<2|l<<3].forEach(v);function v(t){var e,n,a=[t[0][0]+i,t[0][1]+o],u=[t[1][0]+i,t[1][1]+o],c=d(a),s=d(u);(e=p[c])?(n=h[s])?(delete p[e.end],delete h[n.start],e===n?(e.ring.push(u),r(e.ring)):h[e.start]=p[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete p[e.end],e.ring.push(u),p[e.end=s]=e):(e=h[s])?(n=p[c])?(delete h[e.start],delete p[n.end],e===n?(e.ring.push(u),r(e.ring)):h[n.start]=p[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete h[e.start],e.ring.unshift(a),h[e.start=c]=e):h[c]=p[s]={start:c,end:s,ring:[a,u]}}s[f<<3].forEach(v)}(e,n,(function(t){f(t,e,n),function(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e0?r.push([t]):i.push(t)})),i.forEach((function(t){for(var e,n=0,i=r.length;n0&&o0&&u0&&r>0))throw new Error("invalid size");return t=n,a=r,l},l.thresholds=function(t){return arguments.length?(u="function"==typeof t?t:Array.isArray(t)?i(n.call(t)):i(t),l):u},l.smooth=function(t){return arguments.length?(f=t?p:c,l):f===p},l}function l(t,e,n){for(var r=t.width,i=t.height,o=1+(n<<1),a=0;a=n&&(u>=o&&(c-=t.data[u-o+a*r]),e.data[u-n+a*r]=c/Math.min(u+1,r-1+o-u,o))}function h(t,e,n){for(var r=t.width,i=t.height,o=1+(n<<1),a=0;a=n&&(u>=o&&(c-=t.data[a+(u-o)*r]),e.data[a+(u-n)*r]=c/Math.min(u+1,i-1+o-u,o))}function d(t){return t[0]}function p(t){return t[1]}function v(){return 1}t.contours=f,t.contourDensity=function(){var t=d,r=p,o=v,a=960,u=500,c=20,s=2,y=3*c,g=a+2*y>>s,b=u+2*y>>s,_=i(20);function m(n){var i=new Float32Array(g*b),a=new Float32Array(g*b);n.forEach((function(e,n,a){var u=+t(e,n,a)+y>>s,c=+r(e,n,a)+y>>s,f=+o(e,n,a);u>=0&&u=0&&c>s),h({width:g,height:b,data:a},{width:g,height:b,data:i},c>>s),l({width:g,height:b,data:i},{width:g,height:b,data:a},c>>s),h({width:g,height:b,data:a},{width:g,height:b,data:i},c>>s),l({width:g,height:b,data:i},{width:g,height:b,data:a},c>>s),h({width:g,height:b,data:a},{width:g,height:b,data:i},c>>s);var u=_(i);if(!Array.isArray(u)){var d=e.max(i);u=e.tickStep(0,d,u),(u=e.range(0,Math.floor(d/u)*u,u)).shift()}return f().thresholds(u).size([g,b])(i).map(x)}function x(t){return t.value*=Math.pow(2,-2*s),t.coordinates.forEach(w),t}function w(t){t.forEach(M)}function M(t){t.forEach(E)}function E(t){t[0]=t[0]*Math.pow(2,s)-y,t[1]=t[1]*Math.pow(2,s)-y}function k(){return g=a+2*(y=3*c)>>s,b=u+2*y>>s,m}return m.x=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),m):t},m.y=function(t){return arguments.length?(r="function"==typeof t?t:i(+t),m):r},m.weight=function(t){return arguments.length?(o="function"==typeof t?t:i(+t),m):o},m.size=function(t){if(!arguments.length)return[a,u];var e=Math.ceil(t[0]),n=Math.ceil(t[1]);if(!(e>=0||e>=0))throw new Error("invalid size");return a=e,u=n,k()},m.cellSize=function(t){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(t)/Math.LN2),k()},m.thresholds=function(t){return arguments.length?(_="function"==typeof t?t:Array.isArray(t)?i(n.call(t)):i(t),m):_},m.bandwidth=function(t){if(!arguments.length)return Math.sqrt(c*(c+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return c=Math.round((Math.sqrt(4*t*t+1)-1)/2),k()},m},Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":29}],36:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e={value:function(){}};function n(){for(var t,e=0,n=arguments.length,i={};e=0&&(e=t.slice(n+1),t=t.slice(0,n)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),c=-1,s=u.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++c0)for(var n,r,i=new Array(n),o=0;oM}m.mouse("drag")}function S(){n.select(n.event.view).on("mousemove.drag mouseup.drag",null),a(n.event.view,p),i(),m.mouse("end")}function j(){if(y.apply(this,arguments)){var t,e,i=n.event.changedTouches,o=g.apply(this,arguments),a=i.length;for(t=0;t9999?"+"+o(e,6):o(e,4))+"-"+o(t.getUTCMonth()+1,2)+"-"+o(t.getUTCDate(),2)+(a?"T"+o(n,2)+":"+o(r,2)+":"+o(i,2)+"."+o(a,3)+"Z":i?"T"+o(n,2)+":"+o(r,2)+":"+o(i,2)+"Z":r||n?"T"+o(n,2)+":"+o(r,2)+"Z":"")}function u(t){var o=new RegExp('["'+t+"\n\r]"),u=t.charCodeAt(0);function c(t,r){var i,o=[],a=t.length,c=0,s=0,f=a<=0,l=!1;function h(){if(f)return n;if(l)return l=!1,e;var r,i,o=c;if(34===t.charCodeAt(o)){for(;c++=a?f=!0:10===(i=t.charCodeAt(c++))?l=!0:13===i&&(l=!0,10===t.charCodeAt(c)&&++c),t.slice(o+1,r-1).replace(/""/g,'"')}for(;ch+s||rd+s||of.index){var l=h-u.x-u.vx,y=d-u.y-u.vy,g=l*l+y*y;gt.r&&(t.r=t[e].r)}function h(){if(n){var e,i,o=n.length;for(r=new Array(o),e=0;e=s)){(t.data!==n||t.next)&&(0===l&&(p+=(l=a())*l),0===h&&(p+=(h=a())*h),p1?(null==n?f.remove(t):f.set(t,g(n)),e):f.get(t)},find:function(e,n,r){var i,o,a,u,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s1?(h.on(t,n),e):h.on(t)}}},t.forceX=function(t){var e,n,r,i=o(.1);function a(t){for(var i,o=0,a=e.length;o1?r[0]+r.slice(2):r,+t.slice(n+1)]}function n(t){return(t=e(Math.abs(t)))?t[1]:NaN}var r,i=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=i.exec(t)))throw new Error("invalid format: "+t);var e;return new a({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function a(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function u(t,n){var r=e(t,n);if(!r)return t+"";var i=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+i:i.length>o+1?i.slice(0,o+1)+"."+i.slice(o+1):i+new Array(o-i.length+2).join("0")}o.prototype=a.prototype,a.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};var c={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return u(100*t,e)},r:u,s:function(t,n){var i=e(t,n);if(!i)return t+"";var o=i[0],a=i[1],u=a-(r=3*Math.max(-8,Math.min(8,Math.floor(a/3))))+1,c=o.length;return u===c?o:u>c?o+new Array(u-c+1).join("0"):u>0?o.slice(0,u)+"."+o.slice(u):"0."+new Array(1-u).join("0")+e(t,Math.max(0,n+u-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function s(t){return t}var f,l=Array.prototype.map,h=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function d(t){var e,i,a=void 0===t.grouping||void 0===t.thousands?s:(e=l.call(t.grouping,Number),i=t.thousands+"",function(t,n){for(var r=t.length,o=[],a=0,u=e[0],c=0;r>0&&u>0&&(c+u+1>n&&(u=Math.max(1,n-c)),o.push(t.substring(r-=u,r+u)),!((c+=u+1)>n));)u=e[a=(a+1)%e.length];return o.reverse().join(i)}),u=void 0===t.currency?"":t.currency[0]+"",f=void 0===t.currency?"":t.currency[1]+"",d=void 0===t.decimal?".":t.decimal+"",p=void 0===t.numerals?s:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(l.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",y=void 0===t.minus?"-":t.minus+"",g=void 0===t.nan?"NaN":t.nan+"";function b(t){var e=(t=o(t)).fill,n=t.align,i=t.sign,s=t.symbol,l=t.zero,b=t.width,_=t.comma,m=t.precision,x=t.trim,w=t.type;"n"===w?(_=!0,w="g"):c[w]||(void 0===m&&(m=12),x=!0,w="g"),(l||"0"===e&&"="===n)&&(l=!0,e="0",n="=");var M="$"===s?u:"#"===s&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",E="$"===s?f:/[%p]/.test(w)?v:"",k=c[w],A=/[defgprs%]/.test(w);function S(t){var o,u,c,s=M,f=E;if("c"===w)f=k(t)+f,t="";else{var v=(t=+t)<0;if(t=isNaN(t)?g:k(Math.abs(t),m),x&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&(v=!1),s=(v?"("===i?i:y:"-"===i||"("===i?"":i)+s,f=("s"===w?h[8+r/3]:"")+f+(v&&"("===i?")":""),A)for(o=-1,u=t.length;++o(c=t.charCodeAt(o))||c>57){f=(46===c?d+t.slice(o+1):t.slice(o))+f,t=t.slice(0,o);break}}_&&!l&&(t=a(t,1/0));var S=s.length+t.length+f.length,j=S>1)+s+t+f+j.slice(S);break;default:t=j+s+t+f}return p(t)}return m=void 0===m?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),S.toString=function(){return t+""},S}return{format:b,formatPrefix:function(t,e){var r=b(((t=o(t)).type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(n(e)/3))),a=Math.pow(10,-i),u=h[8+i/3];return function(t){return r(a*t)+u}}}}function p(e){return f=d(e),t.format=f.format,t.formatPrefix=f.formatPrefix,f}p({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),t.FormatSpecifier=a,t.formatDefaultLocale=p,t.formatLocale=d,t.formatSpecifier=o,t.precisionFixed=function(t){return Math.max(0,-n(Math.abs(t)))},t.precisionPrefix=function(t,e){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(n(e)/3)))-n(Math.abs(t)))},t.precisionRound=function(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,n(e)-n(t))+1},Object.defineProperty(t,"__esModule",{value:!0})}))},{}],43:[function(t,e,n){!function(r,i){"object"==typeof n&&void 0!==e?i(n,t("d3-array")):i((r=r||self).d3=r.d3||{},r.d3)}(this,(function(t,e){"use strict";function n(){return new r}function r(){this.reset()}r.prototype={constructor:r,reset:function(){this.s=this.t=0},add:function(t){o(i,t,this.t),o(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new r;function o(t,e,n){var r=t.s=e+n,i=r-e,o=r-i;t.t=e-o+(n-i)}var a=1e-6,u=1e-12,c=Math.PI,s=c/2,f=c/4,l=2*c,h=180/c,d=c/180,p=Math.abs,v=Math.atan,y=Math.atan2,g=Math.cos,b=Math.ceil,_=Math.exp,m=Math.log,x=Math.pow,w=Math.sin,M=Math.sign||function(t){return t>0?1:t<0?-1:0},E=Math.sqrt,k=Math.tan;function A(t){return t>1?0:t<-1?c:Math.acos(t)}function S(t){return t>1?s:t<-1?-s:Math.asin(t)}function j(t){return(t=w(t/2))*t}function N(){}function T(t,e){t&&O.hasOwnProperty(t.type)&&O[t.type](t,e)}var C={Feature:function(t,e){T(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r=0?1:-1,i=r*n,o=g(e=(e*=d)/2+f),a=w(e),u=B*a,c=F*o+u*g(i),s=u*r*w(i);q.add(y(s,c)),D=t,F=o,B=a}function X(t){return[y(t[1],t[0]),S(t[2])]}function W(t){var e=t[0],n=t[1],r=g(n);return[r*g(e),r*w(e),w(n)]}function $(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Z(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Q(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function J(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function tt(t){var e=E(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var et,nt,rt,it,ot,at,ut,ct,st,ft,lt,ht,dt,pt,vt,yt,gt,bt,_t,mt,xt,wt,Mt,Et,kt,At,St=n(),jt={point:Nt,lineStart:Ct,lineEnd:Ot,polygonStart:function(){jt.point=Pt,jt.lineStart=It,jt.lineEnd=Lt,St.reset(),Y.polygonStart()},polygonEnd:function(){Y.polygonEnd(),jt.point=Nt,jt.lineStart=Ct,jt.lineEnd=Ot,q<0?(et=-(rt=180),nt=-(it=90)):St>a?it=90:St<-a&&(nt=-90),ft[0]=et,ft[1]=rt},sphere:function(){et=-(rt=180),nt=-(it=90)}};function Nt(t,e){st.push(ft=[et=t,rt=t]),eit&&(it=e)}function Tt(t,e){var n=W([t*d,e*d]);if(ct){var r=Z(ct,n),i=Z([r[1],-r[0],0],r);tt(i),i=X(i);var o,a=t-ot,u=a>0?1:-1,c=i[0]*h*u,s=p(a)>180;s^(u*otit&&(it=o):s^(u*ot<(c=(c+360)%360-180)&&cit&&(it=e)),s?tRt(et,rt)&&(rt=t):Rt(t,rt)>Rt(et,rt)&&(et=t):rt>=et?(trt&&(rt=t)):t>ot?Rt(et,t)>Rt(et,rt)&&(rt=t):Rt(t,rt)>Rt(et,rt)&&(et=t)}else st.push(ft=[et=t,rt=t]);eit&&(it=e),ct=n,ot=t}function Ct(){jt.point=Tt}function Ot(){ft[0]=et,ft[1]=rt,jt.point=Nt,ct=null}function Pt(t,e){if(ct){var n=t-ot;St.add(p(n)>180?n+(n>0?360:-360):n)}else at=t,ut=e;Y.point(t,e),Tt(t,e)}function It(){Y.lineStart()}function Lt(){Pt(at,ut),Y.lineEnd(),p(St)>a&&(et=-(rt=180)),ft[0]=et,ft[1]=rt,ct=null}function Rt(t,e){return(e-=t)<0?e+360:e}function zt(t,e){return t[0]-e[0]}function Dt(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:ec?t+Math.round(-t/l)*l:t,e]}function Jt(t,e,n){return(t%=l)?e||n?Zt(ee(t),ne(e,n)):ee(t):e||n?ne(e,n):Qt}function te(t){return function(e,n){return[(e+=t)>c?e-l:e<-c?e+l:e,n]}}function ee(t){var e=te(t);return e.invert=te(-t),e}function ne(t,e){var n=g(t),r=w(t),i=g(e),o=w(e);function a(t,e){var a=g(e),u=g(t)*a,c=w(t)*a,s=w(e),f=s*n+u*r;return[y(c*i-f*o,u*n-s*r),S(f*i+c*o)]}return a.invert=function(t,e){var a=g(e),u=g(t)*a,c=w(t)*a,s=w(e),f=s*i-c*o;return[y(c*i+s*o,u*n+f*r),S(f*n-u*r)]},a}function re(t){function e(e){return(e=t(e[0]*d,e[1]*d))[0]*=h,e[1]*=h,e}return t=Jt(t[0]*d,t[1]*d,t.length>2?t[2]*d:0),e.invert=function(e){return(e=t.invert(e[0]*d,e[1]*d))[0]*=h,e[1]*=h,e},e}function ie(t,e,n,r,i,o){if(n){var a=g(e),u=w(e),c=r*n;null==i?(i=e+r*l,o=e-c/2):(i=oe(a,i),o=oe(a,o),(r>0?io)&&(i+=r*l));for(var s,f=i;r>0?f>o:f1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function ue(t,e){return p(t[0]-e[0])=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}s=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function fe(t){if(e=t.length){for(var e,n,r=0,i=t[0];++r=0?1:-1,I=P*O,L=I>c,R=M*T;if(le.add(y(R*P*w(I),E*C+R*g(I))),u+=L?O+P*l:O,L^m>=n^j>=n){var z=Z(W(_),W(A));tt(z);var D=Z(o,z);tt(D);var F=(L^O>=0?-1:1)*S(D[2]);(r>F||r===F&&(z[0]||z[1]))&&(h+=L^O>=0?1:-1)}}return(u<-a||u0){for(h||(o.polygonStart(),h=!0),o.lineStart(),t=0;t1&&2&i&&s.push(s.pop().concat(s.shift())),u.push(s.filter(ve))}return d}}function ve(t){return t.length>1}function ye(t,e){return((t=t.x)[0]<0?t[1]-s-a:s-t[1])-((e=e.x)[0]<0?e[1]-s-a:s-e[1])}var ge=pe((function(){return!0}),(function(t){var e,n=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,u){var f=o>0?c:-c,l=p(o-n);p(l-c)0?s:-s),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(f,r),t.point(o,r),e=0):i!==f&&l>=c&&(p(n-i)a?v((w(e)*(o=g(r))*w(n)-w(r)*(i=g(e))*w(t))/(i*o*u)):(e+r)/2}(n,r,o,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(f,r),e=0),t.point(n=o,r=u),i=f},lineEnd:function(){t.lineEnd(),n=r=NaN},clean:function(){return 2-e}}}),(function(t,e,n,r){var i;if(null==t)i=n*s,r.point(-c,i),r.point(0,i),r.point(c,i),r.point(c,0),r.point(c,-i),r.point(0,-i),r.point(-c,-i),r.point(-c,0),r.point(-c,i);else if(p(t[0]-e[0])>a){var o=t[0]0,i=p(e)>a;function o(t,n){return g(t)*g(n)>e}function u(t,n,r){var i=[1,0,0],o=Z(W(t),W(n)),u=$(o,o),s=o[0],f=u-s*s;if(!f)return!r&&t;var l=e*u/f,h=-e*s/f,d=Z(i,o),v=J(i,l);Q(v,J(o,h));var y=d,g=$(v,y),b=$(y,y),_=g*g-b*($(v,v)-1);if(!(_<0)){var m=E(_),x=J(y,(-g-m)/b);if(Q(x,v),x=X(x),!r)return x;var w,M=t[0],k=n[0],A=t[1],S=n[1];k0^x[1]<(p(x[0]-M)c^(M<=x[0]&&x[0]<=k)){var T=J(y,(-g+m)/b);return Q(T,v),[x,X(T)]}}}function s(e,n){var i=r?t:c-t,o=0;return e<-i?o|=1:e>i&&(o|=2),n<-i?o|=4:n>i&&(o|=8),o}return pe(o,(function(t){var e,n,f,l,h;return{lineStart:function(){l=f=!1,h=1},point:function(d,p){var v,y=[d,p],g=o(d,p),b=r?g?0:s(d,p):g?s(d+(d<0?c:-c),p):0;if(!e&&(l=f=g)&&t.lineStart(),g!==f&&(!(v=u(e,y))||ue(e,v)||ue(y,v))&&(y[0]+=a,y[1]+=a,g=o(y[0],y[1])),g!==f)h=0,g?(t.lineStart(),v=u(y,e),t.point(v[0],v[1])):(v=u(e,y),t.point(v[0],v[1]),t.lineEnd()),e=v;else if(i&&e&&r^g){var _;b&n||!(_=u(y,e,!0))||(h=0,r?(t.lineStart(),t.point(_[0][0],_[0][1]),t.point(_[1][0],_[1][1]),t.lineEnd()):(t.point(_[1][0],_[1][1]),t.lineEnd(),t.lineStart(),t.point(_[0][0],_[0][1])))}!g||e&&ue(e,y)||t.point(y[0],y[1]),e=y,f=g,n=b},lineEnd:function(){f&&t.lineEnd(),e=null},clean:function(){return h|(l&&f)<<1}}}),(function(e,r,i,o){ie(o,t,n,i,e,r)}),r?[0,-t]:[-c,t-c])}var _e=1e9,me=-_e;function xe(t,n,r,i){function o(e,o){return t<=e&&e<=r&&n<=o&&o<=i}function u(e,o,a,u){var s=0,l=0;if(null==e||(s=c(e,a))!==(l=c(o,a))||f(e,o)<0^a>0)do{u.point(0===s||3===s?t:r,s>1?i:n)}while((s=(s+a+4)%4)!==l);else u.point(o[0],o[1])}function c(e,i){return p(e[0]-t)0?0:3:p(e[0]-r)0?2:1:p(e[1]-n)0?1:0:i>0?3:2}function s(t,e){return f(t.x,e.x)}function f(t,e){var n=c(t,1),r=c(e,1);return n!==r?n-r:0===n?e[1]-t[1]:1===n?t[0]-e[0]:2===n?t[1]-e[1]:e[0]-t[0]}return function(a){var c,f,l,h,d,p,v,y,g,b,_,m=a,x=ae(),w={point:M,lineStart:function(){w.point=E,f&&f.push(l=[]);b=!0,g=!1,v=y=NaN},lineEnd:function(){c&&(E(h,d),p&&g&&x.rejoin(),c.push(x.result()));w.point=M,g&&m.lineEnd()},polygonStart:function(){m=x,c=[],f=[],_=!0},polygonEnd:function(){var n=function(){for(var e=0,n=0,r=f.length;ni&&(h-o)*(i-a)>(d-a)*(t-o)&&++e:d<=i&&(h-o)*(i-a)<(d-a)*(t-o)&&--e;return e}(),r=_&&n,o=(c=e.merge(c)).length;(r||o)&&(a.polygonStart(),r&&(a.lineStart(),u(null,null,1,a),a.lineEnd()),o&&se(c,s,n,u,a),a.polygonEnd());m=a,c=f=l=null}};function M(t,e){o(t,e)&&m.point(t,e)}function E(e,a){var u=o(e,a);if(f&&l.push([e,a]),b)h=e,d=a,p=u,b=!1,u&&(m.lineStart(),m.point(e,a));else if(u&&g)m.point(e,a);else{var c=[v=Math.max(me,Math.min(_e,v)),y=Math.max(me,Math.min(_e,y))],s=[e=Math.max(me,Math.min(_e,e)),a=Math.max(me,Math.min(_e,a))];!function(t,e,n,r,i,o){var a,u=t[0],c=t[1],s=0,f=1,l=e[0]-u,h=e[1]-c;if(a=n-u,l||!(a>0)){if(a/=l,l<0){if(a0){if(a>f)return;a>s&&(s=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>f)return;a>s&&(s=a)}else if(l>0){if(a0)){if(a/=h,h<0){if(a0){if(a>f)return;a>s&&(s=a)}if(a=o-c,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>s&&(s=a)}else if(h>0){if(a0&&(t[0]=u+s*l,t[1]=c+s*h),f<1&&(e[0]=u+f*l,e[1]=c+f*h),!0}}}}}(c,s,t,n,r,i)?u&&(m.lineStart(),m.point(e,a),_=!1):(g||(m.lineStart(),m.point(c[0],c[1])),m.point(s[0],s[1]),u||m.lineEnd(),_=!1)}v=e,y=a,g=u}return w}}var we,Me,Ee,ke=n(),Ae={sphere:N,point:N,lineStart:function(){Ae.point=je,Ae.lineEnd=Se},lineEnd:N,polygonStart:N,polygonEnd:N};function Se(){Ae.point=Ae.lineEnd=N}function je(t,e){we=t*=d,Me=w(e*=d),Ee=g(e),Ae.point=Ne}function Ne(t,e){t*=d;var n=w(e*=d),r=g(e),i=p(t-we),o=g(i),a=r*w(i),u=Ee*n-Me*r*o,c=Me*n+Ee*r*o;ke.add(y(E(a*a+u*u),c)),we=t,Me=n,Ee=r}function Te(t){return ke.reset(),L(t,Ae),+ke}var Ce=[null,null],Oe={type:"LineString",coordinates:Ce};function Pe(t,e){return Ce[0]=t,Ce[1]=e,Te(Oe)}var Ie={Feature:function(t,e){return Re(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,i=n.length;++r0&&(i=Pe(t[o],t[o-1]))>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))a})).map(f)).concat(e.range(b(u/y)*y,o,y).filter((function(t){return p(t%_)>a})).map(l))}return x.lines=function(){return w().map((function(t){return{type:"LineString",coordinates:t}}))},x.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(d(c).slice(1),h(r).reverse().slice(1),d(s).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.extentMajor(t).extentMinor(t):x.extentMinor()},x.extentMajor=function(t){return arguments.length?(i=+t[0][0],r=+t[1][0],s=+t[0][1],c=+t[1][1],i>r&&(t=i,i=r,r=t),s>c&&(t=s,s=c,c=t),x.precision(m)):[[i,s],[r,c]]},x.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],u=+e[0][1],o=+e[1][1],n>t&&(e=n,n=t,t=e),u>o&&(e=u,u=o,o=e),x.precision(m)):[[n,u],[t,o]]},x.step=function(t){return arguments.length?x.stepMajor(t).stepMinor(t):x.stepMinor()},x.stepMajor=function(t){return arguments.length?(g=+t[0],_=+t[1],x):[g,_]},x.stepMinor=function(t){return arguments.length?(v=+t[0],y=+t[1],x):[v,y]},x.precision=function(e){return arguments.length?(m=+e,f=Ue(u,o,90),l=Ye(n,t,m),h=Ue(s,c,90),d=Ye(i,r,m),x):m},x.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}function Ve(t){return t}var He,Ke,Xe,We,$e=n(),Ze=n(),Qe={point:N,lineStart:N,lineEnd:N,polygonStart:function(){Qe.lineStart=Je,Qe.lineEnd=nn},polygonEnd:function(){Qe.lineStart=Qe.lineEnd=Qe.point=N,$e.add(p(Ze)),Ze.reset()},result:function(){var t=$e/2;return $e.reset(),t}};function Je(){Qe.point=tn}function tn(t,e){Qe.point=en,He=Xe=t,Ke=We=e}function en(t,e){Ze.add(We*t-Xe*e),Xe=t,We=e}function nn(){en(He,Ke)}var rn=1/0,on=rn,an=-rn,un=an,cn={point:function(t,e){tan&&(an=t);eun&&(un=e)},lineStart:N,lineEnd:N,polygonStart:N,polygonEnd:N,result:function(){var t=[[rn,on],[an,un]];return an=un=-(on=rn=1/0),t}};var sn,fn,ln,hn,dn=0,pn=0,vn=0,yn=0,gn=0,bn=0,_n=0,mn=0,xn=0,wn={point:Mn,lineStart:En,lineEnd:Sn,polygonStart:function(){wn.lineStart=jn,wn.lineEnd=Nn},polygonEnd:function(){wn.point=Mn,wn.lineStart=En,wn.lineEnd=Sn},result:function(){var t=xn?[_n/xn,mn/xn]:bn?[yn/bn,gn/bn]:vn?[dn/vn,pn/vn]:[NaN,NaN];return dn=pn=vn=yn=gn=bn=_n=mn=xn=0,t}};function Mn(t,e){dn+=t,pn+=e,++vn}function En(){wn.point=kn}function kn(t,e){wn.point=An,Mn(ln=t,hn=e)}function An(t,e){var n=t-ln,r=e-hn,i=E(n*n+r*r);yn+=i*(ln+t)/2,gn+=i*(hn+e)/2,bn+=i,Mn(ln=t,hn=e)}function Sn(){wn.point=Mn}function jn(){wn.point=Tn}function Nn(){Cn(sn,fn)}function Tn(t,e){wn.point=Cn,Mn(sn=ln=t,fn=hn=e)}function Cn(t,e){var n=t-ln,r=e-hn,i=E(n*n+r*r);yn+=i*(ln+t)/2,gn+=i*(hn+e)/2,bn+=i,_n+=(i=hn*t-ln*e)*(ln+t),mn+=i*(hn+e),xn+=3*i,Mn(ln=t,hn=e)}function On(t){this._context=t}On.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,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(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,l)}},result:N};var Pn,In,Ln,Rn,zn,Dn=n(),Fn={point:N,lineStart:function(){Fn.point=Bn},lineEnd:function(){Pn&&qn(In,Ln),Fn.point=N},polygonStart:function(){Pn=!0},polygonEnd:function(){Pn=null},result:function(){var t=+Dn;return Dn.reset(),t}};function Bn(t,e){Fn.point=qn,In=Rn=t,Ln=zn=e}function qn(t,e){Rn-=t,zn-=e,Dn.add(E(Rn*Rn+zn*zn)),Rn=t,zn=e}function Un(){this._string=[]}function Yn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Gn(t){return function(e){var n=new Vn;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Vn(){}function Hn(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),L(n,t.stream(cn)),e(cn.result()),null!=r&&t.clipExtent(r),t}function Kn(t,e,n){return Hn(t,(function(n){var r=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),a=+e[0][0]+(r-o*(n[1][0]+n[0][0]))/2,u=+e[0][1]+(i-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,u])}),n)}function Xn(t,e,n){return Kn(t,[[0,0],e],n)}function Wn(t,e,n){return Hn(t,(function(n){var r=+e,i=r/(n[1][0]-n[0][0]),o=(r-i*(n[1][0]+n[0][0]))/2,a=-i*n[0][1];t.scale(150*i).translate([o,a])}),n)}function $n(t,e,n){return Hn(t,(function(n){var r=+e,i=r/(n[1][1]-n[0][1]),o=-i*n[0][0],a=(r-i*(n[1][1]+n[0][1]))/2;t.scale(150*i).translate([o,a])}),n)}Un.prototype={_radius:4.5,_circle:Yn(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,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(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Yn(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},Vn.prototype={constructor:Vn,point:function(t,e){this.stream.point(t,e)},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 Zn=g(30*d);function Qn(t,e){return+e?function(t,e){function n(r,i,o,u,c,s,f,l,h,d,v,g,b,_){var m=f-r,x=l-i,w=m*m+x*x;if(w>4*e&&b--){var M=u+d,k=c+v,A=s+g,j=E(M*M+k*k+A*A),N=S(A/=j),T=p(p(A)-1)e||p((m*I+x*L)/w-.5)>.3||u*d+c*v+s*g2?t[2]%360*d:0,T()):[b*h,_*h,m*h]},j.angle=function(t){return arguments.length?(x=t%360*d,T()):x*h},j.precision=function(t){return arguments.length?(a=Qn(u,S=t*t),C()):E(S)},j.fitExtent=function(t,e){return Kn(j,t,e)},j.fitSize=function(t,e){return Xn(j,t,e)},j.fitWidth=function(t,e){return Wn(j,t,e)},j.fitHeight=function(t,e){return $n(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&N,T()}}function ir(t){var e=0,n=c/3,r=rr(t),i=r(e,n);return i.parallels=function(t){return arguments.length?r(e=t[0]*d,n=t[1]*d):[e*h,n*h]},i}function or(t,e){var n=w(t),r=(n+w(e))/2;if(p(r)0?e<-s+a&&(e=-s+a):e>s-a&&(e=s-a);var n=i/x(pr(e),r);return[n*w(r*t),i-n*g(r*t)]}return o.invert=function(t,e){var n=i-e,o=M(r)*E(t*t+n*n);return[y(t,p(n))/r*M(n),2*v(x(i/o,1/r))-s]},o}function yr(t,e){return[t,e]}function gr(t,e){var n=g(t),r=t===e?w(t):(n-g(e))/(e-t),i=n/r+t;if(p(r)a&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]},Sr.invert=sr(S),jr.invert=sr((function(t){return 2*v(t)})),Nr.invert=function(t,e){return[-e,2*v(_(t))-s]},t.geoAlbers=ur,t.geoAlbersUsa=function(){var t,e,n,r,i,o,u=ur(),c=ar().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=ar().rotate([157,0]).center([-3,19.9]).parallels([8,18]),f={point:function(t,e){o=[t,e]}};function l(t){var e=t[0],a=t[1];return o=null,n.point(e,a),o||(r.point(e,a),o)||(i.point(e,a),o)}function h(){return t=e=null,l}return l.invert=function(t){var e=u.scale(),n=u.translate(),r=(t[0]-n[0])/e,i=(t[1]-n[1])/e;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?c:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:u).invert(t)},l.stream=function(n){return t&&e===n?t:(r=[u.stream(e=n),c.stream(n),s.stream(n)],i=r.length,t={point:function(t,e){for(var n=-1;++nRt(r[0],r[1])&&(r[1]=i[1]),Rt(i[0],r[1])>Rt(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,e=0,r=o[n=o.length-1];e<=n;r=i,++e)i=o[e],(u=Rt(r[1],i[0]))>a&&(a=u,et=i[0],rt=r[1])}return st=ft=null,et===1/0||nt===1/0?[[NaN,NaN],[NaN,NaN]]:[[et,nt],[rt,it]]},t.geoCentroid=function(t){lt=ht=dt=pt=vt=yt=gt=bt=_t=mt=xt=0,L(t,Ft);var e=_t,n=mt,r=xt,i=e*e+n*n+r*r;return i2?t[2]+90:90]):[(t=n())[0],t[1],t[2]-90]},n([0,0,90]).scale(159.155)},t.geoTransverseMercatorRaw=Nr,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-array":29}],44:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function n(t,e){return t+e.x}function r(t,e){return Math.max(t,e.y)}function i(t){var e=0,n=t.children,r=n&&n.length;if(r)for(;--r>=0;)e+=n[r].value;else e=1;t.value=e}function o(t,e){var n,r,i,o,u,f=new s(t),l=+t.value&&(f.value=t.value),h=[f];for(null==e&&(e=a);n=h.pop();)if(l&&(n.value=+n.data.value),(i=e(n.data))&&(u=i.length))for(n.children=new Array(u),o=u-1;o>=0;--o)h.push(r=n.children[o]=new s(i[o])),r.parent=n,r.depth=n.depth+1;return f.eachBefore(c)}function a(t){return t.children}function u(t){t.data=t.data.data}function c(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function s(t){this.data=t,this.depth=this.height=0,this.parent=null}s.prototype=o.prototype={constructor:s,count:function(){return this.eachAfter(i)},each:function(t){var e,n,r,i,o=this,a=[o];do{for(e=a.reverse(),a=[];o=e.pop();)if(t(o),n=o.children)for(r=0,i=n.length;r=0;--n)i.push(e[n]);return this},sum:function(t){return this.eachAfter((function(e){for(var n=+t(e.data)||0,r=e.children,i=r&&r.length;--i>=0;)n+=r[i].value;e.value=n}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,n=function(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),i=null;t=n.pop(),e=r.pop();for(;t===e;)i=t,t=n.pop(),e=r.pop();return i}(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var i=r.length;t!==n;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(n){n!==t&&e.push({source:n.parent,target:n})})),e},copy:function(){return o(this).eachBefore(u)}};var f=Array.prototype.slice;function l(t){for(var e,n,r=0,i=(t=function(t){for(var e,n,r=t.length;r;)n=Math.random()*r--|0,e=t[r],t[r]=t[n],t[n]=e;return t}(f.call(t))).length,o=[];r0&&n*n>r*r+i*i}function v(t,e){for(var n=0;n(a*=a)?(r=(s+a-i)/(2*s),o=Math.sqrt(Math.max(0,a/s-r*r)),n.x=t.x-r*u-o*c,n.y=t.y-r*c+o*u):(r=(s+i-a)/(2*s),o=Math.sqrt(Math.max(0,i/s-r*r)),n.x=e.x+r*u-o*c,n.y=e.y+r*c+o*u)):(n.x=e.x+n.r,n.y=e.y)}function m(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,i=e.y-t.y;return n>0&&n*n>r*r+i*i}function x(t){var e=t._,n=t.next._,r=e.r+n.r,i=(e.x*n.r+n.x*e.r)/r,o=(e.y*n.r+n.y*e.r)/r;return i*i+o*o}function w(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,n,r,i,o,a,u,c,s,f,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(n=t[1],e.x=-n.r,n.x=e.r,n.y=0,!(i>2))return e.r+n.r;_(n,e,r=t[2]),e=new w(e),n=new w(n),r=new w(r),e.next=r.previous=n,n.next=e.previous=r,r.next=n.previous=e;t:for(u=3;uh&&(h=u),y=f*f*v,(d=Math.max(h/y,y/l))>p){f-=u;break}p=d}g.push(a={value:f,dice:c1?e:1)},n}(G);var K=function t(e){function n(t,n,r,i,o){if((a=t._squarify)&&a.ratio===e)for(var a,u,c,s,f,l=-1,h=a.length,d=t.value;++l1?e:1)},n}(G);t.cluster=function(){var t=e,i=1,o=1,a=!1;function u(e){var u,c=0;e.eachAfter((function(e){var i=e.children;i?(e.x=function(t){return t.reduce(n,0)/t.length}(i),e.y=function(t){return 1+t.reduce(r,0)}(i)):(e.x=u?c+=t(e,u):0,e.y=0,u=e)}));var s=function(t){for(var e;e=t.children;)t=e[0];return t}(e),f=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),l=s.x-t(s,f)/2,h=f.x+t(f,s)/2;return e.eachAfter(a?function(t){t.x=(t.x-e.x)*i,t.y=(e.y-t.y)*o}:function(t){t.x=(t.x-l)/(h-l)*i,t.y=(1-(e.y?t.y/e.y:1))*o})}return u.separation=function(e){return arguments.length?(t=e,u):t},u.size=function(t){return arguments.length?(a=!1,i=+t[0],o=+t[1],u):a?null:[i,o]},u.nodeSize=function(t){return arguments.length?(a=!0,i=+t[0],o=+t[1],u):a?[i,o]:null},u},t.hierarchy=o,t.pack=function(){var t=null,e=1,n=1,r=k;function i(i){return i.x=e/2,i.y=n/2,t?i.eachBefore(j(t)).eachAfter(N(r,.5)).eachBefore(T(1)):i.eachBefore(j(S)).eachAfter(N(k,1)).eachAfter(N(r,i.r/Math.min(e,n))).eachBefore(T(Math.min(e,n)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=null==(n=e)?null:E(n),i):t;var n},i.size=function(t){return arguments.length?(e=+t[0],n=+t[1],i):[e,n]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:A(+t),i):r},i},t.packEnclose=l,t.packSiblings=function(t){return M(t),t},t.partition=function(){var t=1,e=1,n=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=n,i.x1=t,i.y1=e/o,i.eachBefore(function(t,e){return function(r){r.children&&O(r,r.x0,t*(r.depth+1)/e,r.x1,t*(r.depth+2)/e);var i=r.x0,o=r.y0,a=r.x1-n,u=r.y1-n;a0)throw new Error("cycle");return o}return n.id=function(e){return arguments.length?(t=E(e),n):t},n.parentId=function(t){return arguments.length?(e=E(t),n):e},n},t.tree=function(){var t=z,e=1,n=1,r=null;function i(i){var c=function(t){for(var e,n,r,i,o,a=new U(t,0),u=[a];e=u.pop();)if(r=e._.children)for(e.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(n=e.children[i]=new U(r[i],i)),n.parent=e;return(a.parent=new U(null,0)).children=[a],a}(i);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(a),r)i.eachBefore(u);else{var s=i,f=i,l=i;i.eachBefore((function(t){t.xf.x&&(f=t),t.depth>l.depth&&(l=t)}));var h=s===f?1:t(s,f)/2,d=h-s.x,p=e/(f.x+h+d),v=n/(l.depth||1);i.eachBefore((function(t){t.x=(t.x+d)*p,t.y=t.depth*v}))}return i}function o(e){var n=e.children,r=e.parent.children,i=e.i?r[e.i-1]:null;if(n){!function(t){for(var e,n=0,r=0,i=t.children,o=i.length;--o>=0;)(e=i[o]).z+=n,e.m+=n,n+=e.s+(r+=e.c)}(e);var o=(n[0].z+n[n.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-o):e.z=o}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,n,r){if(n){for(var i,o=e,a=e,u=n,c=o.parent.children[0],s=o.m,f=a.m,l=u.m,h=c.m;u=F(u),o=D(o),u&&o;)c=D(c),(a=F(a)).a=e,(i=u.z+l-o.z-s+t(u._,o._))>0&&(B(q(u,e,r),e,i),s+=i,f+=i),l+=u.m,s+=o.m,h+=c.m,f+=a.m;u&&!F(a)&&(a.t=u,a.m+=l-f),o&&!D(c)&&(c.t=o,c.m+=s-h,r=e)}return r}(e,i,e.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=e,t.y=t.depth*n}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(r=!1,e=+t[0],n=+t[1],i):r?null:[e,n]},i.nodeSize=function(t){return arguments.length?(r=!0,e=+t[0],n=+t[1],i):r?[e,n]:null},i},t.treemap=function(){var t=H,e=!1,n=1,r=1,i=[0],o=k,a=k,u=k,c=k,s=k;function f(t){return t.x0=t.y0=0,t.x1=n,t.y1=r,t.eachBefore(l),i=[0],e&&t.eachBefore(C),t}function l(e){var n=i[e.depth],r=e.x0+n,f=e.y0+n,l=e.x1-n,h=e.y1-n;l=n-1){var f=u[e];return f.x0=i,f.y0=o,f.x1=a,void(f.y1=c)}var l=s[e],h=r/2+l,d=e+1,p=n-1;for(;d>>1;s[v]c-o){var b=(i*g+a*y)/r;t(e,d,y,i,o,b,c),t(d,n,g,b,o,a,c)}else{var _=(o*g+c*y)/r;t(e,d,y,i,o,a,_),t(d,n,g,i,_,a,c)}}(0,c,t.value,e,n,r,i)},t.treemapDice=O,t.treemapResquarify=K,t.treemapSlice=Y,t.treemapSliceDice=function(t,e,n,r,i){(1&t.depth?Y:O)(t,e,n,r,i)},t.treemapSquarify=H,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],45:[function(t,e,n){!function(r,i){"object"==typeof n&&void 0!==e?i(n,t("d3-color")):i((r=r||self).d3=r.d3||{},r.d3)}(this,(function(t,e){"use strict";function n(t,e,n,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*n+(1+3*t+3*o-3*a)*r+a*i)/6}function r(t){var e=t.length-1;return function(r){var i=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),o=t[i],a=t[i+1],u=i>0?t[i-1]:2*o-a,c=i180||n<-180?n-360*Math.round(n/360):n):o(isNaN(t)?e:t)}function c(t){return 1==(t=+t)?s:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):o(isNaN(e)?n:e)}}function s(t,e){var n=e-t;return n?a(t,n):o(isNaN(t)?e:t)}var f=function t(n){var r=c(n);function i(t,n){var i=r((t=e.rgb(t)).r,(n=e.rgb(n)).r),o=r(t.g,n.g),a=r(t.b,n.b),u=s(t.opacity,n.opacity);return function(e){return t.r=i(e),t.g=o(e),t.b=a(e),t.opacity=u(e),t+""}}return i.gamma=t,i}(1);function l(t){return function(n){var r,i,o=n.length,a=new Array(o),u=new Array(o),c=new Array(o);for(r=0;ro&&(i=e.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(n=n[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,c.push({i:a,x:b(n,r)})),o=x.lastIndex;return o180?e+=360:e-t>180&&(t+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:b(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(o.rotate,a.rotate,u,c),function(t,e,n,o){t!==e?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:b(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(o.skewX,a.skewX,u,c),function(t,e,n,r,o,a){if(t!==n||e!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:b(t,n)},{i:u-2,x:b(e,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var e,n=-1,r=c.length;++nr)if(Math.abs(h*s-f*l)>r&&a){var p=i-u,v=o-c,y=s*s+f*f,g=p*p+v*v,b=Math.sqrt(y),_=Math.sqrt(d),m=a*Math.tan((e-Math.acos((y+d-g)/(2*b*_)))/2),x=m/_,w=m/b;Math.abs(x-1)>r&&(this._+="L"+(t+x*l)+","+(n+x*h)),this._+="A"+a+","+a+",0,0,"+ +(h*p>l*v)+","+(this._x1=t+w*s)+","+(this._y1=n+w*f)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,o,a,u,c,s){t=+t,o=+o,s=!!s;var f=(a=+a)*Math.cos(u),l=a*Math.sin(u),h=t+f,d=o+l,p=1^s,v=s?u-c:c-u;if(a<0)throw new Error("negative radius: "+a);null===this._x1?this._+="M"+h+","+d:(Math.abs(this._x1-h)>r||Math.abs(this._y1-d)>r)&&(this._+="L"+h+","+d),a&&(v<0&&(v=v%n+n),v>i?this._+="A"+a+","+a+",0,1,"+p+","+(t-f)+","+(o-l)+"A"+a+","+a+",0,1,"+p+","+(this._x1=h)+","+(this._y1=d):v>r&&(this._+="A"+a+","+a+",0,"+ +(v>=e)+","+p+","+(this._x1=t+a*Math.cos(c))+","+(this._y1=o+a*Math.sin(c))))},rect:function(t,e,n,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +n+"v"+ +r+"h"+-n+"Z"},toString:function(){return this._}},t.path=a,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],47:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";function e(t,e){return t[0]-e[0]||t[1]-e[1]}function n(t){for(var e,n,r,i=t.length,o=[0,1],a=2,u=2;u1&&(e=t[o[a-2]],n=t[o[a-1]],r=t[u],(n[0]-e[0])*(r[1]-e[1])-(n[1]-e[1])*(r[0]-e[0])<=0);)--a;o[a++]=u}return o.slice(0,a)}t.polygonArea=function(t){for(var e,n=-1,r=t.length,i=t[r-1],o=0;++nu!=s>u&&a<(c-n)*(u-r)/(s-r)+n&&(f=!f),c=n,s=r;return f},t.polygonHull=function(t){if((i=t.length)<3)return null;var r,i,o=new Array(i),a=new Array(i);for(r=0;r=0;--r)l.push(t[o[u[r]][2]]);for(r=+s;r=(o=(v+g)/2))?v=o:g=o,(f=n>=(a=(y+b)/2))?y=a:b=a,i=d,!(d=d[l=f<<1|s]))return i[l]=p,t;if(u=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===u&&n===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(s=e>=(o=(v+g)/2))?v=o:g=o,(f=n>=(a=(y+b)/2))?y=a:b=a}while((l=f<<1|s)==(h=(c>=a)<<1|u>=o));return i[h]=d,i[l]=p,t}function n(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function r(t){return t[0]}function i(t){return t[1]}function o(t,e,n){var o=new a(null==e?r:e,null==n?i:n,NaN,NaN,NaN,NaN);return null==t?o:o.addAll(t)}function a(t,e,n,r,i,o){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function u(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var c=o.prototype=a.prototype;c.copy=function(){var t,e,n=new a(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=u(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=u(e));return n},c.add=function(t){var n=+this._x.call(null,t),r=+this._y.call(null,t);return e(this.cover(n,r),n,r,t)},c.addAll=function(t){var n,r,i,o,a=t.length,u=new Array(a),c=new Array(a),s=1/0,f=1/0,l=-1/0,h=-1/0;for(r=0;rl&&(l=i),oh&&(h=o));if(s>l||f>h)return this;for(this.cover(s,f).cover(l,h),r=0;rt||t>=i||r>e||e>=o;)switch(u=(ed||(a=s.y0)>p||(u=s.x1)=b)<<1|t>=g)&&(s=v[v.length-1],v[v.length-1]=v[v.length-1-f],v[v.length-1-f]=s)}else{var _=t-+this._x.call(null,y.data),m=e-+this._y.call(null,y.data),x=_*_+m*m;if(x=(u=(p+y)/2))?p=u:y=u,(f=a>=(c=(v+g)/2))?v=c:g=c,e=d,!(d=d[l=f<<1|s]))return this;if(!d.length)break;(e[l+1&3]||e[l+2&3]||e[l+3&3])&&(n=e,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[l]=i:delete e[l],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[h]=d:this._root=d),this):(this._root=i,this)},c.removeAll=function(t){for(var e=0,n=t.length;e1);return t+n*o*Math.sqrt(-2*Math.log(i)/i)}}return n.source=t,n}(e),i=function t(e){function n(){var t=r.source(e).apply(this,arguments);return function(){return Math.exp(t())}}return n.source=t,n}(e),o=function t(e){function n(t){return function(){for(var n=0,r=0;r1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return bt.h=360*t-100,bt.s=1.5-1.5*e,bt.l=.8-.9*e,bt+""},t.interpolateRdBu=E,t.interpolateRdGy=A,t.interpolateRdPu=X,t.interpolateRdYlBu=j,t.interpolateRdYlGn=T,t.interpolateReds=ht,t.interpolateSinebow=function(t){var e;return t=(.5-t)*Math.PI,_t.r=255*(e=Math.sin(t))*e,_t.g=255*(e=Math.sin(t+mt))*e,_t.b=255*(e=Math.sin(t+xt))*e,_t+""},t.interpolateSpectral=O,t.interpolateTurbo=function(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-14825.05*t)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+707.56*t)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-6838.66*t)))))))+")"},t.interpolateViridis=Mt,t.interpolateWarm=yt,t.interpolateYlGn=Q,t.interpolateYlGnBu=$,t.interpolateYlOrBr=tt,t.interpolateYlOrRd=nt,t.schemeAccent=o,t.schemeBlues=rt,t.schemeBrBG=v,t.schemeBuGn=P,t.schemeBuPu=L,t.schemeCategory10=i,t.schemeDark2=a,t.schemeGnBu=z,t.schemeGreens=ot,t.schemeGreys=ut,t.schemeOrRd=F,t.schemeOranges=dt,t.schemePRGn=g,t.schemePaired=u,t.schemePastel1=c,t.schemePastel2=s,t.schemePiYG=_,t.schemePuBu=Y,t.schemePuBuGn=q,t.schemePuOr=x,t.schemePuRd=V,t.schemePurples=st,t.schemeRdBu=M,t.schemeRdGy=k,t.schemeRdPu=K,t.schemeRdYlBu=S,t.schemeRdYlGn=N,t.schemeReds=lt,t.schemeSet1=f,t.schemeSet2=l,t.schemeSet3=h,t.schemeSpectral=C,t.schemeTableau10=d,t.schemeYlGn=Z,t.schemeYlGnBu=W,t.schemeYlOrBr=J,t.schemeYlOrRd=et,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-color":34,"d3-interpolate":45}],51:[function(t,e,n){!function(r,i){"object"==typeof n&&void 0!==e?i(n,t("d3-collection"),t("d3-array"),t("d3-interpolate"),t("d3-format"),t("d3-time"),t("d3-time-format")):i(r.d3=r.d3||{},r.d3,r.d3,r.d3,r.d3,r.d3,r.d3)}(this,(function(t,e,n,r,i,o,a){"use strict";function u(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t)}return this}function c(t,e){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(e).domain(t)}return this}var s=Array.prototype,f=s.map,l=s.slice,h={name:"implicit"};function d(){var t=e.map(),n=[],r=[],i=h;function o(e){var o=e+"",a=t.get(o);if(!a){if(i!==h)return i;t.set(o,a=n.push(e))}return r[(a-1)%r.length]}return o.domain=function(r){if(!arguments.length)return n.slice();n=[],t=e.map();for(var i,a,u=-1,c=r.length;++ur&&(e=n,n=r,r=e),function(t){return Math.max(n,Math.min(r,t))}}function x(t,e,n){var r=t[0],i=t[1],o=e[0],a=e[1];return i2?w:x,o=a=null,p}function p(e){return isNaN(e=+e)?n:(o||(o=i(u.map(t),c,s)))(t(h(e)))}return p.invert=function(n){return h(e((a||(a=i(c,u.map(t),r.interpolateNumber)))(n)))},p.domain=function(t){return arguments.length?(u=f.call(t,y),h===b||(h=m(u)),d()):u.slice()},p.range=function(t){return arguments.length?(c=l.call(t),d()):c.slice()},p.rangeRound=function(t){return c=l.call(t),s=r.interpolateRound,d()},p.clamp=function(t){return arguments.length?(h=t?m(u):b,p):h!==b},p.interpolate=function(t){return arguments.length?(s=t,d()):s},p.unknown=function(t){return arguments.length?(n=t,p):n},function(n,r){return t=n,e=r,d()}}function k(t,e){return E()(t,e)}function A(t,e,r,o){var a,u=n.tickStep(t,e,r);switch((o=i.formatSpecifier(null==o?",f":o)).type){case"s":var c=Math.max(Math.abs(t),Math.abs(e));return null!=o.precision||isNaN(a=i.precisionPrefix(u,c))||(o.precision=a),i.formatPrefix(o,c);case"":case"e":case"g":case"p":case"r":null!=o.precision||isNaN(a=i.precisionRound(u,Math.max(Math.abs(t),Math.abs(e))))||(o.precision=a-("e"===o.type));break;case"f":case"%":null!=o.precision||isNaN(a=i.precisionFixed(u))||(o.precision=a-2*("%"===o.type))}return i.format(o)}function S(t){var e=t.domain;return t.ticks=function(t){var r=e();return n.ticks(r[0],r[r.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return A(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(r){null==r&&(r=10);var i,o=e(),a=0,u=o.length-1,c=o[a],s=o[u];return s0?(c=Math.floor(c/i)*i,s=Math.ceil(s/i)*i,i=n.tickIncrement(c,s,r)):i<0&&(c=Math.ceil(c*i)/i,s=Math.floor(s*i)/i,i=n.tickIncrement(c,s,r)),i>0?(o[a]=Math.floor(c/i)*i,o[u]=Math.ceil(s/i)*i,e(o)):i<0&&(o[a]=Math.ceil(c*i)/i,o[u]=Math.floor(s*i)/i,e(o)),t},t}function j(t,e){var n,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a0){for(;ds)break;y.push(h)}}else for(;d=1;--l)if(!((h=f*l)s)break;y.push(h)}}else y=n.ticks(d,p,Math.min(p-d,v)).map(r);return i?y.reverse():y},o.tickFormat=function(t,n){if(null==n&&(n=10===u?".0e":","),"function"!=typeof n&&(n=i.format(n)),t===1/0)return n;null==t&&(t=10);var a=Math.max(1,u*t/o.ticks().length);return function(t){var i=t/r(Math.round(e(t)));return i*u0?o[e-1]:r[0],e=o?[a[o-1],i]:[a[e-1],a[e]]},s.unknown=function(t){return arguments.length?(e=t,s):s},s.thresholds=function(){return a.slice()},s.copy=function(){return t().domain([r,i]).range(c).unknown(e)},u.apply(S(s),arguments)},t.scaleThreshold=function t(){var e,r=[.5],i=[0,1],o=1;function a(t){return t<=t?i[n.bisect(r,t,0,o)]:e}return a.domain=function(t){return arguments.length?(r=l.call(t),o=Math.min(r.length,i.length-1),a):r.slice()},a.range=function(t){return arguments.length?(i=l.call(t),o=Math.min(r.length,i.length-1),a):i.slice()},a.invertExtent=function(t){var e=i.indexOf(t);return[r[e-1],r[e]]},a.unknown=function(t){return arguments.length?(e=t,a):e},a.copy=function(){return t().domain(r).range(i).unknown(e)},u.apply(a,arguments)},t.scaleTime=function(){return u.apply(Q(o.timeYear,o.timeMonth,o.timeWeek,o.timeDay,o.timeHour,o.timeMinute,o.timeSecond,o.timeMillisecond,a.timeFormat).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},t.scaleUtc=function(){return u.apply(Q(o.utcYear,o.utcMonth,o.utcWeek,o.utcDay,o.utcHour,o.utcMinute,o.utcSecond,o.utcMillisecond,a.utcFormat).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},t.scaleSequential=function t(){var e=S(J()(b));return e.copy=function(){return tt(e,t())},c.apply(e,arguments)},t.scaleSequentialLog=function t(){var e=L(J()).domain([1,10]);return e.copy=function(){return tt(e,t()).base(e.base())},c.apply(e,arguments)},t.scaleSequentialPow=et,t.scaleSequentialSqrt=function(){return et.apply(null,arguments).exponent(.5)},t.scaleSequentialSymlog=function t(){var e=D(J());return e.copy=function(){return tt(e,t()).constant(e.constant())},c.apply(e,arguments)},t.scaleSequentialQuantile=function t(){var e=[],r=b;function i(t){if(!isNaN(t=+t))return r((n.bisect(e,t)-1)/(e.length-1))}return i.domain=function(t){if(!arguments.length)return e.slice();e=[];for(var r,o=0,a=t.length;o=0&&"xmlns"!==(e=t.slice(0,r))&&(t=t.slice(r+1)),n.hasOwnProperty(e)?{space:n[e],local:t}:t}function i(t){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===e&&n.documentElement.namespaceURI===e?n.createElement(t):n.createElementNS(r,t)}}function o(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function a(t){var e=r(t);return(e.local?o:i)(e)}function u(){}function c(t){return null==t?u:function(){return this.querySelector(t)}}function s(){return[]}function f(t){return null==t?s:function(){return this.querySelectorAll(t)}}function l(t){return function(){return this.matches(t)}}function h(t){return new Array(t.length)}function d(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}d.prototype={constructor:d,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function p(t,e,n,r,i,o){for(var a,u=0,c=e.length,s=o.length;ue?1:t>=e?0:NaN}function g(t){return function(){this.removeAttribute(t)}}function b(t){return function(){this.removeAttributeNS(t.space,t.local)}}function _(t,e){return function(){this.setAttribute(t,e)}}function m(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function x(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function w(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function M(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function E(t){return function(){this.style.removeProperty(t)}}function k(t,e,n){return function(){this.style.setProperty(t,e,n)}}function A(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function S(t,e){return t.style.getPropertyValue(e)||M(t).getComputedStyle(t,null).getPropertyValue(e)}function j(t){return function(){delete this[t]}}function N(t,e){return function(){this[t]=e}}function T(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function C(t){return t.trim().split(/^|\s+/)}function O(t){return t.classList||new P(t)}function P(t){this._node=t,this._names=C(t.getAttribute("class")||"")}function I(t,e){for(var n=O(t),r=-1,i=e.length;++r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var Z={};(t.event=null,"undefined"!=typeof document)&&("onmouseenter"in document.documentElement||(Z={mouseenter:"mouseover",mouseleave:"mouseout"}));function Q(t,e,n){return t=J(t,e,n),function(e){var n=e.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||t.call(this,e)}}function J(e,n,r){return function(i){var o=t.event;t.event=i;try{e.call(this,this.__data__,n,r)}finally{t.event=o}}}function tt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,o=e.length;r=M&&(M=w+1);!(x=_[M])&&++M=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=y);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o1?this.each((null==e?E:"function"==typeof e?A:k)(t,e,null==n?"":n)):S(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?j:"function"==typeof e?T:N)(t,e)):this.node()[t]},classed:function(t,e){var n=C(t+"");if(arguments.length<2){for(var r=O(this.node()),i=-1,o=n.length;++i=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}(t+""),a=o.length;if(!(arguments.length<2)){for(u=e?et:tt,null==n&&(n=!1),r=0;r=1?h:t<=-1?-h:Math.asin(t)}function v(t){return t.innerRadius}function y(t){return t.outerRadius}function g(t){return t.startAngle}function b(t){return t.endAngle}function _(t){return t&&t.padAngle}function m(t,e,n,r,i,o,u){var c=t-n,f=e-r,l=(u?o:-o)/s(c*c+f*f),h=l*f,d=-l*c,p=t+h,v=e+d,y=n+h,g=r+d,b=(p+y)/2,_=(v+g)/2,m=y-p,x=g-v,w=m*m+x*x,M=i-o,E=p*g-y*v,k=(x<0?-1:1)*s(a(0,M*M*w-E*E)),A=(E*x-m*k)/w,S=(-E*m-x*k)/w,j=(E*x+m*k)/w,N=(-E*m+x*k)/w,T=A-b,C=S-_,O=j-b,P=N-_;return T*T+C*C>O*O+P*P&&(A=j,S=N),{cx:A,cy:S,x01:-h,y01:-d,x11:A*(i/M-1),y11:S*(i/M-1)}}function x(t){this._context=t}function w(t){return new x(t)}function M(t){return t[0]}function E(t){return t[1]}function k(){var t=M,r=E,i=n(!0),o=null,a=w,u=null;function c(n){var c,s,f,l=n.length,h=!1;for(null==o&&(u=a(f=e.path())),c=0;c<=l;++c)!(c=l;--h)s.point(g[h],b[h]);s.lineEnd(),s.areaEnd()}y&&(g[f]=+t(d,f,n),b[f]=+i(d,f,n),s.point(r?+r(d,f,n):g[f],o?+o(d,f,n):b[f]))}if(p)return s=null,p+""||null}function l(){return k().defined(a).curve(c).context(u)}return f.x=function(e){return arguments.length?(t="function"==typeof e?e:n(+e),r=null,f):t},f.x0=function(e){return arguments.length?(t="function"==typeof e?e:n(+e),f):t},f.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:n(+t),f):r},f.y=function(t){return arguments.length?(i="function"==typeof t?t:n(+t),o=null,f):i},f.y0=function(t){return arguments.length?(i="function"==typeof t?t:n(+t),f):i},f.y1=function(t){return arguments.length?(o=null==t?null:"function"==typeof t?t:n(+t),f):o},f.lineX0=f.lineY0=function(){return l().x(t).y(i)},f.lineY1=function(){return l().x(t).y(o)},f.lineX1=function(){return l().x(r).y(i)},f.defined=function(t){return arguments.length?(a="function"==typeof t?t:n(!!t),f):a},f.curve=function(t){return arguments.length?(c=t,null!=u&&(s=c(u)),f):c},f.context=function(t){return arguments.length?(null==t?u=s=null:s=c(u=t),f):u},f}function S(t,e){return et?1:e>=t?0:NaN}function j(t){return t}x.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var N=C(w);function T(t){this._curve=t}function C(t){function e(e){return new T(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(C(t)):e()._curve},t}function P(){return O(k().curve(N))}function I(){var t=A().curve(N),e=t.curve,n=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(n())},delete t.lineX0,t.lineEndAngle=function(){return O(r())},delete t.lineX1,t.lineInnerRadius=function(){return O(i())},delete t.lineY0,t.lineOuterRadius=function(){return O(o())},delete t.lineY1,t.curve=function(t){return arguments.length?e(C(t)):e()._curve},t}function L(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}T.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R=Array.prototype.slice;function z(t){return t.source}function D(t){return t.target}function F(t){var r=z,i=D,o=M,a=E,u=null;function c(){var n,c=R.call(arguments),s=r.apply(this,c),f=i.apply(this,c);if(u||(u=n=e.path()),t(u,+o.apply(this,(c[0]=s,c)),+a.apply(this,c),+o.apply(this,(c[0]=f,c)),+a.apply(this,c)),n)return u=null,n+""||null}return c.source=function(t){return arguments.length?(r=t,c):r},c.target=function(t){return arguments.length?(i=t,c):i},c.x=function(t){return arguments.length?(o="function"==typeof t?t:n(+t),c):o},c.y=function(t){return arguments.length?(a="function"==typeof t?t:n(+t),c):a},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}function B(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e=(e+r)/2,n,e,i,r,i)}function q(t,e,n,r,i){t.moveTo(e,n),t.bezierCurveTo(e,n=(n+i)/2,r,n,r,i)}function U(t,e,n,r,i){var o=L(e,n),a=L(e,n=(n+i)/2),u=L(r,n),c=L(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(a[0],a[1],u[0],u[1],c[0],c[1])}var Y={draw:function(t,e){var n=Math.sqrt(e/l);t.moveTo(n,0),t.arc(0,0,n,0,d)}},G={draw:function(t,e){var n=Math.sqrt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}},V=Math.sqrt(1/3),H=2*V,K={draw:function(t,e){var n=Math.sqrt(e/H),r=n*V;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},X=Math.sin(l/10)/Math.sin(7*l/10),W=Math.sin(d/10)*X,$=-Math.cos(d/10)*X,Z={draw:function(t,e){var n=Math.sqrt(.8908130915292852*e),r=W*n,i=$*n;t.moveTo(0,-n),t.lineTo(r,i);for(var o=1;o<5;++o){var a=d*o/5,u=Math.cos(a),c=Math.sin(a);t.lineTo(c*n,-u*n),t.lineTo(u*r-c*i,c*r+u*i)}t.closePath()}},Q={draw:function(t,e){var n=Math.sqrt(e),r=-n/2;t.rect(r,r,n,n)}},J=Math.sqrt(3),tt={draw:function(t,e){var n=-Math.sqrt(e/(3*J));t.moveTo(0,2*n),t.lineTo(-J*n,-n),t.lineTo(J*n,-n),t.closePath()}},et=-.5,nt=Math.sqrt(3)/2,rt=1/Math.sqrt(12),it=3*(rt/2+1),ot={draw:function(t,e){var n=Math.sqrt(e/it),r=n/2,i=n*rt,o=r,a=n*rt+n,u=-o,c=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,c),t.lineTo(et*r-nt*i,nt*r+et*i),t.lineTo(et*o-nt*a,nt*o+et*a),t.lineTo(et*u-nt*c,nt*u+et*c),t.lineTo(et*r+nt*i,et*i-nt*r),t.lineTo(et*o+nt*a,et*a-nt*o),t.lineTo(et*u+nt*c,et*c-nt*u),t.closePath()}},at=[Y,G,K,Q,Z,tt,ot];function ut(){}function ct(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function st(t){this._context=t}function ft(t){this._context=t}function lt(t){this._context=t}function ht(t,e){this._basis=new st(t),this._beta=e}st.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:ct(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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={areaStart:ut,areaEnd:ut,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},lt.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(t,e){switch(t=+t,e=+e,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+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:ct(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r,i=t[0],o=e[0],a=t[n]-i,u=e[n]-o,c=-1;++c<=n;)r=c/n,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*a),this._beta*e[c]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var dt=function t(e){function n(t){return 1===e?new st(t):new ht(t,e)}return n.beta=function(e){return t(+e)},n}(.85);function pt(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function vt(t,e){this._context=t,this._k=(1-e)/6}vt.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:pt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:pt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yt=function t(e){function n(t){return new vt(t,e)}return n.tension=function(e){return t(+e)},n}(0);function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:ut,areaEnd:ut,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:pt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bt=function t(e){function n(t){return new gt(t,e)}return n.tension=function(e){return t(+e)},n}(0);function _t(t,e){this._context=t,this._k=(1-e)/6}_t.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(t,e){switch(t=+t,e=+e,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:pt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var mt=function t(e){function n(t){return new _t(t,e)}return n.tension=function(e){return t(+e)},n}(0);function xt(t,e,n){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>f){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>f){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*s+t._x1*t._l23_2a-e*t._l12_2a)/l,a=(a*s+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:xt(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Mt=function t(e){function n(t){return e?new wt(t,e):new vt(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function Et(t,e){this._context=t,this._alpha=e}Et.prototype={areaStart:ut,areaEnd:ut,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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:xt(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function n(t){return e?new Et(t,e):new gt(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function At(t,e){this._context=t,this._alpha=e}At.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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:xt(this,t,e)}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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var St=function t(e){function n(t){return e?new At(t,e):new _t(t,0)}return n.alpha=function(e){return t(+e)},n}(.5);function jt(t){this._context=t}function Nt(t){return t<0?-1:1}function Tt(t,e,n){var r=t._x1-t._x0,i=e-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(n-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(Nt(o)+Nt(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function Ct(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Ot(t,e,n){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*e,o-u,a-u*n,o,a)}function Pt(t){this._context=t}function It(t){this._context=new Lt(t)}function Lt(t){this._context=t}function Rt(t){this._context=t}function zt(t){var e,n,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(a[e]-i[e+1])/o[e];for(o[r-1]=(t[r]+i[r-1])/2,e=0;e1)for(var n,r,i,o=1,a=t[e[0]],u=a.length;o=0;)n[e]=e;return n}function qt(t,e){return t[e]}function Ut(t){var e=t.map(Yt);return Bt(t).sort((function(t,n){return e[t]-e[n]}))}function Yt(t){for(var e,n=-1,r=0,i=t.length,o=-1/0;++no&&(o=e,r=n);return r}function Gt(t){var e=t.map(Vt);return Bt(t).sort((function(t,n){return e[t]-e[n]}))}function Vt(t){for(var e,n=0,r=-1,i=t.length;++r=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}},t.arc=function(){var t=v,a=y,x=n(0),w=null,M=g,E=b,k=_,A=null;function S(){var n,v,y=+t.apply(this,arguments),g=+a.apply(this,arguments),b=M.apply(this,arguments)-h,_=E.apply(this,arguments)-h,S=r(_-b),j=_>b;if(A||(A=n=e.path()),gf)if(S>d-f)A.moveTo(g*o(b),g*c(b)),A.arc(0,0,g,b,_,!j),y>f&&(A.moveTo(y*o(_),y*c(_)),A.arc(0,0,y,_,b,j));else{var N,T,C=b,O=_,P=b,I=_,L=S,R=S,z=k.apply(this,arguments)/2,D=z>f&&(w?+w.apply(this,arguments):s(y*y+g*g)),F=u(r(g-y)/2,+x.apply(this,arguments)),B=F,q=F;if(D>f){var U=p(D/y*c(z)),Y=p(D/g*c(z));(L-=2*U)>f?(P+=U*=j?1:-1,I-=U):(L=0,P=I=(b+_)/2),(R-=2*Y)>f?(C+=Y*=j?1:-1,O-=Y):(R=0,C=O=(b+_)/2)}var G=g*o(C),V=g*c(C),H=y*o(I),K=y*c(I);if(F>f){var X,W=g*o(O),$=g*c(O),Z=y*o(P),Q=y*c(P);if(S1?0:t<-1?l:Math.acos(t)}((J*et+tt*nt)/(s(J*J+tt*tt)*s(et*et+nt*nt)))/2),it=s(X[0]*X[0]+X[1]*X[1]);B=u(F,(y-it)/(rt-1)),q=u(F,(g-it)/(rt+1))}}R>f?q>f?(N=m(Z,Q,G,V,g,q,j),T=m(W,$,H,K,g,q,j),A.moveTo(N.cx+N.x01,N.cy+N.y01),qf&&L>f?B>f?(N=m(H,K,W,$,y,-B,j),T=m(G,V,Z,Q,y,-B,j),A.lineTo(N.cx+N.x01,N.cy+N.y01),B0&&(p+=l);for(null!=e?v.sort((function(t,n){return e(y[t],y[n])})):null!=r&&v.sort((function(t,e){return r(n[t],n[e])})),u=0,s=p?(b-h*m)/p:0;u0?l*s:0)+m,y[c]={data:n[c],index:u,value:l,startAngle:g,endAngle:f,padAngle:_};return y}return u.value=function(e){return arguments.length?(t="function"==typeof e?e:n(+e),u):t},u.sortValues=function(t){return arguments.length?(e=t,r=null,u):e},u.sort=function(t){return arguments.length?(r=t,e=null,u):r},u.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:n(+t),u):i},u.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:n(+t),u):o},u.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:n(+t),u):a},u},t.pointRadial=L,t.radialArea=I,t.radialLine=P,t.stack=function(){var t=n([]),e=Bt,r=Ft,i=qt;function o(n){var o,a,u=t.apply(this,arguments),c=n.length,s=u.length,f=new Array(s);for(o=0;o0)for(var n,r,i,o,a,u,c=0,s=t[e[0]].length;c0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):(r[0]=0,r[1]=i)},t.stackOffsetExpand=function(t,e){if((r=t.length)>0){for(var n,r,i,o=0,a=t[0].length;o0){for(var n,r=0,i=t[e[0]],o=i.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,i,o=0,a=1;a=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:yt,s:gt,S:Y,u:G,U:V,V:H,w:K,W:X,x:null,X:null,y:W,Y:$,Z,"%":vt},Tt={a:function(t){return l[t.getUTCDay()]},A:function(t){return f[t.getUTCDay()]},b:function(t){return bt[t.getUTCMonth()]},B:function(t){return h[t.getUTCMonth()]},c:null,d:Q,e:Q,f:rt,H:J,I:tt,j:et,L:nt,m:it,M:ot,p:function(t){return s[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:yt,s:gt,S:at,u:ut,U:ct,V:st,w:ft,W:lt,x:null,X:null,y:ht,Y:dt,Z:pt,"%":vt},Ct={a:function(t,e,n){var r=Mt.exec(e.slice(n));return r?(t.w=Et[r[0].toLowerCase()],n+r[0].length):-1},A:function(t,e,n){var r=xt.exec(e.slice(n));return r?(t.w=wt[r[0].toLowerCase()],n+r[0].length):-1},b:function(t,e,n){var r=St.exec(e.slice(n));return r?(t.m=jt[r[0].toLowerCase()],n+r[0].length):-1},B:function(t,e,n){var r=kt.exec(e.slice(n));return r?(t.m=At[r[0].toLowerCase()],n+r[0].length):-1},c:function(t,e,n){return It(t,o,e,n)},d:k,e:k,f:C,H:S,I:S,j:A,L:T,m:E,M:j,p:function(t,e,n){var r=_t.exec(e.slice(n));return r?(t.p=mt[r[0].toLowerCase()],n+r[0].length):-1},q:M,Q:P,s:I,S:N,u:y,U:g,V:b,w:v,W:_,x:function(t,e,n){return It(t,a,e,n)},X:function(t,e,n){return It(t,c,e,n)},y:x,Y:m,Z:w,"%":O};function Ot(t,e){return function(n){var r,i,o,a=[],c=-1,s=0,f=t.length;for(n instanceof Date||(n=new Date(+n));++c53)return null;"w"in s||(s.w=1),"Z"in s?(c=(u=r(i(s.y,0,1))).getUTCDay(),u=c>4||0===c?e.utcMonday.ceil(u):e.utcMonday(u),u=e.utcDay.offset(u,7*(s.V-1)),s.y=u.getUTCFullYear(),s.m=u.getUTCMonth(),s.d=u.getUTCDate()+(s.w+6)%7):(c=(u=n(i(s.y,0,1))).getDay(),u=c>4||0===c?e.timeMonday.ceil(u):e.timeMonday(u),u=e.timeDay.offset(u,7*(s.V-1)),s.y=u.getFullYear(),s.m=u.getMonth(),s.d=u.getDate()+(s.w+6)%7)}else("W"in s||"U"in s)&&("w"in s||(s.w="u"in s?s.u%7:"W"in s?1:0),c="Z"in s?r(i(s.y,0,1)).getUTCDay():n(i(s.y,0,1)).getDay(),s.m=0,s.d="W"in s?(s.w+6)%7+7*s.W-(c+5)%7:s.w+7*s.U-(c+6)%7);return"Z"in s?(s.H+=s.Z/100|0,s.M+=s.Z%100,r(s)):n(s)}}function It(t,e,n,r){for(var i,o,a=0,c=e.length,s=n.length;a=s)return-1;if(37===(i=e.charCodeAt(a++))){if(i=e.charAt(a++),!(o=Ct[i in u?e.charAt(a++):i])||(r=o(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return Nt.x=Ot(a,Nt),Nt.X=Ot(c,Nt),Nt.c=Ot(o,Nt),Tt.x=Ot(a,Tt),Tt.X=Ot(c,Tt),Tt.c=Ot(o,Tt),{format:function(t){var e=Ot(t+="",Nt);return e.toString=function(){return t},e},parse:function(t){var e=Pt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Ot(t+="",Tt);return e.toString=function(){return t},e},utcParse:function(t){var e=Pt(t+="",!0);return e.toString=function(){return t},e}}}var a,u={"-":"",_:" ",0:"0"},c=/^\s*\d+/,s=/^%/,f=/[\\^$*+?|[\]().{}]/g;function l(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o68?1900:2e3),n+r[0].length):-1}function w(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function M(t,e,n){var r=c.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function E(t,e,n){var r=c.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function k(t,e,n){var r=c.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function A(t,e,n){var r=c.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function S(t,e,n){var r=c.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function j(t,e,n){var r=c.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function N(t,e,n){var r=c.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function T(t,e,n){var r=c.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function C(t,e,n){var r=c.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function O(t,e,n){var r=s.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function P(t,e,n){var r=c.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function I(t,e,n){var r=c.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function L(t,e){return l(t.getDate(),e,2)}function R(t,e){return l(t.getHours(),e,2)}function z(t,e){return l(t.getHours()%12||12,e,2)}function D(t,n){return l(1+e.timeDay.count(e.timeYear(t),t),n,3)}function F(t,e){return l(t.getMilliseconds(),e,3)}function B(t,e){return F(t,e)+"000"}function q(t,e){return l(t.getMonth()+1,e,2)}function U(t,e){return l(t.getMinutes(),e,2)}function Y(t,e){return l(t.getSeconds(),e,2)}function G(t){var e=t.getDay();return 0===e?7:e}function V(t,n){return l(e.timeSunday.count(e.timeYear(t)-1,t),n,2)}function H(t,n){var r=t.getDay();return t=r>=4||0===r?e.timeThursday(t):e.timeThursday.ceil(t),l(e.timeThursday.count(e.timeYear(t),t)+(4===e.timeYear(t).getDay()),n,2)}function K(t){return t.getDay()}function X(t,n){return l(e.timeMonday.count(e.timeYear(t)-1,t),n,2)}function W(t,e){return l(t.getFullYear()%100,e,2)}function $(t,e){return l(t.getFullYear()%1e4,e,4)}function Z(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+l(e/60|0,"0",2)+l(e%60,"0",2)}function Q(t,e){return l(t.getUTCDate(),e,2)}function J(t,e){return l(t.getUTCHours(),e,2)}function tt(t,e){return l(t.getUTCHours()%12||12,e,2)}function et(t,n){return l(1+e.utcDay.count(e.utcYear(t),t),n,3)}function nt(t,e){return l(t.getUTCMilliseconds(),e,3)}function rt(t,e){return nt(t,e)+"000"}function it(t,e){return l(t.getUTCMonth()+1,e,2)}function ot(t,e){return l(t.getUTCMinutes(),e,2)}function at(t,e){return l(t.getUTCSeconds(),e,2)}function ut(t){var e=t.getUTCDay();return 0===e?7:e}function ct(t,n){return l(e.utcSunday.count(e.utcYear(t)-1,t),n,2)}function st(t,n){var r=t.getUTCDay();return t=r>=4||0===r?e.utcThursday(t):e.utcThursday.ceil(t),l(e.utcThursday.count(e.utcYear(t),t)+(4===e.utcYear(t).getUTCDay()),n,2)}function ft(t){return t.getUTCDay()}function lt(t,n){return l(e.utcMonday.count(e.utcYear(t)-1,t),n,2)}function ht(t,e){return l(t.getUTCFullYear()%100,e,2)}function dt(t,e){return l(t.getUTCFullYear()%1e4,e,4)}function pt(){return"+0000"}function vt(){return"%"}function yt(t){return+t}function gt(t){return Math.floor(+t/1e3)}function bt(e){return a=o(e),t.timeFormat=a.format,t.timeParse=a.parse,t.utcFormat=a.utcFormat,t.utcParse=a.utcParse,a}bt({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"]});var _t="%Y-%m-%dT%H:%M:%S.%LZ";var mt=Date.prototype.toISOString?function(t){return t.toISOString()}:t.utcFormat(_t);var xt=+new Date("2000-01-01T00:00:00.000Z")?function(t){var e=new Date(t);return isNaN(e)?null:e}:t.utcParse(_t);t.isoFormat=mt,t.isoParse=xt,t.timeFormatDefaultLocale=bt,t.timeFormatLocale=o,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-time":55}],55:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e=new Date,n=new Date;function r(t,i,o,a){function u(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return u.floor=function(e){return t(e=new Date(+e)),e},u.ceil=function(e){return t(e=new Date(e-1)),i(e,1),t(e),e},u.round=function(t){var e=u(t),n=u.ceil(t);return t-e0))return a;do{a.push(o=new Date(+e)),i(e,r),t(e)}while(o=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;i(t,-1),!e(t););else for(;--n>=0;)for(;i(t,1),!e(t););}))},o&&(u.count=function(r,i){return e.setTime(+r),n.setTime(+i),t(e),t(n),Math.floor(o(e,n))},u.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?u.filter(a?function(e){return a(e)%t==0}:function(e){return u.count(0,e)%t==0}):u:null}),u}var i=r((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):i:null};var o=i.range,a=1e3,u=6e4,c=36e5,s=864e5,f=6048e5,l=r((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*a)}),(function(t,e){return(e-t)/a}),(function(t){return t.getUTCSeconds()})),h=l.range,d=r((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*a)}),(function(t,e){t.setTime(+t+e*u)}),(function(t,e){return(e-t)/u}),(function(t){return t.getMinutes()})),p=d.range,v=r((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*a-t.getMinutes()*u)}),(function(t,e){t.setTime(+t+e*c)}),(function(t,e){return(e-t)/c}),(function(t){return t.getHours()})),y=v.range,g=r((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*u)/s}),(function(t){return t.getDate()-1})),b=g.range;function _(t){return r((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*u)/f}))}var m=_(0),x=_(1),w=_(2),M=_(3),E=_(4),k=_(5),A=_(6),S=m.range,j=x.range,N=w.range,T=M.range,C=E.range,O=k.range,P=A.range,I=r((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),L=I.range,R=r((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));R.every=function(t){return isFinite(t=Math.floor(t))&&t>0?r((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null};var z=R.range,D=r((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*u)}),(function(t,e){return(e-t)/u}),(function(t){return t.getUTCMinutes()})),F=D.range,B=r((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*c)}),(function(t,e){return(e-t)/c}),(function(t){return t.getUTCHours()})),q=B.range,U=r((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/s}),(function(t){return t.getUTCDate()-1})),Y=U.range;function G(t){return r((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/f}))}var V=G(0),H=G(1),K=G(2),X=G(3),W=G(4),$=G(5),Z=G(6),Q=V.range,J=H.range,tt=K.range,et=X.range,nt=W.range,rt=$.range,it=Z.range,ot=r((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),at=ot.range,ut=r((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));ut.every=function(t){return isFinite(t=Math.floor(t))&&t>0?r((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null};var ct=ut.range;t.timeDay=g,t.timeDays=b,t.timeFriday=k,t.timeFridays=O,t.timeHour=v,t.timeHours=y,t.timeInterval=r,t.timeMillisecond=i,t.timeMilliseconds=o,t.timeMinute=d,t.timeMinutes=p,t.timeMonday=x,t.timeMondays=j,t.timeMonth=I,t.timeMonths=L,t.timeSaturday=A,t.timeSaturdays=P,t.timeSecond=l,t.timeSeconds=h,t.timeSunday=m,t.timeSundays=S,t.timeThursday=E,t.timeThursdays=C,t.timeTuesday=w,t.timeTuesdays=N,t.timeWednesday=M,t.timeWednesdays=T,t.timeWeek=m,t.timeWeeks=S,t.timeYear=R,t.timeYears=z,t.utcDay=U,t.utcDays=Y,t.utcFriday=$,t.utcFridays=rt,t.utcHour=B,t.utcHours=q,t.utcMillisecond=i,t.utcMilliseconds=o,t.utcMinute=D,t.utcMinutes=F,t.utcMonday=H,t.utcMondays=J,t.utcMonth=ot,t.utcMonths=at,t.utcSaturday=Z,t.utcSaturdays=it,t.utcSecond=l,t.utcSeconds=h,t.utcSunday=V,t.utcSundays=Q,t.utcThursday=W,t.utcThursdays=nt,t.utcTuesday=K,t.utcTuesdays=tt,t.utcWednesday=X,t.utcWednesdays=et,t.utcWeek=V,t.utcWeeks=Q,t.utcYear=ut,t.utcYears=ct,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],56:[function(t,e,n){!function(t,r){"object"==typeof n&&void 0!==e?r(n):r((t=t||self).d3=t.d3||{})}(this,(function(t){"use strict";var e,n,r=0,i=0,o=0,a=0,u=0,c=0,s="object"==typeof performance&&performance.now?performance:Date,f="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function l(){return u||(f(h),u=s.now()+c)}function h(){u=0}function d(){this._call=this._time=this._next=null}function p(t,e,n){var r=new d;return r.restart(t,e,n),r}function v(){l(),++r;for(var t,n=e;n;)(t=u-n._time)>=0&&n._call.call(null,t),n=n._next;--r}function y(){u=(a=s.now())+c,r=i=0;try{v()}finally{r=0,function(){var t,r,i=e,o=1/0;for(;i;)i._call?(o>i._time&&(o=i._time),t=i,i=i._next):(r=i._next,i._next=null,i=t?t._next=r:e=r);n=t,b(o)}(),u=0}}function g(){var t=s.now(),e=t-a;e>1e3&&(c-=e,a=t)}function b(t){r||(i&&(i=clearTimeout(i)),t-u>24?(t<1/0&&(i=setTimeout(y,t-s.now()-c)),o&&(o=clearInterval(o))):(o||(a=s.now(),o=setInterval(g,1e3)),r=1,f(y)))}d.prototype=p.prototype={constructor:d,restart:function(t,r,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?l():+i)+(null==r?0:+r),this._next||n===this||(n?n._next=this:e=this,n=this),this._call=t,this._time=i,b()},stop:function(){this._call&&(this._call=null,this._time=1/0,b())}},t.interval=function(t,e,n){var r=new d,i=e;return null==e?(r.restart(t,e,n),r):(e=+e,n=null==n?l():+n,r.restart((function o(a){a+=i,r.restart(o,i+=e,n),t(a)}),e,n),r)},t.now=l,t.timeout=function(t,e,n){var r=new d;return e=null==e?0:+e,r.restart((function(n){r.stop(),t(n+e)}),e,n),r},t.timer=p,t.timerFlush=v,Object.defineProperty(t,"__esModule",{value:!0})}))},{}],57:[function(t,e,n){!function(r,i){"object"==typeof n&&void 0!==e?i(n,t("d3-selection"),t("d3-dispatch"),t("d3-timer"),t("d3-interpolate"),t("d3-color"),t("d3-ease")):i((r=r||self).d3=r.d3||{},r.d3,r.d3,r.d3,r.d3,r.d3,r.d3)}(this,(function(t,e,n,r,i,o,a){"use strict";var u=n.dispatch("start","end","cancel","interrupt"),c=[];function s(t,e,n,i,o,a){var s=t.__transition;if(s){if(n in s)return}else t.__transition={};!function(t,e,n){var i,o=t.__transition;function a(t){n.state=1,n.timer.restart(u,n.delay,n.time),n.delay<=t&&u(t-n.delay)}function u(a){var f,l,h,d;if(1!==n.state)return s();for(f in o)if((d=o[f]).name===n.name){if(3===d.state)return r.timeout(u);4===d.state?(d.state=6,d.timer.stop(),d.on.call("interrupt",t,t.__data__,d.index,d.group),delete o[f]):+f0)throw new Error("too late; already scheduled");return n}function l(t,e){var n=h(t,e);if(n.state>3)throw new Error("too late; already running");return n}function h(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function d(t,e){var n,r,i,o=t.__transition,a=!0;if(o){for(i in e=null==e?null:e+"",o)(n=o[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete t.__transition}}function p(t,e){var n,r;return function(){var i=l(this,t),o=i.tween;if(o!==n)for(var a=0,u=(r=n=o).length;a=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?f:l;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(e,n),a.on=i}}(n,t,e))},attr:function(t,n){var r=e.namespace(t),o="transform"===r?i.interpolateTransformSvg:g;return this.attrTween(t,"function"==typeof n?(r.local?M:w)(r,o,y(this,"attr."+t,n)):null==n?(r.local?_:b)(r):(r.local?x:m)(r,o,n))},attrTween:function(t,n){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;var i=e.namespace(t);return this.tween(r,(i.local?E:k)(i,n))},style:function(t,n,r){var o="transform"==(t+="")?i.interpolateTransformCss:g;return null==n?this.styleTween(t,function(t,n){var r,i,o;return function(){var a=e.style(this,t),u=(this.style.removeProperty(t),e.style(this,t));return a===u?null:a===r&&u===i?o:o=n(r=a,i=u)}}(t,o)).on("end.style."+t,C(t)):"function"==typeof n?this.styleTween(t,function(t,n,r){var i,o,a;return function(){var u=e.style(this,t),c=r(this),s=c+"";return null==c&&(this.style.removeProperty(t),s=c=e.style(this,t)),u===s?null:u===i&&s===o?a:(o=s,a=n(i=u,c))}}(t,o,y(this,"style."+t,n))).each(function(t,e){var n,r,i,o,a="style."+e,u="end."+a;return function(){var c=l(this,t),s=c.on,f=null==c.value[a]?o||(o=C(e)):void 0;s===n&&i===f||(r=(n=s).copy()).on(u,i=f),c.on=r}}(this._id,t)):this.styleTween(t,function(t,n,r){var i,o,a=r+"";return function(){var u=e.style(this,t);return u===a?null:u===i?o:o=n(i=u,r)}}(t,o,n),r).on("end.style."+t,null)},styleTween:function(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==e)return this.tween(r,null);if("function"!=typeof e)throw new Error;return this.tween(r,function(t,e,n){var r,i;function o(){var o=e.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}(t,o,n)),r}return o._value=e,o}(t,e,null==n?"":n))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var e=t(this);this.textContent=null==e?"":e}}(y(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if("function"!=typeof t)throw new Error;return this.tween(e,function(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&function(t){return function(e){this.textContent=t.call(this,e)}}(r)),e}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}(this._id))},tween:function(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r,i=h(this.node(),n).tween,o=0,a=i.length;o1&&n.name===e)return new P([[t]],F,e,+r);return null},t.interrupt=d,t.transition=I,Object.defineProperty(t,"__esModule",{value:!0})}))},{"d3-color":34,"d3-dispatch":36,"d3-ease":39,"d3-interpolate":45,"d3-selection":52,"d3-timer":56}],58:[function(t,e,n){!function(t,r){r("object"==typeof n&&void 0!==e?n:t.d3=t.d3||{})}(this,(function(t){"use strict";function e(t){return function(){return t}}function n(t){return t[0]}function r(t){return t[1]}function i(){this._=null}function o(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function a(t,e){var n=e,r=e.R,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.R=r.L,n.R&&(n.R.U=n),r.L=n}function u(t,e){var n=e,r=e.L,i=n.U;i?i.L===n?i.L=r:i.R=r:t._=r,r.U=i,n.U=r,n.L=r.R,n.L&&(n.L.U=n),r.R=n}function c(t){for(;t.L;)t=t.L;return t}function s(t,e,n,r){var i=[null,null],o=P.push(i)-1;return i.left=t,i.right=e,n&&l(i,t,e,n),r&&l(i,e,t,r),C[t.index].halfedges.push(o),C[e.index].halfedges.push(o),i}function f(t,e,n){var r=[e,n];return r.left=t,r}function l(t,e,n,r){t[0]||t[1]?t.left===n?t[1]=r:t[0]=r:(t[0]=r,t.left=e,t.right=n)}function h(t,e,n,r,i){var o,a=t[0],u=t[1],c=a[0],s=a[1],f=0,l=1,h=u[0]-c,d=u[1]-s;if(o=e-c,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>l)return;o>f&&(f=o)}if(o=r-c,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>f&&(f=o)}else if(h>0){if(o0)){if(o/=d,d<0){if(o0){if(o>l)return;o>f&&(f=o)}if(o=i-s,d||!(o<0)){if(o/=d,d<0){if(o>l)return;o>f&&(f=o)}else if(d>0){if(o0||l<1)||(f>0&&(t[0]=[c+f*h,s+f*d]),l<1&&(t[1]=[c+l*h,s+l*d]),!0)}}}}}function d(t,e,n,r,i){var o=t[1];if(o)return!0;var a,u,c=t[0],s=t.left,f=t.right,l=s[0],h=s[1],d=f[0],p=f[1],v=(l+d)/2,y=(h+p)/2;if(p===h){if(v=r)return;if(l>d){if(c){if(c[1]>=i)return}else c=[v,n];o=[v,i]}else{if(c){if(c[1]1)if(l>d){if(c){if(c[1]>=i)return}else c=[(n-u)/a,n];o=[(i-u)/a,i]}else{if(c){if(c[1]=r)return}else c=[e,a*e+u];o=[r,a*r+u]}else{if(c){if(c[0]=-L)){var d=c*c+s*s,p=f*f+l*l,v=(l*d-s*p)/h,y=(c*p-f*d)/h,m=b.pop()||new _;m.arc=t,m.site=i,m.x=v+a,m.y=(m.cy=y+u)+Math.sqrt(v*v+y*y),t.circle=m;for(var x=null,w=O._;w;)if(m.yI)u=u.L;else{if(!((i=o-N(u,a))>I)){r>-I?(e=u.P,n=u):i>-I?(e=u,n=u.N):e=n=u;break}if(!u.R){e=u;break}u=u.R}!function(t){C[t.index]={site:t,halfedges:[]}}(t);var c=E(t);if(T.insert(e,c),e||n){if(e===n)return x(e),n=E(e.site),T.insert(c,n),c.edge=n.edge=s(e.site,c.site),m(e),void m(n);if(n){x(e),x(n);var f=e.site,h=f[0],d=f[1],p=t[0]-h,v=t[1]-d,y=n.site,g=y[0]-h,b=y[1]-d,_=2*(p*b-v*g),w=p*p+v*v,M=g*g+b*b,k=[(b*w-v*M)/_+h,(p*M-g*w)/_+d];l(n.edge,f,y,k),c.edge=s(f,t,null,k),n.edge=s(t,y,null,k),m(e),m(n)}else c.edge=s(e.site,c.site)}}function j(t,e){var n=t.site,r=n[0],i=n[1],o=i-e;if(!o)return r;var a=t.P;if(!a)return-1/0;var u=(n=a.site)[0],c=n[1],s=c-e;if(!s)return u;var f=u-r,l=1/o-1/s,h=f/s;return l?(-h+Math.sqrt(h*h-2*l*(f*f/(-2*s)-c+s/2+i-o/2)))/l+r:(r+u)/2}function N(t,e){var n=t.N;if(n)return j(n,e);var r=t.site;return r[1]===e?r[0]:1/0}var T,C,O,P,I=1e-6,L=1e-12;function R(t,e){return e[1]-t[1]||e[0]-t[0]}function z(t,e){var n,r,o,a=t.sort(R).pop();for(P=[],C=new Array(t.length),T=new i,O=new i;;)if(o=g,a&&(!o||a[1]I||Math.abs(i[0][1]-i[1][1])>I)||delete P[o]}(u,c,s,l),function(t,e,n,r){var i,o,a,u,c,s,l,h,d,p,g,b,_=C.length,m=!0;for(i=0;i<_;++i)if(o=C[i]){for(a=o.site,u=(c=o.halfedges).length;u--;)P[c[u]]||c.splice(u,1);for(u=0,s=c.length;uI||Math.abs(b-d)>I)&&(c.splice(u,0,P.push(f(a,p,Math.abs(g-t)I?[t,Math.abs(h-t)I?[Math.abs(d-r)I?[n,Math.abs(h-n)I?[Math.abs(d-e)=u)return null;var c=t-i.site[0],s=e-i.site[1],f=c*c+s*s;do{i=o.cells[r=a],a=null,i.halfedges.forEach((function(n){var r=o.edges[n],u=r.left;if(u!==i.site&&u||(u=r.right)){var c=t-u[0],s=e-u[1],l=c*c+s*s;lr?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}f.prototype=c.prototype,t.zoom=function(){var t,f,_=d,m=p,x=b,w=y,M=g,E=[0,1/0],k=[[-1/0,-1/0],[1/0,1/0]],A=250,S=r.interpolateZoom,j=e.dispatch("start","zoom","end"),N=0;function T(t){t.property("__zoom",v).on("wheel.zoom",z).on("mousedown.zoom",D).on("dblclick.zoom",F).filter(M).on("touchstart.zoom",B).on("touchmove.zoom",q).on("touchend.zoom touchcancel.zoom",U).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function C(t,e){return(e=Math.max(E[0],Math.min(E[1],e)))===t.k?t:new c(e,t.x,t.y)}function O(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new c(t.k,r,i)}function P(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function I(t,e,n){t.on("start.zoom",(function(){L(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){L(this,arguments).end()})).tween("zoom",(function(){var t=this,r=arguments,i=L(t,r),o=m.apply(t,r),a=null==n?P(o):"function"==typeof n?n.apply(t,r):n,u=Math.max(o[1][0]-o[0][0],o[1][1]-o[0][1]),s=t.__zoom,f="function"==typeof e?e.apply(t,r):e,l=S(s.invert(a).concat(u/s.k),f.invert(a).concat(u/f.k));return function(t){if(1===t)t=f;else{var e=l(t),n=u/e[2];t=new c(n,a[0]-e[0]*n,a[1]-e[1]*n)}i.zoom(null,t)}}))}function L(t,e,n){return!n&&t.__zooming||new R(t,e)}function R(t,e){this.that=t,this.args=e,this.active=0,this.extent=m.apply(t,e),this.taps=0}function z(){if(_.apply(this,arguments)){var t=L(this,arguments),e=this.__zoom,n=Math.max(E[0],Math.min(E[1],e.k*Math.pow(2,w.apply(this,arguments)))),r=i.mouse(this);if(t.wheel)t.mouse[0][0]===r[0]&&t.mouse[0][1]===r[1]||(t.mouse[1]=e.invert(t.mouse[0]=r)),clearTimeout(t.wheel);else{if(e.k===n)return;t.mouse=[r,e.invert(r)],o.interrupt(this),t.start()}h(),t.wheel=setTimeout((function(){t.wheel=null,t.end()}),150),t.zoom("mouse",x(O(C(e,n),t.mouse[0],t.mouse[1]),t.extent,k))}}function D(){if(!f&&_.apply(this,arguments)){var t=L(this,arguments,!0),e=i.select(i.event.view).on("mousemove.zoom",(function(){if(h(),!t.moved){var e=i.event.clientX-a,n=i.event.clientY-u;t.moved=e*e+n*n>N}t.zoom("mouse",x(O(t.that.__zoom,t.mouse[0]=i.mouse(t.that),t.mouse[1]),t.extent,k))}),!0).on("mouseup.zoom",(function(){e.on("mousemove.zoom mouseup.zoom",null),n.dragEnable(i.event.view,t.moved),h(),t.end()}),!0),r=i.mouse(this),a=i.event.clientX,u=i.event.clientY;n.dragDisable(i.event.view),l(),t.mouse=[r,this.__zoom.invert(r)],o.interrupt(this),t.start()}}function F(){if(_.apply(this,arguments)){var t=this.__zoom,e=i.mouse(this),n=t.invert(e),r=t.k*(i.event.shiftKey?.5:2),o=x(O(C(t,r),e,n),m.apply(this,arguments),k);h(),A>0?i.select(this).transition().duration(A).call(I,o,e):i.select(this).call(T.transform,o)}}function B(){if(_.apply(this,arguments)){var e,n,r,a,u=i.event.touches,c=u.length,s=L(this,arguments,i.event.changedTouches.length===c);for(l(),n=0;n0;--c)if(r=e[c].dequeue()){i=i.concat(u(t,e,n,r,!0));break}}return i}(n.graph,n.buckets,n.zeroIdx);return r.flatten(r.map(s,(function(e){return t.outEdges(e.v,e.w)})),!0)};var a=r.constant(1);function u(t,e,n,i,o){var a=o?[]:void 0;return r.forEach(t.inEdges(i.v),(function(r){var i=t.edge(r),u=t.node(r.v);o&&a.push({v:r.v,w:r.w}),u.out-=i,c(e,n,u)})),r.forEach(t.outEdges(i.v),(function(r){var i=t.edge(r),o=r.w,a=t.node(o);a.in-=i,c(e,n,a)})),t.removeNode(i.v),a}function c(t,e,n){n.out?n.in?t[n.out-n.in+e].enqueue(n):t[t.length-1].enqueue(n):t[0].enqueue(n)}},{"./data/list":65,"./graphlib":67,"./lodash":70}],69:[function(t,e,n){"use strict";var r=t("./lodash"),i=t("./acyclic"),o=t("./normalize"),a=t("./rank"),u=t("./util").normalizeRanks,c=t("./parent-dummy-chains"),s=t("./util").removeEmptyRanks,f=t("./nesting-graph"),l=t("./add-border-segments"),h=t("./coordinate-system"),d=t("./order"),p=t("./position"),v=t("./util"),y=t("./graphlib").Graph;e.exports=function(t,e){var n=e&&e.debugTiming?v.time:v.notime;n("layout",(function(){var e=n(" buildLayoutGraph",(function(){return function(t){var e=new y({multigraph:!0,compound:!0}),n=A(t.graph());return e.setGraph(r.merge({},b,k(n,g),r.pick(n,_))),r.forEach(t.nodes(),(function(n){var i=A(t.node(n));e.setNode(n,r.defaults(k(i,m),x)),e.setParent(n,t.parent(n))})),r.forEach(t.edges(),(function(n){var i=A(t.edge(n));e.setEdge(n,r.merge({},M,k(i,w),r.pick(i,E)))})),e}(t)}));n(" runLayout",(function(){!function(t,e){e(" makeSpaceForEdgeLabels",(function(){!function(t){var e=t.graph();e.ranksep/=2,r.forEach(t.edges(),(function(n){var r=t.edge(n);r.minlen*=2,"c"!==r.labelpos.toLowerCase()&&("TB"===e.rankdir||"BT"===e.rankdir?r.width+=r.labeloffset:r.height+=r.labeloffset)}))}(t)})),e(" removeSelfEdges",(function(){!function(t){r.forEach(t.edges(),(function(e){if(e.v===e.w){var n=t.node(e.v);n.selfEdges||(n.selfEdges=[]),n.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}}))}(t)})),e(" acyclic",(function(){i.run(t)})),e(" nestingGraph.run",(function(){f.run(t)})),e(" rank",(function(){a(v.asNonCompoundGraph(t))})),e(" injectEdgeLabelProxies",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(n.width&&n.height){var r=t.node(e.v),i={rank:(t.node(e.w).rank-r.rank)/2+r.rank,e};v.addDummyNode(t,"edge-proxy",i,"_ep")}}))}(t)})),e(" removeEmptyRanks",(function(){s(t)})),e(" nestingGraph.cleanup",(function(){f.cleanup(t)})),e(" normalizeRanks",(function(){u(t)})),e(" assignRankMinMax",(function(){!function(t){var e=0;r.forEach(t.nodes(),(function(n){var i=t.node(n);i.borderTop&&(i.minRank=t.node(i.borderTop).rank,i.maxRank=t.node(i.borderBottom).rank,e=r.max(e,i.maxRank))})),t.graph().maxRank=e}(t)})),e(" removeEdgeLabelProxies",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);"edge-proxy"===n.dummy&&(t.edge(n.e).labelRank=n.rank,t.removeNode(e))}))}(t)})),e(" normalize.run",(function(){o.run(t)})),e(" parentDummyChains",(function(){c(t)})),e(" addBorderSegments",(function(){l(t)})),e(" order",(function(){d(t)})),e(" insertSelfEdges",(function(){!function(t){var e=v.buildLayerMatrix(t);r.forEach(e,(function(e){var n=0;r.forEach(e,(function(e,i){var o=t.node(e);o.order=i+n,r.forEach(o.selfEdges,(function(e){v.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:o.rank,order:i+ ++n,e:e.e,label:e.label},"_se")})),delete o.selfEdges}))}))}(t)})),e(" adjustCoordinateSystem",(function(){h.adjust(t)})),e(" position",(function(){p(t)})),e(" positionSelfEdges",(function(){!function(t){r.forEach(t.nodes(),(function(e){var n=t.node(e);if("selfedge"===n.dummy){var r=t.node(n.e.v),i=r.x+r.width/2,o=r.y,a=n.x-i,u=r.height/2;t.setEdge(n.e,n.label),t.removeNode(e),n.label.points=[{x:i+2*a/3,y:o-u},{x:i+5*a/6,y:o-u},{x:i+a,y:o},{x:i+5*a/6,y:o+u},{x:i+2*a/3,y:o+u}],n.label.x=n.x,n.label.y=n.y}}))}(t)})),e(" removeBorderNodes",(function(){!function(t){r.forEach(t.nodes(),(function(e){if(t.children(e).length){var n=t.node(e),i=t.node(n.borderTop),o=t.node(n.borderBottom),a=t.node(r.last(n.borderLeft)),u=t.node(r.last(n.borderRight));n.width=Math.abs(u.x-a.x),n.height=Math.abs(o.y-i.y),n.x=a.x+n.width/2,n.y=i.y+n.height/2}})),r.forEach(t.nodes(),(function(e){"border"===t.node(e).dummy&&t.removeNode(e)}))}(t)})),e(" normalize.undo",(function(){o.undo(t)})),e(" fixupEdgeLabelCoords",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);if(r.has(n,"x"))switch("l"!==n.labelpos&&"r"!==n.labelpos||(n.width-=n.labeloffset),n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset}}))}(t)})),e(" undoCoordinateSystem",(function(){h.undo(t)})),e(" translateGraph",(function(){!function(t){var e=Number.POSITIVE_INFINITY,n=0,i=Number.POSITIVE_INFINITY,o=0,a=t.graph(),u=a.marginx||0,c=a.marginy||0;function s(t){var r=t.x,a=t.y,u=t.width,c=t.height;e=Math.min(e,r-u/2),n=Math.max(n,r+u/2),i=Math.min(i,a-c/2),o=Math.max(o,a+c/2)}r.forEach(t.nodes(),(function(e){s(t.node(e))})),r.forEach(t.edges(),(function(e){var n=t.edge(e);r.has(n,"x")&&s(n)})),e-=u,i-=c,r.forEach(t.nodes(),(function(n){var r=t.node(n);r.x-=e,r.y-=i})),r.forEach(t.edges(),(function(n){var o=t.edge(n);r.forEach(o.points,(function(t){t.x-=e,t.y-=i})),r.has(o,"x")&&(o.x-=e),r.has(o,"y")&&(o.y-=i)})),a.width=n-e+u,a.height=o-i+c}(t)})),e(" assignNodeIntersects",(function(){!function(t){r.forEach(t.edges(),(function(e){var n,r,i=t.edge(e),o=t.node(e.v),a=t.node(e.w);i.points?(n=i.points[0],r=i.points[i.points.length-1]):(i.points=[],n=a,r=o),i.points.unshift(v.intersectRect(o,n)),i.points.push(v.intersectRect(a,r))}))}(t)})),e(" reversePoints",(function(){!function(t){r.forEach(t.edges(),(function(e){var n=t.edge(e);n.reversed&&n.points.reverse()}))}(t)})),e(" acyclic.undo",(function(){i.undo(t)}))}(e,n)})),n(" updateInputGraph",(function(){!function(t,e){r.forEach(t.nodes(),(function(n){var r=t.node(n),i=e.node(n);r&&(r.x=i.x,r.y=i.y,e.children(n).length&&(r.width=i.width,r.height=i.height))})),r.forEach(t.edges(),(function(n){var i=t.edge(n),o=e.edge(n);i.points=o.points,r.has(o,"x")&&(i.x=o.x,i.y=o.y)})),t.graph().width=e.graph().width,t.graph().height=e.graph().height}(t,e)}))}))};var g=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},_=["acyclicer","ranker","rankdir","align"],m=["width","height"],x={width:0,height:0},w=["minlen","weight","width","height","labeloffset"],M={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function k(t,e){return r.mapValues(r.pick(t,e),Number)}function A(t){var e={};return r.forEach(t,(function(t,n){e[n.toLowerCase()]=t})),e}},{"./acyclic":62,"./add-border-segments":63,"./coordinate-system":64,"./graphlib":67,"./lodash":70,"./nesting-graph":71,"./normalize":72,"./order":77,"./parent-dummy-chains":82,"./position":84,"./rank":86,"./util":89}],70:[function(t,e,n){var r;if("function"==typeof t)try{r={cloneDeep:t("lodash/cloneDeep"),constant:t("lodash/constant"),defaults:t("lodash/defaults"),each:t("lodash/each"),filter:t("lodash/filter"),find:t("lodash/find"),flatten:t("lodash/flatten"),forEach:t("lodash/forEach"),forIn:t("lodash/forIn"),has:t("lodash/has"),isUndefined:t("lodash/isUndefined"),last:t("lodash/last"),map:t("lodash/map"),mapValues:t("lodash/mapValues"),max:t("lodash/max"),merge:t("lodash/merge"),min:t("lodash/min"),minBy:t("lodash/minBy"),now:t("lodash/now"),pick:t("lodash/pick"),range:t("lodash/range"),reduce:t("lodash/reduce"),sortBy:t("lodash/sortBy"),uniqueId:t("lodash/uniqueId"),values:t("lodash/values"),zipObject:t("lodash/zipObject")}}catch(t){}r||(r=window._),e.exports=r},{"lodash/cloneDeep":287,"lodash/constant":288,"lodash/defaults":289,"lodash/each":290,"lodash/filter":292,"lodash/find":293,"lodash/flatten":295,"lodash/forEach":296,"lodash/forIn":297,"lodash/has":299,"lodash/isUndefined":318,"lodash/last":321,"lodash/map":322,"lodash/mapValues":323,"lodash/max":324,"lodash/merge":326,"lodash/min":327,"lodash/minBy":328,"lodash/now":330,"lodash/pick":331,"lodash/range":333,"lodash/reduce":334,"lodash/sortBy":336,"lodash/uniqueId":346,"lodash/values":347,"lodash/zipObject":348}],71:[function(t,e,n){var r=t("./lodash"),i=t("./util");function o(t,e,n,a,u,c,s){var f=t.children(s);if(f.length){var l=i.addBorderNode(t,"_bt"),h=i.addBorderNode(t,"_bb"),d=t.node(s);t.setParent(l,s),d.borderTop=l,t.setParent(h,s),d.borderBottom=h,r.forEach(f,(function(r){o(t,e,n,a,u,c,r);var i=t.node(r),f=i.borderTop?i.borderTop:r,d=i.borderBottom?i.borderBottom:r,p=i.borderTop?a:2*a,v=f!==d?1:u-c[s]+1;t.setEdge(l,f,{weight:p,minlen:v,nestingEdge:!0}),t.setEdge(d,h,{weight:p,minlen:v,nestingEdge:!0})})),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:u+c[s]})}else s!==e&&t.setEdge(e,s,{weight:0,minlen:n})}e.exports={run:function(t){var e=i.addDummyNode(t,"root",{},"_root"),n=function(t){var e={};function n(i,o){var a=t.children(i);a&&a.length&&r.forEach(a,(function(t){n(t,o+1)})),e[i]=o}return r.forEach(t.children(),(function(t){n(t,1)})),e}(t),a=r.max(r.values(n))-1,u=2*a+1;t.graph().nestingRoot=e,r.forEach(t.edges(),(function(e){t.edge(e).minlen*=u}));var c=function(t){return r.reduce(t.edges(),(function(e,n){return e+t.edge(n).weight}),0)}(t)+1;r.forEach(t.children(),(function(r){o(t,e,u,c,a,n,r)})),t.graph().nodeRankFactor=u},cleanup:function(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,r.forEach(t.edges(),(function(e){t.edge(e).nestingEdge&&t.removeEdge(e)}))}}},{"./lodash":70,"./util":89}],72:[function(t,e,n){"use strict";var r=t("./lodash"),i=t("./util");e.exports={run:function(t){t.graph().dummyChains=[],r.forEach(t.edges(),(function(e){!function(t,e){var n,r,o,a=e.v,u=t.node(a).rank,c=e.w,s=t.node(c).rank,f=e.name,l=t.edge(e),h=l.labelRank;if(s===u+1)return;for(t.removeEdge(e),o=0,++u;u0;)e%2&&(n+=c[e+1]),c[e=e-1>>1]+=t.weight;s+=t.weight*n}))),s}e.exports=function(t,e){for(var n=0,r=1;r=2),u=f.buildLayerMatrix(t);var y=o(t,u);y=t.barycenter)&&function(t,e){var n=0,r=0;t.weight&&(n+=t.barycenter*t.weight,r+=t.weight);e.weight&&(n+=e.barycenter*e.weight,r+=e.weight);t.vs=e.vs.concat(t.vs),t.barycenter=n/r,t.weight=r,t.i=Math.min(e.i,t.i),e.merged=!0}(t,e)}}function i(e){return function(n){n.in.push(e),0==--n.indegree&&t.push(n)}}for(;t.length;){var o=t.pop();e.push(o),r.forEach(o.in.reverse(),n(o)),r.forEach(o.out,i(o))}return r.map(r.filter(e,(function(t){return!t.merged})),(function(t){return r.pick(t,["vs","i","barycenter","weight"])}))}(r.filter(n,(function(t){return!t.indegree})))}},{"../lodash":70}],80:[function(t,e,n){var r=t("../lodash"),i=t("./barycenter"),o=t("./resolve-conflicts"),a=t("./sort");e.exports=function t(e,n,u,c){var s=e.children(n),f=e.node(n),l=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,d={};l&&(s=r.filter(s,(function(t){return t!==l&&t!==h})));var p=i(e,s);r.forEach(p,(function(n){if(e.children(n.v).length){var i=t(e,n.v,u,c);d[n.v]=i,r.has(i,"barycenter")&&(o=n,a=i,r.isUndefined(o.barycenter)?(o.barycenter=a.barycenter,o.weight=a.weight):(o.barycenter=(o.barycenter*o.weight+a.barycenter*a.weight)/(o.weight+a.weight),o.weight+=a.weight))}var o,a}));var v=o(p,u);!function(t,e){r.forEach(t,(function(t){t.vs=r.flatten(t.vs.map((function(t){return e[t]?e[t].vs:t})),!0)}))}(v,d);var y=a(v,c);if(l&&(y.vs=r.flatten([l,y.vs,h],!0),e.predecessors(l).length)){var g=e.node(e.predecessors(l)[0]),b=e.node(e.predecessors(h)[0]);r.has(y,"barycenter")||(y.barycenter=0,y.weight=0),y.barycenter=(y.barycenter*y.weight+g.order+b.order)/(y.weight+2),y.weight+=2}return y}},{"../lodash":70,"./barycenter":74,"./resolve-conflicts":79,"./sort":81}],81:[function(t,e,n){var r=t("../lodash"),i=t("../util");function o(t,e,n){for(var i;e.length&&(i=r.last(e)).i<=n;)e.pop(),t.push(i.vs),n++;return n}e.exports=function(t,e){var n=i.partition(t,(function(t){return r.has(t,"barycenter")})),a=n.lhs,u=r.sortBy(n.rhs,(function(t){return-t.i})),c=[],s=0,f=0,l=0;a.sort((h=!!e,function(t,e){return t.barycentere.barycenter?1:h?e.i-t.i:t.i-e.i})),l=o(c,u,l),r.forEach(a,(function(t){l+=t.vs.length,c.push(t.vs),s+=t.barycenter*t.weight,f+=t.weight,l=o(c,u,l)}));var h;var d={vs:r.flatten(c,!0)};f&&(d.barycenter=s/f,d.weight=f);return d}},{"../lodash":70,"../util":89}],82:[function(t,e,n){var r=t("./lodash");e.exports=function(t){var e=function(t){var e={},n=0;function i(o){var a=n;r.forEach(t.children(o),i),e[o]={low:a,lim:n++}}return r.forEach(t.children(),i),e}(t);r.forEach(t.graph().dummyChains,(function(n){for(var r=t.node(n),i=r.edgeObj,o=function(t,e,n,r){var i,o,a=[],u=[],c=Math.min(e[n].low,e[r].low),s=Math.max(e[n].lim,e[r].lim);i=n;do{i=t.parent(i),a.push(i)}while(i&&(e[i].low>c||s>e[i].lim));o=i,i=r;for(;(i=t.parent(i))!==o;)u.push(i);return{path:a.concat(u.reverse()),lca:o}}(t,e,i.v,i.w),a=o.path,u=o.lca,c=0,s=a[c],f=!0;n!==i.w;){if(r=t.node(n),f){for(;(s=a[c])!==u&&t.node(s).maxRanku)&&c(n,e,s)}))}))}return r.reduce(e,(function(e,n){var o,a=-1,u=0;return r.forEach(n,(function(r,c){if("border"===t.node(r).dummy){var s=t.predecessors(r);s.length&&(o=t.node(s[0]).order,i(n,u,c,a,o),u=c,a=o)}i(n,u,n.length,o,e.length)})),n})),n}function c(t,e,n){if(e>n){var r=e;e=n,n=r}var i=t[e];i||(t[e]=i={}),i[n]=!0}function s(t,e,n){if(e>n){var i=e;e=n,n=i}return r.has(t[e],n)}function f(t,e,n,i){var o={},a={},u={};return r.forEach(e,(function(t){r.forEach(t,(function(t,e){o[t]=t,a[t]=t,u[t]=e}))})),r.forEach(e,(function(t){var e=-1;r.forEach(t,(function(t){var c=i(t);if(c.length){c=r.sortBy(c,(function(t){return u[t]}));for(var f=(c.length-1)/2,l=Math.floor(f),h=Math.ceil(f);l<=h;++l){var d=c[l];a[t]===t&&ec.lim&&(s=c,f=!0);var l=r.filter(e.edges(),(function(e){return f===b(t,t.node(e.v),s)&&f!==b(t,t.node(e.w),s)}));return r.minBy(l,(function(t){return o(e,t)}))}function g(t,e,n,i){var o=n.v,a=n.w;t.removeEdge(o,a),t.setEdge(i.v,i.w,{}),d(t),l(t,e),function(t,e){var n=r.find(t.nodes(),(function(t){return!e.node(t).parent})),i=u(t,n);i=i.slice(1),r.forEach(i,(function(n){var r=t.node(n).parent,i=e.edge(n,r),o=!1;i||(i=e.edge(r,n),o=!0),e.node(n).rank=e.node(r).rank+(o?i.minlen:-i.minlen)}))}(t,e)}function b(t,e,n){return n.low<=e.lim&&e.lim<=n.lim}e.exports=f,f.initLowLimValues=d,f.initCutValues=l,f.calcCutValue=h,f.leaveEdge=v,f.enterEdge=y,f.exchangeEdges=g},{"../graphlib":67,"../lodash":70,"../util":89,"./feasible-tree":85,"./util":88}],88:[function(t,e,n){"use strict";var r=t("../lodash");e.exports={longestPath:function(t){var e={};r.forEach(t.sources(),(function n(i){var o=t.node(i);if(r.has(e,i))return o.rank;e[i]=!0;var a=r.min(r.map(t.outEdges(i),(function(e){return n(e.w)-t.edge(e).minlen})));return a!==Number.POSITIVE_INFINITY&&null!=a||(a=0),o.rank=a}))},slack:function(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}}},{"../lodash":70}],89:[function(t,e,n){"use strict";var r=t("./lodash"),i=t("./graphlib").Graph;function o(t,e,n,i){var o;do{o=r.uniqueId(i)}while(t.hasNode(o));return n.dummy=e,t.setNode(o,n),o}function a(t){return r.max(r.map(t.nodes(),(function(e){var n=t.node(e).rank;if(!r.isUndefined(n))return n})))}e.exports={addDummyNode:o,simplify:function(t){var e=(new i).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){var r=e.edge(n.v,n.w)||{weight:0,minlen:1},i=t.edge(n);e.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})})),e},asNonCompoundGraph:function(t){var e=new i({multigraph:t.isMultigraph()}).setGraph(t.graph());return r.forEach(t.nodes(),(function(n){t.children(n).length||e.setNode(n,t.node(n))})),r.forEach(t.edges(),(function(n){e.setEdge(n,t.edge(n))})),e},successorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.outEdges(e),(function(e){n[e.w]=(n[e.w]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},predecessorWeights:function(t){var e=r.map(t.nodes(),(function(e){var n={};return r.forEach(t.inEdges(e),(function(e){n[e.v]=(n[e.v]||0)+t.edge(e).weight})),n}));return r.zipObject(t.nodes(),e)},intersectRect:function(t,e){var n,r,i=t.x,o=t.y,a=e.x-i,u=e.y-o,c=t.width/2,s=t.height/2;if(!a&&!u)throw new Error("Not possible to find intersection inside of the rectangle");Math.abs(u)*c>Math.abs(a)*s?(u<0&&(s=-s),n=s*a/u,r=s):(a<0&&(c=-c),n=c,r=c*u/a);return{x:i+n,y:o+r}},buildLayerMatrix:function(t){var e=r.map(r.range(a(t)+1),(function(){return[]}));return r.forEach(t.nodes(),(function(n){var i=t.node(n),o=i.rank;r.isUndefined(o)||(e[o][i.order]=n)})),e},normalizeRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank})));r.forEach(t.nodes(),(function(n){var i=t.node(n);r.has(i,"rank")&&(i.rank-=e)}))},removeEmptyRanks:function(t){var e=r.min(r.map(t.nodes(),(function(e){return t.node(e).rank}))),n=[];r.forEach(t.nodes(),(function(r){var i=t.node(r).rank-e;n[i]||(n[i]=[]),n[i].push(r)}));var i=0,o=t.graph().nodeRankFactor;r.forEach(n,(function(e,n){r.isUndefined(e)&&n%o!=0?--i:i&&r.forEach(e,(function(e){t.node(e).rank+=i}))}))},addBorderNode:function(t,e,n,r){var i={width:0,height:0};arguments.length>=4&&(i.rank=n,i.order=r);return o(t,"border",i,e)},maxRank:a,partition:function(t,e){var n={lhs:[],rhs:[]};return r.forEach(t,(function(t){e(t)?n.lhs.push(t):n.rhs.push(t)})),n},time:function(t,e){var n=r.now();try{return e()}finally{console.log(t+" time: "+(r.now()-n)+"ms")}},notime:function(t,e){return e()}}},{"./graphlib":67,"./lodash":70}],90:[function(t,e,n){e.exports="0.8.5"},{}],91:[function(t,e,n){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":107,"./lib/alg":98,"./lib/json":108}],92:[function(t,e,n){var r=t("../lodash");e.exports=function(t){var e,n={},i=[];function o(i){r.has(n,i)||(n[i]=!0,e.push(i),r.each(t.successors(i),o),r.each(t.predecessors(i),o))}return r.each(t.nodes(),(function(t){e=[],o(t),e.length&&i.push(e)})),i}},{"../lodash":109}],93:[function(t,e,n){var r=t("../lodash");function i(t,e,n,o,a,u){r.has(o,e)||(o[e]=!0,n||u.push(e),r.each(a(e),(function(e){i(t,e,n,o,a,u)})),n&&u.push(e))}e.exports=function(t,e,n){r.isArray(e)||(e=[e]);var o=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],u={};return r.each(e,(function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,u,o,a)})),a}},{"../lodash":109}],94:[function(t,e,n){var r=t("./dijkstra"),i=t("../lodash");e.exports=function(t,e,n){return i.transform(t.nodes(),(function(i,o){i[o]=r(t,o,e,n)}),{})}},{"../lodash":109,"./dijkstra":95}],95:[function(t,e,n){var r=t("../lodash"),i=t("../data/priority-queue");e.exports=function(t,e,n,r){return function(t,e,n,r){var o,a,u={},c=new i,s=function(t){var e=t.v!==o?t.v:t.w,r=u[e],i=n(t),s=a.distance+i;if(i<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+i);s0&&(o=c.removeMin(),(a=u[o]).distance!==Number.POSITIVE_INFINITY);)r(o).forEach(s);return u}(t,String(e),n||o,r||function(e){return t.outEdges(e)})};var o=r.constant(1)},{"../data/priority-queue":105,"../lodash":109}],96:[function(t,e,n){var r=t("../lodash"),i=t("./tarjan");e.exports=function(t){return r.filter(i(t),(function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])}))}},{"../lodash":109,"./tarjan":103}],97:[function(t,e,n){var r=t("../lodash");e.exports=function(t,e,n){return function(t,e,n){var r={},i=t.nodes();return i.forEach((function(t){r[t]={},r[t][t]={distance:0},i.forEach((function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})})),n(t).forEach((function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}}))})),i.forEach((function(t){var e=r[t];i.forEach((function(n){var o=r[n];i.forEach((function(n){var r=o[t],i=e[n],a=o[n],u=r.distance+i.distance;u0;){if(n=c.removeMin(),r.has(u,n))a.setEdge(n,u[n]);else{if(f)throw new Error("Input graph is not connected: "+t);f=!0}t.nodeEdges(n).forEach(s)}return a}},{"../data/priority-queue":105,"../graph":106,"../lodash":109}],103:[function(t,e,n){var r=t("../lodash");e.exports=function(t){var e=0,n=[],i={},o=[];function a(u){var c=i[u]={onStack:!0,lowlink:e,index:e++};if(n.push(u),t.successors(u).forEach((function(t){r.has(i,t)?i[t].onStack&&(c.lowlink=Math.min(c.lowlink,i[t].index)):(a(t),c.lowlink=Math.min(c.lowlink,i[t].lowlink))})),c.lowlink===c.index){var s,f=[];do{s=n.pop(),i[s].onStack=!1,f.push(s)}while(u!==s);o.push(f)}}return t.nodes().forEach((function(t){r.has(i,t)||a(t)})),o}},{"../lodash":109}],104:[function(t,e,n){var r=t("../lodash");function i(t){var e={},n={},i=[];if(r.each(t.sinks(),(function a(u){if(r.has(n,u))throw new o;r.has(e,u)||(n[u]=!0,e[u]=!0,r.each(t.predecessors(u),a),delete n[u],i.push(u))})),r.size(e)!==t.nodeCount())throw new o;return i}function o(){}e.exports=i,i.CycleException=o,o.prototype=new Error},{"../lodash":109}],105:[function(t,e,n){var r=t("../lodash");function i(){this._arr=[],this._keyIndices={}}e.exports=i,i.prototype.size=function(){return this._arr.length},i.prototype.keys=function(){return this._arr.map((function(t){return t.key}))},i.prototype.has=function(t){return r.has(this._keyIndices,t)},i.prototype.priority=function(t){var e=this._keyIndices[t];if(void 0!==e)return this._arr[e].priority},i.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},i.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!r.has(n,t)){var i=this._arr,o=i.length;return n[t]=o,i.push({key:t,priority:e}),this._decrease(o),!0}return!1},i.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},i.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},i.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n>1].prioritya){var u=o;o=a,a=u}return o+""+a+""+(r.isUndefined(i)?"\0":i)}function s(t,e){return c(t,e.v,e.w,e.name)}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(t){return this._label=t,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultNodeLabelFn=t,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return r.keys(this._nodes)},o.prototype.sources=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._in[e])}))},o.prototype.sinks=function(){var t=this;return r.filter(this.nodes(),(function(e){return r.isEmpty(t._out[e])}))},o.prototype.setNodes=function(t,e){var n=arguments,i=this;return r.each(t,(function(t){n.length>1?i.setNode(t,e):i.setNode(t)})),this},o.prototype.setNode=function(t,e){return r.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=i,this._children[t]={},this._children[i][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},o.prototype.node=function(t){return this._nodes[t]},o.prototype.hasNode=function(t){return r.has(this._nodes,t)},o.prototype.removeNode=function(t){var e=this;if(r.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],r.each(this.children(t),(function(t){e.setParent(t)})),delete this._children[t]),r.each(r.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],r.each(r.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},o.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r.isUndefined(e))e=i;else{for(var n=e+="";!r.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},o.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},o.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==i)return e}},o.prototype.children=function(t){if(r.isUndefined(t)&&(t=i),this._isCompound){var e=this._children[t];if(e)return r.keys(e)}else{if(t===i)return this.nodes();if(this.hasNode(t))return[]}},o.prototype.predecessors=function(t){var e=this._preds[t];if(e)return r.keys(e)},o.prototype.successors=function(t){var e=this._sucs[t];if(e)return r.keys(e)},o.prototype.neighbors=function(t){var e=this.predecessors(t);if(e)return r.union(e,this.successors(t))},o.prototype.isLeaf=function(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length},o.prototype.filterNodes=function(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var n=this;r.each(this._nodes,(function(n,r){t(r)&&e.setNode(r,n)})),r.each(this._edgeObjs,(function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,n.edge(t))}));var i={};function o(t){var r=n.parent(t);return void 0===r||e.hasNode(r)?(i[t]=r,r):r in i?i[r]:o(r)}return this._isCompound&&r.each(e.nodes(),(function(t){e.setParent(t,o(t))})),e},o.prototype.setDefaultEdgeLabel=function(t){return r.isFunction(t)||(t=r.constant(t)),this._defaultEdgeLabelFn=t,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return r.values(this._edgeObjs)},o.prototype.setPath=function(t,e){var n=this,i=arguments;return r.reduce(t,(function(t,r){return i.length>1?n.setEdge(t,r,e):n.setEdge(t,r),r})),this},o.prototype.setEdge=function(){var t,e,n,i,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2===arguments.length&&(i=arguments[1],o=!0)):(t=u,e=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],o=!0)),t=""+t,e=""+e,r.isUndefined(n)||(n=""+n);var s=c(this._isDirected,t,e,n);if(r.has(this._edgeLabels,s))return o&&(this._edgeLabels[s]=i),this;if(!r.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[s]=o?i:this._defaultEdgeLabelFn(t,e,n);var f=function(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var u={v:i,w:o};r&&(u.name=r);return u}(this._isDirected,t,e,n);return t=f.v,e=f.w,Object.freeze(f),this._edgeObjs[s]=f,a(this._preds[e],t),a(this._sucs[t],e),this._in[e][s]=f,this._out[t][s]=f,this._edgeCount++,this},o.prototype.edge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):c(this._isDirected,t,e,n);return this._edgeLabels[r]},o.prototype.hasEdge=function(t,e,n){var i=1===arguments.length?s(this._isDirected,arguments[0]):c(this._isDirected,t,e,n);return r.has(this._edgeLabels,i)},o.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?s(this._isDirected,arguments[0]):c(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],u(this._preds[e],t),u(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},o.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.v===e})):i}},o.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var i=r.values(n);return e?r.filter(i,(function(t){return t.w===e})):i}},o.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);if(n)return n.concat(this.outEdges(t,e))}},{"./lodash":109}],107:[function(t,e,n){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":106,"./version":110}],108:[function(t,e,n){var r=t("./lodash"),i=t("./graph");function o(t){return r.map(t.nodes(),(function(e){var n=t.node(e),i=t.parent(e),o={v:e};return r.isUndefined(n)||(o.value=n),r.isUndefined(i)||(o.parent=i),o}))}function a(t){return r.map(t.edges(),(function(e){var n=t.edge(e),i={v:e.v,w:e.w};return r.isUndefined(e.name)||(i.name=e.name),r.isUndefined(n)||(i.value=n),i}))}e.exports={write:function(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};r.isUndefined(t.graph())||(e.value=r.clone(t.graph()));return e},read:function(t){var e=new i(t.options).setGraph(t.value);return r.each(t.nodes,(function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)})),r.each(t.edges,(function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)})),e}}},{"./graph":106,"./lodash":109}],109:[function(t,e,n){var r;if("function"==typeof t)try{r={clone:t("lodash/clone"),constant:t("lodash/constant"),each:t("lodash/each"),filter:t("lodash/filter"),has:t("lodash/has"),isArray:t("lodash/isArray"),isEmpty:t("lodash/isEmpty"),isFunction:t("lodash/isFunction"),isUndefined:t("lodash/isUndefined"),keys:t("lodash/keys"),map:t("lodash/map"),reduce:t("lodash/reduce"),size:t("lodash/size"),transform:t("lodash/transform"),union:t("lodash/union"),values:t("lodash/values")}}catch(t){}r||(r=window._),e.exports=r},{"lodash/clone":286,"lodash/constant":288,"lodash/each":290,"lodash/filter":292,"lodash/has":299,"lodash/isArray":303,"lodash/isEmpty":307,"lodash/isFunction":308,"lodash/isUndefined":318,"lodash/keys":319,"lodash/map":322,"lodash/reduce":334,"lodash/size":335,"lodash/transform":344,"lodash/union":345,"lodash/values":347}],110:[function(t,e,n){e.exports="2.1.8"},{}],111:[function(t,e,n){var r=t("./_getNative")(t("./_root"),"DataView");e.exports=r},{"./_getNative":223,"./_root":268}],112:[function(t,e,n){var r=t("./_hashClear"),i=t("./_hashDelete"),o=t("./_hashGet"),a=t("./_hashHas"),u=t("./_hashSet");function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1}},{"./_baseIndexOf":155}],127:[function(t,e,n){e.exports=function(t,e,n){for(var r=-1,i=null==t?0:t.length;++r0&&o(f)?n>1?t(f,n-1,o,a,u):r(u,f):a||(u[u.length]=f)}return u}},{"./_arrayPush":130,"./_isFlattenable":240}],147:[function(t,e,n){var r=t("./_createBaseFor")();e.exports=r},{"./_createBaseFor":209}],148:[function(t,e,n){var r=t("./_baseFor"),i=t("./keys");e.exports=function(t,e){return t&&r(t,e,i)}},{"./_baseFor":147,"./keys":319}],149:[function(t,e,n){var r=t("./_castPath"),i=t("./_toKey");e.exports=function(t,e){for(var n=0,o=(e=r(e,t)).length;null!=t&&ne}},{}],153:[function(t,e,n){var r=Object.prototype.hasOwnProperty;e.exports=function(t,e){return null!=t&&r.call(t,e)}},{}],154:[function(t,e,n){e.exports=function(t,e){return null!=t&&e in Object(t)}},{}],155:[function(t,e,n){var r=t("./_baseFindIndex"),i=t("./_baseIsNaN"),o=t("./_strictIndexOf");e.exports=function(t,e,n){return e==e?o(t,e,n):r(t,i,n)}},{"./_baseFindIndex":145,"./_baseIsNaN":161,"./_strictIndexOf":280}],156:[function(t,e,n){var r=t("./_baseGetTag"),i=t("./isObjectLike");e.exports=function(t){return i(t)&&"[object Arguments]"==r(t)}},{"./_baseGetTag":151,"./isObjectLike":312}],157:[function(t,e,n){var r=t("./_baseIsEqualDeep"),i=t("./isObjectLike");e.exports=function t(e,n,o,a,u){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,u))}},{"./_baseIsEqualDeep":158,"./isObjectLike":312}],158:[function(t,e,n){var r=t("./_Stack"),i=t("./_equalArrays"),o=t("./_equalByTag"),a=t("./_equalObjects"),u=t("./_getTag"),c=t("./isArray"),s=t("./isBuffer"),f=t("./isTypedArray"),l="[object Arguments]",h="[object Array]",d="[object Object]",p=Object.prototype.hasOwnProperty;e.exports=function(t,e,n,v,y,g){var b=c(t),_=c(e),m=b?h:u(t),x=_?h:u(e),w=(m=m==l?d:m)==d,M=(x=x==l?d:x)==d,E=m==x;if(E&&s(t)){if(!s(e))return!1;b=!0,w=!1}if(E&&!w)return g||(g=new r),b||f(t)?i(t,e,n,v,y,g):o(t,e,m,n,v,y,g);if(!(1&n)){var k=w&&p.call(t,"__wrapped__"),A=M&&p.call(e,"__wrapped__");if(k||A){var S=k?t.value():t,j=A?e.value():e;return g||(g=new r),y(S,j,n,v,g)}}return!!E&&(g||(g=new r),a(t,e,n,v,y,g))}},{"./_Stack":119,"./_equalArrays":214,"./_equalByTag":215,"./_equalObjects":216,"./_getTag":228,"./isArray":303,"./isBuffer":306,"./isTypedArray":317}],159:[function(t,e,n){var r=t("./_getTag"),i=t("./isObjectLike");e.exports=function(t){return i(t)&&"[object Map]"==r(t)}},{"./_getTag":228,"./isObjectLike":312}],160:[function(t,e,n){var r=t("./_Stack"),i=t("./_baseIsEqual");e.exports=function(t,e,n,o){var a=n.length,u=a,c=!o;if(null==t)return!u;for(t=Object(t);a--;){var s=n[a];if(c&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++a=200){var v=e?null:u(t);if(v)return c(v);h=!1,f=a,p=new r}else p=e?[]:d;t:for(;++se||a&&u&&s&&!c&&!f||i&&u&&s||!n&&s||!o)return 1;if(!i&&!a&&!f&&t=c?s:s*("desc"==n[i]?-1:1)}return t.index-e.index}},{"./_compareAscending":200}],202:[function(t,e,n){e.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n1?n[o-1]:void 0,u=o>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(o--,a):void 0,u&&i(n[0],n[1],u)&&(a=o<3?void 0:a,o=1),e=Object(e);++r-1?u[c?e[s]:s]:void 0}}},{"./_baseIteratee":165,"./isArrayLike":304,"./keys":319}],211:[function(t,e,n){var r=t("./_baseRange"),i=t("./_isIterateeCall"),o=t("./toFinite");e.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&i(e,n,a)&&(n=a=void 0),e=o(e),void 0===n?(n=e,e=0):n=o(n),a=void 0===a?ef))return!1;var h=c.get(t);if(h&&c.get(e))return h==e;var d=-1,p=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d-1&&t%1==0&&t-1}},{"./_assocIndexOf":136}],252:[function(t,e,n){var r=t("./_assocIndexOf");e.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this}},{"./_assocIndexOf":136}],253:[function(t,e,n){var r=t("./_Hash"),i=t("./_ListCache"),o=t("./_Map");e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r}}},{"./_Hash":112,"./_ListCache":113,"./_Map":114}],254:[function(t,e,n){var r=t("./_getMapData");e.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},{"./_getMapData":221}],255:[function(t,e,n){var r=t("./_getMapData");e.exports=function(t){return r(this,t).get(t)}},{"./_getMapData":221}],256:[function(t,e,n){var r=t("./_getMapData");e.exports=function(t){return r(this,t).has(t)}},{"./_getMapData":221}],257:[function(t,e,n){var r=t("./_getMapData");e.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this}},{"./_getMapData":221}],258:[function(t,e,n){e.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},{}],259:[function(t,e,n){e.exports=function(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}},{}],260:[function(t,e,n){var r=t("./memoize");e.exports=function(t){var e=r(t,(function(t){return 500===n.size&&n.clear(),t})),n=e.cache;return e}},{"./memoize":325}],261:[function(t,e,n){var r=t("./_getNative")(Object,"create");e.exports=r},{"./_getNative":223}],262:[function(t,e,n){var r=t("./_overArg")(Object.keys,Object);e.exports=r},{"./_overArg":266}],263:[function(t,e,n){e.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},{}],264:[function(t,e,n){var r=t("./_freeGlobal"),i="object"==typeof n&&n&&!n.nodeType&&n,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,a=o&&o.exports===i&&r.process,u=function(){try{var t=o&&o.require&&o.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();e.exports=u},{"./_freeGlobal":218}],265:[function(t,e,n){var r=Object.prototype.toString;e.exports=function(t){return r.call(t)}},{}],266:[function(t,e,n){e.exports=function(t,e){return function(n){return t(e(n))}}},{}],267:[function(t,e,n){var r=t("./_apply"),i=Math.max;e.exports=function(t,e,n){return e=i(void 0===e?t.length-1:e,0),function(){for(var o=arguments,a=-1,u=i(o.length-e,0),c=Array(u);++a0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},{}],275:[function(t,e,n){var r=t("./_ListCache");e.exports=function(){this.__data__=new r,this.size=0}},{"./_ListCache":113}],276:[function(t,e,n){e.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},{}],277:[function(t,e,n){e.exports=function(t){return this.__data__.get(t)}},{}],278:[function(t,e,n){e.exports=function(t){return this.__data__.has(t)}},{}],279:[function(t,e,n){var r=t("./_ListCache"),i=t("./_Map"),o=t("./_MapCache");e.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a)}return n.set(t,e),this.size=n.size,this}},{"./_ListCache":113,"./_Map":114,"./_MapCache":115}],280:[function(t,e,n){e.exports=function(t,e,n){for(var r=n-1,i=t.length;++r2?e[2]:void 0;for(s&&o(e[0],e[1],s)&&(r=1);++n-1&&t%1==0&&t<=9007199254740991}},{}],310:[function(t,e,n){var r=t("./_baseIsMap"),i=t("./_baseUnary"),o=t("./_nodeUtil"),a=o&&o.isMap,u=a?i(a):r;e.exports=u},{"./_baseIsMap":159,"./_baseUnary":187,"./_nodeUtil":264}],311:[function(t,e,n){e.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},{}],312:[function(t,e,n){e.exports=function(t){return null!=t&&"object"==typeof t}},{}],313:[function(t,e,n){var r=t("./_baseGetTag"),i=t("./_getPrototype"),o=t("./isObjectLike"),a=Function.prototype,u=Object.prototype,c=a.toString,s=u.hasOwnProperty,f=c.call(Object);e.exports=function(t){if(!o(t)||"[object Object]"!=r(t))return!1;var e=i(t);if(null===e)return!0;var n=s.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&c.call(n)==f}},{"./_baseGetTag":151,"./_getPrototype":224,"./isObjectLike":312}],314:[function(t,e,n){var r=t("./_baseIsSet"),i=t("./_baseUnary"),o=t("./_nodeUtil"),a=o&&o.isSet,u=a?i(a):r;e.exports=u},{"./_baseIsSet":163,"./_baseUnary":187,"./_nodeUtil":264}],315:[function(t,e,n){var r=t("./_baseGetTag"),i=t("./isArray"),o=t("./isObjectLike");e.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},{"./_baseGetTag":151,"./isArray":303,"./isObjectLike":312}],316:[function(t,e,n){var r=t("./_baseGetTag"),i=t("./isObjectLike");e.exports=function(t){return"symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)}},{"./_baseGetTag":151,"./isObjectLike":312}],317:[function(t,e,n){var r=t("./_baseIsTypedArray"),i=t("./_baseUnary"),o=t("./_nodeUtil"),a=o&&o.isTypedArray,u=a?i(a):r;e.exports=u},{"./_baseIsTypedArray":164,"./_baseUnary":187,"./_nodeUtil":264}],318:[function(t,e,n){e.exports=function(t){return void 0===t}},{}],319:[function(t,e,n){var r=t("./_arrayLikeKeys"),i=t("./_baseKeys"),o=t("./isArrayLike");e.exports=function(t){return o(t)?r(t):i(t)}},{"./_arrayLikeKeys":128,"./_baseKeys":166,"./isArrayLike":304}],320:[function(t,e,n){var r=t("./_arrayLikeKeys"),i=t("./_baseKeysIn"),o=t("./isArrayLike");e.exports=function(t){return o(t)?r(t,!0):i(t)}},{"./_arrayLikeKeys":128,"./_baseKeysIn":167,"./isArrayLike":304}],321:[function(t,e,n){e.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},{}],322:[function(t,e,n){var r=t("./_arrayMap"),i=t("./_baseIteratee"),o=t("./_baseMap"),a=t("./isArray");e.exports=function(t,e){return(a(t)?r:o)(t,i(e,3))}},{"./_arrayMap":129,"./_baseIteratee":165,"./_baseMap":169,"./isArray":303}],323:[function(t,e,n){var r=t("./_baseAssignValue"),i=t("./_baseForOwn"),o=t("./_baseIteratee");e.exports=function(t,e){var n={};return e=o(e,3),i(t,(function(t,i,o){r(n,i,e(t,i,o))})),n}},{"./_baseAssignValue":139,"./_baseForOwn":148,"./_baseIteratee":165}],324:[function(t,e,n){var r=t("./_baseExtremum"),i=t("./_baseGt"),o=t("./identity");e.exports=function(t){return t&&t.length?r(t,o,i):void 0}},{"./_baseExtremum":143,"./_baseGt":152,"./identity":301}],325:[function(t,e,n){var r=t("./_MapCache");function i(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.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},{"./_MapCache":115}],326:[function(t,e,n){var r=t("./_baseMerge"),i=t("./_createAssigner")((function(t,e,n){r(t,e,n)}));e.exports=i},{"./_baseMerge":172,"./_createAssigner":207}],327:[function(t,e,n){var r=t("./_baseExtremum"),i=t("./_baseLt"),o=t("./identity");e.exports=function(t){return t&&t.length?r(t,o,i):void 0}},{"./_baseExtremum":143,"./_baseLt":168,"./identity":301}],328:[function(t,e,n){var r=t("./_baseExtremum"),i=t("./_baseIteratee"),o=t("./_baseLt");e.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},{"./_baseExtremum":143,"./_baseIteratee":165,"./_baseLt":168}],329:[function(t,e,n){e.exports=function(){}},{}],330:[function(t,e,n){var r=t("./_root");e.exports=function(){return r.Date.now()}},{"./_root":268}],331:[function(t,e,n){var r=t("./_basePick"),i=t("./_flatRest")((function(t,e){return null==t?{}:r(t,e)}));e.exports=i},{"./_basePick":175,"./_flatRest":217}],332:[function(t,e,n){var r=t("./_baseProperty"),i=t("./_basePropertyDeep"),o=t("./_isKey"),a=t("./_toKey");e.exports=function(t){return o(t)?r(a(t)):i(t)}},{"./_baseProperty":177,"./_basePropertyDeep":178,"./_isKey":243,"./_toKey":283}],333:[function(t,e,n){var r=t("./_createRange")();e.exports=r},{"./_createRange":211}],334:[function(t,e,n){var r=t("./_arrayReduce"),i=t("./_baseEach"),o=t("./_baseIteratee"),a=t("./_baseReduce"),u=t("./isArray");e.exports=function(t,e,n){var c=u(t)?r:a,s=arguments.length<3;return c(t,o(e,4),n,s,i)}},{"./_arrayReduce":131,"./_baseEach":142,"./_baseIteratee":165,"./_baseReduce":180,"./isArray":303}],335:[function(t,e,n){var r=t("./_baseKeys"),i=t("./_getTag"),o=t("./isArrayLike"),a=t("./isString"),u=t("./_stringSize");e.exports=function(t){if(null==t)return 0;if(o(t))return a(t)?u(t):t.length;var e=i(t);return"[object Map]"==e||"[object Set]"==e?t.size:r(t).length}},{"./_baseKeys":166,"./_getTag":228,"./_stringSize":281,"./isArrayLike":304,"./isString":315}],336:[function(t,e,n){var r=t("./_baseFlatten"),i=t("./_baseOrderBy"),o=t("./_baseRest"),a=t("./_isIterateeCall"),u=o((function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),i(t,r(e,1),[])}));e.exports=u},{"./_baseFlatten":146,"./_baseOrderBy":174,"./_baseRest":181,"./_isIterateeCall":242}],337:[function(t,e,n){e.exports=function(){return[]}},{}],338:[function(t,e,n){e.exports=function(){return!1}},{}],339:[function(t,e,n){var r=t("./toNumber"),i=1/0;e.exports=function(t){return t?(t=r(t))===i||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}},{"./toNumber":341}],340:[function(t,e,n){var r=t("./toFinite");e.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},{"./toFinite":339}],341:[function(t,e,n){var r=t("./isObject"),i=t("./isSymbol"),o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt;e.exports=function(t){if("number"==typeof t)return t;if(i(t))return NaN;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(o,"");var n=u.test(t);return n||c.test(t)?s(t.slice(2),n?2:8):a.test(t)?NaN:+t}},{"./isObject":311,"./isSymbol":316}],342:[function(t,e,n){var r=t("./_copyObject"),i=t("./keysIn");e.exports=function(t){return r(t,i(t))}},{"./_copyObject":203,"./keysIn":320}],343:[function(t,e,n){var r=t("./_baseToString");e.exports=function(t){return null==t?"":r(t)}},{"./_baseToString":186}],344:[function(t,e,n){var r=t("./_arrayEach"),i=t("./_baseCreate"),o=t("./_baseForOwn"),a=t("./_baseIteratee"),u=t("./_getPrototype"),c=t("./isArray"),s=t("./isBuffer"),f=t("./isFunction"),l=t("./isObject"),h=t("./isTypedArray");e.exports=function(t,e,n){var d=c(t),p=d||s(t)||h(t);if(e=a(e,4),null==n){var v=t&&t.constructor;n=p?d?new v:[]:l(t)&&f(v)?i(u(t)):{}}return(p?r:o)(t,(function(t,r,i){return e(n,t,r,i)})),n}},{"./_arrayEach":124,"./_baseCreate":141,"./_baseForOwn":148,"./_baseIteratee":165,"./_getPrototype":224,"./isArray":303,"./isBuffer":306,"./isFunction":308,"./isObject":311,"./isTypedArray":317}],345:[function(t,e,n){var r=t("./_baseFlatten"),i=t("./_baseRest"),o=t("./_baseUniq"),a=t("./isArrayLikeObject"),u=i((function(t){return o(r(t,1,a,!0))}));e.exports=u},{"./_baseFlatten":146,"./_baseRest":181,"./_baseUniq":188,"./isArrayLikeObject":305}],346:[function(t,e,n){var r=t("./toString"),i=0;e.exports=function(t){var e=++i;return r(t)+e}},{"./toString":343}],347:[function(t,e,n){var r=t("./_baseValues"),i=t("./keys");e.exports=function(t){return null==t?[]:r(t,i(t))}},{"./_baseValues":189,"./keys":319}],348:[function(t,e,n){var r=t("./_assignValue"),i=t("./_baseZipObject");e.exports=function(t,e){return i(t||[],e||[],r)}},{"./_assignValue":135,"./_baseZipObject":190}]},{},[1])(1)})); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.LICENSE.txt b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.LICENSE.txt new file mode 100644 index 0000000000000..f363efd0e4c32 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.LICENSE.txt @@ -0,0 +1,22 @@ +/** + * @license + * Copyright (c) 2012-2013 Chris Pettitt + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.map b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.map new file mode 100644 index 0000000000000..8b53d33586f9a --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/dagre-d3.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["build/dist/dagre-d3.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","dagreD3","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","graphlib","dagre","intersect","render","util","version","./lib/dagre","./lib/graphlib","./lib/intersect","./lib/render","./lib/util","./lib/version","2","default","normal","vee","undirected","parent","id","edge","type","marker","append","attr","path","style","applyStyle","./util","3","d3","addLabel","createClusters","selection","clusters","nodes","filter","v","isSubgraph","svgClusters","selectAll","data","remove","enter","node","applyTransition","each","thisGroup","select","labelGroup","clusterLabelPos","domCluster","exitSelection","exit","./d3","./label/add-label","4","_","createEdgeLabels","svgEdgeLabels","edges","edgeToId","classed","root","label","bbox","getBBox","labelId","has","width","height","./lodash","5","intersectNode","createEdgePaths","arrows","previousPaths","newPaths","svgPaths","merge","undefined","domEdge","elem","applyClass","arrowheadId","uniqueId","makeFragmentRef","location","href","calcPoints","arrowhead","url","fragmentId","baseUrl","split","tail","head","w","points","slice","unshift","push","createLine","line","svg","x","d","y","curve","interpolate","getCoords","matrix","ownerSVGElement","getScreenCTM","inverse","multiply","translate","svgPathsEnter","sourceElem","range","map","svgPathExit","./intersect/intersect-node","6","createNodes","shapes","simpleNodes","svgNodes","labelDom","shape","pick","paddingLeft","paddingRight","paddingTop","paddingBottom","shapeSvg","shapeBBox","7","8","9","10","circle","ellipse","polygon","rect","./intersect-circle","./intersect-ellipse","./intersect-node","./intersect-polygon","./intersect-rect","11","intersectEllipse","intersectCircle","rx","point","12","ry","cx","cy","px","py","det","Math","sqrt","dx","abs","dy","13","intersectLine","p1","p2","q1","q2","a1","a2","b1","b2","c1","c2","r1","r2","r3","r4","denom","offset","num","sameSign","14","15","intersectPolygon","polyPoints","x1","y1","intersections","minX","Number","POSITIVE_INFINITY","minY","forEach","entry","min","left","top","console","log","sort","q","pdx","pdy","distp","qdx","qdy","distq","./intersect-line","16","intersectRect","h","sx","sy","17","addHtmlLabel","fo","div","insert","html","labelStyle","client","getBoundingClientRect","../util","18","addTextLabel","addSVGLabel","labelSvg","labelType","labelBBox","./add-html-label","./add-svg-label","./add-text-label","19","domNode","appendChild","20","lines","processEscapeSequences","text","newText","escaped","ch","21","lodash","defaults","isFunction","isPlainObject","lodash/defaults","lodash/each","lodash/has","lodash/isFunction","lodash/isPlainObject","lodash/pick","lodash/range","lodash/uniqueId","22","positionClusters","created","23","positionEdgeLabels","24","positionNodes","25","layout","fn","preProcessGraph","outputGroup","createOrSelectGroup","clustersGroup","edgePathsGroup","edgeLabels","postProcessGraph","value","arguments","NODE_DEFAULT_ATTRS","EDGE_DEFAULT_ATTRS","curveLinear","children","paddingX","paddingY","padding","k","_prevWidth","_prevHeight","name","empty","./arrows","./create-clusters","./create-edge-labels","./create-edge-paths","./create-nodes","./dagre","./position-clusters","./position-edge-labels","./position-nodes","./shapes","26","diamond","max","SQRT2","join","./intersect/intersect-circle","./intersect/intersect-ellipse","./intersect/intersect-polygon","./intersect/intersect-rect","27","escapeId","ID_DELIM","str","String","replace","dom","styleFn","classFn","otherClasses","graph","transition","28","29","factory","ascending","b","NaN","bisector","compare","ascendingComparator","lo","hi","mid","right","ascendingBisect","bisectRight","bisectLeft","pairs","array","pair","Array","cross","values0","values1","reduce","n0","n1","values","i0","i1","value0","descending","number","variance","valueof","m","mean","delta","sum","isNaN","deviation","extent","prototype","constant","identity","start","stop","step","ceil","e10","e5","e2","ticks","count","reverse","tickIncrement","isFinite","floor","power","LN10","error","pow","tickStep","step0","step1","sturges","LN2","histogram","domain","threshold","xz","x0","tz","isArray","shift","pop","bins","bin","thresholds","quantile","value1","freedmanDiaconis","scott","median","numbers","arrays","j","merged","permute","indexes","permutes","scan","xi","xj","shuffle","random","transpose","row","zip","bisect","thresholdFreedmanDiaconis","thresholdScott","thresholdSturges","Object","defineProperty","30","bottom","epsilon","translateX","translateY","scale","center","bandwidth","round","entering","__axis","axis","orient","tickArguments","tickValues","tickFormat","tickSizeInner","tickSizeOuter","tickPadding","transform","context","apply","format","spacing","range0","range1","position","copy","tick","order","tickExit","tickEnter","getAttribute","parentNode","tickSize","axisTop","axisRight","axisBottom","axisLeft","31","d3Dispatch","d3Drag","d3Interpolate","d3Selection","d3Transition","BrushEvent","target","nopropagation","event","stopImmediatePropagation","noevent","preventDefault","MODE_DRAG","MODE_SPACE","MODE_HANDLE","MODE_CENTER","number1","number2","toucher","identifier","touch","touches","X","handles","input","output","xy","Y","XY","cursors","overlay","s","nw","ne","se","sw","flipX","flipY","signsX","signsY","defaultFilter","ctrlKey","button","defaultExtent","hasAttribute","viewBox","baseVal","defaultTouchable","navigator","maxTouchPoints","local","__brush","brushSelection","state","dim","brushX","brush$1","brushY","brush","touchable","keys","listeners","dispatch","handleSize","touchending","group","property","initialize","handle","redraw","on","started","touchmoved","touchended","move","emitter","beforestart","end","tween","that","emit","selection0","selection1","args","interrupt","clear","clean","Emitter","active","starting","customEvent","__data__","mode","metaKey","altKey","signX","signY","W","w0","w1","N","E","e0","e1","S","s0","s1","moving","shifting","shiftKey","lockX","lockY","pointer","changedTouches","mouse","point0","moved","ended","view","keydowned","keyupped","dragDisable","point1","clearTimeout","setTimeout","dragEnable","keyCode","keyModifiers","d3-dispatch","d3-drag","d3-interpolate","d3-selection","d3-transition","32","d3Array","d3Path","cos","sin","pi","PI","halfPi","tau","compareValue","source","chord","padAngle","sortGroups","sortSubgroups","sortChords","groupSums","groupIndex","subgroupIndex","chords","groups","subgroups","di","dj","a0","index","subindex","startAngle","endAngle","defaultSource","defaultTarget","defaultRadius","radius","defaultStartAngle","defaultEndAngle","ribbon","buffer","argv","sr","sa0","sa1","sx0","sy0","tr","ta0","ta1","moveTo","arc","quadraticCurveTo","closePath","d3-array","d3-path","33","prefix","Map","constructor","key","get","set","entries","size","object","nest","sortKeys","sortValues","rollup","depth","createResult","setResult","keyValue","valuesByKey","result","map$$1","sortKey","createObject","setObject","createMap","setMap","Set","proto","add","34","extend","definition","create","Color","darker","brighter","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color","channels","assign","displayable","rgb","hex","color_formatHex","formatHex","formatHsl","color_formatHsl","formatRgb","color_formatRgb","toString","hslConvert","l","trim","toLowerCase","exec","parseInt","rgbn","Rgb","rgba","hsla","hasOwnProperty","rgbConvert","opacity","rgb_formatHex","rgb_formatRgb","Hsl","hsl","m2","m1","hsl2rgb","deg2rad","rad2deg","K","Xn","Yn","Zn","t0","t1","t2","t3","labConvert","Lab","Hcl","hcl2lab","rgb2lrgb","xyz2lab","z","lab","lab2xyz","lrgb2rgb","hclConvert","atan2","lch","hcl","A","B","C","D","ED","EB","BC_DA","cubehelixConvert","Cubehelix","bl","cubehelix","cosh","sinh","35","area","ring","contains","hole","ringContains","yi","pj","yj","segmentContains","collinear","within","noop","cases","contours","smooth","smoothLinear","contour","polygons","holes","isorings","coordinates","callback","fragmentByStart","fragmentByEnd","stitch","startIndex","endIndex","concat","xt","yt","v0","v1","_0","_1","blurX","blurY","defaultX","defaultY","defaultWeight","density","weight","Float32Array","wi","geometry","transformPolygon","transformRing","transformPoint","resize","cellSize","contourDensity","36","test","Dispatch","parseTypenames","typenames","types","indexOf","typename","T","37","nodrag","document","documentElement","__noselect","MozUserSelect","yesdrag","noclick","DragEvent","subject","defaultContainer","defaultSubject","drag","container","gestures","mousedownx","mousedowny","mousemoving","clickDistance2","mousedowned","touchstarted","gesture","mousemoved","mouseupped","clientX","clientY","sublisteners","p0","clickDistance","38","EOL","EOF","QUOTE","NEWLINE","RETURN","objectConverter","columns","Function","JSON","stringify","customConverter","inferColumns","rows","columnSet","column","pad","formatYear","year","formatDate","date","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","milliseconds","getUTCMilliseconds","getUTCFullYear","getUTCMonth","getUTCDate","dsv","delimiter","reFormat","DELIMITER","charCodeAt","parse","convert","parseRows","I","eof","eol","token","preformatBody","formatValue","formatBody","formatRows","formatRow","Date","csv","csvParse","csvParseRows","csvFormat","csvFormatBody","csvFormatRows","csvFormatRow","csvFormatValue","tsv","tsvParse","tsvParseRows","tsvFormat","tsvFormatBody","tsvFormatRows","tsvFormatRow","tsvFormatValue","autoType","match","fixtz","getHours","dsvFormat","39","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","exponent","polyIn","custom","polyOut","polyInOut","sinIn","sinOut","sinInOut","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","b3","b4","b5","b6","b7","b8","b9","b0","bounceIn","bounceOut","bounceInOut","overshoot","backIn","backOut","backInOut","amplitude","period","elasticIn","asin","elasticOut","elasticInOut","easeBack","easeBackIn","easeBackInOut","easeBackOut","easeBounce","easeBounceIn","easeBounceInOut","easeBounceOut","easeCircle","easeCircleIn","easeCircleInOut","easeCircleOut","easeCubic","easeCubicIn","easeCubicInOut","easeCubicOut","easeElastic","easeElasticIn","easeElasticInOut","easeElasticOut","easeExp","easeExpIn","easeExpInOut","easeExpOut","easeLinear","easePoly","easePolyIn","easePolyInOut","easePolyOut","easeQuad","easeQuadIn","easeQuadInOut","easeQuadOut","easeSin","easeSinIn","easeSinInOut","easeSinOut","40","d3Dsv","responseBlob","response","ok","status","statusText","blob","init","fetch","then","responseArrayBuffer","arrayBuffer","responseText","dsvParse","image","Promise","resolve","reject","Image","onerror","onload","src","responseJson","json","parser","text$$1","DOMParser","parseFromString","xml","d3-dsv","41","d3Quadtree","d3Collection","d3Timer","force","jiggle","vx","vy","collide","radii","strength","iterations","tree","ri","ri2","quadtree","visitAfter","prepare","visit","quad","y0","rj","find","nodeById","nodeId","link","links","defaultStrength","strengths","distance","distances","bias","alpha","initializeStrength","initializeDistance","x$1","y$1","initialRadius","initialAngle","simulation","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","timer","fx","fy","initializeNodes","angle","initializeForce","restart","d2","closest","Infinity","manyBody","distanceMin2","distanceMax2","theta2","accumulate","next","x2","distanceMin","distanceMax","theta","radial","radiuses","x$2","y$2","yz","forceCenter","forceCollide","forceLink","forceManyBody","forceRadial","forceSimulation","forceX","forceY","d3-collection","d3-quadtree","d3-timer","42","formatDecimal","toExponential","coefficient","formatGroup","grouping","thousands","substring","formatNumerals","numerals","re","formatSpecifier","specifier","FormatSpecifier","fill","align","sign","symbol","zero","comma","precision","formatTrim","out","prefixExponent","formatPrefixAuto","formatRounded","formatTypes","%","toFixed","toPrecision","toUpperCase","prefixes","formatLocale","locale","currencyPrefix","currency","currencySuffix","decimal","percent","minus","nan","newFormat","suffix","formatType","maybeSuffix","valuePrefix","valueSuffix","valueNegative","formatPrefix","defaultLocale","precisionFixed","precisionPrefix","precisionRound","formatDefaultLocale","43","adder","Adder","reset","temp","valueOf","bv","av","epsilon2","quarterPi","degrees","radians","atan","exp","acos","haversin","streamGeometry","stream","streamGeometryType","streamObjectType","Feature","FeatureCollection","features","Sphere","sphere","Point","MultiPoint","LineString","streamLine","MultiLineString","Polygon","streamPolygon","MultiPolygon","GeometryCollection","geometries","closed","coordinate","lineStart","lineEnd","polygonStart","polygonEnd","geoStream","areaRingSum","areaSum","lambda00","phi00","lambda0","cosPhi0","sinPhi0","areaStream","areaRingStart","areaRingEnd","areaRing","areaPointFirst","areaPoint","lambda","phi","dLambda","sdLambda","adLambda","cosPhi","sinPhi","spherical","cartesian","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","cartesianNormalizeInPlace","lambda0$1","phi0","lambda1","phi1","lambda2","lambda00$1","phi00$1","deltaSum","ranges","boundsStream","boundsPoint","boundsLineStart","boundsLineEnd","boundsRingPoint","boundsRingStart","boundsRingEnd","linePoint","equatorial","inflection","lambdai","phii","antimeridian","rangeCompare","rangeContains","bounds","feature","deltaMax","W0","W1","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","lambda00$2","phi00$2","z0","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroidPointCartesian","centroidLinePointFirst","centroidLinePoint","centroidRingPointFirst","centroidRingPoint","cz","centroid","compose","invert","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","rotate","forward","circleStream","direction","cosRadius","sinRadius","circleRadius","clipBuffer","rejoin","pointEqual","Intersection","other","clipRejoin","segments","compareIntersection","startInside","clip","segment","current","isSubject","longitude","polygonContains","winding","sinPhi1","cosPhi1","absDelta","intersection","phiArc","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","pointRing","ringStart","ringEnd","pointLine","ringSegments","validSegment","clipAntimeridian","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","sign1","clipAntimeridianIntersect","sinLambda0Lambda1","from","to","clipCircle","cr","smallRadius","notHemisphere","visible","c0","v00","point2","two","pa","pb","n2","n2n2","n1n2","determinant","n1xn2","uu","polar","meridian","ax","ay","bx","by","clipMax","clipMin","clipRectangle","corner","comparePoint","ca","cb","activeStream","bufferStream","x__","y__","v__","x_","y_","v_","first","clipStream","polygonInside","cleanInside","cache","cacheStream","lengthSum","lambda0$2","sinPhi0$1","cosPhi0$1","lengthStream","lengthLineStart","lengthPointFirst","lengthLineEnd","lengthPoint","cosDelta","sinDelta","containsObjectType","containsGeometry","containsGeometryType","containsPoint","containsLine","containsPolygon","ao","bo","ab","ringRadians","pointRadians","graticuleX","graticuleY","graticule","DX","DY","outline","extentMinor","extentMajor","stepMinor","stepMajor","graticule10","cy0","cy1","sy1","kx0","ky0","kx1","ky1","areaSum$1","areaRingSum$1","x00","y00","x0$1","y0$1","areaStream$1","areaRingStart$1","areaRingEnd$1","areaPointFirst$1","areaPoint$1","x0$2","y0$2","boundsStream$1","boundsPoint$1","X0$1","Y0$1","Z0$1","X1$1","Y1$1","Z1$1","X2$1","Y2$1","Z2$1","x00$1","y00$1","x0$3","y0$3","centroidStream$1","centroidPoint$1","centroidLineStart$1","centroidLineEnd$1","centroidRingStart$1","centroidRingEnd$1","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","PathContext","_context","_radius","pointRadius","_line","_point","lineTo","lengthSum$1","lengthRing","x00$2","y00$2","x0$4","y0$4","lengthStream$1","lengthPointFirst$1","lengthPoint$1","PathString","_string","_circle","circle$1","projection","projectionStream","contextStream","measure","methods","transformer","TransformStream","fit","fitBounds","clipExtent","fitExtent","fitSize","fitWidth","fitHeight","maxDepth","cosMinDistance","resample","project","delta2","resample$1","resampleNone","resampleLineTo","phi2","y2","dx2","dy2","dz","a00","b00","c00","resampleStream","ringPoint","transformRadians","transformRotate","scaleTranslate","scaleTranslateRotate","cosAlpha","sinAlpha","ai","bi","ci","fi","projectionMutator","projectAt","preclip","postclip","projectResample","projectTransform","projectRotateTransform","clipAngle","recenter","conicProjection","parallels","cylindricalEqualAreaRaw","conicEqualAreaRaw","r0","r0y","conicEqualArea","albers","multiplex","streams","albersUsa","lower48","lower48Point","alaska","alaskaPoint","hawaii","hawaiiPoint","pointStream","azimuthalRaw","azimuthalInvert","sc","cc","azimuthalEqualAreaRaw","cxcy","azimuthalEqualArea","azimuthalEquidistantRaw","azimuthalEquidistant","mercatorRaw","mercator","mercatorProjection","reclip","tany","conicConformalRaw","conicConformal","equirectangularRaw","equirectangular","conicEquidistantRaw","gy","nx","conicEquidistant","A1","A2","A3","A4","M","equalEarthRaw","l2","l6","fpy","equalEarth","gnomonicRaw","gnomonic","scaleTranslate$1","kx","ky","tx","ty","identity$1","reflectX","reflectY","naturalEarth1Raw","phi4","naturalEarth1","orthographicRaw","orthographic","stereographicRaw","stereographic","transverseMercatorRaw","transverseMercator","geoAlbers","geoAlbersUsa","geoArea","geoAzimuthalEqualArea","geoAzimuthalEqualAreaRaw","geoAzimuthalEquidistant","geoAzimuthalEquidistantRaw","geoBounds","geoCentroid","geoCircle","geoClipAntimeridian","geoClipCircle","geoClipExtent","geoClipRectangle","geoConicConformal","geoConicConformalRaw","geoConicEqualArea","geoConicEqualAreaRaw","geoConicEquidistant","geoConicEquidistantRaw","geoContains","geoDistance","geoEqualEarth","geoEqualEarthRaw","geoEquirectangular","geoEquirectangularRaw","geoGnomonic","geoGnomonicRaw","geoGraticule","geoGraticule10","geoIdentity","geoInterpolate","geoLength","geoMercator","geoMercatorRaw","geoNaturalEarth1","geoNaturalEarth1Raw","geoOrthographic","geoOrthographicRaw","geoPath","geoProjection","geoProjectionMutator","geoRotation","geoStereographic","geoStereographicRaw","geoTransform","geoTransverseMercator","geoTransverseMercatorRaw","44","defaultSeparation","meanX","meanXReduce","maxY","maxYReduce","leafLeft","leafRight","cluster","separation","nodeSize","previousNode","eachAfter","node_count","node_each","node_eachBefore","node_eachAfter","node_sum","node_sort","eachBefore","node_path","ancestor","leastCommonAncestor","splice","aNodes","ancestors","bNodes","node_ancestors","node_descendants","node_leaves","leaves","node_links","hierarchy","Node","valued","child","childs","defaultChildren","computeHeight","node_copy","copyData","descendants","enclose","circles","enclosesWeak","encloseBasis","extendBasis","enclosesWeakAll","enclosesNot","encloseBasis2","encloseBasis3","dr","encloseBasis1","x21","y21","r21","x3","y3","a3","c3","d1","xa","xb","ya","yb","place","intersects","score","Node$1","previous","packEnclose","aa","sj","sk","pack","siblings","optional","required","constantZero","radiusLeaf","packChildren","translateChild","roundNode","treemapDice","partition","positionNode","keyPrefix","preroot","ambiguous","defaultId","defaultParentId","parentId","stratify","nodeKey","nodeByKey","defaultSeparation$1","nextLeft","nextRight","moveSubtree","wm","wp","change","executeShifts","nextAncestor","vim","TreeNode","treeRoot","firstWalk","secondWalk","sizeNode","midpoint","apportion","vip","vop","vom","sip","sop","sim","som","treemapSlice","squarifyRatio","ratio","nodeValue","sumValue","minValue","maxValue","newRatio","minRatio","beta","dice","squarify","index$1","tile","paddingStack","paddingInner","treemap","paddingOuter","binary","sums","valueOffset","valueTarget","valueLeft","valueRight","xk","yk","sliceDice","resquarify","_squarify","packSiblings","treemapBinary","treemapResquarify","treemapSliceDice","treemapSquarify","45","d3Color","basis","v2","v3","basis$1","basisClosed","exponential","hue","gamma","nogamma","rgbGamma","rgbSpline","spline","colors","rgbBasis","rgbBasisClosed","numberArray","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","setTime","reA","reB","one","string","lastIndex","am","bm","bs","discrete","hue$1","skewX","scaleX","scaleY","decompose","cssNode","cssRoot","cssView","svgNode","parseCss","createElement","defaultView","getComputedStyle","getPropertyValue","removeChild","parseSvg","createElementNS","setAttribute","consolidate","interpolateTransform","pxComma","pxParen","degParen","interpolateTransformCss","interpolateTransformSvg","rho","rho2","rho4","tanh","zoom","ux0","uy0","ux1","uy1","coshr0","duration","hsl$1","hslLong","hcl$1","hclLong","cubehelixGamma","cubehelix$1","cubehelixLong","piecewise","quantize","interpolator","samples","interpolateArray","interpolateBasis","interpolateBasisClosed","interpolateCubehelix","interpolateCubehelixLong","interpolateDate","interpolateDiscrete","interpolateHcl","interpolateHclLong","interpolateHsl","interpolateHslLong","interpolateHue","interpolateLab","interpolateNumber","interpolateNumberArray","interpolateObject","interpolateRgb","interpolateRgbBasis","interpolateRgbBasisClosed","interpolateRound","interpolateString","interpolateZoom","d3-color","46","tauEpsilon","Path","_x0","_y0","_x1","_y1","bezierCurveTo","arcTo","x01","y01","l01_2","x20","y20","l21_2","l20_2","l21","l01","t01","t21","ccw","cw","da","47","lexicographicOrder","computeUpperHullIndexes","hull","sortedPoints","flippedPoints","upperIndexes","lowerIndexes","skipLeft","skipRight","inside","perimeter","polygonArea","polygonCentroid","polygonHull","polygonLength","48","tree_add","_x","_y","cover","_root","leaf","xm","ym","xp","yp","addAll","tree_cover","tree_data","tree_extent","Quad","tree_find","quads","tree_remove","retainer","removeAll","tree_root","tree_size","tree_visit","tree_visitAfter","tree_x","tree_y","Quadtree","leaf_copy","treeProto","49","uniform","sourceRandomUniform","randomUniform","sourceRandomNormal","randomNormal","mu","sigma","logNormal","sourceRandomLogNormal","randomLogNormal","irwinHall","sourceRandomIrwinHall","randomIrwinHall","bates","sourceRandomBates","randomBates","sourceRandomExponential","randomExponential","50","category10","Accent","Dark2","Paired","Pastel1","Pastel2","Set1","Set2","Set3","Tableau10","ramp","scheme","BrBG","scheme$1","PRGn","scheme$2","PiYG","scheme$3","PuOr","scheme$4","RdBu","scheme$5","RdGy","scheme$6","RdYlBu","scheme$7","RdYlGn","scheme$8","Spectral","scheme$9","BuGn","scheme$a","BuPu","scheme$b","GnBu","scheme$c","OrRd","scheme$d","PuBuGn","scheme$e","PuBu","scheme$f","PuRd","scheme$g","RdPu","scheme$h","YlGnBu","scheme$i","YlGn","scheme$j","YlOrBr","scheme$k","YlOrRd","scheme$l","Blues","scheme$m","Greens","scheme$n","Greys","scheme$o","Purples","scheme$p","Reds","scheme$q","Oranges","cividis","warm","cool","rainbow","ts","c$1","pi_1_3","pi_2_3","sinebow","turbo","ramp$1","viridis","magma","inferno","plasma","interpolateBlues","interpolateBrBG","interpolateBuGn","interpolateBuPu","interpolateCividis","interpolateCool","interpolateCubehelixDefault","interpolateGnBu","interpolateGreens","interpolateGreys","interpolateInferno","interpolateMagma","interpolateOrRd","interpolateOranges","interpolatePRGn","interpolatePiYG","interpolatePlasma","interpolatePuBu","interpolatePuBuGn","interpolatePuOr","interpolatePuRd","interpolatePurples","interpolateRainbow","interpolateRdBu","interpolateRdGy","interpolateRdPu","interpolateRdYlBu","interpolateRdYlGn","interpolateReds","interpolateSinebow","interpolateSpectral","interpolateTurbo","interpolateViridis","interpolateWarm","interpolateYlGn","interpolateYlGnBu","interpolateYlOrBr","interpolateYlOrRd","schemeAccent","schemeBlues","schemeBrBG","schemeBuGn","schemeBuPu","schemeCategory10","schemeDark2","schemeGnBu","schemeGreens","schemeGreys","schemeOrRd","schemeOranges","schemePRGn","schemePaired","schemePastel1","schemePastel2","schemePiYG","schemePuBu","schemePuBuGn","schemePuOr","schemePuRd","schemePurples","schemeRdBu","schemeRdGy","schemeRdPu","schemeRdYlBu","schemeRdYlGn","schemeReds","schemeSet1","schemeSet2","schemeSet3","schemeSpectral","schemeTableau10","schemeYlGn","schemeYlGnBu","schemeYlOrBr","schemeYlOrRd","51","d3Format","d3Time","d3TimeFormat","initRange","initInterpolator","implicit","ordinal","unknown","band","ordinalRange","rescale","rangeRound","pointish","unit","normalize","clamper","bimap","d0","polymap","clamp","untransform","continuous","linearish","nice","interval","transformLog","transformExp","transformLogn","transformExpn","pow10","powp","base","logp","log10","log2","reflect","loggish","logs","pows","transformSymlog","log1p","transformSymexp","expm1","symlogish","symlog","transformPow","transformSqrt","transformSquare","powish","invertExtent","quantiles","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","number$1","calendar","month","week","day","hour","minute","second","millisecond","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickIntervals","tickInterval","every","time","timeYear","timeMonth","timeWeek","timeDay","timeHour","timeMinute","timeSecond","timeMillisecond","timeFormat","utcTime","utcYear","utcMonth","utcWeek","utcDay","utcHour","utcMinute","utcSecond","utcMillisecond","utcFormat","UTC","transformer$1","k10","copy$1","sequential","sequentialLog","sequentialSymlog","sequentialPow","sequentialSqrt","sequentialQuantile","transformer$2","k21","diverging","divergingLog","divergingSymlog","divergingPow","divergingSqrt","scaleBand","scalePoint","scaleIdentity","scaleLinear","scaleLog","scaleSymlog","scaleOrdinal","scaleImplicit","scalePow","scaleSqrt","scaleQuantile","scaleQuantize","scaleThreshold","scaleTime","scaleUtc","scaleSequential","scaleSequentialLog","scaleSequentialPow","scaleSequentialSqrt","scaleSequentialSymlog","scaleSequentialQuantile","scaleDiverging","scaleDivergingLog","scaleDivergingPow","scaleDivergingSqrt","scaleDivergingSymlog","d3-format","d3-time","d3-time-format","52","xhtml","namespaces","xlink","xmlns","namespace","space","creatorInherit","ownerDocument","uri","namespaceURI","creatorFixed","fullname","creator","none","selector","querySelector","selection_select","_groups","subgroup","subnode","Selection","_parents","selectorAll","querySelectorAll","selection_selectAll","parents","matcher","matches","selection_filter","sparse","update","selection_enter","_enter","EnterNode","datum","_next","_parent","insertBefore","bindIndex","groupLength","dataLength","bindKey","nodeByKeyValue","keyValues","selection_data","bind","enterGroup","updateGroup","exitGroup","_exit","selection_exit","selection_join","onenter","onupdate","onexit","selection_merge","groups0","groups1","m0","merges","group0","group1","selection_order","compareDocumentPosition","selection_sort","compareNode","sortgroups","sortgroup","selection_call","selection_nodes","selection_node","selection_size","selection_empty","selection_each","attrRemove","removeAttribute","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","selection_attr","getAttributeNS","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","selection_style","styleValue","propertyRemove","propertyConstant","propertyFunction","selection_property","classArray","classList","ClassList","_node","_names","classedAdd","names","list","classedRemove","classedTrue","classedFalse","classedFunction","selection_classed","textRemove","textContent","textConstant","textFunction","selection_text","htmlRemove","innerHTML","htmlConstant","htmlFunction","selection_html","raise","nextSibling","selection_raise","lower","previousSibling","firstChild","selection_lower","selection_append","constantNull","selection_insert","before","selection_remove","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","selection_clone","deep","selection_datum","filterEvents","element","mouseenter","mouseleave","filterContextListener","listener","contextListener","related","relatedTarget","event1","event0","onRemove","__on","removeEventListener","capture","onAdd","wrap","addEventListener","selection_on","sourceEvent","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","selection_dispatch","nextId","Local","createSVGPoint","matrixTransform","clientLeft","clientTop","clientPoint","53","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","arcEndAngle","arcPadAngle","x10","y10","x32","y32","cornerTangents","rc","ox","oy","x11","y11","cx0","cx1","dx0","dy0","dx1","dy1","cornerRadius","padRadius","a01","a11","a10","da0","da1","ap","rp","rc0","rc1","oc","kc","lc","Linear","areaStart","areaEnd","defined","defined0","x0z","y0z","arealine","lineX0","lineY0","lineY1","lineX1","pie","arcs","curveRadialLinear","curveRadial","Radial","_curve","lineRadial","lineRadial$1","areaRadial","lineStartAngle","lineEndAngle","lineInnerRadius","lineOuterRadius","pointRadial","linkSource","linkTarget","curveHorizontal","curveVertical","curveRadial$1","p3","linkHorizontal","linkVertical","linkRadial","draw","tan30","tan30_2","ka","kr","star","square","sqrt3","triangle","wye","symbols","Basis","BasisClosed","_x2","_x3","_x4","_y2","_y3","_y4","BasisOpen","basisOpen","Bundle","_basis","_beta","bundle","point$1","_k","Cardinal","tension","cardinal","CardinalClosed","_x5","_y5","cardinalClosed","CardinalOpen","cardinalOpen","point$2","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","CatmullRom","_alpha","x23","y23","catmullRom","CatmullRomClosed","catmullRomClosed","CatmullRomOpen","catmullRomOpen","LinearClosed","linearClosed","slope3","h0","h1","slope2","point$3","MonotoneX","_t0","MonotoneY","ReflectContext","monotoneX","monotoneY","Natural","controlPoints","natural","Step","_t","stepBefore","stepAfter","series","none$1","stackValue","stack","kz","sz","oz","ki","si","sij","expand","yn","silhouette","wiggle","s2","sij0","sij1","s3","skj0","skj1","appearance","peaks","peak","vi","vj","descending$1","insideOut","tops","bottoms","curveBasis","curveBasisClosed","curveBasisOpen","curveBundle","curveCardinal","curveCardinalClosed","curveCardinalOpen","curveCatmullRom","curveCatmullRomClosed","curveCatmullRomOpen","curveLinearClosed","curveMonotoneX","curveMonotoneY","curveNatural","curveStep","curveStepAfter","curveStepBefore","radialArea","radialLine","stackOffsetDiverging","stackOffsetExpand","stackOffsetNone","stackOffsetSilhouette","stackOffsetWiggle","stackOrderAppearance","stackOrderAscending","stackOrderDescending","stackOrderInsideOut","stackOrderNone","stackOrderReverse","symbolCircle","symbolCross","symbolDiamond","symbolSquare","symbolStar","symbolTriangle","symbolWye","54","localDate","H","L","setFullYear","utcDate","setUTCFullYear","newDate","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","formatRe","periodLookup","formatLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","formatShortWeekday","formatWeekday","formatShortMonth","formatDayOfMonth","formatMicroseconds","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMonthNumber","formatMinutes","formatPeriod","formatQuarter","Q","formatUnixTimestamp","formatUnixTimestampSeconds","formatSeconds","formatWeekdayNumberMonday","U","formatWeekNumberSunday","V","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatFullYear","Z","formatZone","formatLiteralPercent","utcFormats","formatUTCShortWeekday","formatUTCWeekday","formatUTCShortMonth","formatUTCMonth","formatUTCDayOfMonth","formatUTCMicroseconds","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCPeriod","formatUTCQuarter","formatUTCSeconds","formatUTCWeekdayNumberMonday","formatUTCWeekNumberSunday","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCFullYear","formatUTCZone","parses","parseShortWeekday","parseWeekday","parseShortMonth","parseMonth","parseLocaleDateTime","parseDayOfMonth","parseMicroseconds","parseHour24","parseDayOfYear","parseMilliseconds","parseMonthNumber","parseMinutes","parsePeriod","parseQuarter","parseUnixTimestamp","parseUnixTimestampSeconds","parseSeconds","parseWeekdayNumberMonday","parseWeekNumberSunday","parseWeekNumberISO","parseWeekdayNumberSunday","parseWeekNumberMonday","parseLocaleDate","parseLocaleTime","parseYear","parseFullYear","parseZone","parseLiteralPercent","pads","charAt","newParse","parseSpecifier","getUTCDay","utcMonday","getDay","timeMonday","getFullYear","getMonth","getDate","utcParse","-","0","numberRe","percentRe","requoteRe","requote","getMilliseconds","getMinutes","getSeconds","timeSunday","timeThursday","getTimezoneOffset","dow","utcSunday","utcThursday","timeParse","isoSpecifier","formatIsoNative","toISOString","formatIso","parseIsoNative","parseIso","isoFormat","isoParse","timeFormatDefaultLocale","timeFormatLocale","55","newInterval","floori","offseti","field","setHours","setDate","weekday","sunday","monday","tuesday","wednesday","thursday","friday","saturday","sundays","mondays","tuesdays","wednesdays","thursdays","fridays","saturdays","setMonth","years","setUTCSeconds","utcMinutes","setUTCMinutes","utcHours","setUTCHours","setUTCDate","utcDays","utcWeekday","utcTuesday","utcWednesday","utcFriday","utcSaturday","utcSundays","utcMondays","utcTuesdays","utcWednesdays","utcThursdays","utcFridays","utcSaturdays","setUTCMonth","utcMonths","utcYears","timeDays","timeFriday","timeFridays","timeHours","timeInterval","timeMilliseconds","timeMinutes","timeMondays","timeMonths","timeSaturday","timeSaturdays","timeSeconds","timeSundays","timeThursdays","timeTuesday","timeTuesdays","timeWednesday","timeWednesdays","timeWeeks","timeYears","utcMilliseconds","utcSeconds","utcWeeks","56","frame","timeout","pokeDelay","taskHead","taskTail","clockLast","clockNow","clockSkew","clock","performance","now","setFrame","requestAnimationFrame","clearNow","Timer","_call","_time","delay","TypeError","sleep","timerFlush","wake","nap","poke","clearInterval","setInterval","timeout$1","elapsed","interval$1","total","57","d3Ease","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","timing","schedules","__transition","ease","selection_interrupt","tweenRemove","tween0","tween1","tweenFunction","transition_tween","_id","tweenValue","string00","string1","interpolate0","string0","string10","transition_attr","attrTween","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","transition_attrTween","delayFunction","delayConstant","transition_delay","durationFunction","durationConstant","transition_duration","easeConstant","transition_ease","transition_filter","Transition","_name","transition_merge","onFunction","on0","on1","sit","transition_on","removeFunction","transition_remove","transition_select","transition_selectAll","inherit","transition_selection","styleNull","styleMaybeRemove","listener0","transition_style","styleTween","styleInterpolate","transition_styleTween","transition_text","textInterpolate","textTween","transition_textTween","transition_transition","id0","id1","newId","transition_end","cancel","selection_prototype","defaultTiming","selection_transition","d3-ease","58","RedBlackTree","RedBlackNode","R","P","after","grandpa","uncle","RedBlackFirst","RedBlackRotateLeft","RedBlackRotateRight","sibling","createEdge","setEdgeEnd","cells","halfedges","createBorderEdge","vertex","clipEdge","connectEdge","lx","ly","fm","fb","clipEdges","createCell","site","cellHalfedgeAngle","cell","va","vb","cellHalfedgeStart","cellHalfedgeEnd","sortCellHalfedges","clipCells","nCells","iCell","iHalfedge","nHalfedges","startX","startY","endX","endY","dc","v01","v11","v10","circlePool","firstCircle","Circle","attachCircle","lArc","rArc","lSite","cSite","rSite","ha","hc","detachCircle","beachPool","Beach","createBeach","beach","detachBeach","beaches","removeBeach","disappearing","nArcs","iArc","addBeach","directrix","dxl","dxr","leftBreakPoint","rightBreakPoint","newArc","hb","rfocx","rfocy","pby2","lfocx","lfocy","plby2","hl","aby2","triangleArea","lexicographic","Diagram","sites","triangles","_found","voronoi","x$$1","y$$1","59","ZoomEvent","Transform","applyX","applyY","invertX","invertY","rescaleX","rescaleY","__zoom","SVGElement","clientWidth","clientHeight","defaultTransform","defaultWheelDelta","deltaY","deltaMode","defaultConstrain","translateExtent","constrain","wheelDelta","scaleExtent","touchstarting","touchDelay","wheelDelay","wheeled","dblclicked","collection","scaleBy","scaleTo","k0","k1","translateBy","translateTo","__zooming","Gesture","taps","touch0","touch1","wheel","wheelidled","l0","l1","dp","dl","zoomIdentity","zoomTransform","60","d3Axis","d3Brush","d3Chord","d3Contour","d3Fetch","d3Force","d3Geo","d3Hierarchy","d3Polygon","d3Random","d3Scale","d3ScaleChromatic","d3Shape","d3Voronoi","d3Zoom","enumerable","d3-axis","d3-brush","d3-chord","d3-contour","d3-fetch","d3-force","d3-geo","d3-hierarchy","d3-polygon","d3-random","d3-scale","d3-scale-chromatic","d3-shape","d3-voronoi","d3-zoom","61","debug","notime","./lib/debug","./lib/layout","62","greedyFAS","run","undo","fas","acyclicer","weightFn","dfsFAS","removeEdge","forwardName","reversed","setEdge","visited","dfs","outEdges","./greedy-fas","63","addBorderSegments","borderLeft","borderRight","rank","minRank","maxRank","addBorderNode","prop","sg","sgNode","borderType","prev","curr","addDummyNode","setParent","64","adjust","rankDir","rankdir","swapWidthHeight","reverseY","swapXY","swapWidthHeightOne","attrs","reverseYOne","swapXYOne","65","List","sentinel","_prev","_sentinel","dequeue","unlink","enqueue","strs","filterOutLinks","66","Graph","debugOrdering","layerMatrix","buildLayerMatrix","compound","multigraph","setGraph","setNode","layer","layerV","./graphlib","67","68","DEFAULT_WEIGHT_FN","nodeCount","buildState","results","doGreedyFAS","buckets","zeroIdx","flatten","sources","sinks","removeNode","collectPredecessors","inEdges","uEntry","assignBucket","wEntry","fasGraph","maxIn","maxOut","in","prevWeight","edgeWeight","./data/list","69","acyclic","normalizeRanks","parentDummyChains","removeEmptyRanks","nestingGraph","coordinateSystem","opts","debugTiming","layoutGraph","buildLayoutGraph","runLayout","updateInputGraph","makeSpaceForEdgeLabels","removeSelfEdges","asNonCompoundGraph","injectEdgeLabelProxies","cleanup","assignRankMinMax","removeEdgeLabelProxies","insertSelfEdges","positionSelfEdges","removeBorderNodes","fixupEdgeLabelCoords","translateGraph","assignNodeIntersects","reversePointsForReversedEdges","inputGraph","inputLabel","layoutLabel","graphNumAttrs","graphDefaults","ranksep","edgesep","nodesep","graphAttrs","nodeNumAttrs","nodeDefaults","edgeNumAttrs","edgeDefaults","minlen","labeloffset","labelpos","edgeAttrs","canonicalize","selectNumberAttrs","borderTop","borderBottom","dummy","labelRank","maxX","graphLabel","marginX","marginx","marginY","marginy","getExtremes","nodeV","nodeW","last","selfEdges","layers","orderShift","selfEdge","selfNode","obj","mapValues","newAttrs","./acyclic","./add-border-segments","./coordinate-system","./nesting-graph","./normalize","./order","./parent-dummy-chains","./position","./rank","70","cloneDeep","forIn","isUndefined","minBy","sortBy","zipObject","lodash/cloneDeep","lodash/constant","lodash/filter","lodash/find","lodash/flatten","lodash/forEach","lodash/forIn","lodash/isUndefined","lodash/last","lodash/map","lodash/mapValues","lodash/max","lodash/merge","lodash/min","lodash/minBy","lodash/now","lodash/reduce","lodash/sortBy","lodash/values","lodash/zipObject","71","depths","treeDepths","nodeSep","nestingRoot","sumWeights","nodeRankFactor","childNode","childTop","childBottom","thisWeight","nestingEdge","acc","72","dummyChains","normalizeEdge","vRank","wRank","edgeLabel","edgeObj","origLabel","successors","73","addSubgraphConstraints","cg","vs","rootPrev","prevChild","../lodash","74","barycenter","movable","inV","nodeU","75","buildLayerGraph","relationship","createRootNode","setDefaultNodeLabel","hasNode","../graphlib","76","crossCount","layering","twoLayerCrossCount","northLayer","southLayer","southPos","southEntries","pos","firstIndex","treeSize","weightSum","77","initOrder","sortSubgraph","downLayerGraphs","buildLayerGraphs","upLayerGraphs","assignOrder","bestCC","best","lastBest","sweepLayerGraphs","ranks","layerGraphs","biasRight","lg","sorted","./add-subgraph-constraints","./build-layer-graph","./cross-count","./init-order","./sort-subgraph","78","orderedVs","79","resolveConflicts","mappedEntries","tmp","indegree","entryV","entryW","sourceSet","doResolveConflicts","handleIn","vEntry","mergeEntries","handleOut","80","br","subgraphs","barycenters","subgraphResult","mergeBarycenters","expandSubgraphs","predecessors","blPred","brPred","./barycenter","./resolve-conflicts","./sort","81","parts","sortable","lhs","unsortable","rhs","vsIndex","compareWithBias","consumeUnsortable","82","postorderNums","postorder","pathData","findPath","lca","pathIdx","pathV","vPath","wPath","low","lim","83","positionX","findType1Conflicts","findType2Conflicts","addConflict","hasConflict","verticalAlignment","horizontalCompaction","alignCoordinates","findSmallestWidthAlignment","balance","conflicts","visitLayer","prevLayer","scanPos","prevLayerLength","lastNode","findOtherInnerSegmentNode","scanNode","uLabel","uPos","south","southEnd","prevNorthBorder","nextNorthBorder","uNode","north","prevNorthPos","nextNorthPos","southLookahead","conflictsV","neighborFn","prevIdx","ws","mp","il","reverseSep","xs","blockG","buildBlockGraph","iterate","setXsFunc","nextNodesFunc","pass1","pass2","blockGraph","sepFn","sep","vRoot","uRoot","prevMax","xss","NEGATIVE_INFINITY","halfWidth","alignTo","alignToVals","alignToMin","alignToMax","vert","horiz","alignment","xsVals","ul","ignore","adjustedLayering","inner","smallestWidth","edgeSep","vLabel","wLabel","84","positionY","rankSep","prevY","maxHeight","./bk","85","slack","feasibleTree","directed","tightTree","findMinSlackEdge","shiftRanks","nodeEdges","edgeV","86","rankUtil","longestPath","networkSimplex","ranker","networkSimplexRanker","tightTreeRanker","longestPathRanker","./feasible-tree","./network-simplex","87","initRank","preorder","alg","simplify","initLowLimValues","initCutValues","calcCutValue","leaveEdge","enterEdge","exchangeEdges","assignCutValue","childLab","cutvalue","childIsTail","graphEdge","cutValue","isOutEdge","pointsToHead","otherWeight","isTreeEdge","otherCutValue","dfsAssignLowLim","nextLim","neighbors","hasEdge","tailLabel","flip","candidates","isDescendant","updateRanks","flipped","rootLabel","88","89","successorWeights","predecessorWeights","simplified","simpleLabel","isMultigraph","weightMap","sucs","preds","90","91","lib","./lib","./lib/alg","./lib/json","92","components","cmpts","cmpt","93","navigation","isDirected","doDfs","94","dijkstra","dijkstraAll","weightFunc","edgeFunc","./dijkstra","95","PriorityQueue","DEFAULT_WEIGHT_FUNC","edgeFn","runDijkstra","pq","updateNeighbors","predecessor","decrease","removeMin","../data/priority-queue","96","tarjan","findCycles","./tarjan","97","floydWarshall","runFloydWarshall","rowK","rowI","ik","kj","ij","altDistance","98","isAcyclic","prim","topsort","./components","./dijkstra-all","./find-cycles","./floyd-warshall","./is-acyclic","./postorder","./preorder","./prim","./topsort","99","CycleException","100","./dfs","101","102","pri","../graph","103","onStack","lowlink","104","105","_arr","_keyIndices","keyIndices","arr","_decrease","_swap","_heapify","largest","origArrI","origArrJ","106","DEFAULT_EDGE_NAME","GRAPH_NODE","EDGE_KEY_DELIM","_isDirected","_isMultigraph","_isCompound","_label","_defaultNodeLabelFn","_defaultEdgeLabelFn","_nodes","_children","_in","_preds","_out","_sucs","_edgeObjs","_edgeLabels","_nodeCount","_edgeCount","isCompound","newDefault","isEmpty","setNodes","_removeFromParentsChildList","predsV","sucsV","union","isLeaf","filterNodes","findParent","setDefaultEdgeLabel","edgeCount","setPath","valueSpecified","arg0","edgeArgsToId","edgeArgsToObj","freeze","incrementOrInitEntry","edgeObjToId","decrementOrRemoveEntry","outV","w_","107","./graph","./version","108","write","read","options","writeNodes","writeEdges","edgeValue","109","lodash/clone","lodash/isArray","lodash/isEmpty","lodash/keys","lodash/size","lodash/transform","lodash/union","110","111","getNative","./_getNative","./_root","112","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","./_hashClear","./_hashDelete","./_hashGet","./_hashHas","./_hashSet","113","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","./_listCacheClear","./_listCacheDelete","./_listCacheGet","./_listCacheHas","./_listCacheSet","114","115","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","./_mapCacheClear","./_mapCacheDelete","./_mapCacheGet","./_mapCacheHas","./_mapCacheSet","116","117","118","setCacheAdd","setCacheHas","SetCache","./_MapCache","./_setCacheAdd","./_setCacheHas","119","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","./_ListCache","./_stackClear","./_stackDelete","./_stackGet","./_stackHas","./_stackSet","120","Symbol","121","Uint8Array","122","WeakMap","123","func","thisArg","124","arrayEach","iteratee","125","arrayFilter","predicate","resIndex","126","baseIndexOf","arrayIncludes","./_baseIndexOf","127","arrayIncludesWith","comparator","128","baseTimes","isArguments","isBuffer","isIndex","isTypedArray","objectProto","arrayLikeKeys","inherited","isArr","isArg","isBuff","isType","skipIndexes","./_baseTimes","./_isIndex","./isArguments","./isArray","./isBuffer","./isTypedArray","129","arrayMap","130","arrayPush","131","arrayReduce","accumulator","initAccum","132","arraySome","133","baseProperty","asciiSize","./_baseProperty","134","baseAssignValue","eq","assignMergeValue","./_baseAssignValue","./eq","135","assignValue","objValue","136","assocIndexOf","137","copyObject","baseAssign","./_copyObject","./keys","138","keysIn","baseAssignIn","./keysIn","139","configurable","writable","./_defineProperty","140","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","getTag","initCloneArray","initCloneByTag","initCloneObject","isMap","isObject","isSet","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","baseClone","bitmask","customizer","isDeep","isFlat","isFull","tag","isFunc","stacked","subValue","keysFunc","props","./_Stack","./_arrayEach","./_assignValue","./_baseAssign","./_baseAssignIn","./_cloneBuffer","./_copyArray","./_copySymbols","./_copySymbolsIn","./_getAllKeys","./_getAllKeysIn","./_getTag","./_initCloneArray","./_initCloneByTag","./_initCloneObject","./isMap","./isObject","./isSet","141","objectCreate","baseCreate","142","baseForOwn","createBaseEach","baseEach","./_baseForOwn","./_createBaseEach","143","isSymbol","baseExtremum","computed","./isSymbol","144","baseFilter","./_baseEach","145","baseFindIndex","fromIndex","fromRight","146","isFlattenable","baseFlatten","isStrict","./_arrayPush","./_isFlattenable","147","createBaseFor","baseFor","./_createBaseFor","148","./_baseFor","149","castPath","toKey","baseGet","./_castPath","./_toKey","150","baseGetAllKeys","symbolsFunc","151","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","baseGetTag","./_Symbol","./_getRawTag","./_objectToString","152","baseGt","153","baseHas","154","baseHasIn","155","baseIsNaN","strictIndexOf","./_baseFindIndex","./_baseIsNaN","./_strictIndexOf","156","isObjectLike","baseIsArguments","./_baseGetTag","./isObjectLike","157","baseIsEqualDeep","baseIsEqual","./_baseIsEqualDeep","158","equalArrays","equalByTag","equalObjects","COMPARE_PARTIAL_FLAG","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","./_equalArrays","./_equalByTag","./_equalObjects","159","baseIsMap","160","COMPARE_UNORDERED_FLAG","baseIsMatch","matchData","noCustomizer","srcValue","./_baseIsEqual","161","162","isMasked","toSource","reRegExpChar","reIsHostCtor","funcProto","funcToString","reIsNative","baseIsNative","pattern","./_isMasked","./_toSource","./isFunction","163","baseIsSet","164","isLength","typedArrayTags","baseIsTypedArray","./isLength","165","baseMatches","baseMatchesProperty","baseIteratee","./_baseMatches","./_baseMatchesProperty","./identity","./property","166","isPrototype","nativeKeys","baseKeys","./_isPrototype","./_nativeKeys","167","nativeKeysIn","baseKeysIn","isProto","./_nativeKeysIn","168","baseLt","169","isArrayLike","baseMap","./isArrayLike","170","getMatchData","matchesStrictComparable","./_baseIsMatch","./_getMatchData","./_matchesStrictComparable","171","hasIn","isKey","isStrictComparable","./_isKey","./_isStrictComparable","./get","./hasIn","172","baseMergeDeep","safeGet","baseMerge","srcIndex","newValue","./_assignMergeValue","./_baseMergeDeep","./_safeGet","173","cloneTypedArray","isArrayLikeObject","toPlainObject","mergeFunc","isCommon","isTyped","./_cloneTypedArray","./isArrayLikeObject","./isPlainObject","./toPlainObject","174","baseSortBy","baseUnary","compareMultiple","baseOrderBy","iteratees","orders","criteria","./_arrayMap","./_baseIteratee","./_baseMap","./_baseSortBy","./_baseUnary","./_compareMultiple","175","basePickBy","basePick","paths","./_basePickBy","176","baseSet","./_baseGet","./_baseSet","177","178","basePropertyDeep","179","nativeCeil","nativeMax","baseRange","180","baseReduce","eachFunc","181","overRest","setToString","baseRest","./_overRest","./_setToString","182","nested","183","baseSetToString","./constant","184","comparer","185","186","INFINITY","symbolProto","symbolToString","baseToString","187","188","cacheHas","createSet","setToArray","LARGE_ARRAY_SIZE","baseUniq","includes","seen","outer","seenIndex","./_SetCache","./_arrayIncludes","./_arrayIncludesWith","./_cacheHas","./_createSet","./_setToArray","189","baseValues","190","baseZipObject","assignFunc","valsLength","191","192","castFunction","193","stringToPath","./_stringToPath","./toString","194","cloneArrayBuffer","byteLength","./_Uint8Array","195","freeExports","nodeType","freeModule","moduleExports","Buffer","allocUnsafe","196","cloneDataView","dataView","byteOffset","./_cloneArrayBuffer","197","reFlags","cloneRegExp","regexp","198","symbolValueOf","cloneSymbol","199","typedArray","200","compareAscending","valIsDefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","201","objCriteria","othCriteria","ordersLength","./_compareAscending","202","203","isNew","204","getSymbols","./_getSymbols","205","getSymbolsIn","./_getSymbolsIn","206","coreJsData","207","isIterateeCall","createAssigner","assigner","guard","./_baseRest","./_isIterateeCall","208","iterable","209","210","createFind","findIndexFunc","211","toFinite","createRange","./_baseRange","./toFinite","212","./_Set","./noop","213","214","isPartial","arrLength","othLength","arrValue","othValue","compared","othIndex","./_arraySome","215","mapToArray","message","./_mapToArray","216","objProps","objLength","othProps","skipCtor","objCtor","othCtor","217","flatRest","./flatten","218","freeGlobal","219","./_baseGetAllKeys","220","221","isKeyable","getMapData","./_isKeyable","222","223","getValue","./_baseIsNative","./_getValue","224","overArg","getPrototype","getPrototypeOf","./_overArg","225","nativeObjectToString","isOwn","unmasked","226","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","./_arrayFilter","./stubArray","227","./_getPrototype","228","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","./_DataView","./_Map","./_Promise","./_WeakMap","229","230","hasPath","hasFunc","231","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","232","nativeCreate","./_nativeCreate","233","234","HASH_UNDEFINED","235","236","237","238","./_cloneDataView","./_cloneRegExp","./_cloneSymbol","239","./_baseCreate","240","spreadableSymbol","isConcatSpreadable","241","MAX_SAFE_INTEGER","reIsUint","242","243","reIsDeepProp","reIsPlainProp","244","245","maskSrcKey","uid","IE_PROTO","./_coreJsData","246","247","248","249","arrayProto","./_assocIndexOf","250","251","252","253","hash","./_Hash","254","./_getMapData","255","256","257","258","259","260","memoize","MAX_MEMOIZE_SIZE","memoizeCapped","./memoize","261","262","263","264","freeProcess","process","nodeUtil","binding","./_freeGlobal","265","266","arg","267","otherArgs","./_apply","268","freeSelf","269","270","271","272","273","shortOut","./_baseSetToString","./_shortOut","274","HOT_COUNT","HOT_SPAN","nativeNow","lastCalled","stamp","remaining","275","276","277","278","279","280","281","unicodeSize","stringSize","./_asciiSize","./_hasUnicode","./_unicodeSize","282","rePropName","reEscapeChar","quote","subString","./_memoizeCapped","283","284","285","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","286","./_baseClone","287","288","289","propsIndex","propsLength","290","./forEach","291","292","./_baseFilter","293","findIndex","./_createFind","./findIndex","294","toInteger","./toInteger","295","./_baseFlatten","296","./_castFunction","297","298","defaultValue","299","./_baseHas","./_hasPath","300","./_baseHasIn","301","302","./_baseIsArguments","303","304","305","306","stubFalse","nativeIsBuffer","./stubFalse","307","./_baseKeys","308","asyncTag","proxyTag","309","310","nodeIsMap","./_baseIsMap","./_nodeUtil","311","312","313","objectCtorString","314","nodeIsSet","./_baseIsSet","315","isString","316","317","nodeIsTypedArray","./_baseIsTypedArray","318","319","./_arrayLikeKeys","320","./_baseKeysIn","321","322","323","324","./_baseExtremum","./_baseGt","325","FUNC_ERROR_TEXT","resolver","memoized","Cache","326","./_baseMerge","./_createAssigner","327","./_baseLt","328","329","330","331","./_basePick","./_flatRest","332","./_basePropertyDeep","333","./_createRange","334","./_arrayReduce","./_baseReduce","335","./_stringSize","./isString","336","./_baseOrderBy","337","338","339","toNumber","MAX_INTEGER","./toNumber","340","remainder","341","NAN","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","isBinary","342","343","./_baseToString","344","isArrLike","345","./_baseUniq","346","idCounter","347","./_baseValues","348","./_baseZipObject"],"mappings":"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"} diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/html-lint.js b/providers/fab/src/airflow/providers/fab/www/static/dist/html-lint.js new file mode 100644 index 0000000000000..2204eafcdc1fc --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/html-lint.js @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("htmlhint")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","htmlhint"],e):e(CodeMirror,window.HTMLHint)}((function(e,r){"use strict";var o={"tagname-lowercase":!0,"attr-lowercase":!0,"attr-value-double-quotes":!0,"doctype-first":!1,"tag-pair":!0,"spec-char-escape":!0,"id-unique":!0,"src-not-empty":!0,"attr-no-duplication":!0};e.registerHelper("lint","html",(function(t,i){var n=[];if(r&&!r.verify&&(r=void 0!==r.default?r.default:r.HTMLHint),r||(r=window.HTMLHint),!r)return window.console&&window.console.error("Error: HTMLHint not found, not defined on window, or not available through define/require, CodeMirror HTML linting cannot run."),n;for(var a=r.verify(t,i&&i.rules||o),l=0;l-1&&(a+=d)}var c={message:i.reason,severity:i.code&&i.code.startsWith("W")?"warning":"error",from:e.Pos(i.line-1,t),to:e.Pos(i.line-1,a)};n.push(c)}}}(o,i),i}))})); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/javascript.js b/providers/fab/src/airflow/providers/fab/www/static/dist/javascript.js new file mode 100644 index 0000000000000..98247d19880d2 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/javascript.js @@ -0,0 +1,20 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}((function(e){"use strict";e.defineMode("javascript",(function(t,r){var n,a,i=t.indentUnit,o=r.statementIndent,c=r.jsonld,s=r.json||c,u=!1!==r.trackScope,f=r.typescript,l=r.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),a=e("keyword d"),i=e("operator"),o={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:a,break:a,continue:a,new:e("new"),delete:n,void:n,throw:n,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:i,typeof:i,instanceof:i,true:o,false:o,null:o,undefined:o,NaN:o,Infinity:o,this:e("this"),class:e("class"),super:e("atom"),yield:n,export:e("export"),import:e("import"),extends:n,await:n}}(),p=/[+\-*&%=<>!?|~^@]/,m=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function v(e,t,r){return n=e,a=r,t}function k(e,t){var r,n=e.next();if('"'==n||"'"==n)return t.tokenize=(r=n,function(e,t){var n,a=!1;if(c&&"@"==e.peek()&&e.match(m))return t.tokenize=k,v("jsonld-keyword","meta");for(;null!=(n=e.next())&&(n!=r||a);)a=!a&&"\\"==n;return a||(t.tokenize=k),v("string","string")}),t.tokenize(e,t);if("."==n&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return v("number","number");if("."==n&&e.match(".."))return v("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return v(n);if("="==n&&e.eat(">"))return v("=>","operator");if("0"==n&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return v("number","number");if(/\d/.test(n))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),v("number","number");if("/"==n)return e.eat("*")?(t.tokenize=y,y(e,t)):e.eat("/")?(e.skipToEnd(),v("comment","comment")):Ze(e,t,1)?(function(e){for(var t,r=!1,n=!1;null!=(t=e.next());){if(!r){if("/"==t&&!n)return;"["==t?n=!0:n&&"]"==t&&(n=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),v("regexp","string-2")):(e.eat("="),v("operator","operator",e.current()));if("`"==n)return t.tokenize=w,w(e,t);if("#"==n&&"!"==e.peek())return e.skipToEnd(),v("meta","meta");if("#"==n&&e.eatWhile(l))return v("variable","property");if("<"==n&&e.match("!--")||"-"==n&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),v("comment","comment");if(p.test(n))return">"==n&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=n&&"="!=n||e.eat("="):/[<>*+\-|&?]/.test(n)&&(e.eat(n),">"==n&&e.eat(n))),"?"==n&&e.eat(".")?v("."):v("operator","operator",e.current());if(l.test(n)){e.eatWhile(l);var a=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(a)){var i=d[a];return v(i.type,i.style,a)}if("async"==a&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return v("async","keyword",a)}return v("variable","variable",a)}}function y(e,t){for(var r,n=!1;r=e.next();){if("/"==r&&n){t.tokenize=k;break}n="*"==r}return v("comment","comment")}function w(e,t){for(var r,n=!1;null!=(r=e.next());){if(!n&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=k;break}n=!n&&"\\"==r}return v("quasi","string-2",e.current())}function b(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){if(f){var n=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r));n&&(r=n.index)}for(var a=0,i=!1,o=r-1;o>=0;--o){var c=e.string.charAt(o),s="([{}])".indexOf(c);if(s>=0&&s<3){if(!a){++o;break}if(0==--a){"("==c&&(i=!0);break}}else if(s>=3&&s<6)++a;else if(l.test(c))i=!0;else if(/["'\/`]/.test(c))for(;;--o){if(0==o)return;if(e.string.charAt(o-1)==c&&"\\"!=e.string.charAt(o-2)){o--;break}}else if(i&&!a){++o;break}}i&&!a&&(t.fatArrowAt=o)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function h(e,t,r,n,a,i){this.indented=e,this.column=t,this.type=r,this.prev=a,this.info=i,null!=n&&(this.align=n)}function g(e,t){if(!u)return!1;for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var n=e.context;n;n=n.prev)for(r=n.vars;r;r=r.next)if(r.name==t)return!0}function j(e,t,r,n,a){var i=e.cc;for(M.state=e,M.stream=a,M.marked=null,M.cc=i,M.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){if((i.length?i.pop():s?F:W)(r,n)){for(;i.length&&i[i.length-1].lex;)i.pop()();return M.marked?M.marked:"variable"==r&&g(e,n)?"variable-2":t}}}var M={state:null,column:null,marked:null,cc:null};function A(){for(var e=arguments.length-1;e>=0;e--)M.cc.push(arguments[e])}function V(){return A.apply(null,arguments),!0}function E(e,t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}function z(e){var t=M.state;if(M.marked="def",u){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var n=I(e,t.context);if(null!=n)return void(t.context=n)}else if(!E(e,t.localVars))return void(t.localVars=new q(e,t.localVars));r.globalVars&&!E(e,t.globalVars)&&(t.globalVars=new q(e,t.globalVars))}}function I(e,t){if(t){if(t.block){var r=I(e,t.prev);return r?r==t.prev?t:new $(r,t.vars,!0):null}return E(e,t.vars)?t:new $(t.prev,new q(e,t.vars),!1)}return null}function T(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function $(e,t,r){this.prev=e,this.vars=t,this.block=r}function q(e,t){this.name=e,this.next=t}var C=new q("this",new q("arguments",null));function S(){M.state.context=new $(M.state.context,M.state.localVars,!1),M.state.localVars=C}function _(){M.state.context=new $(M.state.context,M.state.localVars,!0),M.state.localVars=null}function O(){M.state.localVars=M.state.context.vars,M.state.context=M.state.context.prev}function P(e,t){var r=function(){var r=M.state,n=r.indented;if("stat"==r.lexical.type)n=r.lexical.indented;else for(var a=r.lexical;a&&")"==a.type&&a.align;a=a.prev)n=a.indented;r.lexical=new h(n,M.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function N(){var e=M.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function U(e){return function t(r){return r==e?V():";"==e||"}"==r||")"==r||"]"==r?A():V(t)}}function W(e,t){return"var"==e?V(P("vardef",t),Me,U(";"),N):"keyword a"==e?V(P("form"),D,W,N):"keyword b"==e?V(P("form"),W,N):"keyword d"==e?M.stream.match(/^\s*$/,!1)?V():V(P("stat"),J,U(";"),N):"debugger"==e?V(U(";")):"{"==e?V(P("}"),_,se,N,O):";"==e?V():"if"==e?("else"==M.state.lexical.info&&M.state.cc[M.state.cc.length-1]==N&&M.state.cc.pop()(),V(P("form"),D,W,N,Te)):"function"==e?V(Se):"for"==e?V(P("form"),_,$e,W,O,N):"class"==e||f&&"interface"==t?(M.marked="keyword",V(P("form","class"==e?e:t),Ue,N)):"variable"==e?f&&"declare"==t?(M.marked="keyword",V(W)):f&&("module"==t||"enum"==t||"type"==t)&&M.stream.match(/^\s*\w/,!1)?(M.marked="keyword","enum"==t?V(Xe):"type"==t?V(Oe,U("operator"),pe,U(";")):V(P("form"),Ae,U("{"),P("}"),se,N,N)):f&&"namespace"==t?(M.marked="keyword",V(P("form"),F,W,N)):f&&"abstract"==t?(M.marked="keyword",V(W)):V(P("stat"),te):"switch"==e?V(P("form"),D,U("{"),P("}","switch"),_,se,N,N,O):"case"==e?V(F,U(":")):"default"==e?V(U(":")):"catch"==e?V(P("form"),S,B,W,N,O):"export"==e?V(P("stat"),He,N):"import"==e?V(P("stat"),Ge,N):"async"==e?V(W):"@"==t?V(F,W):A(P("stat"),F,U(";"),N)}function B(e){if("("==e)return V(Pe,U(")"))}function F(e,t){return G(e,t,!1)}function H(e,t){return G(e,t,!0)}function D(e){return"("!=e?A():V(P(")"),J,U(")"),N)}function G(e,t,r){if(M.state.fatArrowAt==M.stream.start){var n=r?Y:X;if("("==e)return V(S,P(")"),oe(Pe,")"),N,U("=>"),n,O);if("variable"==e)return A(S,Ae,U("=>"),n,O)}var a=r?L:K;return x.hasOwnProperty(e)?V(a):"function"==e?V(Se,a):"class"==e||f&&"interface"==t?(M.marked="keyword",V(P("form"),Ne,N)):"keyword c"==e||"async"==e?V(r?H:F):"("==e?V(P(")"),J,U(")"),N,a):"operator"==e||"spread"==e?V(r?H:F):"["==e?V(P("]"),Re,N,a):"{"==e?ce(ne,"}",null,a):"quasi"==e?A(Q,a):"new"==e?V(function(e){return function(t){return"."==t?V(e?ee:Z):"variable"==t&&f?V(he,e?L:K):A(e?H:F)}}(r)):V()}function J(e){return e.match(/[;\}\)\],]/)?A():A(F)}function K(e,t){return","==e?V(J):L(e,t,!1)}function L(e,t,r){var n=0==r?K:L,a=0==r?F:H;return"=>"==e?V(S,r?Y:X,O):"operator"==e?/\+\+|--/.test(t)||f&&"!"==t?V(n):f&&"<"==t&&M.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?V(P(">"),oe(pe,">"),N,n):"?"==t?V(F,U(":"),a):V(a):"quasi"==e?A(Q,n):";"!=e?"("==e?ce(H,")","call",n):"."==e?V(re,n):"["==e?V(P("]"),J,U("]"),N,n):f&&"as"==t?(M.marked="keyword",V(pe,n)):"regexp"==e?(M.state.lastType=M.marked="operator",M.stream.backUp(M.stream.pos-M.stream.start-1),V(a)):void 0:void 0}function Q(e,t){return"quasi"!=e?A():"${"!=t.slice(t.length-2)?V(Q):V(J,R)}function R(e){if("}"==e)return M.marked="string-2",M.state.tokenize=w,V(Q)}function X(e){return b(M.stream,M.state),A("{"==e?W:F)}function Y(e){return b(M.stream,M.state),A("{"==e?W:H)}function Z(e,t){if("target"==t)return M.marked="keyword",V(K)}function ee(e,t){if("target"==t)return M.marked="keyword",V(L)}function te(e){return":"==e?V(N,W):A(K,U(";"),N)}function re(e){if("variable"==e)return M.marked="property",V()}function ne(e,t){return"async"==e?(M.marked="property",V(ne)):"variable"==e||"keyword"==M.style?(M.marked="property","get"==t||"set"==t?V(ae):(f&&M.state.fatArrowAt==M.stream.start&&(r=M.stream.match(/^\s*:\s*/,!1))&&(M.state.fatArrowAt=M.stream.pos+r[0].length),V(ie))):"number"==e||"string"==e?(M.marked=c?"property":M.style+" property",V(ie)):"jsonld-keyword"==e?V(ie):f&&T(t)?(M.marked="keyword",V(ne)):"["==e?V(F,ue,U("]"),ie):"spread"==e?V(H,ie):"*"==t?(M.marked="keyword",V(ne)):":"==e?A(ie):void 0;var r}function ae(e){return"variable"!=e?A(ie):(M.marked="property",V(Se))}function ie(e){return":"==e?V(H):"("==e?A(Se):void 0}function oe(e,t,r){function n(a,i){if(r?r.indexOf(a)>-1:","==a){var o=M.state.lexical;return"call"==o.info&&(o.pos=(o.pos||0)+1),V((function(r,n){return r==t||n==t?A():A(e)}),n)}return a==t||i==t?V():r&&r.indexOf(";")>-1?A(e):V(U(t))}return function(r,a){return r==t||a==t?V():A(e,n)}}function ce(e,t,r){for(var n=3;n"),pe):"quasi"==e?A(ye,xe):void 0}function me(e){if("=>"==e)return V(pe)}function ve(e){return e.match(/[\}\)\]]/)?V():","==e||";"==e?V(ve):A(ke,ve)}function ke(e,t){return"variable"==e||"keyword"==M.style?(M.marked="property",V(ke)):"?"==t||"number"==e||"string"==e?V(ke):":"==e?V(pe):"["==e?V(U("variable"),fe,U("]"),ke):"("==e?A(_e,ke):e.match(/[;\}\)\],]/)?void 0:V()}function ye(e,t){return"quasi"!=e?A():"${"!=t.slice(t.length-2)?V(ye):V(pe,we)}function we(e){if("}"==e)return M.marked="string-2",M.state.tokenize=w,V(ye)}function be(e,t){return"variable"==e&&M.stream.match(/^\s*[?:]/,!1)||"?"==t?V(be):":"==e?V(pe):"spread"==e?V(be):A(pe)}function xe(e,t){return"<"==t?V(P(">"),oe(pe,">"),N,xe):"|"==t||"."==e||"&"==t?V(pe):"["==e?V(pe,U("]"),xe):"extends"==t||"implements"==t?(M.marked="keyword",V(pe)):"?"==t?V(pe,U(":"),pe):void 0}function he(e,t){if("<"==t)return V(P(">"),oe(pe,">"),N,xe)}function ge(){return A(pe,je)}function je(e,t){if("="==t)return V(pe)}function Me(e,t){return"enum"==t?(M.marked="keyword",V(Xe)):A(Ae,ue,ze,Ie)}function Ae(e,t){return f&&T(t)?(M.marked="keyword",V(Ae)):"variable"==e?(z(t),V()):"spread"==e?V(Ae):"["==e?ce(Ee,"]"):"{"==e?ce(Ve,"}"):void 0}function Ve(e,t){return"variable"!=e||M.stream.match(/^\s*:/,!1)?("variable"==e&&(M.marked="property"),"spread"==e?V(Ae):"}"==e?A():"["==e?V(F,U("]"),U(":"),Ve):V(U(":"),Ae,ze)):(z(t),V(ze))}function Ee(){return A(Ae,ze)}function ze(e,t){if("="==t)return V(H)}function Ie(e){if(","==e)return V(Me)}function Te(e,t){if("keyword b"==e&&"else"==t)return V(P("form","else"),W,N)}function $e(e,t){return"await"==t?V($e):"("==e?V(P(")"),qe,N):void 0}function qe(e){return"var"==e?V(Me,Ce):"variable"==e?V(Ce):A(Ce)}function Ce(e,t){return")"==e?V():";"==e?V(Ce):"in"==t||"of"==t?(M.marked="keyword",V(F,Ce)):A(F,Ce)}function Se(e,t){return"*"==t?(M.marked="keyword",V(Se)):"variable"==e?(z(t),V(Se)):"("==e?V(S,P(")"),oe(Pe,")"),N,le,W,O):f&&"<"==t?V(P(">"),oe(ge,">"),N,Se):void 0}function _e(e,t){return"*"==t?(M.marked="keyword",V(_e)):"variable"==e?(z(t),V(_e)):"("==e?V(S,P(")"),oe(Pe,")"),N,le,O):f&&"<"==t?V(P(">"),oe(ge,">"),N,_e):void 0}function Oe(e,t){return"keyword"==e||"variable"==e?(M.marked="type",V(Oe)):"<"==t?V(P(">"),oe(ge,">"),N):void 0}function Pe(e,t){return"@"==t&&V(F,Pe),"spread"==e?V(Pe):f&&T(t)?(M.marked="keyword",V(Pe)):f&&"this"==e?V(ue,ze):A(Ae,ue,ze)}function Ne(e,t){return"variable"==e?Ue(e,t):We(e,t)}function Ue(e,t){if("variable"==e)return z(t),V(We)}function We(e,t){return"<"==t?V(P(">"),oe(ge,">"),N,We):"extends"==t||"implements"==t||f&&","==e?("implements"==t&&(M.marked="keyword"),V(f?pe:F,We)):"{"==e?V(P("}"),Be,N):void 0}function Be(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||f&&T(t))&&M.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(M.marked="keyword",V(Be)):"variable"==e||"keyword"==M.style?(M.marked="property",V(Fe,Be)):"number"==e||"string"==e?V(Fe,Be):"["==e?V(F,ue,U("]"),Fe,Be):"*"==t?(M.marked="keyword",V(Be)):f&&"("==e?A(_e,Be):";"==e||","==e?V(Be):"}"==e?V():"@"==t?V(F,Be):void 0}function Fe(e,t){if("!"==t)return V(Fe);if("?"==t)return V(Fe);if(":"==e)return V(pe,ze);if("="==t)return V(H);var r=M.state.lexical.prev;return A(r&&"interface"==r.info?_e:Se)}function He(e,t){return"*"==t?(M.marked="keyword",V(Qe,U(";"))):"default"==t?(M.marked="keyword",V(F,U(";"))):"{"==e?V(oe(De,"}"),Qe,U(";")):A(W)}function De(e,t){return"as"==t?(M.marked="keyword",V(U("variable"))):"variable"==e?A(H,De):void 0}function Ge(e){return"string"==e?V():"("==e?A(F):"."==e?A(K):A(Je,Ke,Qe)}function Je(e,t){return"{"==e?ce(Je,"}"):("variable"==e&&z(t),"*"==t&&(M.marked="keyword"),V(Le))}function Ke(e){if(","==e)return V(Je,Ke)}function Le(e,t){if("as"==t)return M.marked="keyword",V(Je)}function Qe(e,t){if("from"==t)return M.marked="keyword",V(F)}function Re(e){return"]"==e?V():A(oe(H,"]"))}function Xe(){return A(P("form"),Ae,U("{"),P("}"),oe(Ye,"}"),N,N)}function Ye(){return A(Ae,ze)}function Ze(e,t,r){return t.tokenize==k&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return S.lex=_.lex=!0,O.lex=!0,N.lex=!0,{startState:function(e){var t={tokenize:k,lastType:"sof",cc:[],lexical:new h((e||0)-i,0,"block",!1),localVars:r.localVars,context:r.localVars&&new $(null,null,!1),indented:e||0};return r.globalVars&&"object"==typeof r.globalVars&&(t.globalVars=r.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!=y&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==n?r:(t.lastType="operator"!=n||"++"!=a&&"--"!=a?n:"incdec",j(t,r,n,a,e))},indent:function(t,n){if(t.tokenize==y||t.tokenize==w)return e.Pass;if(t.tokenize!=k)return 0;var a,c=n&&n.charAt(0),s=t.lexical;if(!/^\s*else\b/.test(n))for(var u=t.cc.length-1;u>=0;--u){var f=t.cc[u];if(f==N)s=s.prev;else if(f!=Te&&f!=O)break}for(;("stat"==s.type||"form"==s.type)&&("}"==c||(a=t.cc[t.cc.length-1])&&(a==K||a==L)&&!/^[,\.=+\-*:?[\(]/.test(n));)s=s.prev;o&&")"==s.type&&"stat"==s.prev.type&&(s=s.prev);var l=s.type,d=c==l;return"vardef"==l?s.indented+("operator"==t.lastType||","==t.lastType?s.info.length+1:0):"form"==l&&"{"==c?s.indented:"form"==l?s.indented+i:"stat"==l?s.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||p.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,n)?o||i:0):"switch"!=s.info||d||0==r.doubleIndentSwitch?s.align?s.column+(d?0:1):s.indented+(d?0:i):s.indented+(/^(?:case|default)\b/.test(n)?i:2*i)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:s?null:"/*",blockCommentEnd:s?null:"*/",blockCommentContinue:s?null:" * ",lineComment:s?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:s?"json":"javascript",jsonldMode:c,jsonMode:s,expressionAllowed:Ze,skipExpression:function(t){j(t,"atom","atom","true",new e.StringStream("",2,null))}}})),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})})); diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css b/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css new file mode 100644 index 0000000000000..dfb17b78c8d73 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css @@ -0,0 +1,24 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*! jQuery UI - v1.13.3 - 2024-04-26 +* https://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit https://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px +* Copyright OpenJS Foundation and other contributors; Licensed MIT */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{border:0;font-size:100%;line-height:1.3;list-style:none;margin:0;outline:0;padding:0;text-decoration:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{border-collapse:collapse;content:"";display:table}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{-ms-filter:"alpha(opacity=0)";height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{background-repeat:no-repeat;display:inline-block;margin-top:-.25em;overflow:hidden;position:relative;text-indent:-99999px;vertical-align:middle}.ui-widget-icon-block{display:block;left:50%;margin-left:-8px}.ui-widget-overlay{height:100%;left:0;position:fixed;top:0;width:100%}.ui-accordion .ui-accordion-header{cursor:pointer;display:block;font-size:100%;margin:2px 0 0;padding:.5em .5em .5em .7em;position:relative}.ui-accordion .ui-accordion-content{border-top:0;overflow:auto;padding:1em 2.2em}.ui-autocomplete{cursor:default;left:0;position:absolute;top:0}.ui-menu{display:block;list-style:none;margin:0;outline:0;padding:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");margin:0}.ui-menu .ui-menu-item-wrapper{padding:3px 1em 3px .4em;position:relative}.ui-menu .ui-menu-divider{border-width:1px 0 0;font-size:0;height:0;line-height:0;margin:5px 0}.ui-menu .ui-state-active,.ui-menu .ui-state-focus{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{bottom:0;left:.2em;margin:auto 0;position:absolute;top:0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{cursor:pointer;display:inline-block;line-height:normal;margin-right:.1em;overflow:visible;padding:.4em 1em;position:relative;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}.ui-button,.ui-button:active,.ui-button:hover,.ui-button:link,.ui-button:visited{text-decoration:none}.ui-button-icon-only{box-sizing:border-box;text-indent:-9999px;white-space:nowrap;width:2em}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-button.ui-icon-notext .ui-icon{height:2.1em;padding:0;text-indent:-9999px;white-space:nowrap;width:2.1em}input.ui-button.ui-icon-notext .ui-icon{height:auto;padding:.4em 1em;text-indent:0;white-space:normal;width:auto}button.ui-button::-moz-focus-inner,input.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{display:inline-block;vertical-align:middle}.ui-controlgroup>.ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup>.ui-controlgroup-item.ui-visual-focus,.ui-controlgroup>.ui-controlgroup-item:focus{z-index:9999}.ui-controlgroup-vertical>.ui-controlgroup-item{display:block;float:none;margin-bottom:0;margin-top:0;text-align:left;width:100%}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label+.ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label+.ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc(100% - 2.4em)}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{border:none;border-radius:.12em;box-shadow:inset 1px 1px 1px #ccc}.ui-checkboxradio-radio-label .ui-icon-background{border:none;border-radius:1em;height:16px;overflow:visible;width:16px}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;border-style:solid;border-width:4px;height:8px;width:8px}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{display:none;padding:.2em .2em 0;width:17em}.ui-datepicker .ui-datepicker-header{padding:.2em 0;position:relative}.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev{height:1.8em;position:absolute;top:2px;width:1.8em}.ui-datepicker .ui-datepicker-next-hover,.ui-datepicker .ui-datepicker-prev-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-next span,.ui-datepicker .ui-datepicker-prev span{display:block;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%}.ui-datepicker .ui-datepicker-title{line-height:1.8em;margin:0 2.3em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{border-collapse:collapse;font-size:.9em;margin:0 0 .4em;width:100%}.ui-datepicker th{border:0;font-weight:700;padding:.7em .3em;text-align:center}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td a,.ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;border-bottom:0;border-left:0;border-right:0;margin:.7em 0 0;padding:0 .2em}.ui-datepicker .ui-datepicker-buttonpane button{cursor:pointer;float:right;margin:.5em .2em .4em;overflow:visible;padding:.2em .6em .3em;width:auto}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{margin:0 auto .4em;width:95%}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;font-size:0;width:100%}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{left:auto;right:2px}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{left:auto;right:1px}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:1px;border-right-width:0}.ui-datepicker .ui-icon{background-repeat:no-repeat;display:block;left:.5em;overflow:hidden;text-indent:-99999px;top:.3em}.ui-dialog{left:0;outline:0;padding:.2em;position:absolute;top:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}.ui-dialog .ui-dialog-titlebar-close{height:20px;margin:-10px 0 0;padding:1px;position:absolute;right:.3em;top:50%;width:20px}.ui-dialog .ui-dialog-content{background:none;border:0;overflow:auto;padding:.5em 1em;position:relative}.ui-dialog .ui-dialog-buttonpane{background-image:none;border-width:1px 0 0;margin-top:.5em;padding:.3em 1em .5em .4em;text-align:left}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{cursor:pointer;margin:.5em .4em .5em 0}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{right:0;width:2px}.ui-dialog .ui-resizable-s{bottom:0;height:2px}.ui-dialog .ui-resizable-w{left:0;width:2px}.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw,.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw{height:7px;width:7px}.ui-dialog .ui-resizable-se{bottom:0;right:0}.ui-dialog .ui-resizable-sw{bottom:0;left:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{display:block;font-size:.1px;position:absolute;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;left:0;top:-5px;width:100%}.ui-resizable-s{bottom:-5px;cursor:s-resize;height:7px;left:0;width:100%}.ui-resizable-e{cursor:e-resize;height:100%;right:-5px;top:0;width:7px}.ui-resizable-w{cursor:w-resize;height:100%;left:-5px;top:0;width:7px}.ui-resizable-se{bottom:1px;cursor:se-resize;height:12px;right:1px;width:12px}.ui-resizable-sw{bottom:-5px;cursor:sw-resize;height:9px;left:-5px;width:9px}.ui-resizable-nw{cursor:nw-resize;height:9px;left:-5px;top:-5px;width:9px}.ui-resizable-ne{cursor:ne-resize;height:9px;right:-5px;top:-5px;width:9px}.ui-progressbar{height:2em;overflow:hidden;text-align:left}.ui-progressbar .ui-progressbar-value{height:100%;margin:-1px}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");-ms-filter:"alpha(opacity=25)";height:100%;opacity:.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{border:1px dotted #000;position:absolute;z-index:100}.ui-selectmenu-menu{display:none;left:0;margin:0;padding:0;position:absolute;top:0}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{border:0;font-size:1em;font-weight:700;height:auto;line-height:1.5;margin:.5em 0 0;padding:2px .4em}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{cursor:pointer;height:1.2em;position:absolute;-ms-touch-action:none;touch-action:none;width:1.2em;z-index:2}.ui-slider .ui-slider-range{background-position:0 0;border:0;display:block;font-size:.7em;position:absolute;z-index:1}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{margin-left:-.6em;top:-.3em}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{height:100px;width:.8em}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-bottom:-.6em;margin-left:0}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{display:inline-block;overflow:hidden;padding:0;position:relative;vertical-align:middle}.ui-spinner-input{background:none;border:none;color:inherit;margin:.2em 2em .2em .4em;padding:.222em 0;vertical-align:middle}.ui-spinner-button{cursor:default;display:block;font-size:.5em;height:50%;margin:0;overflow:hidden;padding:0;position:absolute;right:0;text-align:center;width:1.6em}.ui-spinner a.ui-spinner-button{border-bottom-style:none;border-right-style:none;border-top-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{padding:.2em;position:relative}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{border-bottom-width:0;float:left;list-style:none;margin:1px .2em 0 0;padding:0;position:relative;top:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{background:none;border-width:0;display:block;padding:1em 1.4em}.ui-tooltip{max-width:300px;padding:8px;position:absolute;z-index:9999}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif}.ui-widget,.ui-widget .ui-widget{font-size:1em}.ui-widget button,.ui-widget input,.ui-widget select,.ui-widget textarea{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{background:#fff;border:1px solid #ddd;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{background:#e9e9e9;border:1px solid #ddd;color:#333;font-weight:700}.ui-widget-header a{color:#333}.ui-button,.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,html .ui-button.ui-state-disabled:active,html .ui-button.ui-state-disabled:hover{background:#f6f6f6;border:1px solid #c5c5c5;color:#454545;font-weight:400}.ui-button,.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button{color:#454545;text-decoration:none}.ui-button:focus,.ui-button:hover,.ui-state-focus,.ui-state-hover,.ui-widget-content .ui-state-focus,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-focus,.ui-widget-header .ui-state-hover{background:#ededed;border:1px solid #ccc;color:#2b2b2b;font-weight:400}.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,a.ui-button:focus,a.ui-button:hover{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px #5e9ed6}.ui-button.ui-state-active:hover,.ui-button:active,.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active{background:#007fff;border:1px solid #003eff;color:#fff;font-weight:400}.ui-icon-background,.ui-state-active .ui-icon-background{background-color:#fff;border:#003eff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fffa90;border:1px solid #dad55e;color:#777620}.ui-state-checked{background:#fffa90;border:1px solid #dad55e}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{background:#fddfdf;border:1px solid #f1a899;color:#5f3f3f}.ui-state-error a,.ui-state-error-text,.ui-widget-content .ui-state-error a,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error a,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:700}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{-ms-filter:"alpha(opacity=70)";font-weight:400;opacity:.7}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{background-image:none;-ms-filter:"alpha(opacity=35)";opacity:.35}.ui-state-disabled .ui-icon{-ms-filter:"alpha(opacity=35)"}.ui-icon{height:16px;width:16px}.ui-icon,.ui-widget-content .ui-icon,.ui-widget-header .ui-icon{background-image:url(images/ui-icons_444444_256x240.png)}.ui-button:focus .ui-icon,.ui-button:hover .ui-icon,.ui-state-focus .ui-icon,.ui-state-hover .ui-icon{background-image:url(images/ui-icons_555555_256x240.png)}.ui-button:active .ui-icon,.ui-state-active .ui-icon{background-image:url(images/ui-icons_ffffff_256x240.png)}.ui-button .ui-state-highlight.ui-icon,.ui-state-highlight .ui-icon{background-image:url(images/ui-icons_777620_256x240.png)}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cc0000_256x240.png)}.ui-button .ui-icon{background-image:url(images/ui-icons_777777_256x240.png)}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-first,.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-left,.ui-corner-tl,.ui-corner-top{border-top-left-radius:3px}.ui-corner-all,.ui-corner-right,.ui-corner-top,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bl,.ui-corner-bottom,.ui-corner-left{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-br,.ui-corner-right{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;-ms-filter:"alpha(opacity=30)";opacity:.3}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} diff --git a/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js b/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js new file mode 100644 index 0000000000000..eb910d2b11141 --- /dev/null +++ b/providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js @@ -0,0 +1,21 @@ +/*! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +/*! For license information please see jquery-ui.min.js.LICENSE.txt */ +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}((function(t){"use strict";t.ui=t.ui||{},t.ui.version="1.13.3";var e,i,s,n,o,a,r,l,h,c,u=0,d=Array.prototype.hasOwnProperty,p=Array.prototype.slice;function f(t,e,i){return[parseFloat(t[0])*(h.test(t[0])?e/100:1),parseFloat(t[1])*(h.test(t[1])?i/100:1)]}function g(e,i){return parseInt(t.css(e,i),10)||0}function m(t){return null!=t&&t===t.window}t.cleanData=(e=t.cleanData,function(i){for(var s,n,o=0;null!=(n=i[o]);o++)(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove");e(i)}),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0],h=l+"-"+(e=e.split(".")[1]);return s||(s=i,i=t.Widget),Array.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr.pseudos[h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){if(!this||!this._createWidget)return new o(t,e);arguments.length&&this._createWidget(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(a=new i).options=t.widget.extend({},a.options),t.each(s,(function(t,e){function s(){return i.prototype[t].apply(this,arguments)}function n(e){return i.prototype[t].apply(this,e)}r[t]="function"!=typeof e?e:function(){var t,i=this._super,o=this._superApply;return this._super=s,this._superApply=n,t=e.apply(this,arguments),this._super=i,this._superApply=o,t}})),o.prototype=t.widget.extend(a,{widgetEventPrefix:n&&a.widgetEventPrefix||e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,(function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)})),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=p.call(arguments,1),o=0,a=n.length;o",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=u++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,(function(t,i){e._removeClass(i,t)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},e=(s=e.split(".")).shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o
")).children()[0],t("body").append(s),e=n.offsetWidth,s.css("overflow","scroll"),e===(n=n.offsetWidth)&&(n=s[0].clientWidth),s.remove(),i=e-n)},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y");i="scroll"===i||"auto"===i&&e.widths(n(a),n(p))?f.important="horizontal":f.important="vertical",e.using.call(this,t,f)}),r.offset(t.extend(D,{using:a}))}))):c.apply(this,arguments)},t.ui.position={fit:{left:function(t,e){var i,n=(o=e.within).isWindow?o.scrollLeft:o.offset.left,o=o.width,a=t.left-e.collisionPosition.marginLeft,r=n-a,l=a+e.collisionWidth-o-n;e.collisionWidth>o?0o?0")[0],P=v.each;function M(t){return null==t?t+"":"object"==typeof t?b[y.call(t)]||"object":typeof t}function S(t,e,i){var s=D[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:Math.min(s.max,Math.max(0,t)))}function H(t){var e=k(),i=e._rgba=[];return t=t.toLowerCase(),P(x,(function(s,n){var o=(o=n.re.exec(t))&&n.parse(o);n=n.space||"rgba";if(o)return o=e[n](o),e[C[n].cache]=o[C[n].cache],i=e._rgba=o._rgba,!1})),i.length?("0,0,0,0"===i.join()&&v.extend(i,j.transparent),e):j[t]}function z(t,e,i){return 6*(i=(i+1)%1)<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}T.style.cssText="background-color:rgba(1,1,1,.5)",I.rgba=-1h.mod/2?r+=h.mod:r-l>h.mod/2&&(r-=h.mod)),o[s]=S((l-r)*e+r,i)))})),this[t](o)},blend:function(t){var e,i,s;return 1===this._rgba[3]?this:(e=this._rgba.slice(),i=e.pop(),s=k(t)._rgba,k(v.map(e,(function(t,e){return(1-i)*s[e]+i*t}))))},toRgbaString:function(){var t="rgba(",e=v.map(this._rgba,(function(t,e){return null!=t?t:2").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(s){o=document.body}return e.wrap(s),e[0]!==o&&!t.contains(e[0],o)||t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],(function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")})),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),e[0]!==i&&!t.contains(e[0],i)||t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.13.3",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){var s;return 0===e?{height:0,width:0,outerHeight:0,outerWidth:0}:(s="horizontal"!==i?(e||100)/100:1,i="vertical"!==i?(e||100)/100:1,{height:t.height()*i,width:t.width()*s,outerHeight:t.outerHeight()*i,outerWidth:t.outerWidth()*s})},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();1").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(q+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=q+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,(function(t,i){var o=e.cssUnit(i);0");h.appendTo("body").addClass(e.className).css({top:l.top-a,left:l.left-o,height:s.innerHeight(),width:s.innerWidth(),position:n?"fixed":"absolute"}).animate(r,e.duration,e.easing,(function(){h.remove(),"function"==typeof i&&i()}))}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=G(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})},B={},t.each(["Quad","Cubic","Quart","Quint","Expo"],(function(t,e){B[e]=function(e){return Math.pow(e,t+2)}})),t.extend(B,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(B,(function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}})),T=t.effects,t.effects.define("blind","hide",(function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},l=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),l&&l.css(t.effects.clipToBox(r)),r.clip=a),l&&l.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("bounce",(function(e,i){var s,n,o=t(this),a="hide"===(r=e.mode),r="show"===r,l=e.direction||"up",h=e.distance,c=e.times||5,u=2*c+(r||a?1:0),d=e.duration/u,p=e.easing,f="up"===l||"down"===l?"top":"left",g="up"===l||"left"===l,m=0;e=o.queue().length;for(t.effects.createPlaceholder(o),l=o.css(f),h=h||o["top"==f?"outerHeight":"outerWidth"]()/3,r&&((n={opacity:1})[f]=l,o.css("opacity",0).css(f,g?2*-h:2*h).animate(n,d,p)),a&&(h/=Math.pow(2,c-1)),(n={})[f]=l;m").css({position:"absolute",visibility:"visible",left:-n*f,top:-s*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:g,left:o+(d?r*f:0),top:a+(d?l*g:0),opacity:d?0:1}).animate({left:o+(d?0:r*f),top:a+(d?0:l*g),opacity:d?1:0},e.duration||500,e.easing,_)})),t.effects.define("fade","toggle",(function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("fold","hide",(function(e,i){var s=t(this),n="show"===(o=e.mode),o="hide"===o,a=e.size||15,r=/([0-9]+)%/.exec(a),l=e.horizFirst?["right","bottom"]:["bottom","right"],h=e.duration/2,c=t.effects.createPlaceholder(s),u=s.cssClip(),d={clip:t.extend({},u)},p={clip:t.extend({},u)},f=[u[l[0]],u[l[1]]],g=s.queue().length;r&&(a=parseInt(r[1],10)/100*f[o?0:1]),d.clip[l[0]]=a,p.clip[l[0]]=a,p.clip[l[1]]=0,n&&(s.cssClip(p.clip),c&&c.css(t.effects.clipToBox(p)),p.clip=u),s.queue((function(i){c&&c.animate(t.effects.clipToBox(d),h,e.easing).animate(t.effects.clipToBox(p),h,e.easing),i()})).animate(d,h,e.easing).animate(p,h,e.easing).queue(i),t.effects.unshift(s,g,4)})),t.effects.define("highlight","show",(function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})})),t.effects.define("size",(function(e,i){var s,n=t(this),o=["fontSize"],a=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],r=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],l=e.mode,h="effect"!==l,c=e.scale||"both",u=e.origin||["middle","center"],d=n.css("position"),p=n.position(),f=t.effects.scaledDimensions(n),g=e.from||f,m=e.to||t.effects.scaledDimensions(n,0);t.effects.createPlaceholder(n),"show"===l&&(l=g,g=m,m=l),s={from:{y:g.height/f.height,x:g.width/f.width},to:{y:m.height/f.height,x:m.width/f.width}},"box"!==c&&"both"!==c||(s.from.y!==s.to.y&&(g=t.effects.setTransition(n,a,s.from.y,g),m=t.effects.setTransition(n,a,s.to.y,m)),s.from.x!==s.to.x&&(g=t.effects.setTransition(n,r,s.from.x,g),m=t.effects.setTransition(n,r,s.to.x,m))),"content"!==c&&"both"!==c||s.from.y!==s.to.y&&(g=t.effects.setTransition(n,o,s.from.y,g),m=t.effects.setTransition(n,o,s.to.y,m)),u&&(l=t.effects.getBaseline(u,f),g.top=(f.outerHeight-g.outerHeight)*l.y+p.top,g.left=(f.outerWidth-g.outerWidth)*l.x+p.left,m.top=(f.outerHeight-m.outerHeight)*l.y+p.top,m.left=(f.outerWidth-m.outerWidth)*l.x+p.left),delete g.outerHeight,delete g.outerWidth,n.css(g),"content"!==c&&"both"!==c||(a=a.concat(["marginTop","marginBottom"]).concat(o),r=r.concat(["marginLeft","marginRight"]),n.find("*[width]").each((function(){var i=t(this),n={height:(o=t.effects.scaledDimensions(i)).height*s.from.y,width:o.width*s.from.x,outerHeight:o.outerHeight*s.from.y,outerWidth:o.outerWidth*s.from.x},o={height:o.height*s.to.y,width:o.width*s.to.x,outerHeight:o.height*s.to.y,outerWidth:o.width*s.to.x};s.from.y!==s.to.y&&(n=t.effects.setTransition(i,a,s.from.y,n),o=t.effects.setTransition(i,a,s.to.y,o)),s.from.x!==s.to.x&&(n=t.effects.setTransition(i,r,s.from.x,n),o=t.effects.setTransition(i,r,s.to.x,o)),h&&t.effects.saveStyle(i),i.css(n),i.animate(o,e.duration,e.easing,(function(){h&&t.effects.restoreStyle(i)}))}))),n.animate(m,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=n.offset();0===m.opacity&&n.css("opacity",g.opacity),h||(n.css("position","static"===d?"relative":d).offset(e),t.effects.saveStyle(n)),i()}})})),t.effects.define("scale",(function(e,i){var s=t(this),n=e.mode;n=parseInt(e.percent,10)||(0===parseInt(e.percent,10)||"effect"!==n?0:100),s=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,n,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(s.from.opacity=1,s.to.opacity=0),t.effects.effect.size.call(this,s,i)})),t.effects.define("puff","hide",(function(e,i){e=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150}),t.effects.effect.scale.call(this,e,i)})),t.effects.define("pulsate","show",(function(e,i){var s=t(this),n="show"===(h=e.mode),o=2*(e.times||5)+(n||"hide"===h?1:0),a=e.duration/o,r=0,l=1,h=s.queue().length;for(!n&&s.is(":visible")||(s.css("opacity",0).show(),r=1);l li > :first-child").add(t.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i=this.options.icons;i&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+i.header),e.prependTo(this.headers),e=this.active.children(".ui-accordion-header-icon"),this._removeClass(e,i.header)._addClass(e,null,i.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"===t?this._activate(e):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e)&&this._createIcons())},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each((function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)})).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each((function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))})),this.headers.each((function(){e-=t(this).outerHeight(!0)})),this.headers.next().each((function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))})).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each((function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()})).height(e))},_activate:function(e){(e=this._findActive(e)[0])!==this.active[0]&&(e=e||this.active[0],this._eventHandler({target:e,currentTarget:e,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),(function(t,e){i[e]="_eventHandler"})),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():n.next(),l=s.next();l={oldHeader:s,oldPanel:l,newHeader:a?t():n,newPanel:r};e.preventDefault(),o&&!i.collapsible||!1===this._trigger("beforeActivate",e,l)||(i.active=!a&&this.headers.index(n),this.active=o?t():n,this._toggle(l),this._removeClass(s,"ui-accordion-header-active","ui-state-active"),i.icons&&(r=s.children(".ui-accordion-header-icon"),this._removeClass(r,null,i.icons.activeHeader)._addClass(r,null,i.icons.header)),o)||(this._removeClass(n,"ui-accordion-header-collapsed")._addClass(n,"ui-accordion-header-active","ui-state-active"),i.icons&&(e=n.children(".ui-accordion-header-icon"),this._removeClass(e,null,i.icons.header)._addClass(e,null,i.icons.activeHeader)),this._addClass(n.next(),"ui-accordion-content-active"))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter((function(){return 0===parseInt(t(this).attr("tabIndex"),10)})).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){function s(){o._toggleComplete(i)}var n,o=this,a=0,r=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active)&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(e){this._delay((function(){t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))||this.collapseAll(e)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(e){var i,s;this.previousFilter||e.clientX===this.lastMousePosition.x&&e.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:e.clientX,y:e.clientY},i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget),i[0]!==s[0])||s.is(".ui-state-active")||(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each((function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()}))},_keydown:function(e){var i,s,n,o=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:i=this.previousFilter||"",n=o=!1,s=96<=e.keyCode&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),s===i?n=!0:s=i+s,i=this._filterMenuItems(s),(i=n&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(s=String.fromCharCode(e.keyCode),i=this._filterMenuItems(s)),i.length?(this.focus(e,i),this.previousFilter=s,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}o&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s=this,n=this.options.icons.submenu,o=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=o.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var e=t(this),i=e.prev(),o=t("").data("ui-menu-submenu-caret",!0);s._addClass(o,"ui-menu-icon","ui-icon "+n),i.attr("aria-haspopup","true").prepend(o),e.attr("aria-labelledby",i.attr("id"))})),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(e=o.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var e=t(this);s._isDivider(e)&&s._addClass(e,"ui-menu-divider","ui-widget-content")})),i=(o=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(o,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,i=e.offset().top-this.activeMenu.offset().top-i-s,s=this.activeMenu.scrollTop(),n=this.activeMenu.height(),e=e.outerHeight(),i<0?this.activeMenu.scrollTop(s+i):n",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var e,i,s,n="textarea"===(o=this.element[0].nodeName.toLowerCase()),o="input"===o;this.isMultiLine=n||!o&&this._isContentEditable(this.element),this.valueMethod=this.element[n||o?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))i=s=e=!0;else{i=s=e=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}}},keypress:function(s){if(e)e=!1,this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault();else if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){s?(s=!1,t.preventDefault()):this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=t("