From 362f57aa6ebbb518320b712ff52e98329daa4b99 Mon Sep 17 00:00:00 2001 From: "Prow CI (APPID: 112385)" Date: Fri, 20 Oct 2023 08:08:10 +0000 Subject: [PATCH] Publish docs --- .nojekyll | 0 404.html | 31 + CNAME | 1 + _static/basic.css | 906 ++ _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 + _static/copybutton.js | 248 + _static/copybutton_funcs.js | 73 + _static/css/main.css | 1 + _static/doctools.js | 358 + _static/documentation_options.js | 14 + _static/file.png | Bin 0 -> 286 bytes _static/img/banner-background.svg | 10 + _static/img/favicon-228x228.png | Bin 0 -> 4428 bytes _static/img/favicon-32x32.png | Bin 0 -> 837 bytes _static/img/favicon.ico | Bin 0 -> 1150 bytes _static/img/icons/icon-about-team.svg | 1 + _static/img/icons/icon-about-us-m.svg | 1 + _static/img/icons/icon-about-us.svg | 1 + _static/img/icons/icon-alternator.svg | 1 + _static/img/icons/icon-apps.svg | 1 + _static/img/icons/icon-architecture.svg | 1 + _static/img/icons/icon-benchmarks.svg | 1 + _static/img/icons/icon-blog.svg | 1 + _static/img/icons/icon-careers.svg | 1 + _static/img/icons/icon-chevron-left.svg | 3 + _static/img/icons/icon-chevron-right.svg | 3 + _static/img/icons/icon-circe.svg | 1 + _static/img/icons/icon-clock.svg | 1 + _static/img/icons/icon-close.svg | 12 + _static/img/icons/icon-cloud-docs.svg | 1 + _static/img/icons/icon-cloud.svg | 1 + _static/img/icons/icon-comparison.svg | 1 + _static/img/icons/icon-contact-us.svg | 1 + _static/img/icons/icon-developers-blog.svg | 1 + _static/img/icons/icon-docs.svg | 1 + _static/img/icons/icon-enterprise-m.svg | 33 + _static/img/icons/icon-enterprise.svg | 1 + _static/img/icons/icon-events.svg | 1 + _static/img/icons/icon-exclamation.svg | 10 + _static/img/icons/icon-expand.svg | 50 + _static/img/icons/icon-forum.svg | 1 + _static/img/icons/icon-getting-started.svg | 1 + _static/img/icons/icon-glossary.svg | 1 + _static/img/icons/icon-home.svg | 1 + _static/img/icons/icon-infoworld.svg | 1 + _static/img/icons/icon-integrations.svg | 1 + _static/img/icons/icon-knowledge-base.svg | 1 + _static/img/icons/icon-less.svg | 8 + _static/img/icons/icon-live-test.svg | 1 + _static/img/icons/icon-mail-list.svg | 1 + _static/img/icons/icon-manager.svg | 1 + _static/img/icons/icon-memory-management.svg | 1 + _static/img/icons/icon-modeling.svg | 1 + _static/img/icons/icon-monitoring.svg | 1 + _static/img/icons/icon-networking.svg | 1 + _static/img/icons/icon-news.svg | 1 + _static/img/icons/icon-newsletter.svg | 1 + _static/img/icons/icon-nsql-guides.svg | 1 + _static/img/icons/icon-open-source.svg | 1 + _static/img/icons/icon-operator.svg | 1 + _static/img/icons/icon-overview.svg | 1 + _static/img/icons/icon-partners.svg | 1 + _static/img/icons/icon-plus.svg | 8 + _static/img/icons/icon-pricing.svg | 1 + _static/img/icons/icon-release-notes.svg | 1 + _static/img/icons/icon-resource-center.svg | 1 + _static/img/icons/icon-roadmap.svg | 1 + _static/img/icons/icon-search.svg | 4 + _static/img/icons/icon-slack.svg | 1 + _static/img/icons/icon-stack-overflow.svg | 4 + _static/img/icons/icon-summit.svg | 1 + _static/img/icons/icon-support.svg | 1 + _static/img/icons/icon-tech-talks.svg | 1 + _static/img/icons/icon-testing.svg | 1 + _static/img/icons/icon-thumbs-down.svg | 1 + _static/img/icons/icon-thumbs-up.svg | 1 + _static/img/icons/icon-tip.svg | 5 + _static/img/icons/icon-training.svg | 1 + _static/img/icons/icon-triangle-down.svg | 3 + _static/img/icons/icon-university.svg | 1 + _static/img/icons/icon-users-blog.svg | 1 + _static/img/icons/icon-warning.svg | 10 + _static/img/icons/icon-webinars.svg | 1 + _static/img/icons/icon-whitepapers.svg | 1 + _static/img/icons/icon-workshop.svg | 1 + _static/img/logo-docs.svg | 23 + _static/img/logo-scylla-horizontal-RGB.svg | 74 + _static/img/mascots/404.jpg | Bin 0 -> 29400 bytes _static/img/mascots/scylla-3monsters.png | Bin 0 -> 35624 bytes .../img/mascots/scylla-advisor-crystal.png | Bin 0 -> 67593 bytes _static/img/mascots/scylla-alternator.svg | 1 + _static/img/mascots/scylla-cloud.svg | 1 + .../mascots/scylla-computer-3-monsters.png | Bin 0 -> 44539 bytes .../img/mascots/scylla-computer-headset.png | Bin 0 -> 22297 bytes _static/img/mascots/scylla-cup-number-one.png | Bin 0 -> 22675 bytes _static/img/mascots/scylla-docs.svg | 1 + _static/img/mascots/scylla-drivers.svg | 1 + _static/img/mascots/scylla-enterprise.svg | 1 + _static/img/mascots/scylla-forklift-boxes.png | Bin 0 -> 29196 bytes .../img/mascots/scylla-forklift-migration.png | Bin 0 -> 24191 bytes _static/img/mascots/scylla-gear.png | Bin 0 -> 64841 bytes _static/img/mascots/scylla-hardhat.png | Bin 0 -> 20163 bytes _static/img/mascots/scylla-headband.png | Bin 0 -> 40533 bytes _static/img/mascots/scylla-headset.png | Bin 0 -> 19094 bytes _static/img/mascots/scylla-hearts.png | Bin 0 -> 22252 bytes _static/img/mascots/scylla-looking-down.png | Bin 0 -> 70044 bytes _static/img/mascots/scylla-looking-up.png | Bin 0 -> 69083 bytes .../scylla-magnifying-glass-fronting.png | Bin 0 -> 17463 bytes .../img/mascots/scylla-magnifying-glass.png | Bin 0 -> 16651 bytes _static/img/mascots/scylla-manager.svg | 1 + _static/img/mascots/scylla-monitor.svg | 1 + _static/img/mascots/scylla-movement-fast.png | Bin 0 -> 18439 bytes _static/img/mascots/scylla-movement.png | Bin 0 -> 14720 bytes _static/img/mascots/scylla-onpremise.png | Bin 0 -> 33081 bytes _static/img/mascots/scylla-opensource.svg | 1 + _static/img/mascots/scylla-operator.svg | 1 + _static/img/mascots/scylla-plugin.png | Bin 0 -> 52683 bytes _static/img/mascots/scylla-release-mascot.png | Bin 0 -> 31893 bytes _static/img/mascots/scylla-repair.png | Bin 0 -> 21261 bytes _static/img/mascots/scylla-server.png | Bin 0 -> 48529 bytes _static/img/mascots/scylla-sleeping.png | Bin 0 -> 12942 bytes _static/img/mascots/scylla-tall-measure.png | Bin 0 -> 18996 bytes _static/img/mascots/scylla-university.png | Bin 0 -> 26146 bytes _static/img/mascots/scylla-weights.png | Bin 0 -> 40973 bytes .../img/mascots/scylla-window-cleaning.png | Bin 0 -> 34761 bytes .../img/mascots/scylla-with-computer-2.png | Bin 0 -> 18803 bytes _static/img/mascots/scylla-with-computer.png | Bin 0 -> 19926 bytes _static/img/mascots/scylla-with-linux.png | Bin 0 -> 45076 bytes _static/img/mascots/scylla-writting.png | Bin 0 -> 34449 bytes _static/img/menu.svg | 3 + _static/jquery-3.5.1.js | 10872 ++++++++++++++++ _static/jquery.js | 2 + _static/js/main.bundle.js | 2 + _static/js/main.bundle.js.LICENSE.txt | 348 + _static/js/runtime.bundle.js | 1 + _static/language_data.js | 297 + _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 74 + _static/searchtools.js | 525 + _static/sphinx_collapse.css | 31 + _static/tabs.css | 89 + _static/tabs.js | 145 + _static/underscore-1.13.1.js | 2042 +++ _static/underscore.js | 6 + index.html | 7 + master/.buildinfo | 4 + master/.doctrees/contributing.doctree | Bin 0 -> 32895 bytes master/.doctrees/eks.doctree | Bin 0 -> 24831 bytes master/.doctrees/environment.pickle | Bin 0 -> 117521 bytes master/.doctrees/exposing.doctree | Bin 0 -> 40260 bytes master/.doctrees/generic.doctree | Bin 0 -> 75807 bytes master/.doctrees/gke.doctree | Bin 0 -> 32672 bytes master/.doctrees/helm.doctree | Bin 0 -> 49561 bytes master/.doctrees/index.doctree | Bin 0 -> 16762 bytes master/.doctrees/known-issues.doctree | Bin 0 -> 5285 bytes master/.doctrees/manager.doctree | Bin 0 -> 48355 bytes master/.doctrees/migration.doctree | Bin 0 -> 37578 bytes master/.doctrees/monitoring.doctree | Bin 0 -> 32130 bytes master/.doctrees/multidc/eks.doctree | Bin 0 -> 30137 bytes master/.doctrees/multidc/gke.doctree | Bin 0 -> 32705 bytes master/.doctrees/multidc/index.doctree | Bin 0 -> 6869 bytes master/.doctrees/multidc/multidc.doctree | Bin 0 -> 69009 bytes .../nodeoperations/automatic-cleanup.doctree | Bin 0 -> 4260 bytes master/.doctrees/nodeoperations/index.doctree | Bin 0 -> 6927 bytes .../nodeoperations/maintenance-mode.doctree | Bin 0 -> 5797 bytes .../nodeoperations/replace-node.doctree | Bin 0 -> 16948 bytes .../.doctrees/nodeoperations/restore.doctree | Bin 0 -> 16656 bytes .../nodeoperations/scylla-upgrade.doctree | Bin 0 -> 27880 bytes master/.doctrees/performance.doctree | Bin 0 -> 17583 bytes master/.doctrees/releases.doctree | Bin 0 -> 26796 bytes master/.doctrees/scylla-cluster-crd.doctree | Bin 0 -> 65222 bytes master/.doctrees/upgrade.doctree | Bin 0 -> 32443 bytes master/.nojekyll | 0 master/404.html | 31 + master/CNAME | 1 + master/_images/clusterip.svg | 3 + master/_images/loadbalancer.svg | 3 + master/_images/logo.png | Bin 0 -> 35103 bytes master/_images/multivpc.svg | 3 + master/_images/podips.svg | 3 + master/_sources/contributing.md.txt | 155 + master/_sources/eks.md.txt | 129 + master/_sources/exposing.md.txt | 266 + master/_sources/generic.md.txt | 387 + master/_sources/gke.md.txt | 171 + master/_sources/helm.md.txt | 339 + master/_sources/index.rst.txt | 65 + master/_sources/known-issues.md.txt | 14 + master/_sources/manager.md.txt | 258 + master/_sources/migration.md.txt | 146 + master/_sources/monitoring.md.txt | 180 + master/_sources/multidc/eks.md.txt | 168 + master/_sources/multidc/gke.md.txt | 156 + master/_sources/multidc/index.rst.txt | 25 + master/_sources/multidc/multidc.md.txt | 563 + .../nodeoperations/automatic-cleanup.md.txt | 6 + master/_sources/nodeoperations/index.rst.txt | 22 + .../nodeoperations/maintenance-mode.md.txt | 19 + .../nodeoperations/replace-node.md.txt | 74 + master/_sources/nodeoperations/restore.md.txt | 89 + .../nodeoperations/scylla-upgrade.md.txt | 102 + master/_sources/performance.md.txt | 95 + master/_sources/releases.md.txt | 59 + master/_sources/scylla-cluster-crd.md.txt | 188 + master/_sources/upgrade.md.txt | 184 + master/_static/basic.css | 906 ++ master/_static/check-solid.svg | 4 + master/_static/clipboard.min.js | 7 + master/_static/copy-button.svg | 5 + master/_static/copybutton.css | 94 + master/_static/copybutton.js | 248 + master/_static/copybutton_funcs.js | 73 + master/_static/css/main.css | 1 + master/_static/doctools.js | 358 + master/_static/documentation_options.js | 14 + master/_static/file.png | Bin 0 -> 286 bytes master/_static/img/banner-background.svg | 10 + master/_static/img/favicon-228x228.png | Bin 0 -> 4428 bytes master/_static/img/favicon-32x32.png | Bin 0 -> 837 bytes master/_static/img/favicon.ico | Bin 0 -> 1150 bytes master/_static/img/icons/icon-about-team.svg | 1 + master/_static/img/icons/icon-about-us-m.svg | 1 + master/_static/img/icons/icon-about-us.svg | 1 + master/_static/img/icons/icon-alternator.svg | 1 + master/_static/img/icons/icon-apps.svg | 1 + .../_static/img/icons/icon-architecture.svg | 1 + master/_static/img/icons/icon-benchmarks.svg | 1 + master/_static/img/icons/icon-blog.svg | 1 + master/_static/img/icons/icon-careers.svg | 1 + .../_static/img/icons/icon-chevron-left.svg | 3 + .../_static/img/icons/icon-chevron-right.svg | 3 + master/_static/img/icons/icon-circe.svg | 1 + master/_static/img/icons/icon-clock.svg | 1 + master/_static/img/icons/icon-close.svg | 12 + master/_static/img/icons/icon-cloud-docs.svg | 1 + master/_static/img/icons/icon-cloud.svg | 1 + master/_static/img/icons/icon-comparison.svg | 1 + master/_static/img/icons/icon-contact-us.svg | 1 + .../img/icons/icon-developers-blog.svg | 1 + master/_static/img/icons/icon-docs.svg | 1 + .../_static/img/icons/icon-enterprise-m.svg | 33 + master/_static/img/icons/icon-enterprise.svg | 1 + master/_static/img/icons/icon-events.svg | 1 + master/_static/img/icons/icon-exclamation.svg | 10 + master/_static/img/icons/icon-expand.svg | 50 + master/_static/img/icons/icon-forum.svg | 1 + .../img/icons/icon-getting-started.svg | 1 + master/_static/img/icons/icon-glossary.svg | 1 + master/_static/img/icons/icon-home.svg | 1 + master/_static/img/icons/icon-infoworld.svg | 1 + .../_static/img/icons/icon-integrations.svg | 1 + .../_static/img/icons/icon-knowledge-base.svg | 1 + master/_static/img/icons/icon-less.svg | 8 + master/_static/img/icons/icon-live-test.svg | 1 + master/_static/img/icons/icon-mail-list.svg | 1 + master/_static/img/icons/icon-manager.svg | 1 + .../img/icons/icon-memory-management.svg | 1 + master/_static/img/icons/icon-modeling.svg | 1 + master/_static/img/icons/icon-monitoring.svg | 1 + master/_static/img/icons/icon-networking.svg | 1 + master/_static/img/icons/icon-news.svg | 1 + master/_static/img/icons/icon-newsletter.svg | 1 + master/_static/img/icons/icon-nsql-guides.svg | 1 + master/_static/img/icons/icon-open-source.svg | 1 + master/_static/img/icons/icon-operator.svg | 1 + master/_static/img/icons/icon-overview.svg | 1 + master/_static/img/icons/icon-partners.svg | 1 + master/_static/img/icons/icon-plus.svg | 8 + master/_static/img/icons/icon-pricing.svg | 1 + .../_static/img/icons/icon-release-notes.svg | 1 + .../img/icons/icon-resource-center.svg | 1 + master/_static/img/icons/icon-roadmap.svg | 1 + master/_static/img/icons/icon-search.svg | 4 + master/_static/img/icons/icon-slack.svg | 1 + .../_static/img/icons/icon-stack-overflow.svg | 4 + master/_static/img/icons/icon-summit.svg | 1 + master/_static/img/icons/icon-support.svg | 1 + master/_static/img/icons/icon-tech-talks.svg | 1 + master/_static/img/icons/icon-testing.svg | 1 + master/_static/img/icons/icon-thumbs-down.svg | 1 + master/_static/img/icons/icon-thumbs-up.svg | 1 + master/_static/img/icons/icon-tip.svg | 5 + master/_static/img/icons/icon-training.svg | 1 + .../_static/img/icons/icon-triangle-down.svg | 3 + master/_static/img/icons/icon-university.svg | 1 + master/_static/img/icons/icon-users-blog.svg | 1 + master/_static/img/icons/icon-warning.svg | 10 + master/_static/img/icons/icon-webinars.svg | 1 + master/_static/img/icons/icon-whitepapers.svg | 1 + master/_static/img/icons/icon-workshop.svg | 1 + master/_static/img/logo-docs.svg | 23 + .../img/logo-scylla-horizontal-RGB.svg | 74 + master/_static/img/mascots/404.jpg | Bin 0 -> 29400 bytes .../_static/img/mascots/scylla-3monsters.png | Bin 0 -> 35624 bytes .../img/mascots/scylla-advisor-crystal.png | Bin 0 -> 67593 bytes .../_static/img/mascots/scylla-alternator.svg | 1 + master/_static/img/mascots/scylla-cloud.svg | 1 + .../mascots/scylla-computer-3-monsters.png | Bin 0 -> 44539 bytes .../img/mascots/scylla-computer-headset.png | Bin 0 -> 22297 bytes .../img/mascots/scylla-cup-number-one.png | Bin 0 -> 22675 bytes master/_static/img/mascots/scylla-docs.svg | 1 + master/_static/img/mascots/scylla-drivers.svg | 1 + .../_static/img/mascots/scylla-enterprise.svg | 1 + .../img/mascots/scylla-forklift-boxes.png | Bin 0 -> 29196 bytes .../img/mascots/scylla-forklift-migration.png | Bin 0 -> 24191 bytes master/_static/img/mascots/scylla-gear.png | Bin 0 -> 64841 bytes master/_static/img/mascots/scylla-hardhat.png | Bin 0 -> 20163 bytes .../_static/img/mascots/scylla-headband.png | Bin 0 -> 40533 bytes master/_static/img/mascots/scylla-headset.png | Bin 0 -> 19094 bytes master/_static/img/mascots/scylla-hearts.png | Bin 0 -> 22252 bytes .../img/mascots/scylla-looking-down.png | Bin 0 -> 70044 bytes .../_static/img/mascots/scylla-looking-up.png | Bin 0 -> 69083 bytes .../scylla-magnifying-glass-fronting.png | Bin 0 -> 17463 bytes .../img/mascots/scylla-magnifying-glass.png | Bin 0 -> 16651 bytes master/_static/img/mascots/scylla-manager.svg | 1 + master/_static/img/mascots/scylla-monitor.svg | 1 + .../img/mascots/scylla-movement-fast.png | Bin 0 -> 18439 bytes .../_static/img/mascots/scylla-movement.png | Bin 0 -> 14720 bytes .../_static/img/mascots/scylla-onpremise.png | Bin 0 -> 33081 bytes .../_static/img/mascots/scylla-opensource.svg | 1 + .../_static/img/mascots/scylla-operator.svg | 1 + master/_static/img/mascots/scylla-plugin.png | Bin 0 -> 52683 bytes .../img/mascots/scylla-release-mascot.png | Bin 0 -> 31893 bytes master/_static/img/mascots/scylla-repair.png | Bin 0 -> 21261 bytes master/_static/img/mascots/scylla-server.png | Bin 0 -> 48529 bytes .../_static/img/mascots/scylla-sleeping.png | Bin 0 -> 12942 bytes .../img/mascots/scylla-tall-measure.png | Bin 0 -> 18996 bytes .../_static/img/mascots/scylla-university.png | Bin 0 -> 26146 bytes master/_static/img/mascots/scylla-weights.png | Bin 0 -> 40973 bytes .../img/mascots/scylla-window-cleaning.png | Bin 0 -> 34761 bytes .../img/mascots/scylla-with-computer-2.png | Bin 0 -> 18803 bytes .../img/mascots/scylla-with-computer.png | Bin 0 -> 19926 bytes .../_static/img/mascots/scylla-with-linux.png | Bin 0 -> 45076 bytes .../_static/img/mascots/scylla-writting.png | Bin 0 -> 34449 bytes master/_static/img/menu.svg | 3 + master/_static/jquery-3.5.1.js | 10872 ++++++++++++++++ master/_static/jquery.js | 2 + master/_static/js/main.bundle.js | 2 + master/_static/js/main.bundle.js.LICENSE.txt | 348 + master/_static/js/runtime.bundle.js | 1 + master/_static/language_data.js | 297 + master/_static/minus.png | Bin 0 -> 90 bytes master/_static/plus.png | Bin 0 -> 90 bytes master/_static/pygments.css | 74 + master/_static/searchtools.js | 525 + master/_static/sphinx_collapse.css | 31 + master/_static/tabs.css | 89 + master/_static/tabs.js | 145 + master/_static/underscore-1.13.1.js | 2042 +++ master/_static/underscore.js | 6 + master/contributing.html | 715 + master/eks.html | 710 + master/exposing.html | 818 ++ master/generic.html | 927 ++ master/genindex.html | 532 + master/gke.html | 746 ++ master/helm.html | 897 ++ master/index.html | 577 + master/known-issues.html | 573 + master/manager.html | 784 ++ master/migration.html | 719 + master/monitoring.html | 766 ++ master/multidc/eks.html | 751 ++ master/multidc/gke.html | 720 + master/multidc/index.html | 561 + master/multidc/multidc.html | 1118 ++ master/nodeoperations/automatic-cleanup.html | 558 + master/nodeoperations/index.html | 558 + master/nodeoperations/maintenance-mode.html | 567 + master/nodeoperations/replace-node.html | 641 + master/nodeoperations/restore.html | 629 + master/nodeoperations/scylla-upgrade.html | 640 + master/objects.inv | 6 + master/performance.html | 642 + master/releases.html | 821 ++ master/scylla-cluster-crd.html | 781 ++ master/search.html | 535 + master/searchindex.js | 1 + master/sitemap.xml | 2 + master/upgrade.html | 768 ++ 384 files changed, 55956 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 CNAME create mode 100644 _static/basic.css create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/css/main.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/file.png create mode 100644 _static/img/banner-background.svg create mode 100644 _static/img/favicon-228x228.png create mode 100644 _static/img/favicon-32x32.png create mode 100644 _static/img/favicon.ico create mode 100644 _static/img/icons/icon-about-team.svg create mode 100644 _static/img/icons/icon-about-us-m.svg create mode 100644 _static/img/icons/icon-about-us.svg create mode 100644 _static/img/icons/icon-alternator.svg create mode 100644 _static/img/icons/icon-apps.svg create mode 100644 _static/img/icons/icon-architecture.svg create mode 100644 _static/img/icons/icon-benchmarks.svg create mode 100644 _static/img/icons/icon-blog.svg create mode 100644 _static/img/icons/icon-careers.svg create mode 100644 _static/img/icons/icon-chevron-left.svg create mode 100644 _static/img/icons/icon-chevron-right.svg create mode 100644 _static/img/icons/icon-circe.svg create mode 100644 _static/img/icons/icon-clock.svg create mode 100644 _static/img/icons/icon-close.svg create mode 100644 _static/img/icons/icon-cloud-docs.svg create mode 100644 _static/img/icons/icon-cloud.svg create mode 100644 _static/img/icons/icon-comparison.svg create mode 100644 _static/img/icons/icon-contact-us.svg create mode 100644 _static/img/icons/icon-developers-blog.svg create mode 100644 _static/img/icons/icon-docs.svg create mode 100644 _static/img/icons/icon-enterprise-m.svg create mode 100644 _static/img/icons/icon-enterprise.svg create mode 100644 _static/img/icons/icon-events.svg create mode 100644 _static/img/icons/icon-exclamation.svg create mode 100644 _static/img/icons/icon-expand.svg create mode 100644 _static/img/icons/icon-forum.svg create mode 100644 _static/img/icons/icon-getting-started.svg create mode 100644 _static/img/icons/icon-glossary.svg create mode 100644 _static/img/icons/icon-home.svg create mode 100644 _static/img/icons/icon-infoworld.svg create mode 100644 _static/img/icons/icon-integrations.svg create mode 100644 _static/img/icons/icon-knowledge-base.svg create mode 100644 _static/img/icons/icon-less.svg create mode 100644 _static/img/icons/icon-live-test.svg create mode 100644 _static/img/icons/icon-mail-list.svg create mode 100644 _static/img/icons/icon-manager.svg create mode 100644 _static/img/icons/icon-memory-management.svg create mode 100644 _static/img/icons/icon-modeling.svg create mode 100644 _static/img/icons/icon-monitoring.svg create mode 100644 _static/img/icons/icon-networking.svg create mode 100644 _static/img/icons/icon-news.svg create mode 100644 _static/img/icons/icon-newsletter.svg create mode 100644 _static/img/icons/icon-nsql-guides.svg create mode 100644 _static/img/icons/icon-open-source.svg create mode 100644 _static/img/icons/icon-operator.svg create mode 100644 _static/img/icons/icon-overview.svg create mode 100644 _static/img/icons/icon-partners.svg create mode 100644 _static/img/icons/icon-plus.svg create mode 100644 _static/img/icons/icon-pricing.svg create mode 100644 _static/img/icons/icon-release-notes.svg create mode 100644 _static/img/icons/icon-resource-center.svg create mode 100644 _static/img/icons/icon-roadmap.svg create mode 100644 _static/img/icons/icon-search.svg create mode 100644 _static/img/icons/icon-slack.svg create mode 100644 _static/img/icons/icon-stack-overflow.svg create mode 100644 _static/img/icons/icon-summit.svg create mode 100644 _static/img/icons/icon-support.svg create mode 100644 _static/img/icons/icon-tech-talks.svg create mode 100644 _static/img/icons/icon-testing.svg create mode 100644 _static/img/icons/icon-thumbs-down.svg create mode 100644 _static/img/icons/icon-thumbs-up.svg create mode 100644 _static/img/icons/icon-tip.svg create mode 100644 _static/img/icons/icon-training.svg create mode 100644 _static/img/icons/icon-triangle-down.svg create mode 100644 _static/img/icons/icon-university.svg create mode 100644 _static/img/icons/icon-users-blog.svg create mode 100644 _static/img/icons/icon-warning.svg create mode 100644 _static/img/icons/icon-webinars.svg create mode 100644 _static/img/icons/icon-whitepapers.svg create mode 100644 _static/img/icons/icon-workshop.svg create mode 100644 _static/img/logo-docs.svg create mode 100644 _static/img/logo-scylla-horizontal-RGB.svg create mode 100644 _static/img/mascots/404.jpg create mode 100644 _static/img/mascots/scylla-3monsters.png create mode 100644 _static/img/mascots/scylla-advisor-crystal.png create mode 100644 _static/img/mascots/scylla-alternator.svg create mode 100644 _static/img/mascots/scylla-cloud.svg create mode 100644 _static/img/mascots/scylla-computer-3-monsters.png create mode 100644 _static/img/mascots/scylla-computer-headset.png create mode 100644 _static/img/mascots/scylla-cup-number-one.png create mode 100644 _static/img/mascots/scylla-docs.svg create mode 100644 _static/img/mascots/scylla-drivers.svg create mode 100644 _static/img/mascots/scylla-enterprise.svg create mode 100644 _static/img/mascots/scylla-forklift-boxes.png create mode 100644 _static/img/mascots/scylla-forklift-migration.png create mode 100644 _static/img/mascots/scylla-gear.png create mode 100644 _static/img/mascots/scylla-hardhat.png create mode 100644 _static/img/mascots/scylla-headband.png create mode 100644 _static/img/mascots/scylla-headset.png create mode 100644 _static/img/mascots/scylla-hearts.png create mode 100644 _static/img/mascots/scylla-looking-down.png create mode 100644 _static/img/mascots/scylla-looking-up.png create mode 100644 _static/img/mascots/scylla-magnifying-glass-fronting.png create mode 100644 _static/img/mascots/scylla-magnifying-glass.png create mode 100644 _static/img/mascots/scylla-manager.svg create mode 100644 _static/img/mascots/scylla-monitor.svg create mode 100644 _static/img/mascots/scylla-movement-fast.png create mode 100644 _static/img/mascots/scylla-movement.png create mode 100644 _static/img/mascots/scylla-onpremise.png create mode 100644 _static/img/mascots/scylla-opensource.svg create mode 100644 _static/img/mascots/scylla-operator.svg create mode 100644 _static/img/mascots/scylla-plugin.png create mode 100644 _static/img/mascots/scylla-release-mascot.png create mode 100644 _static/img/mascots/scylla-repair.png create mode 100644 _static/img/mascots/scylla-server.png create mode 100644 _static/img/mascots/scylla-sleeping.png create mode 100644 _static/img/mascots/scylla-tall-measure.png create mode 100644 _static/img/mascots/scylla-university.png create mode 100644 _static/img/mascots/scylla-weights.png create mode 100644 _static/img/mascots/scylla-window-cleaning.png create mode 100644 _static/img/mascots/scylla-with-computer-2.png create mode 100644 _static/img/mascots/scylla-with-computer.png create mode 100644 _static/img/mascots/scylla-with-linux.png create mode 100644 _static/img/mascots/scylla-writting.png create mode 100644 _static/img/menu.svg create mode 100644 _static/jquery-3.5.1.js create mode 100644 _static/jquery.js create mode 100644 _static/js/main.bundle.js create mode 100644 _static/js/main.bundle.js.LICENSE.txt create mode 100644 _static/js/runtime.bundle.js create mode 100644 _static/language_data.js create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/searchtools.js create mode 100644 _static/sphinx_collapse.css create mode 100644 _static/tabs.css create mode 100644 _static/tabs.js create mode 100644 _static/underscore-1.13.1.js create mode 100644 _static/underscore.js create mode 100644 index.html create mode 100644 master/.buildinfo create mode 100644 master/.doctrees/contributing.doctree create mode 100644 master/.doctrees/eks.doctree create mode 100644 master/.doctrees/environment.pickle create mode 100644 master/.doctrees/exposing.doctree create mode 100644 master/.doctrees/generic.doctree create mode 100644 master/.doctrees/gke.doctree create mode 100644 master/.doctrees/helm.doctree create mode 100644 master/.doctrees/index.doctree create mode 100644 master/.doctrees/known-issues.doctree create mode 100644 master/.doctrees/manager.doctree create mode 100644 master/.doctrees/migration.doctree create mode 100644 master/.doctrees/monitoring.doctree create mode 100644 master/.doctrees/multidc/eks.doctree create mode 100644 master/.doctrees/multidc/gke.doctree create mode 100644 master/.doctrees/multidc/index.doctree create mode 100644 master/.doctrees/multidc/multidc.doctree create mode 100644 master/.doctrees/nodeoperations/automatic-cleanup.doctree create mode 100644 master/.doctrees/nodeoperations/index.doctree create mode 100644 master/.doctrees/nodeoperations/maintenance-mode.doctree create mode 100644 master/.doctrees/nodeoperations/replace-node.doctree create mode 100644 master/.doctrees/nodeoperations/restore.doctree create mode 100644 master/.doctrees/nodeoperations/scylla-upgrade.doctree create mode 100644 master/.doctrees/performance.doctree create mode 100644 master/.doctrees/releases.doctree create mode 100644 master/.doctrees/scylla-cluster-crd.doctree create mode 100644 master/.doctrees/upgrade.doctree create mode 100644 master/.nojekyll create mode 100644 master/404.html create mode 100644 master/CNAME create mode 100644 master/_images/clusterip.svg create mode 100644 master/_images/loadbalancer.svg create mode 100644 master/_images/logo.png create mode 100644 master/_images/multivpc.svg create mode 100644 master/_images/podips.svg create mode 100644 master/_sources/contributing.md.txt create mode 100644 master/_sources/eks.md.txt create mode 100644 master/_sources/exposing.md.txt create mode 100644 master/_sources/generic.md.txt create mode 100644 master/_sources/gke.md.txt create mode 100644 master/_sources/helm.md.txt create mode 100644 master/_sources/index.rst.txt create mode 100644 master/_sources/known-issues.md.txt create mode 100644 master/_sources/manager.md.txt create mode 100644 master/_sources/migration.md.txt create mode 100644 master/_sources/monitoring.md.txt create mode 100644 master/_sources/multidc/eks.md.txt create mode 100644 master/_sources/multidc/gke.md.txt create mode 100644 master/_sources/multidc/index.rst.txt create mode 100644 master/_sources/multidc/multidc.md.txt create mode 100644 master/_sources/nodeoperations/automatic-cleanup.md.txt create mode 100644 master/_sources/nodeoperations/index.rst.txt create mode 100644 master/_sources/nodeoperations/maintenance-mode.md.txt create mode 100644 master/_sources/nodeoperations/replace-node.md.txt create mode 100644 master/_sources/nodeoperations/restore.md.txt create mode 100644 master/_sources/nodeoperations/scylla-upgrade.md.txt create mode 100644 master/_sources/performance.md.txt create mode 100644 master/_sources/releases.md.txt create mode 100644 master/_sources/scylla-cluster-crd.md.txt create mode 100644 master/_sources/upgrade.md.txt create mode 100644 master/_static/basic.css create mode 100644 master/_static/check-solid.svg create mode 100644 master/_static/clipboard.min.js create mode 100644 master/_static/copy-button.svg create mode 100644 master/_static/copybutton.css create mode 100644 master/_static/copybutton.js create mode 100644 master/_static/copybutton_funcs.js create mode 100644 master/_static/css/main.css create mode 100644 master/_static/doctools.js create mode 100644 master/_static/documentation_options.js create mode 100644 master/_static/file.png create mode 100644 master/_static/img/banner-background.svg create mode 100644 master/_static/img/favicon-228x228.png create mode 100644 master/_static/img/favicon-32x32.png create mode 100644 master/_static/img/favicon.ico create mode 100644 master/_static/img/icons/icon-about-team.svg create mode 100644 master/_static/img/icons/icon-about-us-m.svg create mode 100644 master/_static/img/icons/icon-about-us.svg create mode 100644 master/_static/img/icons/icon-alternator.svg create mode 100644 master/_static/img/icons/icon-apps.svg create mode 100644 master/_static/img/icons/icon-architecture.svg create mode 100644 master/_static/img/icons/icon-benchmarks.svg create mode 100644 master/_static/img/icons/icon-blog.svg create mode 100644 master/_static/img/icons/icon-careers.svg create mode 100644 master/_static/img/icons/icon-chevron-left.svg create mode 100644 master/_static/img/icons/icon-chevron-right.svg create mode 100644 master/_static/img/icons/icon-circe.svg create mode 100644 master/_static/img/icons/icon-clock.svg create mode 100644 master/_static/img/icons/icon-close.svg create mode 100644 master/_static/img/icons/icon-cloud-docs.svg create mode 100644 master/_static/img/icons/icon-cloud.svg create mode 100644 master/_static/img/icons/icon-comparison.svg create mode 100644 master/_static/img/icons/icon-contact-us.svg create mode 100644 master/_static/img/icons/icon-developers-blog.svg create mode 100644 master/_static/img/icons/icon-docs.svg create mode 100644 master/_static/img/icons/icon-enterprise-m.svg create mode 100644 master/_static/img/icons/icon-enterprise.svg create mode 100644 master/_static/img/icons/icon-events.svg create mode 100644 master/_static/img/icons/icon-exclamation.svg create mode 100644 master/_static/img/icons/icon-expand.svg create mode 100644 master/_static/img/icons/icon-forum.svg create mode 100644 master/_static/img/icons/icon-getting-started.svg create mode 100644 master/_static/img/icons/icon-glossary.svg create mode 100644 master/_static/img/icons/icon-home.svg create mode 100644 master/_static/img/icons/icon-infoworld.svg create mode 100644 master/_static/img/icons/icon-integrations.svg create mode 100644 master/_static/img/icons/icon-knowledge-base.svg create mode 100644 master/_static/img/icons/icon-less.svg create mode 100644 master/_static/img/icons/icon-live-test.svg create mode 100644 master/_static/img/icons/icon-mail-list.svg create mode 100644 master/_static/img/icons/icon-manager.svg create mode 100644 master/_static/img/icons/icon-memory-management.svg create mode 100644 master/_static/img/icons/icon-modeling.svg create mode 100644 master/_static/img/icons/icon-monitoring.svg create mode 100644 master/_static/img/icons/icon-networking.svg create mode 100644 master/_static/img/icons/icon-news.svg create mode 100644 master/_static/img/icons/icon-newsletter.svg create mode 100644 master/_static/img/icons/icon-nsql-guides.svg create mode 100644 master/_static/img/icons/icon-open-source.svg create mode 100644 master/_static/img/icons/icon-operator.svg create mode 100644 master/_static/img/icons/icon-overview.svg create mode 100644 master/_static/img/icons/icon-partners.svg create mode 100644 master/_static/img/icons/icon-plus.svg create mode 100644 master/_static/img/icons/icon-pricing.svg create mode 100644 master/_static/img/icons/icon-release-notes.svg create mode 100644 master/_static/img/icons/icon-resource-center.svg create mode 100644 master/_static/img/icons/icon-roadmap.svg create mode 100644 master/_static/img/icons/icon-search.svg create mode 100644 master/_static/img/icons/icon-slack.svg create mode 100644 master/_static/img/icons/icon-stack-overflow.svg create mode 100644 master/_static/img/icons/icon-summit.svg create mode 100644 master/_static/img/icons/icon-support.svg create mode 100644 master/_static/img/icons/icon-tech-talks.svg create mode 100644 master/_static/img/icons/icon-testing.svg create mode 100644 master/_static/img/icons/icon-thumbs-down.svg create mode 100644 master/_static/img/icons/icon-thumbs-up.svg create mode 100644 master/_static/img/icons/icon-tip.svg create mode 100644 master/_static/img/icons/icon-training.svg create mode 100644 master/_static/img/icons/icon-triangle-down.svg create mode 100644 master/_static/img/icons/icon-university.svg create mode 100644 master/_static/img/icons/icon-users-blog.svg create mode 100644 master/_static/img/icons/icon-warning.svg create mode 100644 master/_static/img/icons/icon-webinars.svg create mode 100644 master/_static/img/icons/icon-whitepapers.svg create mode 100644 master/_static/img/icons/icon-workshop.svg create mode 100644 master/_static/img/logo-docs.svg create mode 100644 master/_static/img/logo-scylla-horizontal-RGB.svg create mode 100644 master/_static/img/mascots/404.jpg create mode 100644 master/_static/img/mascots/scylla-3monsters.png create mode 100644 master/_static/img/mascots/scylla-advisor-crystal.png create mode 100644 master/_static/img/mascots/scylla-alternator.svg create mode 100644 master/_static/img/mascots/scylla-cloud.svg create mode 100644 master/_static/img/mascots/scylla-computer-3-monsters.png create mode 100644 master/_static/img/mascots/scylla-computer-headset.png create mode 100644 master/_static/img/mascots/scylla-cup-number-one.png create mode 100644 master/_static/img/mascots/scylla-docs.svg create mode 100644 master/_static/img/mascots/scylla-drivers.svg create mode 100644 master/_static/img/mascots/scylla-enterprise.svg create mode 100644 master/_static/img/mascots/scylla-forklift-boxes.png create mode 100644 master/_static/img/mascots/scylla-forklift-migration.png create mode 100644 master/_static/img/mascots/scylla-gear.png create mode 100644 master/_static/img/mascots/scylla-hardhat.png create mode 100644 master/_static/img/mascots/scylla-headband.png create mode 100644 master/_static/img/mascots/scylla-headset.png create mode 100644 master/_static/img/mascots/scylla-hearts.png create mode 100644 master/_static/img/mascots/scylla-looking-down.png create mode 100644 master/_static/img/mascots/scylla-looking-up.png create mode 100644 master/_static/img/mascots/scylla-magnifying-glass-fronting.png create mode 100644 master/_static/img/mascots/scylla-magnifying-glass.png create mode 100644 master/_static/img/mascots/scylla-manager.svg create mode 100644 master/_static/img/mascots/scylla-monitor.svg create mode 100644 master/_static/img/mascots/scylla-movement-fast.png create mode 100644 master/_static/img/mascots/scylla-movement.png create mode 100644 master/_static/img/mascots/scylla-onpremise.png create mode 100644 master/_static/img/mascots/scylla-opensource.svg create mode 100644 master/_static/img/mascots/scylla-operator.svg create mode 100644 master/_static/img/mascots/scylla-plugin.png create mode 100644 master/_static/img/mascots/scylla-release-mascot.png create mode 100644 master/_static/img/mascots/scylla-repair.png create mode 100644 master/_static/img/mascots/scylla-server.png create mode 100644 master/_static/img/mascots/scylla-sleeping.png create mode 100644 master/_static/img/mascots/scylla-tall-measure.png create mode 100644 master/_static/img/mascots/scylla-university.png create mode 100644 master/_static/img/mascots/scylla-weights.png create mode 100644 master/_static/img/mascots/scylla-window-cleaning.png create mode 100644 master/_static/img/mascots/scylla-with-computer-2.png create mode 100644 master/_static/img/mascots/scylla-with-computer.png create mode 100644 master/_static/img/mascots/scylla-with-linux.png create mode 100644 master/_static/img/mascots/scylla-writting.png create mode 100644 master/_static/img/menu.svg create mode 100644 master/_static/jquery-3.5.1.js create mode 100644 master/_static/jquery.js create mode 100644 master/_static/js/main.bundle.js create mode 100644 master/_static/js/main.bundle.js.LICENSE.txt create mode 100644 master/_static/js/runtime.bundle.js create mode 100644 master/_static/language_data.js create mode 100644 master/_static/minus.png create mode 100644 master/_static/plus.png create mode 100644 master/_static/pygments.css create mode 100644 master/_static/searchtools.js create mode 100644 master/_static/sphinx_collapse.css create mode 100644 master/_static/tabs.css create mode 100644 master/_static/tabs.js create mode 100644 master/_static/underscore-1.13.1.js create mode 100644 master/_static/underscore.js create mode 100644 master/contributing.html create mode 100644 master/eks.html create mode 100644 master/exposing.html create mode 100644 master/generic.html create mode 100644 master/genindex.html create mode 100644 master/gke.html create mode 100644 master/helm.html create mode 100644 master/index.html create mode 100644 master/known-issues.html create mode 100644 master/manager.html create mode 100644 master/migration.html create mode 100644 master/monitoring.html create mode 100644 master/multidc/eks.html create mode 100644 master/multidc/gke.html create mode 100644 master/multidc/index.html create mode 100644 master/multidc/multidc.html create mode 100644 master/nodeoperations/automatic-cleanup.html create mode 100644 master/nodeoperations/index.html create mode 100644 master/nodeoperations/maintenance-mode.html create mode 100644 master/nodeoperations/replace-node.html create mode 100644 master/nodeoperations/restore.html create mode 100644 master/nodeoperations/scylla-upgrade.html create mode 100644 master/objects.inv create mode 100644 master/performance.html create mode 100644 master/releases.html create mode 100644 master/scylla-cluster-crd.html create mode 100644 master/search.html create mode 100644 master/searchindex.js create mode 100644 master/sitemap.xml create mode 100644 master/upgrade.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/404.html b/404.html new file mode 100644 index 00000000000..d0d2c7cecee --- /dev/null +++ b/404.html @@ -0,0 +1,31 @@ + + + + + + + + + ScyllaDB + + + + + + + + + + + +
+

404

+

The ScyllaDB monster ate your page!

+

+ Home +

+
+ + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..12aae904168 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +operator.docs.scylladb.com \ No newline at end of file diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 00000000000..bf18350b65c --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,906 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a.brackets:before, +span.brackets > a:before{ + content: "["; +} + +a.brackets:after, +span.brackets > a:after { + content: "]"; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +dl.footnote > dt, +dl.citation > dt { + float: left; + margin-right: 0.5em; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/check-solid.svg b/_static/check-solid.svg new file mode 100644 index 00000000000..92fad4b5c0b --- /dev/null +++ b/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 00000000000..54b3c463811 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 00000000000..f1916ec7d1b --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 00000000000..2ea7ff3e217 --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 00000000000..dbe1aaad79c --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/css/main.css b/_static/css/main.css new file mode 100644 index 00000000000..4ac01745289 --- /dev/null +++ b/_static/css/main.css @@ -0,0 +1 @@ +@media print,screen and (min-width:40em){.reveal,.reveal.large,.reveal.small,.reveal.tiny{left:auto;margin:0 auto;right:auto}}/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}[data-whatinput=mouse] *,[data-whatinput=mouse] :focus,[data-whatinput=touch] *,[data-whatinput=touch] :focus,[data-whatintent=mouse] *,[data-whatintent=mouse] :focus,[data-whatintent=touch] *,[data-whatintent=touch] :focus{outline:0}[draggable=false]{-webkit-touch-callout:none;-webkit-user-select:none}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{-webkit-box-sizing:border-box;font-size:100%}*,:after,:before{-webkit-box-sizing:inherit}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fefefe;color:#0a0a0a;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;margin:0;padding:0}img{-ms-interpolation-mode:bicubic;display:inline-block;height:auto;vertical-align:middle}textarea{border-radius:0;height:auto;min-height:50px}select{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:0;border-radius:0;cursor:auto;line-height:1;padding:0}[data-whatinput=mouse] button{outline:0}pre{-webkit-overflow-scrolling:touch;overflow:auto}button,input,optgroup,select,textarea{font-family:inherit}.is-visible{display:block!important}.is-hidden{display:none!important}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fefefe;border:1px solid #cacaca;border-radius:0;-webkit-box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);-webkit-box-sizing:border-box;box-sizing:border-box;color:#0a0a0a;display:block;font-family:inherit;font-size:1rem;font-weight:400;height:2.4375rem;line-height:1.5;margin:0 0 1rem;padding:.5rem;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s;width:100%}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{background-color:#fefefe;border:1px solid #8a8a8a;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;outline:0;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}textarea{max-width:100%}textarea[rows]{height:auto}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0}input[type=search]{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-input-placeholder{color:#cacaca}::-moz-placeholder{color:#cacaca}:-ms-input-placeholder{color:#cacaca}::-ms-input-placeholder{color:#cacaca}::placeholder{color:#cacaca}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-bottom:0;margin-left:.5rem;margin-right:1rem;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{color:#0a0a0a;display:block;font-size:.875rem;font-weight:400;line-height:1.8;margin:0}label.middle{line-height:1.5;margin:0 0 1rem;padding:.5625rem 0}.help-text{color:#0a0a0a;font-size:.8125rem;font-style:italic;margin-top:-.5rem}.input-group{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:1rem;width:100%}.input-group>:first-child,.input-group>:first-child.input-group-button>*{border-radius:0}.input-group>:last-child,.input-group>:last-child.input-group-button>*{border-radius:0}.input-group-button,.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label,.input-group-field,.input-group-label{margin:0;white-space:nowrap}.input-group-label{-webkit-box-flex:0;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:#e6e6e6;border:1px solid #cacaca;color:#0a0a0a;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:0 1rem;text-align:center;white-space:nowrap}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{-webkit-box-flex:1;border-radius:0;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px;min-width:0}.input-group-button{-webkit-box-flex:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding-bottom:0;padding-top:0;text-align:center}.input-group-button a,.input-group-button button,.input-group-button input,.input-group-button label{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch;font-size:1rem;height:auto;padding-bottom:0;padding-top:0}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;margin:1.125rem 0;padding:1.25rem}.fieldset legend{margin:0 0 0 -.1875rem;padding:0 .1875rem}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fefefe;background-image:url('data:image/svg+xml;utf8,');background-origin:content-box;background-position:right -1rem center;background-repeat:no-repeat;background-size:9px 6px;border:1px solid #cacaca;border-radius:0;color:#0a0a0a;font-family:inherit;font-size:1rem;font-weight:400;height:2.4375rem;line-height:1.5;margin:0 0 1rem;padding:.5rem 1.5rem .5rem .5rem;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}@media screen and (min-width:0\0){select{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==)}}select:focus{background-color:#fefefe;border:1px solid #8a8a8a;-webkit-box-shadow:0 0 5px #cacaca;box-shadow:0 0 5px #cacaca;outline:0;-webkit-transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:border-color .25s ease-in-out,-webkit-box-shadow .5s;transition:box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out,-webkit-box-shadow .5s}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{background-image:none;height:auto}select:not([multiple]){padding-bottom:0;padding-top:0}.is-invalid-input:not(:focus){background-color:#f9ecea;border-color:#cc4b37}.is-invalid-input:not(:focus)::-webkit-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-moz-placeholder{color:#cc4b37}.is-invalid-input:not(:focus):-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::-ms-input-placeholder{color:#cc4b37}.is-invalid-input:not(:focus)::placeholder{color:#cc4b37}.form-error,.is-invalid-label{color:#cc4b37}.form-error{display:none;font-size:.75rem;font-weight:700;margin-bottom:1rem;margin-top:-.5rem}.form-error.is-visible{display:block}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{text-rendering:optimizeLegibility;font-size:inherit;line-height:1.6;margin-bottom:1rem}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{text-rendering:optimizeLegibility;color:inherit;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:400}.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}.h1,h1{font-size:1.5rem}.h1,.h2,h1,h2{line-height:1.4;margin-bottom:.5rem;margin-top:0}.h2,h2{font-size:1.25rem}.h3,h3{font-size:1.1875rem}.h3,.h4,h3,h4{line-height:1.4;margin-bottom:.5rem;margin-top:0}.h4,h4{font-size:1.125rem}.h5,h5{font-size:1.0625rem}.h5,.h6,h5,h6{line-height:1.4;margin-bottom:.5rem;margin-top:0}.h6,h6{font-size:1rem}@media print,screen and (min-width:40em){.h1,h1{font-size:3rem}.h2,h2{font-size:2.5rem}.h3,h3{font-size:1.9375rem}.h4,h4{font-size:1.5625rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}}a{color:#1779ba;cursor:pointer;line-height:inherit;text-decoration:none}a:focus,a:hover{color:#1468a0}a img,hr{border:0}hr{border-bottom:1px solid #cacaca;clear:both;height:0;margin:1.25rem auto;max-width:75rem}dl,ol,ul{line-height:1.6;list-style-position:outside;margin-bottom:1rem}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0;margin-left:1.25rem}dl{margin-bottom:1rem}dl dt{font-weight:700;margin-bottom:.3rem}blockquote{border-left:1px solid #cacaca;margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem}blockquote,blockquote p{color:#8a8a8a;line-height:1.6}abbr,abbr[title]{border-bottom:1px dotted #0a0a0a;cursor:help;text-decoration:none}figure,kbd{margin:0}kbd{background-color:#e6e6e6;color:#0a0a0a;font-family:Consolas,Liberation Mono,Courier,monospace;padding:.125rem .25rem 0}.subheader{color:#8a8a8a;font-weight:400;line-height:1.4;margin-bottom:.5rem;margin-top:.2rem}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}ol.no-bullet,ul.no-bullet{list-style:none;margin-left:0}.cite-block,cite{color:#8a8a8a;display:block;font-size:.8125rem}.cite-block:before,cite:before{content:"— "}.code-inline,code{word-wrap:break-word;display:inline;max-width:100%;padding:.125rem .3125rem .0625rem}.code-block,.code-inline,code{background-color:#e6e6e6;border:1px solid #cacaca;color:#0a0a0a;font-family:Consolas,Liberation Mono,Courier,monospace;font-weight:400}.code-block{display:block;margin-bottom:1.5rem;overflow:auto;padding:1rem;white-space:pre}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media print,screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media print,screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{-webkit-print-color-adjust:economy;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#000!important;color-adjust:economy;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.print-break-inside{page-break-inside:auto}}.grid-container{margin-left:auto;margin-right:auto;max-width:75rem;padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-container{padding-left:.9375rem;padding-right:.9375rem}}.grid-container.fluid{margin-left:auto;margin-right:auto;max-width:100%;padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-container.fluid{padding-left:.9375rem;padding-right:.9375rem}}.grid-container.full{margin-left:auto;margin-right:auto;max-width:100%;padding-left:0;padding-right:0}.grid-x{-webkit-box-orient:horizontal;-webkit-box-direction:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap}.cell{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;min-height:0;min-width:0;width:100%}.cell.auto{-webkit-box-flex:1;-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0}.cell.shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.auto{width:auto}.grid-x>.shrink{width:auto}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12,.grid-x>.small-full,.grid-x>.small-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-full,.grid-x>.medium-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-full,.grid-x>.large-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}}.grid-x>.small-1,.grid-x>.small-2,.grid-x>.small-3,.grid-x>.small-4,.grid-x>.small-5,.grid-x>.small-6,.grid-x>.small-7,.grid-x>.small-8,.grid-x>.small-9,.grid-x>.small-10,.grid-x>.small-11,.grid-x>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.small-1{width:8.33333%}.grid-x>.small-2{width:16.66667%}.grid-x>.small-3{width:25%}.grid-x>.small-4{width:33.33333%}.grid-x>.small-5{width:41.66667%}.grid-x>.small-6{width:50%}.grid-x>.small-7{width:58.33333%}.grid-x>.small-8{width:66.66667%}.grid-x>.small-9{width:75%}.grid-x>.small-10{width:83.33333%}.grid-x>.small-11{width:91.66667%}.grid-x>.small-12{width:100%}@media print,screen and (min-width:40em){.grid-x>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;width:auto}.grid-x>.medium-1,.grid-x>.medium-2,.grid-x>.medium-3,.grid-x>.medium-4,.grid-x>.medium-5,.grid-x>.medium-6,.grid-x>.medium-7,.grid-x>.medium-8,.grid-x>.medium-9,.grid-x>.medium-10,.grid-x>.medium-11,.grid-x>.medium-12,.grid-x>.medium-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.medium-shrink{width:auto}.grid-x>.medium-1{width:8.33333%}.grid-x>.medium-2{width:16.66667%}.grid-x>.medium-3{width:25%}.grid-x>.medium-4{width:33.33333%}.grid-x>.medium-5{width:41.66667%}.grid-x>.medium-6{width:50%}.grid-x>.medium-7{width:58.33333%}.grid-x>.medium-8{width:66.66667%}.grid-x>.medium-9{width:75%}.grid-x>.medium-10{width:83.33333%}.grid-x>.medium-11{width:91.66667%}.grid-x>.medium-12{width:100%}}@media print,screen and (min-width:64em){.grid-x>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;width:auto}.grid-x>.large-1,.grid-x>.large-2,.grid-x>.large-3,.grid-x>.large-4,.grid-x>.large-5,.grid-x>.large-6,.grid-x>.large-7,.grid-x>.large-8,.grid-x>.large-9,.grid-x>.large-10,.grid-x>.large-11,.grid-x>.large-12,.grid-x>.large-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-x>.large-shrink{width:auto}.grid-x>.large-1{width:8.33333%}.grid-x>.large-2{width:16.66667%}.grid-x>.large-3{width:25%}.grid-x>.large-4{width:33.33333%}.grid-x>.large-5{width:41.66667%}.grid-x>.large-6{width:50%}.grid-x>.large-7{width:58.33333%}.grid-x>.large-8{width:66.66667%}.grid-x>.large-9{width:75%}.grid-x>.large-10{width:83.33333%}.grid-x>.large-11{width:91.66667%}.grid-x>.large-12{width:100%}}.grid-margin-x:not(.grid-x)>.cell{width:auto}.grid-margin-y:not(.grid-y)>.cell{height:auto}.grid-margin-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-margin-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-margin-x>.cell{margin-left:.625rem;margin-right:.625rem;width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.cell{margin-left:.9375rem;margin-right:.9375rem;width:calc(100% - 1.875rem)}}.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.25rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.25rem)}.grid-margin-x>.small-3{width:calc(25% - 1.25rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.25rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.25rem)}.grid-margin-x>.small-6{width:calc(50% - 1.25rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.25rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.25rem)}.grid-margin-x>.small-9{width:calc(75% - 1.25rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.25rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.25rem)}.grid-margin-x>.small-12{width:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x>.auto{width:auto}.grid-margin-x>.shrink{width:auto}.grid-margin-x>.small-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.small-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.small-3{width:calc(25% - 1.875rem)}.grid-margin-x>.small-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.small-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.small-6{width:calc(50% - 1.875rem)}.grid-margin-x>.small-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.small-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.small-9{width:calc(75% - 1.875rem)}.grid-margin-x>.small-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.small-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.small-12{width:calc(100% - 1.875rem)}.grid-margin-x>.medium-auto{width:auto}.grid-margin-x>.medium-shrink{width:auto}.grid-margin-x>.medium-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.medium-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.medium-3{width:calc(25% - 1.875rem)}.grid-margin-x>.medium-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.medium-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.medium-6{width:calc(50% - 1.875rem)}.grid-margin-x>.medium-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.medium-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.medium-9{width:calc(75% - 1.875rem)}.grid-margin-x>.medium-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.medium-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.medium-12{width:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x>.large-auto{width:auto}.grid-margin-x>.large-shrink{width:auto}.grid-margin-x>.large-1{width:calc(8.33333% - 1.875rem)}.grid-margin-x>.large-2{width:calc(16.66667% - 1.875rem)}.grid-margin-x>.large-3{width:calc(25% - 1.875rem)}.grid-margin-x>.large-4{width:calc(33.33333% - 1.875rem)}.grid-margin-x>.large-5{width:calc(41.66667% - 1.875rem)}.grid-margin-x>.large-6{width:calc(50% - 1.875rem)}.grid-margin-x>.large-7{width:calc(58.33333% - 1.875rem)}.grid-margin-x>.large-8{width:calc(66.66667% - 1.875rem)}.grid-margin-x>.large-9{width:calc(75% - 1.875rem)}.grid-margin-x>.large-10{width:calc(83.33333% - 1.875rem)}.grid-margin-x>.large-11{width:calc(91.66667% - 1.875rem)}.grid-margin-x>.large-12{width:calc(100% - 1.875rem)}}.grid-padding-x .grid-padding-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-padding-x .grid-padding-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-container:not(.full)>.grid-padding-x{margin-left:-.625rem;margin-right:-.625rem}@media print,screen and (min-width:40em){.grid-container:not(.full)>.grid-padding-x{margin-left:-.9375rem;margin-right:-.9375rem}}.grid-padding-x>.cell{padding-left:.625rem;padding-right:.625rem}@media print,screen and (min-width:40em){.grid-padding-x>.cell{padding-left:.9375rem;padding-right:.9375rem}}.small-up-1>.cell{width:100%}.small-up-2>.cell{width:50%}.small-up-3>.cell{width:33.33333%}.small-up-4>.cell{width:25%}.small-up-5>.cell{width:20%}.small-up-6>.cell{width:16.66667%}.small-up-7>.cell{width:14.28571%}.small-up-8>.cell{width:12.5%}@media print,screen and (min-width:40em){.medium-up-1>.cell{width:100%}.medium-up-2>.cell{width:50%}.medium-up-3>.cell{width:33.33333%}.medium-up-4>.cell{width:25%}.medium-up-5>.cell{width:20%}.medium-up-6>.cell{width:16.66667%}.medium-up-7>.cell{width:14.28571%}.medium-up-8>.cell{width:12.5%}}@media print,screen and (min-width:64em){.large-up-1>.cell{width:100%}.large-up-2>.cell{width:50%}.large-up-3>.cell{width:33.33333%}.large-up-4>.cell{width:25%}.large-up-5>.cell{width:20%}.large-up-6>.cell{width:16.66667%}.large-up-7>.cell{width:14.28571%}.large-up-8>.cell{width:12.5%}}.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.25rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.25rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.25rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.25rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.25rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.25rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.25rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-x.small-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.small-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.small-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.small-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.small-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.small-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.small-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.small-up-8>.cell{width:calc(12.5% - 1.875rem)}.grid-margin-x.medium-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.medium-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.medium-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.medium-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.medium-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.medium-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.medium-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.medium-up-8>.cell{width:calc(12.5% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-x.large-up-1>.cell{width:calc(100% - 1.875rem)}.grid-margin-x.large-up-2>.cell{width:calc(50% - 1.875rem)}.grid-margin-x.large-up-3>.cell{width:calc(33.33333% - 1.875rem)}.grid-margin-x.large-up-4>.cell{width:calc(25% - 1.875rem)}.grid-margin-x.large-up-5>.cell{width:calc(20% - 1.875rem)}.grid-margin-x.large-up-6>.cell{width:calc(16.66667% - 1.875rem)}.grid-margin-x.large-up-7>.cell{width:calc(14.28571% - 1.875rem)}.grid-margin-x.large-up-8>.cell{width:calc(12.5% - 1.875rem)}}.small-margin-collapse{margin-left:0;margin-right:0}.small-margin-collapse>.cell{margin-left:0;margin-right:0}.small-margin-collapse>.small-1{width:8.33333%}.small-margin-collapse>.small-2{width:16.66667%}.small-margin-collapse>.small-3{width:25%}.small-margin-collapse>.small-4{width:33.33333%}.small-margin-collapse>.small-5{width:41.66667%}.small-margin-collapse>.small-6{width:50%}.small-margin-collapse>.small-7{width:58.33333%}.small-margin-collapse>.small-8{width:66.66667%}.small-margin-collapse>.small-9{width:75%}.small-margin-collapse>.small-10{width:83.33333%}.small-margin-collapse>.small-11{width:91.66667%}.small-margin-collapse>.small-12{width:100%}@media print,screen and (min-width:40em){.small-margin-collapse>.medium-1{width:8.33333%}.small-margin-collapse>.medium-2{width:16.66667%}.small-margin-collapse>.medium-3{width:25%}.small-margin-collapse>.medium-4{width:33.33333%}.small-margin-collapse>.medium-5{width:41.66667%}.small-margin-collapse>.medium-6{width:50%}.small-margin-collapse>.medium-7{width:58.33333%}.small-margin-collapse>.medium-8{width:66.66667%}.small-margin-collapse>.medium-9{width:75%}.small-margin-collapse>.medium-10{width:83.33333%}.small-margin-collapse>.medium-11{width:91.66667%}.small-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.small-margin-collapse>.large-1{width:8.33333%}.small-margin-collapse>.large-2{width:16.66667%}.small-margin-collapse>.large-3{width:25%}.small-margin-collapse>.large-4{width:33.33333%}.small-margin-collapse>.large-5{width:41.66667%}.small-margin-collapse>.large-6{width:50%}.small-margin-collapse>.large-7{width:58.33333%}.small-margin-collapse>.large-8{width:66.66667%}.small-margin-collapse>.large-9{width:75%}.small-margin-collapse>.large-10{width:83.33333%}.small-margin-collapse>.large-11{width:91.66667%}.small-margin-collapse>.large-12{width:100%}}.small-padding-collapse{margin-left:0;margin-right:0}.small-padding-collapse>.cell{padding-left:0;padding-right:0}@media print,screen and (min-width:40em){.medium-margin-collapse{margin-left:0;margin-right:0}.medium-margin-collapse>.cell{margin-left:0;margin-right:0}}@media print,screen and (min-width:40em){.medium-margin-collapse>.small-1{width:8.33333%}.medium-margin-collapse>.small-2{width:16.66667%}.medium-margin-collapse>.small-3{width:25%}.medium-margin-collapse>.small-4{width:33.33333%}.medium-margin-collapse>.small-5{width:41.66667%}.medium-margin-collapse>.small-6{width:50%}.medium-margin-collapse>.small-7{width:58.33333%}.medium-margin-collapse>.small-8{width:66.66667%}.medium-margin-collapse>.small-9{width:75%}.medium-margin-collapse>.small-10{width:83.33333%}.medium-margin-collapse>.small-11{width:91.66667%}.medium-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:40em){.medium-margin-collapse>.medium-1{width:8.33333%}.medium-margin-collapse>.medium-2{width:16.66667%}.medium-margin-collapse>.medium-3{width:25%}.medium-margin-collapse>.medium-4{width:33.33333%}.medium-margin-collapse>.medium-5{width:41.66667%}.medium-margin-collapse>.medium-6{width:50%}.medium-margin-collapse>.medium-7{width:58.33333%}.medium-margin-collapse>.medium-8{width:66.66667%}.medium-margin-collapse>.medium-9{width:75%}.medium-margin-collapse>.medium-10{width:83.33333%}.medium-margin-collapse>.medium-11{width:91.66667%}.medium-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.medium-margin-collapse>.large-1{width:8.33333%}.medium-margin-collapse>.large-2{width:16.66667%}.medium-margin-collapse>.large-3{width:25%}.medium-margin-collapse>.large-4{width:33.33333%}.medium-margin-collapse>.large-5{width:41.66667%}.medium-margin-collapse>.large-6{width:50%}.medium-margin-collapse>.large-7{width:58.33333%}.medium-margin-collapse>.large-8{width:66.66667%}.medium-margin-collapse>.large-9{width:75%}.medium-margin-collapse>.large-10{width:83.33333%}.medium-margin-collapse>.large-11{width:91.66667%}.medium-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width:40em){.medium-padding-collapse{margin-left:0;margin-right:0}.medium-padding-collapse>.cell{padding-left:0;padding-right:0}}@media print,screen and (min-width:64em){.large-margin-collapse{margin-left:0;margin-right:0}.large-margin-collapse>.cell{margin-left:0;margin-right:0}}@media print,screen and (min-width:64em){.large-margin-collapse>.small-1{width:8.33333%}.large-margin-collapse>.small-2{width:16.66667%}.large-margin-collapse>.small-3{width:25%}.large-margin-collapse>.small-4{width:33.33333%}.large-margin-collapse>.small-5{width:41.66667%}.large-margin-collapse>.small-6{width:50%}.large-margin-collapse>.small-7{width:58.33333%}.large-margin-collapse>.small-8{width:66.66667%}.large-margin-collapse>.small-9{width:75%}.large-margin-collapse>.small-10{width:83.33333%}.large-margin-collapse>.small-11{width:91.66667%}.large-margin-collapse>.small-12{width:100%}}@media print,screen and (min-width:64em){.large-margin-collapse>.medium-1{width:8.33333%}.large-margin-collapse>.medium-2{width:16.66667%}.large-margin-collapse>.medium-3{width:25%}.large-margin-collapse>.medium-4{width:33.33333%}.large-margin-collapse>.medium-5{width:41.66667%}.large-margin-collapse>.medium-6{width:50%}.large-margin-collapse>.medium-7{width:58.33333%}.large-margin-collapse>.medium-8{width:66.66667%}.large-margin-collapse>.medium-9{width:75%}.large-margin-collapse>.medium-10{width:83.33333%}.large-margin-collapse>.medium-11{width:91.66667%}.large-margin-collapse>.medium-12{width:100%}}@media print,screen and (min-width:64em){.large-margin-collapse>.large-1{width:8.33333%}.large-margin-collapse>.large-2{width:16.66667%}.large-margin-collapse>.large-3{width:25%}.large-margin-collapse>.large-4{width:33.33333%}.large-margin-collapse>.large-5{width:41.66667%}.large-margin-collapse>.large-6{width:50%}.large-margin-collapse>.large-7{width:58.33333%}.large-margin-collapse>.large-8{width:66.66667%}.large-margin-collapse>.large-9{width:75%}.large-margin-collapse>.large-10{width:83.33333%}.large-margin-collapse>.large-11{width:91.66667%}.large-margin-collapse>.large-12{width:100%}}@media print,screen and (min-width:64em){.large-padding-collapse{margin-left:0;margin-right:0}.large-padding-collapse>.cell{padding-left:0;padding-right:0}}.small-offset-0{margin-left:0}.grid-margin-x>.small-offset-0{margin-left:.625rem}.small-offset-1{margin-left:8.33333%}.grid-margin-x>.small-offset-1{margin-left:calc(8.33333% + .625rem)}.small-offset-2{margin-left:16.66667%}.grid-margin-x>.small-offset-2{margin-left:calc(16.66667% + .625rem)}.small-offset-3{margin-left:25%}.grid-margin-x>.small-offset-3{margin-left:calc(25% + .625rem)}.small-offset-4{margin-left:33.33333%}.grid-margin-x>.small-offset-4{margin-left:calc(33.33333% + .625rem)}.small-offset-5{margin-left:41.66667%}.grid-margin-x>.small-offset-5{margin-left:calc(41.66667% + .625rem)}.small-offset-6{margin-left:50%}.grid-margin-x>.small-offset-6{margin-left:calc(50% + .625rem)}.small-offset-7{margin-left:58.33333%}.grid-margin-x>.small-offset-7{margin-left:calc(58.33333% + .625rem)}.small-offset-8{margin-left:66.66667%}.grid-margin-x>.small-offset-8{margin-left:calc(66.66667% + .625rem)}.small-offset-9{margin-left:75%}.grid-margin-x>.small-offset-9{margin-left:calc(75% + .625rem)}.small-offset-10{margin-left:83.33333%}.grid-margin-x>.small-offset-10{margin-left:calc(83.33333% + .625rem)}.small-offset-11{margin-left:91.66667%}.grid-margin-x>.small-offset-11{margin-left:calc(91.66667% + .625rem)}@media print,screen and (min-width:40em){.medium-offset-0{margin-left:0}.grid-margin-x>.medium-offset-0{margin-left:.9375rem}.medium-offset-1{margin-left:8.33333%}.grid-margin-x>.medium-offset-1{margin-left:calc(8.33333% + .9375rem)}.medium-offset-2{margin-left:16.66667%}.grid-margin-x>.medium-offset-2{margin-left:calc(16.66667% + .9375rem)}.medium-offset-3{margin-left:25%}.grid-margin-x>.medium-offset-3{margin-left:calc(25% + .9375rem)}.medium-offset-4{margin-left:33.33333%}.grid-margin-x>.medium-offset-4{margin-left:calc(33.33333% + .9375rem)}.medium-offset-5{margin-left:41.66667%}.grid-margin-x>.medium-offset-5{margin-left:calc(41.66667% + .9375rem)}.medium-offset-6{margin-left:50%}.grid-margin-x>.medium-offset-6{margin-left:calc(50% + .9375rem)}.medium-offset-7{margin-left:58.33333%}.grid-margin-x>.medium-offset-7{margin-left:calc(58.33333% + .9375rem)}.medium-offset-8{margin-left:66.66667%}.grid-margin-x>.medium-offset-8{margin-left:calc(66.66667% + .9375rem)}.medium-offset-9{margin-left:75%}.grid-margin-x>.medium-offset-9{margin-left:calc(75% + .9375rem)}.medium-offset-10{margin-left:83.33333%}.grid-margin-x>.medium-offset-10{margin-left:calc(83.33333% + .9375rem)}.medium-offset-11{margin-left:91.66667%}.grid-margin-x>.medium-offset-11{margin-left:calc(91.66667% + .9375rem)}}@media print,screen and (min-width:64em){.large-offset-0{margin-left:0}.grid-margin-x>.large-offset-0{margin-left:.9375rem}.large-offset-1{margin-left:8.33333%}.grid-margin-x>.large-offset-1{margin-left:calc(8.33333% + .9375rem)}.large-offset-2{margin-left:16.66667%}.grid-margin-x>.large-offset-2{margin-left:calc(16.66667% + .9375rem)}.large-offset-3{margin-left:25%}.grid-margin-x>.large-offset-3{margin-left:calc(25% + .9375rem)}.large-offset-4{margin-left:33.33333%}.grid-margin-x>.large-offset-4{margin-left:calc(33.33333% + .9375rem)}.large-offset-5{margin-left:41.66667%}.grid-margin-x>.large-offset-5{margin-left:calc(41.66667% + .9375rem)}.large-offset-6{margin-left:50%}.grid-margin-x>.large-offset-6{margin-left:calc(50% + .9375rem)}.large-offset-7{margin-left:58.33333%}.grid-margin-x>.large-offset-7{margin-left:calc(58.33333% + .9375rem)}.large-offset-8{margin-left:66.66667%}.grid-margin-x>.large-offset-8{margin-left:calc(66.66667% + .9375rem)}.large-offset-9{margin-left:75%}.grid-margin-x>.large-offset-9{margin-left:calc(75% + .9375rem)}.large-offset-10{margin-left:83.33333%}.grid-margin-x>.large-offset-10{margin-left:calc(83.33333% + .9375rem)}.large-offset-11{margin-left:91.66667%}.grid-margin-x>.large-offset-11{margin-left:calc(91.66667% + .9375rem)}}.grid-y{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.grid-y>.cell{height:auto;max-height:none}.grid-y>.auto{height:auto}.grid-y>.shrink{height:auto}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12,.grid-y>.small-full,.grid-y>.small-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}@media print,screen and (min-width:40em){.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-full,.grid-y>.medium-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}}@media print,screen and (min-width:64em){.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-full,.grid-y>.large-shrink{-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto}}.grid-y>.small-1,.grid-y>.small-2,.grid-y>.small-3,.grid-y>.small-4,.grid-y>.small-5,.grid-y>.small-6,.grid-y>.small-7,.grid-y>.small-8,.grid-y>.small-9,.grid-y>.small-10,.grid-y>.small-11,.grid-y>.small-12{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.small-1{height:8.33333%}.grid-y>.small-2{height:16.66667%}.grid-y>.small-3{height:25%}.grid-y>.small-4{height:33.33333%}.grid-y>.small-5{height:41.66667%}.grid-y>.small-6{height:50%}.grid-y>.small-7{height:58.33333%}.grid-y>.small-8{height:66.66667%}.grid-y>.small-9{height:75%}.grid-y>.small-10{height:83.33333%}.grid-y>.small-11{height:91.66667%}.grid-y>.small-12{height:100%}@media print,screen and (min-width:40em){.grid-y>.medium-auto{-webkit-box-flex:1;-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;height:auto}.grid-y>.medium-1,.grid-y>.medium-2,.grid-y>.medium-3,.grid-y>.medium-4,.grid-y>.medium-5,.grid-y>.medium-6,.grid-y>.medium-7,.grid-y>.medium-8,.grid-y>.medium-9,.grid-y>.medium-10,.grid-y>.medium-11,.grid-y>.medium-12,.grid-y>.medium-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.medium-shrink{height:auto}.grid-y>.medium-1{height:8.33333%}.grid-y>.medium-2{height:16.66667%}.grid-y>.medium-3{height:25%}.grid-y>.medium-4{height:33.33333%}.grid-y>.medium-5{height:41.66667%}.grid-y>.medium-6{height:50%}.grid-y>.medium-7{height:58.33333%}.grid-y>.medium-8{height:66.66667%}.grid-y>.medium-9{height:75%}.grid-y>.medium-10{height:83.33333%}.grid-y>.medium-11{height:91.66667%}.grid-y>.medium-12{height:100%}}@media print,screen and (min-width:64em){.grid-y>.large-auto{-webkit-box-flex:1;-webkit-flex:1 1 0;-ms-flex:1 1 0px;flex:1 1 0;height:auto}.grid-y>.large-1,.grid-y>.large-2,.grid-y>.large-3,.grid-y>.large-4,.grid-y>.large-5,.grid-y>.large-6,.grid-y>.large-7,.grid-y>.large-8,.grid-y>.large-9,.grid-y>.large-10,.grid-y>.large-11,.grid-y>.large-12,.grid-y>.large-shrink{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.grid-y>.large-shrink{height:auto}.grid-y>.large-1{height:8.33333%}.grid-y>.large-2{height:16.66667%}.grid-y>.large-3{height:25%}.grid-y>.large-4{height:33.33333%}.grid-y>.large-5{height:41.66667%}.grid-y>.large-6{height:50%}.grid-y>.large-7{height:58.33333%}.grid-y>.large-8{height:66.66667%}.grid-y>.large-9{height:75%}.grid-y>.large-10{height:83.33333%}.grid-y>.large-11{height:91.66667%}.grid-y>.large-12{height:100%}}.grid-padding-y .grid-padding-y{margin-bottom:-.625rem;margin-top:-.625rem}@media print,screen and (min-width:40em){.grid-padding-y .grid-padding-y{margin-bottom:-.9375rem;margin-top:-.9375rem}}.grid-padding-y>.cell{padding-bottom:.625rem;padding-top:.625rem}@media print,screen and (min-width:40em){.grid-padding-y>.cell{padding-bottom:.9375rem;padding-top:.9375rem}}.grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .grid-frame{width:100%}.cell-block{max-width:100%;overflow-x:auto}.cell-block,.cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.cell-block-y{max-height:100%;min-height:100%;overflow-y:auto}.cell-block-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.cell-block-container>.grid-x{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-height:100%}@media print,screen and (min-width:40em){.medium-grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .medium-grid-frame{width:100%}.medium-cell-block{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-width:100%;overflow-x:auto}.medium-cell-block-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.medium-cell-block-container>.grid-x{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-height:100%}.medium-cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-height:100%;min-height:100%;overflow-y:auto}}@media print,screen and (min-width:64em){.large-grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;position:relative;width:100vw}.cell .large-grid-frame{width:100%}.large-cell-block{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-width:100%;overflow-x:auto}.large-cell-block-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;max-height:100%}.large-cell-block-container>.grid-x{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-height:100%}.large-cell-block-y{-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;max-height:100%;min-height:100%;overflow-y:auto}}.grid-y.grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}@media print,screen and (min-width:40em){.grid-y.medium-grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}}@media print,screen and (min-width:64em){.grid-y.large-grid-frame{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:100vh;overflow:hidden;position:relative;width:auto}}.cell .grid-y.grid-frame{height:100%}@media print,screen and (min-width:40em){.cell .grid-y.medium-grid-frame{height:100%}}@media print,screen and (min-width:64em){.cell .grid-y.large-grid-frame{height:100%}}.grid-margin-y{margin-bottom:-.625rem;margin-top:-.625rem}@media print,screen and (min-width:40em){.grid-margin-y{margin-bottom:-.9375rem;margin-top:-.9375rem}}.grid-margin-y>.cell{height:calc(100% - 1.25rem);margin-bottom:.625rem;margin-top:.625rem}@media print,screen and (min-width:40em){.grid-margin-y>.cell{height:calc(100% - 1.875rem);margin-bottom:.9375rem;margin-top:.9375rem}}.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.25rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.25rem)}.grid-margin-y>.small-3{height:calc(25% - 1.25rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.25rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.25rem)}.grid-margin-y>.small-6{height:calc(50% - 1.25rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.25rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.25rem)}.grid-margin-y>.small-9{height:calc(75% - 1.25rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.25rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.25rem)}.grid-margin-y>.small-12{height:calc(100% - 1.25rem)}@media print,screen and (min-width:40em){.grid-margin-y>.auto{height:auto}.grid-margin-y>.shrink{height:auto}.grid-margin-y>.small-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.small-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.small-3{height:calc(25% - 1.875rem)}.grid-margin-y>.small-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.small-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.small-6{height:calc(50% - 1.875rem)}.grid-margin-y>.small-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.small-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.small-9{height:calc(75% - 1.875rem)}.grid-margin-y>.small-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.small-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.small-12{height:calc(100% - 1.875rem)}.grid-margin-y>.medium-auto{height:auto}.grid-margin-y>.medium-shrink{height:auto}.grid-margin-y>.medium-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.medium-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.medium-3{height:calc(25% - 1.875rem)}.grid-margin-y>.medium-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.medium-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.medium-6{height:calc(50% - 1.875rem)}.grid-margin-y>.medium-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.medium-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.medium-9{height:calc(75% - 1.875rem)}.grid-margin-y>.medium-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.medium-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.medium-12{height:calc(100% - 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y>.large-auto{height:auto}.grid-margin-y>.large-shrink{height:auto}.grid-margin-y>.large-1{height:calc(8.33333% - 1.875rem)}.grid-margin-y>.large-2{height:calc(16.66667% - 1.875rem)}.grid-margin-y>.large-3{height:calc(25% - 1.875rem)}.grid-margin-y>.large-4{height:calc(33.33333% - 1.875rem)}.grid-margin-y>.large-5{height:calc(41.66667% - 1.875rem)}.grid-margin-y>.large-6{height:calc(50% - 1.875rem)}.grid-margin-y>.large-7{height:calc(58.33333% - 1.875rem)}.grid-margin-y>.large-8{height:calc(66.66667% - 1.875rem)}.grid-margin-y>.large-9{height:calc(75% - 1.875rem)}.grid-margin-y>.large-10{height:calc(83.33333% - 1.875rem)}.grid-margin-y>.large-11{height:calc(91.66667% - 1.875rem)}.grid-margin-y>.large-12{height:calc(100% - 1.875rem)}}.grid-frame.grid-margin-y{height:calc(100vh + 1.25rem)}@media print,screen and (min-width:40em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-frame.grid-margin-y{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:40em){.grid-margin-y.medium-grid-frame{height:calc(100vh + 1.875rem)}}@media print,screen and (min-width:64em){.grid-margin-y.large-grid-frame{height:calc(100vh + 1.875rem)}}.button{-webkit-appearance:none;border:1px solid transparent;border-radius:0;cursor:pointer;display:inline-block;font-family:inherit;font-size:.9rem;line-height:1;margin:0 0 1rem;padding:.85em 1em;text-align:center;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle}[data-whatinput=mouse] .button{outline:0}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;margin-left:0;margin-right:0;width:100%}.button,.button.disabled,.button.disabled:focus,.button.disabled:hover,.button[disabled],.button[disabled]:focus,.button[disabled]:hover{background-color:#1779ba;color:#fefefe}.button:focus,.button:hover{background-color:#14679e;color:#fefefe}.button.primary,.button.primary.disabled,.button.primary.disabled:focus,.button.primary.disabled:hover,.button.primary[disabled],.button.primary[disabled]:focus,.button.primary[disabled]:hover{background-color:#1779ba;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#126195;color:#fefefe}.button.secondary,.button.secondary.disabled,.button.secondary.disabled:focus,.button.secondary.disabled:hover,.button.secondary[disabled],.button.secondary[disabled]:focus,.button.secondary[disabled]:hover{background-color:#767676;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5e5e5e;color:#fefefe}.button.success,.button.success.disabled,.button.success.disabled:focus,.button.success.disabled:hover,.button.success[disabled],.button.success[disabled]:focus,.button.success[disabled]:hover{background-color:#3adb76;color:#0a0a0a}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#0a0a0a}.button.warning,.button.warning.disabled,.button.warning.disabled:focus,.button.warning.disabled:hover,.button.warning[disabled],.button.warning[disabled]:focus,.button.warning[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#0a0a0a}.button.alert,.button.alert.disabled,.button.alert.disabled:focus,.button.alert.disabled:hover,.button.alert[disabled],.button.alert[disabled]:focus,.button.alert[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#a53b2a;color:#fefefe}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow:focus,.button.hollow:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{background-color:transparent}.button.hollow,.button.hollow.disabled,.button.hollow.disabled:focus,.button.hollow.disabled:hover,.button.hollow[disabled],.button.hollow[disabled]:focus,.button.hollow[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow:focus,.button.hollow:hover{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.primary,.button.hollow.primary.disabled,.button.hollow.primary.disabled:focus,.button.hollow.primary.disabled:hover,.button.hollow.primary[disabled],.button.hollow.primary[disabled]:focus,.button.hollow.primary[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c3d5d;color:#0c3d5d}.button.hollow.secondary,.button.hollow.secondary.disabled,.button.hollow.secondary.disabled:focus,.button.hollow.secondary.disabled:hover,.button.hollow.secondary[disabled],.button.hollow.secondary[disabled]:focus,.button.hollow.secondary[disabled]:hover{border:1px solid #767676;color:#767676}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3b3b3b;color:#3b3b3b}.button.hollow.success,.button.hollow.success.disabled,.button.hollow.success.disabled:focus,.button.hollow.success.disabled:hover,.button.hollow.success[disabled],.button.hollow.success[disabled]:focus,.button.hollow.success[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning,.button.hollow.warning.disabled,.button.hollow.warning.disabled:focus,.button.hollow.warning.disabled:hover,.button.hollow.warning[disabled],.button.hollow.warning[disabled]:focus,.button.hollow.warning[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert,.button.hollow.alert.disabled,.button.hollow.alert.disabled:focus,.button.hollow.alert.disabled:hover,.button.hollow.alert[disabled],.button.hollow.alert[disabled]:focus,.button.hollow.alert[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#67251a;color:#67251a}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear:focus,.button.clear:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{background-color:transparent;border-color:transparent}.button.clear,.button.clear.disabled,.button.clear.disabled:focus,.button.clear.disabled:hover,.button.clear[disabled],.button.clear[disabled]:focus,.button.clear[disabled]:hover{color:#1779ba}.button.clear:focus,.button.clear:hover{color:#0c3d5d}.button.clear.primary,.button.clear.primary.disabled,.button.clear.primary.disabled:focus,.button.clear.primary.disabled:hover,.button.clear.primary[disabled],.button.clear.primary[disabled]:focus,.button.clear.primary[disabled]:hover{color:#1779ba}.button.clear.primary:focus,.button.clear.primary:hover{color:#0c3d5d}.button.clear.secondary,.button.clear.secondary.disabled,.button.clear.secondary.disabled:focus,.button.clear.secondary.disabled:hover,.button.clear.secondary[disabled],.button.clear.secondary[disabled]:focus,.button.clear.secondary[disabled]:hover{color:#767676}.button.clear.secondary:focus,.button.clear.secondary:hover{color:#3b3b3b}.button.clear.success,.button.clear.success.disabled,.button.clear.success.disabled:focus,.button.clear.success.disabled:hover,.button.clear.success[disabled],.button.clear.success[disabled]:focus,.button.clear.success[disabled]:hover{color:#3adb76}.button.clear.success:focus,.button.clear.success:hover{color:#157539}.button.clear.warning,.button.clear.warning.disabled,.button.clear.warning.disabled:focus,.button.clear.warning.disabled:hover,.button.clear.warning[disabled],.button.clear.warning[disabled]:focus,.button.clear.warning[disabled]:hover{color:#ffae00}.button.clear.warning:focus,.button.clear.warning:hover{color:#805700}.button.clear.alert,.button.clear.alert.disabled,.button.clear.alert.disabled:focus,.button.clear.alert.disabled:hover,.button.clear.alert[disabled],.button.clear.alert[disabled]:focus,.button.clear.alert[disabled]:hover{color:#cc4b37}.button.clear.alert:focus,.button.clear.alert:hover{color:#67251a}.button.disabled,.button[disabled]{cursor:not-allowed;opacity:.25}.button.dropdown:after{border-color:#fefefe transparent transparent;border-style:solid;border-width:.4em .4em 0;content:"";display:block;display:inline-block;float:right;height:0;margin-left:1em;position:relative;top:.4em;width:0}.button.dropdown.clear:after,.button.dropdown.hollow:after{border-top-color:#1779ba}.button.dropdown.clear.primary:after,.button.dropdown.hollow.primary:after{border-top-color:#1779ba}.button.dropdown.clear.secondary:after,.button.dropdown.hollow.secondary:after{border-top-color:#767676}.button.dropdown.clear.success:after,.button.dropdown.hollow.success:after{border-top-color:#3adb76}.button.dropdown.clear.warning:after,.button.dropdown.hollow.warning:after{border-top-color:#ffae00}.button.dropdown.clear.alert:after,.button.dropdown.hollow.alert:after{border-top-color:#cc4b37}.button.arrow-only:after{float:none;margin-left:0;top:-.1em}a.button:focus,a.button:hover{text-decoration:none}.button-group{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-box-flex:1;-ms-flex-positive:1;-webkit-align-items:stretch;align-items:stretch;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1rem}.button-group:after,.button-group:before{-ms-flex-preferred-size:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;content:" ";display:table;-webkit-flex-basis:0;flex-basis:0;-webkit-order:1;order:1}.button-group:after{clear:both}.button-group:after,.button-group:before{display:none}.button-group .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;font-size:.9rem;margin:0 1px 1px 0}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.button-group.primary .button,.button-group.primary .button.disabled,.button-group.primary .button.disabled:focus,.button-group.primary .button.disabled:hover,.button-group.primary .button[disabled],.button-group.primary .button[disabled]:focus,.button-group.primary .button[disabled]:hover{background-color:#1779ba;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#126195;color:#fefefe}.button-group.secondary .button,.button-group.secondary .button.disabled,.button-group.secondary .button.disabled:focus,.button-group.secondary .button.disabled:hover,.button-group.secondary .button[disabled],.button-group.secondary .button[disabled]:focus,.button-group.secondary .button[disabled]:hover{background-color:#767676;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5e5e5e;color:#fefefe}.button-group.success .button,.button-group.success .button.disabled,.button-group.success .button.disabled:focus,.button-group.success .button.disabled:hover,.button-group.success .button[disabled],.button-group.success .button[disabled]:focus,.button-group.success .button[disabled]:hover{background-color:#3adb76;color:#0a0a0a}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#0a0a0a}.button-group.warning .button,.button-group.warning .button.disabled,.button-group.warning .button.disabled:focus,.button-group.warning .button.disabled:hover,.button-group.warning .button[disabled],.button-group.warning .button[disabled]:focus,.button-group.warning .button[disabled]:hover{background-color:#ffae00;color:#0a0a0a}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#0a0a0a}.button-group.alert .button,.button-group.alert .button.disabled,.button-group.alert .button.disabled:focus,.button-group.alert .button.disabled:hover,.button-group.alert .button[disabled],.button-group.alert .button[disabled]:focus,.button-group.alert .button[disabled]:hover{background-color:#cc4b37;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#a53b2a;color:#fefefe}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button:focus,.button-group.hollow .button:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{background-color:transparent}.button-group.hollow .button,.button-group.hollow .button.disabled,.button-group.hollow .button.disabled:focus,.button-group.hollow .button.disabled:hover,.button-group.hollow .button[disabled],.button-group.hollow .button[disabled]:focus,.button-group.hollow .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button:focus,.button-group.hollow .button:hover{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow .button.primary,.button-group.hollow .button.primary.disabled,.button-group.hollow .button.primary.disabled:focus,.button-group.hollow .button.primary.disabled:hover,.button-group.hollow .button.primary[disabled],.button-group.hollow .button.primary[disabled]:focus,.button-group.hollow .button.primary[disabled]:hover,.button-group.hollow.primary .button,.button-group.hollow.primary .button.disabled,.button-group.hollow.primary .button.disabled:focus,.button-group.hollow.primary .button.disabled:hover,.button-group.hollow.primary .button[disabled],.button-group.hollow.primary .button[disabled]:focus,.button-group.hollow.primary .button[disabled]:hover{border:1px solid #1779ba;color:#1779ba}.button-group.hollow .button.primary:focus,.button-group.hollow .button.primary:hover,.button-group.hollow.primary .button:focus,.button-group.hollow.primary .button:hover{border-color:#0c3d5d;color:#0c3d5d}.button-group.hollow .button.secondary,.button-group.hollow .button.secondary.disabled,.button-group.hollow .button.secondary.disabled:focus,.button-group.hollow .button.secondary.disabled:hover,.button-group.hollow .button.secondary[disabled],.button-group.hollow .button.secondary[disabled]:focus,.button-group.hollow .button.secondary[disabled]:hover,.button-group.hollow.secondary .button,.button-group.hollow.secondary .button.disabled,.button-group.hollow.secondary .button.disabled:focus,.button-group.hollow.secondary .button.disabled:hover,.button-group.hollow.secondary .button[disabled],.button-group.hollow.secondary .button[disabled]:focus,.button-group.hollow.secondary .button[disabled]:hover{border:1px solid #767676;color:#767676}.button-group.hollow .button.secondary:focus,.button-group.hollow .button.secondary:hover,.button-group.hollow.secondary .button:focus,.button-group.hollow.secondary .button:hover{border-color:#3b3b3b;color:#3b3b3b}.button-group.hollow .button.success,.button-group.hollow .button.success.disabled,.button-group.hollow .button.success.disabled:focus,.button-group.hollow .button.success.disabled:hover,.button-group.hollow .button.success[disabled],.button-group.hollow .button.success[disabled]:focus,.button-group.hollow .button.success[disabled]:hover,.button-group.hollow.success .button,.button-group.hollow.success .button.disabled,.button-group.hollow.success .button.disabled:focus,.button-group.hollow.success .button.disabled:hover,.button-group.hollow.success .button[disabled],.button-group.hollow.success .button[disabled]:focus,.button-group.hollow.success .button[disabled]:hover{border:1px solid #3adb76;color:#3adb76}.button-group.hollow .button.success:focus,.button-group.hollow .button.success:hover,.button-group.hollow.success .button:focus,.button-group.hollow.success .button:hover{border-color:#157539;color:#157539}.button-group.hollow .button.warning,.button-group.hollow .button.warning.disabled,.button-group.hollow .button.warning.disabled:focus,.button-group.hollow .button.warning.disabled:hover,.button-group.hollow .button.warning[disabled],.button-group.hollow .button.warning[disabled]:focus,.button-group.hollow .button.warning[disabled]:hover,.button-group.hollow.warning .button,.button-group.hollow.warning .button.disabled,.button-group.hollow.warning .button.disabled:focus,.button-group.hollow.warning .button.disabled:hover,.button-group.hollow.warning .button[disabled],.button-group.hollow.warning .button[disabled]:focus,.button-group.hollow.warning .button[disabled]:hover{border:1px solid #ffae00;color:#ffae00}.button-group.hollow .button.warning:focus,.button-group.hollow .button.warning:hover,.button-group.hollow.warning .button:focus,.button-group.hollow.warning .button:hover{border-color:#805700;color:#805700}.button-group.hollow.alert .button,.button-group.hollow.alert .button.disabled,.button-group.hollow.alert .button.disabled:focus,.button-group.hollow.alert .button.disabled:hover,.button-group.hollow.alert .button[disabled],.button-group.hollow.alert .button[disabled]:focus,.button-group.hollow.alert .button[disabled]:hover,.button-group.hollow .button.alert,.button-group.hollow .button.alert.disabled,.button-group.hollow .button.alert.disabled:focus,.button-group.hollow .button.alert.disabled:hover,.button-group.hollow .button.alert[disabled],.button-group.hollow .button.alert[disabled]:focus,.button-group.hollow .button.alert[disabled]:hover{border:1px solid #cc4b37;color:#cc4b37}.button-group.hollow.alert .button:focus,.button-group.hollow.alert .button:hover,.button-group.hollow .button.alert:focus,.button-group.hollow .button.alert:hover{border-color:#67251a;color:#67251a}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button:focus,.button-group.clear .button:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{background-color:transparent;border-color:transparent}.button-group.clear .button,.button-group.clear .button.disabled,.button-group.clear .button.disabled:focus,.button-group.clear .button.disabled:hover,.button-group.clear .button[disabled],.button-group.clear .button[disabled]:focus,.button-group.clear .button[disabled]:hover{color:#1779ba}.button-group.clear .button:focus,.button-group.clear .button:hover{color:#0c3d5d}.button-group.clear .button.primary,.button-group.clear .button.primary.disabled,.button-group.clear .button.primary.disabled:focus,.button-group.clear .button.primary.disabled:hover,.button-group.clear .button.primary[disabled],.button-group.clear .button.primary[disabled]:focus,.button-group.clear .button.primary[disabled]:hover,.button-group.clear.primary .button,.button-group.clear.primary .button.disabled,.button-group.clear.primary .button.disabled:focus,.button-group.clear.primary .button.disabled:hover,.button-group.clear.primary .button[disabled],.button-group.clear.primary .button[disabled]:focus,.button-group.clear.primary .button[disabled]:hover{color:#1779ba}.button-group.clear .button.primary:focus,.button-group.clear .button.primary:hover,.button-group.clear.primary .button:focus,.button-group.clear.primary .button:hover{color:#0c3d5d}.button-group.clear .button.secondary,.button-group.clear .button.secondary.disabled,.button-group.clear .button.secondary.disabled:focus,.button-group.clear .button.secondary.disabled:hover,.button-group.clear .button.secondary[disabled],.button-group.clear .button.secondary[disabled]:focus,.button-group.clear .button.secondary[disabled]:hover,.button-group.clear.secondary .button,.button-group.clear.secondary .button.disabled,.button-group.clear.secondary .button.disabled:focus,.button-group.clear.secondary .button.disabled:hover,.button-group.clear.secondary .button[disabled],.button-group.clear.secondary .button[disabled]:focus,.button-group.clear.secondary .button[disabled]:hover{color:#767676}.button-group.clear .button.secondary:focus,.button-group.clear .button.secondary:hover,.button-group.clear.secondary .button:focus,.button-group.clear.secondary .button:hover{color:#3b3b3b}.button-group.clear .button.success,.button-group.clear .button.success.disabled,.button-group.clear .button.success.disabled:focus,.button-group.clear .button.success.disabled:hover,.button-group.clear .button.success[disabled],.button-group.clear .button.success[disabled]:focus,.button-group.clear .button.success[disabled]:hover,.button-group.clear.success .button,.button-group.clear.success .button.disabled,.button-group.clear.success .button.disabled:focus,.button-group.clear.success .button.disabled:hover,.button-group.clear.success .button[disabled],.button-group.clear.success .button[disabled]:focus,.button-group.clear.success .button[disabled]:hover{color:#3adb76}.button-group.clear .button.success:focus,.button-group.clear .button.success:hover,.button-group.clear.success .button:focus,.button-group.clear.success .button:hover{color:#157539}.button-group.clear .button.warning,.button-group.clear .button.warning.disabled,.button-group.clear .button.warning.disabled:focus,.button-group.clear .button.warning.disabled:hover,.button-group.clear .button.warning[disabled],.button-group.clear .button.warning[disabled]:focus,.button-group.clear .button.warning[disabled]:hover,.button-group.clear.warning .button,.button-group.clear.warning .button.disabled,.button-group.clear.warning .button.disabled:focus,.button-group.clear.warning .button.disabled:hover,.button-group.clear.warning .button[disabled],.button-group.clear.warning .button[disabled]:focus,.button-group.clear.warning .button[disabled]:hover{color:#ffae00}.button-group.clear .button.warning:focus,.button-group.clear .button.warning:hover,.button-group.clear.warning .button:focus,.button-group.clear.warning .button:hover{color:#805700}.button-group.clear.alert .button,.button-group.clear.alert .button.disabled,.button-group.clear.alert .button.disabled:focus,.button-group.clear.alert .button.disabled:hover,.button-group.clear.alert .button[disabled],.button-group.clear.alert .button[disabled]:focus,.button-group.clear.alert .button[disabled]:hover,.button-group.clear .button.alert,.button-group.clear .button.alert.disabled,.button-group.clear .button.alert.disabled:focus,.button-group.clear .button.alert.disabled:hover,.button-group.clear .button.alert[disabled],.button-group.clear .button.alert[disabled]:focus,.button-group.clear .button.alert[disabled]:hover{color:#cc4b37}.button-group.clear.alert .button:focus,.button-group.clear.alert .button:hover,.button-group.clear .button.alert:focus,.button-group.clear .button.alert:hover{color:#67251a}.button-group.no-gaps .button{margin-right:-.0625rem}.button-group.no-gaps .button+.button{border-left-color:transparent}.button-group.stacked,.button-group.stacked-for-medium,.button-group.stacked-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}.button-group.stacked-for-medium.expanded .button,.button-group.stacked-for-small.expanded .button,.button-group.stacked.expanded .button{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}@media print,screen and (min-width:40em){.button-group.stacked-for-small .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (min-width:64em){.button-group.stacked-for-medium .button{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:0}}@media print,screen and (max-width:39.99875em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}@media print,screen and (max-width:63.99875em){.button-group.stacked-for-medium.expanded{display:block}.button-group.stacked-for-medium.expanded .button{display:block;margin-right:0}}.close-button{color:#8a8a8a;cursor:pointer;position:absolute;z-index:10}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.close-button.small{font-size:1.5em;line-height:1;right:.66rem;top:.33em}.close-button,.close-button.medium{font-size:2em;line-height:1;right:1rem;top:.5rem}.label{border-radius:0;cursor:default;display:inline-block;font-size:.8rem;line-height:1;padding:.33333rem .5rem;white-space:nowrap}.label,.label.primary{background:#1779ba;color:#fefefe}.label.secondary{background:#767676;color:#fefefe}.label.success{background:#3adb76;color:#0a0a0a}.label.warning{background:#ffae00;color:#0a0a0a}.label.alert{background:#cc4b37;color:#fefefe}.progress{background-color:#cacaca;border-radius:0;height:1rem;margin-bottom:1rem}.progress.primary .progress-meter{background-color:#1779ba}.progress.secondary .progress-meter{background-color:#767676}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#cc4b37}.progress-meter{background-color:#1779ba;display:block;height:100%;position:relative;width:0}.progress-meter-text{color:#fefefe;font-size:.75rem;font-weight:700;left:50%;margin:0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);white-space:nowrap}.slider{background-color:#e6e6e6;cursor:pointer;height:.5rem;margin-bottom:2.25rem;margin-top:1.25rem;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.slider-fill{background-color:#cacaca;display:inline-block;height:.5rem;left:0;max-width:100%;position:absolute;top:0;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{background-color:#1779ba;border-radius:0;cursor:-webkit-grab;cursor:grab;display:inline-block;height:1.4rem;left:0;position:absolute;top:50%;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;width:1.4rem;z-index:1}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#14679e}.slider-handle.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{cursor:not-allowed;opacity:.25}.slider.vertical{display:inline-block;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);width:.5rem}.slider.vertical .slider-fill{max-height:100%;top:0;width:.5rem}.slider.vertical .slider-handle{height:1.4rem;left:50%;position:absolute;top:0;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:1.4rem}.switch{color:#fefefe;font-size:.875rem;font-weight:700;height:2rem;margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch-input{margin-bottom:0;opacity:0;position:absolute}.switch-paddle{background:#cacaca;border-radius:0;color:inherit;cursor:pointer;display:block;font-weight:inherit;height:2rem;position:relative;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;width:4rem}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;border-radius:0;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transition:all .25s ease-out;transition:all .25s ease-out;width:1.5rem}input:checked~.switch-paddle{background:#1779ba}input:checked~.switch-paddle:after{left:2.25rem}input:disabled~.switch-paddle{cursor:not-allowed;opacity:.5}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{display:none;left:8%}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny{height:1.5rem}.switch.tiny .switch-paddle{font-size:.625rem;height:1.5rem;width:3rem}.switch.tiny .switch-paddle:after{height:1rem;left:.25rem;top:.25rem;width:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small{height:1.75rem}.switch.small .switch-paddle{font-size:.75rem;height:1.75rem;width:3.5rem}.switch.small .switch-paddle:after{height:1.25rem;left:.25rem;top:.25rem;width:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large{height:2.5rem}.switch.large .switch-paddle{font-size:1rem;height:2.5rem;width:5rem}.switch.large .switch-paddle:after{height:2rem;left:.25rem;top:.25rem;width:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{border-collapse:collapse;border-radius:0;margin-bottom:1rem;width:100%}tbody,tfoot,thead{background-color:#fefefe;border:1px solid #f1f1f1}caption{font-weight:700;padding:.5rem .625rem .625rem}thead{background:#f8f8f8}tfoot,thead{color:#0a0a0a}tfoot{background:#f1f1f1}tfoot tr,thead tr{background:0 0}tfoot td,tfoot th,thead td,thead th{font-weight:700;padding:.5rem .625rem .625rem;text-align:left}tbody td,tbody th{padding:.5rem .625rem .625rem}tbody tr:nth-child(2n){background-color:#f1f1f1;border-bottom:0}table.unstriped tbody{background-color:#fefefe}table.unstriped tbody tr{background-color:#fefefe;border-bottom:1px solid #f1f1f1}@media print,screen and (max-width:63.99875em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;overflow-x:auto;width:100%}table.hover thead tr:hover{background-color:#f3f3f3}table.hover tfoot tr:hover{background-color:#ececec}table.hover tbody tr:hover{background-color:#f9f9f9}table.hover:not(.unstriped) tr:nth-of-type(2n):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.badge{border-radius:50%;display:inline-block;font-size:.6rem;min-width:2.1em;padding:.3em;text-align:center}.badge,.badge.primary{background:#1779ba;color:#fefefe}.badge.secondary{background:#767676;color:#fefefe}.badge.success{background:#3adb76;color:#0a0a0a}.badge.warning{background:#ffae00;color:#0a0a0a}.badge.alert{background:#cc4b37;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{-ms-flex-preferred-size:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;content:" ";display:table;-webkit-flex-basis:0;flex-basis:0;-webkit-order:1;order:1}.breadcrumbs:after{clear:both}.breadcrumbs li{color:#0a0a0a;cursor:default;float:left;font-size:.6875rem;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"/";margin:0 .75rem;opacity:1;position:relative}.breadcrumbs a{color:#1779ba}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.callout{background-color:#fff;border:1px solid hsla(0,0%,4%,.25);border-radius:0;color:#0a0a0a;margin:0 0 1rem;padding:1rem;position:relative}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#d7ecfa;color:#0a0a0a}.callout.secondary{background-color:#eaeaea;color:#0a0a0a}.callout.success{background-color:#e1faea;color:#0a0a0a}.callout.warning{background-color:#fff3d9;color:#0a0a0a}.callout.alert{background-color:#f7e4e1;color:#0a0a0a}.callout.small{padding:.5rem}.callout.large{padding:3rem}.card{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-flex:1;-ms-flex-positive:1;background:#fefefe;border:1px solid #e6e6e6;border-radius:0;-webkit-box-shadow:none;box-shadow:none;color:#0a0a0a;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;flex-grow:1;margin-bottom:1rem;overflow:hidden}.card>:last-child{margin-bottom:0}.card-divider{-webkit-box-flex:0;background:#e6e6e6;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding:1rem}.card-divider>:last-child{margin-bottom:0}.card-section{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;padding:1rem}.card-section>:last-child{margin-bottom:0}.card-image{min-height:1px}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:none;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-opening{display:block}.dropdown-pane.is-open{display:block;visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.pagination{margin-bottom:1rem;margin-left:0}.pagination:after,.pagination:before{-ms-flex-preferred-size:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;content:" ";display:table;-webkit-flex-basis:0;flex-basis:0;-webkit-order:1;order:1}.pagination:after{clear:both}.pagination li{border-radius:0;display:none;font-size:.875rem;margin-right:.0625rem}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media print,screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{border-radius:0;color:#0a0a0a;display:block;padding:.1875rem .625rem}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{background:#1779ba;color:#fefefe;cursor:default;padding:.1875rem .625rem}.pagination .disabled{color:#cacaca;cursor:not-allowed;padding:.1875rem .625rem}.pagination .disabled:hover{background:0 0}.pagination .ellipsis:after{color:#0a0a0a;content:"…";padding:.1875rem .625rem}.pagination-previous.disabled:before,.pagination-previous a:before{content:"«";display:inline-block;margin-right:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:"»";display:inline-block;margin-left:.5rem}.has-tip{border-bottom:1px dotted #8a8a8a;cursor:help;display:inline-block;font-weight:700;position:relative}.tooltip{background-color:#0a0a0a;border-radius:0;color:#fefefe;font-size:80%;max-width:10rem;padding:.75rem;position:absolute;top:calc(100% + .6495rem);z-index:1200}.tooltip:before{position:absolute}.tooltip.bottom:before{border-color:transparent transparent #0a0a0a;border-style:solid;border-width:0 .75rem .75rem;bottom:100%;content:"";display:block;height:0;width:0}.tooltip.bottom.align-center:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-style:solid;border-width:.75rem .75rem 0;bottom:auto;content:"";display:block;height:0;top:100%;width:0}.tooltip.top.align-center:before{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-style:solid;border-width:.75rem 0 .75rem .75rem;content:"";display:block;height:0;left:100%;width:0}.tooltip.left.align-center:before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-style:solid;border-width:.75rem .75rem .75rem 0;content:"";display:block;height:0;left:auto;right:100%;width:0}.tooltip.right.align-center:before{bottom:auto;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.align-top:before{bottom:auto;top:10%}.tooltip.align-bottom:before{bottom:10%;top:auto}.tooltip.align-left:before{left:10%;right:auto}.tooltip.align-right:before{left:auto;right:10%}.accordion{background:#fefefe;list-style-type:none;margin-left:0}.accordion[disabled] .accordion-title{cursor:not-allowed}.accordion-item:first-child>:first-child{border-radius:0}.accordion-item:last-child>:last-child{border-radius:0}.accordion-title{border:1px solid #e6e6e6;border-bottom:0;color:#1779ba;display:block;font-size:.75rem;line-height:1;padding:1.25rem 1rem;position:relative}:last-child:not(.is-active)>.accordion-title{border-bottom:1px solid #e6e6e6;border-radius:0}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:"+";margin-top:-.5rem;position:absolute;right:1rem;top:50%}.is-active>.accordion-title:before{content:"–"}.accordion-content{background-color:#fefefe;border:1px solid #e6e6e6;border-bottom:0;color:#0a0a0a;display:none;padding:1rem}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.media-object{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin-bottom:1rem}.media-object img{max-width:none}@media print,screen and (max-width:39.99875em){.media-object.stack-for-small{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}}.media-object-section{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}@media print,screen and (max-width:39.99875em){.stack-for-small .media-object-section{-ms-flex-preferred-size:100%;-webkit-flex-basis:100%;flex-basis:100%;max-width:100%;padding:0 0 1rem}.stack-for-small .media-object-section img{width:100%}}.media-object-section.main-section{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.orbit,.orbit-container{position:relative}.orbit-container{height:0;list-style:none;margin:0;overflow:hidden}.orbit-slide{position:absolute;width:100%}.orbit-slide.no-motionui.is-active{left:0;top:0}.orbit-figure{margin:0}.orbit-image{margin:0;max-width:100%;width:100%}.orbit-caption{background-color:hsla(0,0%,4%,.5);bottom:0;margin-bottom:0;width:100%}.orbit-caption,.orbit-next,.orbit-previous{color:#fefefe;padding:1rem;position:absolute}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{margin-bottom:.8rem;margin-top:.8rem;position:relative;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{background-color:#cacaca;border-radius:50%;height:1.2rem;margin:.1rem;width:1.2rem}.orbit-bullets button:hover{background-color:#8a8a8a}.orbit-bullets button.is-active{background-color:#8a8a8a}.flex-video,.responsive-embed{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:75%;position:relative}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video,.responsive-embed embed,.responsive-embed iframe,.responsive-embed object,.responsive-embed video{height:100%;left:0;position:absolute;top:0;width:100%}.flex-video.widescreen,.responsive-embed.widescreen{padding-bottom:56.25%}.tabs{background:#fefefe;border:1px solid #e6e6e6;list-style-type:none;margin:0}.tabs:after,.tabs:before{-ms-flex-preferred-size:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;content:" ";display:table;-webkit-flex-basis:0;flex-basis:0;-webkit-order:1;order:1}.tabs:after{clear:both}.tabs.vertical>li{display:block;float:none;width:auto}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:0 0}.tabs.primary{background:#1779ba}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1673b1}.tabs-title{float:left}.tabs-title>a{color:#1779ba;display:block;font-size:.75rem;line-height:1;padding:1.25rem 1.5rem}[data-whatinput=mouse] .tabs-title>a{outline:0}.tabs-title>a:hover{background:#fefefe;color:#1468a0}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6;color:#1779ba}.tabs-content{background:#fefefe;border:1px solid #e6e6e6;border-top:0;color:#0a0a0a;-webkit-transition:all .5s ease;transition:all .5s ease}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;border-radius:0;-webkit-box-shadow:0 0 0 1px hsla(0,0%,4%,.2);box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;margin-bottom:1rem;max-width:100%}a.thumbnail{-webkit-transition:-webkit-box-shadow .2s ease-out;transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}a.thumbnail:focus,a.thumbnail:hover{-webkit-box-shadow:0 0 6px 1px rgba(23,121,186,.5);box-shadow:0 0 6px 1px rgba(23,121,186,.5)}a.thumbnail image{-webkit-box-shadow:none;box-shadow:none}.menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:0;padding:0;position:relative}[data-whatinput=mouse] .menu li{outline:0}.menu .button,.menu a{display:block;line-height:1;padding:.7rem 1rem;text-decoration:none}.menu a,.menu button,.menu input,.menu select{margin-bottom:0}.menu input{display:inline-block}.menu,.menu.horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.menu.vertical.icon-bottom li a i,.menu.vertical.icon-bottom li a img,.menu.vertical.icon-bottom li a svg,.menu.vertical.icon-top li a i,.menu.vertical.icon-top li a img,.menu.vertical.icon-top li a svg{text-align:left}.menu.expanded li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.menu.expanded.icon-bottom li a i,.menu.expanded.icon-bottom li a img,.menu.expanded.icon-bottom li a svg,.menu.expanded.icon-top li a i,.menu.expanded.icon-top li a img,.menu.expanded.icon-top li a svg{text-align:left}.menu.simple{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.menu.simple li+li{margin-left:1rem}.menu.simple a{padding:0}@media print,screen and (min-width:40em){.menu.medium-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.medium-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.menu.medium-expanded li,.menu.medium-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}@media print,screen and (min-width:64em){.menu.large-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.menu.large-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.menu.large-expanded li,.menu.large-simple li{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}}.menu.nested{margin-left:1rem;margin-right:0}.menu.icon-bottom a,.menu.icon-left a,.menu.icon-right a,.menu.icon-top a,.menu.icons a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.menu.icon-left li a,.menu.nested.icon-left li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-left li a i,.menu.icon-left li a img,.menu.icon-left li a svg,.menu.nested.icon-left li a i,.menu.nested.icon-left li a img,.menu.nested.icon-left li a svg{margin-right:.25rem}.menu.icon-right li a,.menu.nested.icon-right li a{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row nowrap;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.menu.icon-right li a i,.menu.icon-right li a img,.menu.icon-right li a svg,.menu.nested.icon-right li a i,.menu.nested.icon-right li a img,.menu.nested.icon-right li a svg{margin-left:.25rem}.menu.icon-top li a,.menu.nested.icon-top li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-top li a i,.menu.icon-top li a img,.menu.icon-top li a svg,.menu.nested.icon-top li a i,.menu.nested.icon-top li a img,.menu.nested.icon-top li a svg{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu.icon-bottom li a,.menu.nested.icon-bottom li a{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-flow:column nowrap;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.menu.icon-bottom li a i,.menu.icon-bottom li a img,.menu.icon-bottom li a svg,.menu.nested.icon-bottom li a i,.menu.nested.icon-bottom li a img,.menu.nested.icon-bottom li a svg{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch;margin-bottom:.25rem;text-align:center}.menu .is-active>a{background:#1779ba;color:#fefefe}.menu .active>a{background:#1779ba;color:#fefefe}.menu.align-left{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.menu.align-right li{-webkit-box-pack:end;-ms-flex-pack:end;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end}.menu.align-right li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.menu.align-right.vertical li{display:block;text-align:right}.menu.align-right.icon-bottom li a i,.menu.align-right.icon-bottom li a img,.menu.align-right.icon-bottom li a svg,.menu.align-right.icon-top li a i,.menu.align-right.icon-top li a img,.menu.align-right.icon-top li a svg,.menu.align-right.vertical li .submenu li{text-align:right}.menu.align-right .nested{margin-left:0;margin-right:1rem}.menu.align-center li{-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.menu.align-center li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.menu .menu-text{color:inherit;font-weight:700;line-height:1;padding:.7rem 1rem}.menu-centered>.menu{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.menu-centered>.menu li{-webkit-box-pack:center;-ms-flex-pack:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;justify-content:center}.menu-centered>.menu li .submenu li{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.no-js [data-responsive-menu] ul{display:none}.menu-icon{cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:20px}.menu-icon:after{background:#fefefe;-webkit-box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe;content:"";display:block;height:2px;left:0;position:absolute;top:0;width:100%}.menu-icon:hover:after{background:#cacaca;-webkit-box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.menu-icon.dark{cursor:pointer;display:inline-block;height:16px;position:relative;vertical-align:middle;width:20px}.menu-icon.dark:after{background:#0a0a0a;-webkit-box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a;content:"";display:block;height:2px;left:0;position:absolute;top:0;width:100%}.menu-icon.dark:hover:after{background:#8a8a8a;-webkit-box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.accordion-menu li{width:100%}.accordion-menu .is-accordion-submenu a,.accordion-menu a{padding:.7rem 1rem}.accordion-menu .nested.is-accordion-submenu{margin-left:1rem;margin-right:0}.accordion-menu.align-right .nested.is-accordion-submenu{margin-left:0;margin-right:1rem}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a{position:relative}.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;margin-top:-3px;position:absolute;right:1rem;top:50%;width:0}.accordion-menu.align-left .is-accordion-submenu-parent>a:after{left:auto;right:1rem}.accordion-menu.align-right .is-accordion-submenu-parent>a:after{left:1rem;right:auto}.accordion-menu .is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.is-accordion-submenu-parent{position:relative}.has-submenu-toggle>a{margin-right:40px}.submenu-toggle{cursor:pointer;height:40px;position:absolute;right:0;top:0;width:40px}.submenu-toggle:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;bottom:0;content:"";display:block;height:0;margin:auto;top:0;width:0}.submenu-toggle[aria-expanded=true]:after{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.submenu-toggle-text{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.is-drilldown{overflow:hidden;position:relative}.is-drilldown li{display:block}.is-drilldown.animate-height{-webkit-transition:height .5s;transition:height .5s}.drilldown a{background:#fefefe;padding:.7rem 1rem}.drilldown .is-drilldown-submenu{background:#fefefe;left:100%;position:absolute;top:0;-webkit-transition:-webkit-transform .15s linear;transition:-webkit-transform .15s linear;transition:transform .15s linear;transition:transform .15s linear,-webkit-transform .15s linear;width:100%;z-index:-1}.drilldown .is-drilldown-submenu.is-active{display:block;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);z-index:1}.drilldown .is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.drilldown .is-drilldown-submenu a{padding:.7rem 1rem}.drilldown .nested.is-drilldown-submenu{margin-left:0;margin-right:0}.drilldown .drilldown-submenu-cover-previous{min-height:100%}.drilldown .is-drilldown-submenu-parent>a{position:relative}.drilldown .is-drilldown-submenu-parent>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;margin-top:-6px;position:absolute;right:1rem;top:50%;width:0}.drilldown.align-left .is-drilldown-submenu-parent>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;left:auto;right:1rem;width:0}.drilldown.align-right .is-drilldown-submenu-parent>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:1rem;right:auto;width:0}.drilldown .js-drilldown-back>a:before{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;display:inline-block;height:0;margin-right:.75rem;vertical-align:middle;width:0}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}[data-whatinput=mouse] .dropdown.menu a{outline:0}.dropdown.menu>li>a{padding:.7rem 1rem}.dropdown.menu>li.is-active>a{background:0 0;color:#1779ba}.no-js .dropdown.menu ul{display:none}.dropdown.menu .nested.is-dropdown-submenu{margin-left:0;margin-right:0}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.vertical>li>a:after{right:14px}.dropdown.menu.vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}@media print,screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.medium-vertical>li>a:after{right:14px}.dropdown.menu.medium-vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}@media print,screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{left:0;right:auto;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{border-color:#1779ba transparent transparent;border-style:solid;border-width:6px 6px 0;content:"";display:block;height:0;left:auto;margin-top:-3px;right:5px;width:0}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%;top:0}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{left:100%;right:auto}.dropdown.menu.large-vertical>li>a:after{right:14px}.dropdown.menu.large-vertical>li.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{left:auto;right:0;top:100%}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{left:auto;margin-top:-6px;position:absolute;right:5px;top:50%}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{left:auto;top:100%}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{left:100%;right:auto}.is-dropdown-submenu{background:#fefefe;border:1px solid #cacaca;display:none;left:100%;min-width:200px;position:absolute;top:0;z-index:1}.dropdown .is-dropdown-submenu a{padding:.7rem 1rem}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{border-color:transparent #1779ba transparent transparent;border-style:solid;border-width:6px 6px 6px 0;content:"";display:block;height:0;left:5px;right:auto;width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{border-color:transparent transparent transparent #1779ba;border-style:solid;border-width:6px 0 6px 6px;content:"";display:block;height:0;width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.is-off-canvas-open{overflow:hidden}.js-off-canvas-overlay{background:hsla(0,0%,100%,.25);height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;-webkit-transition:opacity .5s ease,visibility .5s ease;transition:opacity .5s ease,visibility .5s ease;visibility:hidden;width:100%;z-index:11}.js-off-canvas-overlay.is-visible{opacity:1;visibility:visible}.js-off-canvas-overlay.is-closable{cursor:pointer}.js-off-canvas-overlay.is-overlay-absolute{position:absolute}.js-off-canvas-overlay.is-overlay-fixed{position:fixed}.off-canvas-wrapper{overflow:hidden;position:relative}.off-canvas{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:fixed;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:12}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.is-transition-push{z-index:12}.off-canvas.is-closed{visibility:hidden}.off-canvas.is-transition-overlap{z-index:13}.off-canvas.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px hsla(0,0%,4%,.7);box-shadow:0 0 10px hsla(0,0%,4%,.7)}.off-canvas.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.off-canvas-absolute{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#e6e6e6;position:absolute;-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease;z-index:12}[data-whatinput=mouse] .off-canvas-absolute{outline:0}.off-canvas-absolute.is-transition-push{z-index:12}.off-canvas-absolute.is-closed{visibility:hidden}.off-canvas-absolute.is-transition-overlap{z-index:13}.off-canvas-absolute.is-transition-overlap.is-open{-webkit-box-shadow:0 0 10px hsla(0,0%,4%,.7);box-shadow:0 0 10px hsla(0,0%,4%,.7)}.off-canvas-absolute.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.position-left{-webkit-overflow-scrolling:touch;height:100%;left:0;overflow-y:auto;top:0;width:250px}.off-canvas-content .off-canvas.position-left,.position-left{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-left.has-transition-push{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.position-left.is-transition-push{-webkit-box-shadow:inset -13px 0 20px -13px hsla(0,0%,4%,.25);box-shadow:inset -13px 0 20px -13px hsla(0,0%,4%,.25)}.position-right{-webkit-overflow-scrolling:touch;height:100%;overflow-y:auto;right:0;top:0;width:250px}.off-canvas-content .off-canvas.position-right,.position-right{-webkit-transform:translateX(250px);-ms-transform:translateX(250px);transform:translateX(250px)}.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-right.has-transition-push{-webkit-transform:translateX(-250px);-ms-transform:translateX(-250px);transform:translateX(-250px)}.position-right.is-transition-push{-webkit-box-shadow:inset 13px 0 20px -13px hsla(0,0%,4%,.25);box-shadow:inset 13px 0 20px -13px hsla(0,0%,4%,.25)}.position-top{-webkit-overflow-scrolling:touch;height:250px;left:0;overflow-x:auto;top:0;width:100%}.off-canvas-content .off-canvas.position-top,.position-top{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-top.has-transition-push{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.position-top.is-transition-push{-webkit-box-shadow:inset 0 -13px 20px -13px hsla(0,0%,4%,.25);box-shadow:inset 0 -13px 20px -13px hsla(0,0%,4%,.25)}.position-bottom{-webkit-overflow-scrolling:touch;bottom:0;height:250px;left:0;overflow-x:auto;width:100%}.off-canvas-content .off-canvas.position-bottom,.position-bottom{-webkit-transform:translateY(250px);-ms-transform:translateY(250px);transform:translateY(250px)}.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}.off-canvas-content.is-open-bottom.has-transition-push{-webkit-transform:translateY(-250px);-ms-transform:translateY(-250px);transform:translateY(-250px)}.position-bottom.is-transition-push{-webkit-box-shadow:inset 0 13px 20px -13px hsla(0,0%,4%,.25);box-shadow:inset 0 13px 20px -13px hsla(0,0%,4%,.25)}.off-canvas-content{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-transition-overlap,.off-canvas-content.has-transition-push{-webkit-transition:-webkit-transform .5s ease;transition:-webkit-transform .5s ease;transition:transform .5s ease;transition:transform .5s ease,-webkit-transform .5s ease}.off-canvas-content.has-transition-push,.off-canvas-content .off-canvas.is-open{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0)}@media print,screen and (min-width:40em){.position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-left.reveal-for-medium .close-button{display:none}.off-canvas-content .position-left.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-right.reveal-for-medium .close-button{display:none}.off-canvas-content .position-right.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}.position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-top.reveal-for-medium .close-button{display:none}.off-canvas-content .position-top.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-medium~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-bottom.reveal-for-medium .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-medium{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-medium~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:64em){.position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-left.reveal-for-large .close-button{display:none}.off-canvas-content .position-left.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-left{margin-left:250px}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-right.reveal-for-large .close-button{display:none}.off-canvas-content .position-right.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-right{margin-right:250px}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}.position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-top.reveal-for-large .close-button{display:none}.off-canvas-content .position-top.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-top{margin-top:250px}.position-top.reveal-for-large~.off-canvas-content{margin-top:250px}.position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none;-webkit-transition:none;transition:none;visibility:visible;z-index:12}.position-bottom.reveal-for-large .close-button{display:none}.off-canvas-content .position-bottom.reveal-for-large{-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas-content.has-reveal-bottom{margin-bottom:250px}.position-bottom.reveal-for-large~.off-canvas-content{margin-bottom:250px}}@media print,screen and (min-width:40em){.off-canvas.in-canvas-for-medium{background:0 0;height:auto;overflow:visible;position:static;-webkit-transition:none;transition:none;visibility:visible;width:auto}.off-canvas.in-canvas-for-medium.position-bottom,.off-canvas.in-canvas-for-medium.position-left,.off-canvas.in-canvas-for-medium.position-right,.off-canvas.in-canvas-for-medium.position-top{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-medium .close-button{display:none}}@media print,screen and (min-width:64em){.off-canvas.in-canvas-for-large{background:0 0;height:auto;overflow:visible;position:static;-webkit-transition:none;transition:none;visibility:visible;width:auto}.off-canvas.in-canvas-for-large.position-bottom,.off-canvas.in-canvas-for-large.position-left,.off-canvas.in-canvas-for-large.position-right,.off-canvas.in-canvas-for-large.position-top{-webkit-box-shadow:none;box-shadow:none;-webkit-transform:none;-ms-transform:none;transform:none}.off-canvas.in-canvas-for-large .close-button{display:none}}html.is-reveal-open{overflow-y:hidden;position:fixed;width:100%}html.is-reveal-open.zf-has-scroll{-webkit-overflow-scrolling:touch;overflow-y:scroll}html.is-reveal-open body{overflow-y:hidden}.reveal-overlay{background-color:hsla(0,0%,4%,.45);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1005}.reveal,.reveal-overlay{-webkit-overflow-scrolling:touch;display:none;overflow-y:auto}.reveal{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#fefefe;border:1px solid #cacaca;border-radius:0;margin-left:auto;margin-right:auto;padding:1rem;position:relative;top:100px;z-index:1006}[data-whatinput=mouse] .reveal{outline:0}@media print,screen and (min-width:40em){.reveal{min-height:0}}.reveal .column{min-width:0}.reveal>:last-child{margin-bottom:0}@media print,screen and (min-width:40em){.reveal{max-width:75rem;width:600px}}.reveal.collapse{padding:0}@media print,screen and (min-width:40em){.reveal.tiny{max-width:75rem;width:30%}.reveal.small{max-width:75rem;width:50%}.reveal.large{max-width:75rem;width:90%}}.reveal.full{border:0;border-radius:0;bottom:0;height:100%;left:0;margin-left:0;max-width:none;min-height:100%;right:0;top:0;width:100%}@media print,screen and (max-width:39.99875em){.reveal{border:0;border-radius:0;bottom:0;height:100%;left:0;margin-left:0;max-width:none;min-height:100%;right:0;top:0;width:100%}}.reveal.without-overlay{position:fixed}.sticky,.sticky-container{position:relative}.sticky{-webkit-transform:translateZ(0);transform:translateZ(0);z-index:0}.sticky.is-stuck{position:fixed;width:100%;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{left:auto;position:relative;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}.title-bar{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;background:#0a0a0a;color:#fefefe;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:flex-start;justify-content:flex-start;padding:.5rem}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left,.title-bar-right{-webkit-box-flex:1;-webkit-flex:1 1 0px;-ms-flex:1 1 0px;flex:1 1 0px}.title-bar-right{text-align:right}.title-bar-title{display:inline-block;font-weight:700;vertical-align:middle}.top-bar{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;justify-content:space-between;padding:.5rem}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{margin-right:1rem;max-width:200px}.top-bar .input-group-field{margin-right:0;width:100%}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}@media print,screen and (min-width:40em){.top-bar{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.top-bar .top-bar-left{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;margin-right:auto}.top-bar .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-left:auto}}@media print,screen and (max-width:63.99875em){.top-bar.stacked-for-medium{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}@media print,screen and (max-width:74.99875em){.top-bar.stacked-for-large{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}}.top-bar-title{margin:.5rem 1rem .5rem 0}.top-bar-left,.top-bar-right,.top-bar-title{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{-ms-flex-preferred-size:0;-webkit-box-ordinal-group:2;-ms-flex-order:1;content:" ";display:table;-webkit-flex-basis:0;flex-basis:0;-webkit-order:1;order:1}.clearfix:after{clear:both}.align-left{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.align-right{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.align-center{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.align-justify{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.align-spaced{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.align-left.vertical.menu>li>a{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.align-right.vertical.menu>li>a{-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.align-center.vertical.menu>li>a{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.align-top{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.align-self-top{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start}.align-bottom{-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.align-self-bottom{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end}.align-middle{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.align-self-middle{-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.align-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch}.align-self-stretch{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.align-center-middle{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-box-align:center;-ms-flex-align:center;-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.small-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;-webkit-order:1;order:1}.small-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;-webkit-order:2;order:2}.small-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;-webkit-order:3;order:3}.small-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;-webkit-order:4;order:4}.small-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;-webkit-order:5;order:5}.small-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;-webkit-order:6;order:6}@media print,screen and (min-width:40em){.medium-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;-webkit-order:1;order:1}.medium-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;-webkit-order:2;order:2}.medium-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;-webkit-order:3;order:3}.medium-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;-webkit-order:4;order:4}.medium-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;-webkit-order:5;order:5}.medium-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;-webkit-order:6;order:6}}@media print,screen and (min-width:64em){.large-order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;-webkit-order:1;order:1}.large-order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;-webkit-order:2;order:2}.large-order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;-webkit-order:3;order:3}.large-order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;-webkit-order:4;order:4}.large-order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;-webkit-order:5;order:5}.large-order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;-webkit-order:6;order:6}}.flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}@media print,screen and (min-width:40em){.medium-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.medium-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.medium-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.medium-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.medium-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.medium-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.medium-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.medium-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}@media print,screen and (min-width:64em){.large-flex-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.large-flex-child-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.large-flex-child-grow{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.large-flex-child-shrink{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.large-flex-dir-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.large-flex-dir-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.large-flex-dir-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.large-flex-dir-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}}.hide{display:none!important}.invisible{visibility:hidden}.visible{visibility:visible}@media print,screen and (max-width:39.99875em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media print,screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.99875em){.show-for-medium{display:none!important}}@media print,screen and (min-width:40em)and (max-width:63.99875em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.99875em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media print,screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.99875em){.show-for-large{display:none!important}}@media print,screen and (min-width:64em)and (max-width:74.99875em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.99875em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.show-on-focus:active,.show-on-focus:focus{clip:auto!important;height:auto!important;overflow:visible!important;position:static!important;white-space:normal!important;width:auto!important}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.show-for-dark-mode{display:none}.hide-for-dark-mode{display:block}@media screen and (prefers-color-scheme:dark){.show-for-dark-mode{display:block!important}.hide-for-dark-mode{display:none!important}}.show-for-ie{display:none}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.show-for-ie{display:block!important}.hide-for-ie{display:none!important}}.show-for-sticky{display:none}.is-stuck .show-for-sticky{display:block}.is-stuck .hide-for-sticky{display:none}@font-face{font-display:"swap";font-family:FontAwesome}html{box-sizing:border-box}body{font-family:Roboto,sans-serif;font-size:16px;line-height:1}*,:after,:before{box-sizing:inherit}a{color:#3c4fe0}a.reference:after{font-family:FontAwesome;font-size:12px;padding:0 4px}a.reference.external:after{content:""}a.reference.download:after{content:""}a:hover{color:#3c4fe0;font-weight:500}.headerlink{margin-left:5px;visibility:hidden}.toc-backref:hover{color:#23263b}h1,h2,h3,h4,h5,h6{font-family:Roboto,sans-serif;font-size:16px;font-weight:500;letter-spacing:.2px;line-height:24px;margin-bottom:16px}h1:hover>a.headerlink,h2:hover>a.headerlink,h3:hover>a.headerlink,h4:hover>a.headerlink,h5:hover>a.headerlink,h6:hover>a.headerlink{visibility:visible}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}h1{font-size:32px;font-weight:700;line-height:40px;margin-bottom:28px}h2{font-size:24px;line-height:32px}h3{font-size:20px}h4{font-size:18px}h5{font-size:16px}h6{font-weight:400}img{max-width:100%}button:focus{outline:0}blockquote{border:0;margin:0;padding:0}blockquote,blockquote p,cite{color:inherit}cite{display:inline;font-size:inherit}cite:before{content:""}.show{display:block!important}.centered{display:block;margin:0 auto}.break{flex-basis:100%;height:0}@media screen and (min-width:1024px){h1{font-size:36px}}.admonition-title:before,.contents.local>ul>li a:before,.scylla-icon,.secondary-side-nav__content li a:before{background-repeat:no-repeat;background-size:contain;display:inline-block;filter:brightness(0);vertical-align:middle}.scylla-icon--about-team{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTpncmF5O3N0cm9rZS1taXRlcmxpbWl0OjEwfS5jbHMtMntzdHJva2UtbGluZWNhcDpyb3VuZH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQuNjYgOS44MSAyLjYzIDExYTIuMDggMi4wOCAwIDAgMC0xLjEzIDEuODN2Ny44MWMuMTkgMS4xMS41IDEuNTMgMS41IDEuNDdNNy4wNiA5Ljk0bDEuNDQuOTQiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zLjUgMTguNXY1LjM0TTkuNSAxOC41djUuMzRNOC41NCAxOC40MnY1LjMzTTE1LjUgMTguNXY1LjM0TTE2LjUgMTguNXY1LjM0TTMuMzMgMjAuNTNoNS4wOE0xMS40NSA4Ljg0bC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMi4zNCAwaDAiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMi40MiA3LjVhMS44MSAxLjgxIDAgMCAxLTEuOTItMS43N1Y1YTEuOTQgMS45NCAwIDAgMSAxLjkyLTIgMi4wNyAyLjA3IDAgMCAxIDIuMDggMnYuNzdhMiAyIDAgMCAxLTIuMDggMS43M1pNMTEuNDIgOC43NCA5LjYzIDkuOWEyLjA3IDIuMDcgMCAwIDAtMS4xMyAxLjg1djcuODJBMS40NyAxLjQ3IDAgMCAwIDEwIDIxTTEzLjc1IDkuMThsMiAuNjVjLjcuMzUuNzYgMS4wNi43NiAxLjg0djcuOWMwIC43Ny0uMjMgMS4yNC0xIDEuMjQiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik05LjkzIDE5LjVoNS40Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTkuNDIgOS4xMmEyLjA3IDIuMDcgMCAwIDAgMi4wOC0xLjkzdi0uNzdhMi4wNyAyLjA3IDAgMCAwLTIuMDgtMS45MiAxLjkzIDEuOTMgMCAwIDAtMS45MiAxLjkydi43N2ExLjk0IDEuOTQgMCAwIDAgMS45MiAxLjkzWk01LjU5IDkuMTJhMS45MyAxLjkzIDAgMCAwIDEuOTItMS45M3YtLjc3QTEuOTMgMS45MyAwIDAgMCA1LjU5IDQuNSAyLjA4IDIuMDggMCAwIDAgMy41IDYuNDJ2Ljc3YTIuMDggMi4wOCAwIDAgMCAyLjA5IDEuOTNaTTIwLjQ0IDkuODFsMiAxLjE3YTIuMDYgMi4wNiAwIDAgMSAxLjEzIDEuODV2Ny44MWMtLjE4IDEuMTEtLjQ3IDEuNTMtMS40NyAxLjQ3TTE4LjA0IDkuOTRsLTEuNDQuOTMiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yMS42IDE4LjV2NS4zNE0yMS43NyAyMC41M2gtNS4wOCIvPjwvZz48L3N2Zz4=)}.scylla-icon--about-us{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6LjhweH08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02LjI4IDE5LjQ4Yy0uMTIuMDgtLjA4LjA3LS4yMy4xLS41OC4wOS0xLjEyLS4yOC0xLjI1LS44NCAwIDAtMi4zLTkuMTgtMi4zLTExLjExQzIuNSAzLjYgNS44OC40NCAxMC4zOC40NFMxNy41IDMuNDggMTcuNSA3LjVjMCAxLjkzLTEuMzIgMTEuMjMtMS4zMiAxMS4yMy0uMTMuNTYtLjY3Ljk0LTEuMjUuODQtLjEyLS4wMi0uMTMgMC0uMjMtLjA3Ii8+PHBhdGggZD0iTTE1Ljc1IDE1Ljc1Yy0uMTcgMS4xNS0uMjIgMi4zNC0uNTUgMy40Ni0uMzcuODUtMS42MyAxLjA2LTIuMjIuMzMtLjI1LS4yOC4xOS0uNjguNDQtLjQuNDMuNDYgMS4yNC4xOCAxLjMxLS40NGwuMDYtLjM0Yy4xOS0uODkuMzUtMS43OS41Ny0yLjY4LjA1LS4yNC40Mi0uMTcuMzkuMDdaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTEuNSA3YzAgMS45LTEuNTYgMy41LTMuNDYgMy41UzQuNSA4LjkgNC41IDdzMS42NC0zLjUgMy41NC0zLjVTMTEuNSA1LjEgMTEuNSA3WiIvPjxwYXRoIGQ9Ik04LjU1IDQuNzVjLS41OS4xMi0uNzEgMS40Mi0uMzYgMS43OC4yMy4yMy43MS4zMS43MS40N3MtLjQ4LjI0LS43MS40N2MtLjM2LjM2LS4yNCAxLjY2LjM2IDEuNzguNzEuMTQgMS43OC0uNzEgMS43OC0yLjI1UzkuMjYgNC42MSA4LjU1IDQuNzVaTTYuNTEgMTIuMmMyLjEyLjMxIDQuMzQtLjIgNS42OC0xLjk2LjMyLS40MS45Ni4xMS42Mi41MS0uNzYuOS0xLjc4IDEuNjMtMi45MyAxLjk1LTEuMTQuMzMtMi4zMy4zMS0zLjQ2LjE2YS4zNC4zNCAwIDAgMS0uMjktLjM4Yy4wMi0uMTguMTktLjMxLjM3LS4yOVpNNy45NyAxOS41OWMtLjk5Ljk2LTIuMzYuMDgtMi4zNi0xLjE1LS4xMi0uOS0uMjctMS43OS0uMzctMi42OS0uMDEtLjExLjA3LS4yMS4xOC0uMjIuMS0uMDEuMTkuMDYuMjEuMTUuMjIuODguMzggMS43Ny41NiAyLjY2LjAxLjc4LjY4IDEuMzggMS4zNS44My4yNy0uMjcuNjkuMTYuNDIuNDNaIi8+PHBhdGggZD0iTTkuNzUgMTkuMjdjLS40Mi45LTEuOC45Ni0yLjMyLjExLS41LTEuMTMtLjMxLTIuNS0uNDctMy43MiAwLS4xMS4wOC0uMi4xOS0uMjEuMSAwIC4xOS4wNy4yMS4xNy4xNy45NS4yOCAxLjkxLjQyIDIuODcuMDEuNDUuMjMuNzQuNTcuODUuMzMuMS43MS0uMDUuODgtLjM2LjE4LS4zNC43MS0uMDUuNTIuMjlaTTE0LjAzIDE1LjY2Yy0uMTYgMS4yMy4wMyAyLjU3LS40NiAzLjcyLS41Mi44Ni0xLjkxLjc5LTIuMzItLjExLS4xNy0uMzQuMzUtLjYxLjUzLS4yOC40Mi43MSAxLjQ4LjM4IDEuNDUtLjQ5LjE0LS45Ni4yNS0xLjkyLjQyLTIuODcuMDQtLjI0LjQxLS4yLjQuMDRaIi8+PHBhdGggZD0iTTExLjg1IDE1LjU0Yy4wMi43OS4wMSAxLjU4LjAxIDIuMzctLjAyLjQxLjA3LjktLjE0IDEuMjktLjQzIDEuMDItMi4wMSAxLjAyLTIuNDUgMC0uMjEtLjM5LS4xMy0uODktLjE0LTEuMjkgMC0uNzkgMC0xLjU4LjAxLTIuMzcgMC0uMTEuMS0uMi4yMS0uMTkuMSAwIC4xOC4wOC4xOS4xOC4wNy43OS4xIDEuNTguMTUgMi4zNy4wMy4yNyAwIC44Mi4xMyAxLjA0LjEzLjI2LjQuNDMuNjguNDIuNDYgMCAuNzktLjQuNzctLjg3bC4wMy0uNTljLjA0LS43OS4wOC0xLjU4LjE1LTIuMzcuMDItLjI0LjQtLjIzLjQuMDFaIi8+PC9zdmc+)}.scylla-icon--about-us-m{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNi4zOCAzMi40MyI+PHBhdGggZD0iTTYuNTUgMzEuNjRjLS4yLjEzLS40My4yMi0uNjkuMjZhMS44MSAxLjgxIDAgMCAxLTIuMDYtMS4zOVMuNDkgMTQuOTkuNDkgMTEuODJDLjUgNS4xOSA1Ljc3LjUgMTMuMTkuNXMxMi42OSA0LjY5IDEyLjY5IDExLjMyYzAgMy4xOC0zLjMxIDE4LjY5LTMuMzEgMTguNjlhMS44MSAxLjgxIDAgMCAxLTIuNjIgMS4yIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZCIvPjxwYXRoIGQ9Ik0yMS44NiAyNS4zNmMtLjI4IDEuOS0uMzcgMy44Ni0uOTEgNS43MS0uNjEgMS40MS0yLjY4IDEuNzUtMy42Ni41NS0uNDEtLjQ3LjMxLTEuMTEuNzMtLjY2LjcxLjc2IDIuMDQuMjkgMi4xNi0uNzMuMzItMS42Ni42NS0zLjMzIDEuMDQtNC45OC4wOS0uMzkuNy0uMjguNjUuMTFaIi8+PHBhdGggZD0iTTE0LjggMTAuNTdjMCAzLjEzLTIuNTMgNS42Ni01LjY2IDUuNjZzLTUuNDctMi41My01LjQ3LTUuNjYgMi4zNC01LjY2IDUuNDctNS42NiA1LjY2IDIuNTMgNS42NiA1LjY2WiIgc3R5bGU9InN0cm9rZS13aWR0aDouOXB4O2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQiLz48cGF0aCBkPSJNMTAuMzEgNi44NmMtLjk4LjItMS4xNyAyLjM0LS41OSAyLjkzLjM4LjM4IDEuMTcuNTEgMS4xNy43OHMtLjc5LjQtMS4xNy43OGMtLjU5LjU5LS4zOSAyLjczLjU5IDIuOTMgMS4xNi4yMyAyLjkzLTEuMTcgMi45My0zLjcxcy0xLjc2LTMuOTQtMi45My0zLjcxWk02LjgyIDE4LjUxYzMuNDkuODkgNi45Ny0uNSA5LjUxLTIuOTMuNDctLjQ0IDEuMTYuMzEuNjguNzQtMS4zOCAxLjIzLTIuOTggMi4yOS00Ljc5IDIuODctMS44LjU5LTMuNzcuNTgtNS41OC4xNGEuNDIxLjQyMSAwIDAgMS0uMzEtLjVjLjA1LS4yMi4yOC0uMzYuNS0uMzFaIi8+PHBhdGggZD0iTTE2LjczIDE2LjY3Yy0uMTItLjQ2LS41MS0uODMtLjk5LS44My0uNzUtLjAyLS41OS0xLjE3LjE0LS45OS44MS4xNiAxLjQzLjg1IDEuNSAxLjY2LjA4LjQtLjU0LjU0LS42NS4xNVpNOS4wMyAzMS43Yy0xLjI2IDEuMzYtMy42Mi40NS0zLjgtMS4zNWwtLjA5LS41NWMtLjIxLTEuNDgtLjQ1LTIuOTUtLjYtNC40NC0uMDItLjE4LjExLS4zNC4yOS0uMzYuMTctLjAyLjMyLjA5LjM1LjI1LjM5IDEuNjMuNzEgMy4yOCAxLjAzIDQuOTMuMDkgMS4wMiAxLjM4IDEuNTQgMi4xMi44MS40NS0uNDQgMS4xNC4yNi42OS43WiIvPjxwYXRoIGQ9Ik0xMS45NiAzMS4xNmMtMSAxLjk4LTQuMDQgMS4zLTQuMjEtLjg4LS4xNS0xLjY5LS4zLTMuMzgtLjM5LTUuMDcgMC0uMTguMTMtLjM0LjMxLS4zNC4xNyAwIC4zMS4xMS4zNC4yNy4yOCAxLjY3LjUgMy4zNS43MiA1LjAzLjA5IDEuMiAxLjc3IDEuNTkgMi4zNi41MS4zMS0uNTYgMS4xNi0uMDkuODcuNDdaTTE5LjAzIDI1LjIxYy0uMDggMS42OS0uMjQgMy4zOC0uMzkgNS4wNy0uMDQuMzctLjE3Ljc1LS4zOCAxLjA2LS44NiAxLjQtMy4xMSAxLjMxLTMuODMtLjE3LS4zLS41Ni41NS0xLjAzLjg2LS40OC41OSAxLjA4IDIuMjcuNjkgMi4zNS0uNTIuMjItMS42OC40My0zLjM2LjcyLTUuMDMuMDYtLjQuNjgtLjMzLjY1LjA3WiIvPjxwYXRoIGQ9Ik0xNS40MyAyNS4wMmMuMDQgMS4zMS4wMiAyLjYxLjAyIDMuOTEtLjAzLjY3LjExIDEuNDgtLjIzIDIuMTMtLjc0IDEuNjktMy4yOSAxLjY5LTQuMDMgMC0uMzQtLjY1LS4yMS0xLjQ3LS4yNC0yLjEzIDAtMS4zLS4wMi0yLjYxLjAyLTMuOTEgMC0uMTguMTYtLjMyLjM0LS4zMi4xNyAwIC4zLjE0LjMyLjMuMTEgMS4zLjE3IDIuNi4yNCAzLjkxLjA1LjQ1IDAgMS4zNS4yMSAxLjcyLjIxLjQzLjY2LjcxIDEuMTIuNy40Ni4wMi45MS0uMjcgMS4xMi0uNjkuMjItLjM2LjE2LTEuMjguMjEtMS43Mi4wNy0xLjMuMTMtMi42MS4yNC0zLjkxLjAyLS40LjY2LS4zOC42Ni4wMloiLz48L3N2Zz4=)}.scylla-icon--alternator{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNy41IDIuOTFjMCAxLjI4LTMuNjcgMi41OS04IDIuNTlzLTgtMS4zMS04LTIuNTlTNS4wOS41IDkuNDIuNXM4LjA4IDEuMTMgOC4wOCAyLjQxWk0xNy41IDcuNjZjMCAxLjI4LTMuNjMgMi44LTcuOTYgMi44UzEuNSA4LjkzIDEuNSA3LjY2TTE3LjUgMTIuNDdjMCAxLjI4LTMuNjcgMy4wMy04IDMuMDNzLTgtMS43NS04LTMuMDNNMTcuNSAxNy4yOWMwIDEuMjgtMy43NSAyLjMtOC4wOCAyLjNzLTcuOTItMS4wMy03LjkyLTIuM00xLjUgMTcuMTlWMi45MU0xNy41IDE3LjE5VjIuOTEiLz48L3N2Zz4=)}.scylla-icon--apps{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNLjUgMS41aDIwdjE0SC41ek03LjUgMTUuNzR2Mi44OU0xMi44MyAxNS42M3YyLjMyTTUuNSAxOC41aDkuMTQiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0zLjY0IDUuNTYgNC41OCAyLjkxLTQuNTggMi45Mk05LjEgMTIuMDhoNC4zMiIvPjwvZz48L3N2Zz4=)}.scylla-icon--architecture{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTIsLmNscy01e2ZpbGw6bm9uZTtzdHJva2U6Z3JheX0uY2xzLTF7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jbHMtMiwuY2xzLTV7c3Ryb2tlLW1pdGVybGltaXQ6MTB9LmNscy0ye3N0cm9rZS13aWR0aDouOThweH0uY2xzLTV7c3Ryb2tlLXdpZHRoOi45OXB4fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfMiIgZGF0YS1uYW1lPSJDYWxxdWUgMiI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMS45IDEwLjI3YTEwLjgzIDEwLjgzIDAgMCAxIDguNzMtOC4zOE0xMC41MSAyMy4wOEExMC43OSAxMC43OSAwIDAgMSAxLjc3IDE0TTIzLjIzIDE0YTEwLjgxIDEwLjgxIDAgMCAxLTkgOS4xMU0xNC4yNyAxLjg4YTEwLjgxIDEwLjgxIDAgMCAxIDguODMgOC4zNyIvPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMTIuMjUiIGN5PSIxLjc1IiByPSIxLjc1Ii8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxMi4yNSIgY3k9IjIyLjc1IiByPSIxLjc1Ii8+PGNpcmNsZSBjeD0iNC45MiIgY3k9IjQuNzUiIHI9IjEuNzUiIHN0eWxlPSJzdHJva2Utd2lkdGg6Ljk5cHg7ZmlsbDpncmF5O3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZTpncmF5Ii8+PGNpcmNsZSBjeD0iMjAuMDkiIGN5PSIxOS45MSIgcj0iMS43NSIgc3R5bGU9InN0cm9rZS13aWR0aDouOTlweDtmaWxsOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlOmdyYXkiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNSIgY3g9IjEuNzUiIGN5PSIxMi4yNSIgcj0iMS43NSIvPjxjaXJjbGUgY2xhc3M9ImNscy01IiBjeD0iMjMuMjUiIGN5PSIxMi4yNSIgcj0iMS43NSIvPjxjaXJjbGUgY3g9IjQuNzUiIGN5PSIxOS42NCIgcj0iMS43NSIgc3R5bGU9InN0cm9rZS13aWR0aDouOTlweDtmaWxsOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlOmdyYXkiLz48Y2lyY2xlIGN4PSIxOS45MSIgY3k9IjQuNDgiIHI9IjEuNzUiIHN0eWxlPSJzdHJva2Utd2lkdGg6Ljk5cHg7ZmlsbDpncmF5O3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZTpncmF5Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--benchmarks{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDozcHh9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV8yIiBkYXRhLW5hbWU9IkNhbHF1ZSAyIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LjUxIDI0Ljkxdi01Ljg1TTEyLjU3IDI0Ljkxdi05Ljc0TTE5LjYyIDI0LjkxVjEwLjE1Ii8+PHBhdGggc3R5bGU9InN0cm9rZS1saW5lY2FwOnJvdW5kO2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWpvaW46cm91bmQiIGQ9Im0uOTEgMTQuOTggNS4xMy03Ljk0IDYuMjUgNS44OEwyNCAxIi8+PHBhdGggc3R5bGU9ImZpbGw6Z3JheSIgZD0ibTI1IDUtNS01aDV2NXoiLz48L2c+PC9zdmc+)}.scylla-icon--blog{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtOSAxNS0yLjUtMS41IDgtMTJMMTcgMyA5IDE1eiIvPjxwYXRoIHN0eWxlPSJmaWxsOmdyYXk7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIiBkPSJtNi41IDEzLjUtLjUgM0w5IDE1bC0yLjUtMS41eiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE5LjI1IDIuNWg0LjI1djE2aC0xM3Y0LjE3TDYuNDYgMTguNWwtNC45Ni0uMDRWMi41aDguMzFNMTQuNSAyLjVsMS42NyAxLjMzIi8+PC9nPjwvc3ZnPg==)}.scylla-icon--careers{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMS41IDExLjU1djhjMCAuNTYgMS4wNyAyIDIgMmgxOGMuODkgMCAyLTEuNDQgMi0ydi04Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjMuMzEgMy41SDEuODFjLS40OCAwLTEuMzEuNTUtMS4zMSAxdjZsMTAgMmE4LjQ1IDguNDUgMCAwIDAgNCAwbDEwLTJ2LTZjMC0uNDUtLjcyLTEtMS4xOS0xWk0xNS42MiAzLjV2LTFjMC0uNzYtLjYxLTEtMS4zOC0xaC0zLjQ1Yy0uNzYgMC0xLjM4LjI0LTEuMzggMXYxIi8+PHJlY3QgeD0iMTAiIHk9IjExIiB3aWR0aD0iNSIgaGVpZ2h0PSIzLjk5IiByeD0iLjU1IiByeT0iLjU1IiBzdHlsZT0iZmlsbDpncmF5Ii8+PC9zdmc+)}.scylla-icon--chevron-left{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTguMDkyIDE2IDEwIDE0LjExMyAzLjgxNyA4IDEwIDEuODg3IDguMDkyIDAgMCA4bDguMDkyIDhaIiBmaWxsPSIjMDAwIi8+PC9zdmc+)}.contents.local>ul>li a:before,.scylla-icon--chevron-right,.secondary-side-nav__content li a:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuOTA4IDAgMCAxLjg4NyA2LjE4MyA4IDAgMTQuMTEzIDEuOTA4IDE2IDEwIDggMS45MDggMFoiIGZpbGw9IiMwMDAiLz48L3N2Zz4=)}.scylla-icon--circe{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzOCAzMCI+PGRlZnM+PHN0eWxlPi5jbHMtMiwuY2xzLTN7ZmlsbDpub25lO3N0cm9rZTojNGQ0ZDRkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH0uY2xzLTN7c3Ryb2tlLXdpZHRoOjEuMTFweH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxwYXRoIGQ9Ik0yMi4xIDEyaC02LjE2YTEuMDYgMS4wNiAwIDAgMS0uOTQtMS4wNy45My45MyAwIDAgMSAuOTQtLjkzaDYuMTZhLjkzLjkzIDAgMCAxIC45NC45M0ExLjA2IDEuMDYgMCAwIDEgMjIuMSAxMloiIHN0eWxlPSJmaWxsOiM0ZDRkNGQiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMy40NCA0LjQ5SDkuNTF2MjRoMTl2LTI0SDI0LjUiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0xMyAzLjQ5SDguNWwtLjA4IDI2LjFIMjkuNVYzLjM5SDI1Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTIuNSAxOC4zOGgxM00xMi41IDE1LjQ5aDEzTTEyLjUgMjEuNDNoMTNNMTIuNSAyNC40N2gxM00xMy41IDIuNWgxMXYzLjk4aC0xMXoiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0yMS41LjVoLTUuMDR2MS45NWw1LjA0LjA1di0yeiIvPjwvZz48L3N2Zz4=)}.scylla-icon--clock{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PGNpcmNsZSBjbGFzcz0iY2xzLTEiIGN4PSIxMC41IiBjeT0iOS41IiByPSI5Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAuNSAzLjV2NmwzLjA2IDMiLz48L2c+PC9zdmc+)}.scylla-icon--close{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2EpIiBmaWxsPSIjZmZmIj48cGF0aCBkPSJNMTEuNjcgMjIuMTNhLjU2NC41NjQgMCAwIDEtLjM5OC0uOTYybDkuODk2LTkuODk2YS41NjMuNTYzIDAgMSAxIC43OTcuNzk3bC05Ljg5NiA5Ljg5NmEuNTU5LjU1OSAwIDAgMS0uMzk5LjE2NVoiLz48cGF0aCBkPSJNMjEuNTY2IDIyLjEzYS41NTkuNTU5IDAgMCAxLS4zOTgtLjE2NWwtOS44OTYtOS44OTZhLjU2My41NjMgMCAxIDEgLjc5Ny0uNzk3bDkuODk2IDkuODk1YS41NjQuNTY0IDAgMCAxLS4zOTkuOTYzWiIvPjxwYXRoIGQ9Ik0xNi42MTkgMzMuMjM3QzcuNDU1IDMzLjIzNyAwIDI1Ljc4MiAwIDE2LjYxOSAwIDcuNDU2IDcuNDU1IDAgMTYuNjE5IDBzMTYuNjE5IDcuNDU1IDE2LjYxOSAxNi42MTktNy40NTYgMTYuNjE4LTE2LjYyIDE2LjYxOFptMC0zMi4xMWMtOC41NDIgMC0xNS40OTIgNi45NS0xNS40OTIgMTUuNDkyIDAgOC41NDIgNi45NSAxNS40OTIgMTUuNDkyIDE1LjQ5MiA4LjU0MiAwIDE1LjQ5Mi02Ljk1IDE1LjQ5Mi0xNS40OTIgMC04LjU0Mi02Ljk1LTE1LjQ5Mi0xNS40OTItMTUuNDkyWiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImEiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMzMuMjM3djMzLjIzN0gweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPg==)}.scylla-icon--cloud{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDMuMDQgMzIuMDMiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDpub25lO3N0cm9rZTojMWQxZDFiO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iTGF5ZXJfMyI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDIuNTQgNC4wNmMwIDEuNjgtMy42MyAyLjQ0LTkgMi40NHMtMTAtLjczLTEwLTIuNFMyNy42Ny41IDMzLjA0LjVzOS41IDEuODkgOS41IDMuNTZaTTQyLjU0IDkuNjNjMCAxLjY4LTMuNzYgMi45MS05LjEyIDIuOTFzLTkuODQtMS4yMy05Ljg0LTIuOTFNNDIuNTQgMTUuMzRjMCAxLjY4LTMuNjggMy4yNS05LjA0IDMuMjUtNCAwLTcuNi0uOTYtOS4wOS0yLjA0TTQyLjU0IDIwLjY1YzAgMS42OC0zLjcyIDIuOTctOS4wOCAyLjk3TTIzLjU0IDE1LjQ2VjQuMU00Mi41NCAyMC43N1Y0LjEiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yOC4xMSAyMS4wOGMtLjg3IDAtMS42Ny4yMy0yLjM5LjYxIDAtLjA3LjAxLS4xNC4wMS0uMjEgMC00Ljg1LTMuODMtOC45LTguNjgtOC45cy04Ljg4IDQuMDUtOC44OCA4LjljMCAuMTcuMDIuMzQuMDMuNTEtLjg0LS41Ny0xLjg1LS45MS0yLjk1LS45MS0yLjg4IDAtNC43NCAyLjU3LTQuNzQgNS40NnMxLjg2IDQuOTkgNC43NCA0Ljk5aDIyLjg2YzIuODggMCA1LjUyLTIuMjcgNS41Mi01LjE2cy0yLjYzLTUuMjktNS41Mi01LjI5WiIvPjwvZz48L3N2Zz4=)}.scylla-icon--cloud-docs{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNi41IDExLjVoOHYxaC04ek0xNS42NSA2LjU1YTMuNDIgMy40MiAwIDAgMC0zLjE1IDIiLz48cGF0aCBkPSJNMTAuMDYgMi44QTUuMTcgNS4xNyAwIDAgMSAxNSA2LjM1aC4yNGE0Ljg0IDQuODQgMCAwIDEgMCA5LjY3aC0xMWEzLjQ1IDMuNDUgMCAwIDEgMC02LjlBMy4xNyAzLjE3IDAgMCAxIDUgOS4yIDUuMzMgNS4zMyAwIDAgMSA0Ljg2IDhhNS4yIDUuMiAwIDAgMSA1LjItNS4ybTAtLjhhNiA2IDAgMCAwLTYgNnYuMzFhNC4yNSA0LjI1IDAgMCAwIC4xOCA4LjQ5aDExYTUuNjMgNS42MyAwIDAgMCAuMy0xMS4yNkE2IDYgMCAwIDAgMTAuMDYgMloiIHN0eWxlPSJmaWxsOiM0ZDRkNGQiLz48L2c+PC9zdmc+)}.scylla-icon--comparison{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTIsLmNscy00e2ZpbGw6bm9uZTtzdHJva2U6Z3JheX0uY2xzLTEsLmNscy0ye3N0cm9rZS1taXRlcmxpbWl0OjEwfS5jbHMtMiwuY2xzLTR7c3Ryb2tlLWxpbmVjYXA6cm91bmR9LmNscy00e3N0cm9rZS1saW5lam9pbjpyb3VuZH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQuNSAxMy42M3YyLjg4aDYuMDZNMjAuNSAxMy41NHYyLjk2bC01LjUuMDEiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMi41IDE4LjV2Mi43Mk03LjUgMjEuNWgxMCIvPjxjaXJjbGUgY3g9IjEyLjUiIGN5PSIxNi41IiByPSIyIiBzdHlsZT0iZmlsbDpncmF5O3N0cm9rZS13aWR0aDouOTVweDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2U6Z3JheSIvPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTUuMDYgMTMuNThIMy44OEEzLjEgMy4xIDAgMCAxIC41IDEwLjVoOGEzLjE2IDMuMTYgMCAwIDEtMy40NCAzLjA4Wk0yMSAxMy41OGgtMS4xN2EzLjA5IDMuMDkgMCAwIDEtMy4zNy0zLjA3aDhBMy4xNiAzLjE2IDAgMCAxIDIxIDEzLjU4Wk03LjQ2IDUuMTJjMCAuNTctMS4xLjQ2LTIuNzkuNDZTMS41OCA1LjYgMS41OCA1IDMgNC40IDQuNjkgNC40czIuNzcuMTYgMi43Ny43MlpNMS41IDkuODVWNS4zMU03LjUgMTAuMzVWNS44MU0yMy41IDUuMTJjMCAuNTctMS4xLjQ2LTIuNzkuNDZzLTMuMDkgMC0zLjA5LS41NFMxOSA0LjQgMjAuNzMgNC40czIuNzcuMTYgMi43Ny43MlpNMTcuNTQgOS44NVY1LjMxTTIzLjU0IDEwLjM1VjUuODEiLz48L2c+PC9zdmc+)}.scylla-icon--contact-us{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOjEuMDZweH08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIHRyYW5zZm9ybT0icm90YXRlKC0yNy40OSAxNS41NTIgMTEuMDgzKSIgZD0iTTcuNzYgNi4wMWgxNS41OXYxMC4xM0g3Ljc2eiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTYuMyAxMC4xOCA4LjYzIDEuNTZhMS40MiAxLjQyIDAgMCAwIDEuNTMtLjc0bDMuNjctOE0xMS4wMiAxOS4wM2wxLjc0LTVNMjQuNTkgMTEuOTdsLTUuMDktMS40NU03LjA5IDE3LjU4IDMuOSAxOS4zNE02LjA2IDE1LjQxLjU0IDE4LjM2Ii8+PC9zdmc+)}.scylla-icon--developers-blog{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOmdyYXl9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im02LjQ4IDEwLjU5LS41LjE3LjUuMTZMMTEgMTIuMTZWMTRsLTctMi40OVYxMGw3LTIuNXYxLjgzWk0xNCA5LjMyVjcuNWw3IDIuNXYxLjU0TDE0IDE0di0xLjgzbDQuMTQtMS4zLjQ0LS4xMy0uNDMtLjE0WiIvPjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDouOThweCIgZD0iTTEuNSAyLjVoMjJ2MTZoLTEzdjQuMTdMNi40NiAxOC41bC00Ljk2LS4wNFYyLjV6Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--docs{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jbHMtMntmaWxsOmdyYXl9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zLjUgMi41MWgxNi45NHYyMC45MUgzLjV6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMjIuNDUgMjEuNS4wNS0yMWgtMTdhMi4xNiAyLjE2IDAgMCAwLTIgMiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTYgNmg3djJINnpNNiA5aDExdjJINnoiLz48L2c+PC9zdmc+)}.scylla-icon--enterprise{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjAgMjAiPjxkZWZzPjxzdHlsZT4uY2xzLTEsLmNscy0ye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9LmNscy0ye3N0cm9rZS13aWR0aDoxLjA3cHh9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTMuNjIgNy41IDEuODgtMS4wOCAyIDIuMDh2N2gxTTE1LjUgMTUuNXYtNSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTUuNSAxNS41di0xMmw0LTIgNCAydjEyTTkuNSAxNS41VjEuNk03LjUgNS41djEwTTExLjUgNS41djEwIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNS41IDguNTQgMy40NiA3LjVsLTEuOTYuOTZ2Ny4wNGgtMU0zLjUgMTAuNXY1TS41IDE3LjVoMTgiLz48L3N2Zz4=)}.scylla-icon--enterprise-m{background-image:url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8yXzAwMDAwMDE2NzY4MDY2MDE5MjYzMjMyNzcwMDAwMDA1NDc1ODA5NTExODI4NjY2MDM2XyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDMgMzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQzIDMxIiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGU+LnN0MHtmaWxsOm5vbmU7c3Ryb2tlOiMxZDFkMWI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PGcgaWQ9IkxheWVyXzMiPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Im0yOS42IDkuNSA0LTIgNi45IDQuMXYxNS45aDJNMzMuNiAyNy41VjcuNk0xNC42IDI3LjVWNC44TDIyLjUuNSAyOS42IDV2MjIuNU0yMi41IDI3LjVWMU0yNC41IDUuNmwzIDJNMjQuNSA5LjZsMyAyTTI0LjUgMTMuNmwzIDJNMjQuNSAxNy41bDMgMk0yNC41IDIxLjVsMyAyTTM1LjQgMTEuNmwzIDJNMzUuNCAxNS42bDMgMS45TTM1LjQgMTkuNWwzIDJNMzUuNCAyMy41bDMgMS45TTE4LjUgNS44djIxLjdNMTQuNiA5LjdsLTQuMS0yLjUtOCA0LjR2MTUuOWgtMk0xMC41IDI3LjVWNy4yTTEyLjUgMTEuNmwyIDFNMTIuNSAxNS42bDIgLjlNMTIuNSAxOS41bDIgMU0xMi41IDIzLjVsMi4xIDFNNi40IDEyLjR2MTUuMU0uNSAzMC41aDQyIi8+PC9nPjwvc3ZnPg==)}.scylla-icon--events{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9LmNscy0ye2ZpbGw6Z3JheX08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMi41IDIzLjVoLTIxdi0yMGgyMnYxNS4yMSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQuNDIgMy41YzAtMS4zNiAxLjA5LTIgMi40NS0yYTIuNDYgMi40NiAwIDEgMSAwIDQuOTEgMi42MSAyLjYxIDAgMCAxLTEtLjIxTTEwLjY3IDMuNWMwLTEuMzYgMS4xLTIgMi40Ni0yYTIuNDYgMi40NiAwIDAgMSAwIDQuOTEgMi42MSAyLjYxIDAgMCAxLTEtLjIxTTE2LjkzIDMuNWMwLTEuMzYgMS4xLTIgMi40NS0yYTIuNDYgMi40NiAwIDEgMSAwIDQuOTEgMi41MiAyLjUyIDAgMCAxLTEtLjIxIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNyA5aDN2M0g3ek0xMiA5aDN2M2gtM3pNMTcgOWgzdjNoLTN6TTcgMTRoM3YzSDd6TTEyIDE0aDN2M2gtM3pNMTcgMTRoM3YzaC0zeiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMuNSAzLjY3djE2LjY2TTMuNSAyMC40M2MwIDEuMjkuNDQgMi4zMyAxLjczIDIuMzNzMi4zMy0xLjkgMi4zMy0zLjE5bDE2Ljk0LS4wN2MwIDEuMjktLjU1IDMuMTItMS44MyAzLjEySDYuMyIvPjwvc3ZnPg==)}.admonition.note .admonition-title:before,.admonition.tip .admonition-title:before,.scylla-icon--exclamation{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PG1hc2sgaWQ9ImEiIG1hc2stdHlwZT0iYWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjEiIHk9IjEiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyMiI+PHBhdGggZD0iTTEyIDIzQzUuOSAyMyAxIDE4LjEgMSAxMlM1LjkgMSAxMiAxczExIDQuOSAxMSAxMS00LjkgMTEtMTEgMTFabTAtMjBjLTUgMC05IDQtOSA5czQgOSA5IDkgOS00IDktOS00LTktOS05WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMiAxM2MtLjYgMC0xLS40LTEtMVY4YzAtLjYuNC0xIDEtMXMxIC40IDEgMXY0YzAgLjYtLjQgMS0xIDFaTTEyIDE3Yy0uMyAwLS41LS4xLS43LS4zLS4yLS4yLS4zLS40LS4zLS43IDAtLjEgMC0uMy4xLS40LjEtLjEuMS0uMi4yLS4zLjMtLjMuNy0uNCAxLjEtLjIuMSAwIC4xIDAgLjIuMSAwIDAgLjEuMS4yLjEuMS4xLjIuMi4yLjN2LjRjMCAuMSAwIC4zLS4xLjQtLjEuMS0uMS4yLS4yLjMtLjIuMi0uNC4zLS43LjNaIiBmaWxsPSIjZmZmIi8+PC9tYXNrPjxnIG1hc2s9InVybCgjYSkiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L2c+PC9zdmc+)}.collapsible-button i,.scylla-icon--expand{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYuMDAxIiBoZWlnaHQ9IjE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik01IDEzYTEgMSAwIDAgMS0uNzEtLjI5bC00LTRhMSAxIDAgMCAxIDAtMS40MWw0LTRhMSAxIDAgMCAxIDEuNDIgMS40MUwyLjQxIDhsMy4yOSAzLjI5QTEgMSAwIDAgMSA1IDEzeiIvPjxwYXRoIGQ9Ik0xMSA5SDFhMSAxIDAgMCAxIDAtMmgxMGExIDEgMCAwIDEgMCAyek0xNSAxNmExIDEgMCAwIDEtMS0xVjFhMSAxIDAgMCAxIDIgMHYxNGExIDEgMCAwIDEtMSAxeiIvPjwvc3ZnPg==)}.scylla-icon--forum{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItdXNlcnMiPjxwYXRoIGQ9Ik0xNyAyMXYtMmE0IDQgMCAwIDAtNC00SDVhNCA0IDAgMCAwLTQgNHYyIi8+PGNpcmNsZSBjeD0iOSIgY3k9IjciIHI9IjQiLz48cGF0aCBkPSJNMjMgMjF2LTJhNCA0IDAgMCAwLTMtMy44N00xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzUiLz48L3N2Zz4=)}.scylla-icon--home{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJMYXllcl81IiBkYXRhLW5hbWU9IkxheWVyIDUiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMuNSA2LjE0djExYTEuMzggMS4zOCAwIDAgMCAxLjM3IDEuMzZoMTEuMjZhMS4zOCAxLjM4IDAgMCAwIDEuMzctMS4zN3YtMTEiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xOS41IDcuNS04LTYuMjVhMS41OSAxLjU5IDAgMCAwLTEuOTQgMEwxLjUgNy41TTEyLjczIDE4LjAydi03LjIxSDguMjd2Ny4yMSIvPjwvZz48L3N2Zz4=)}.scylla-icon--getting-started{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGcgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggc3R5bGU9ImZpbGw6IzRkNGQ0ZCIgZD0ibTcgNC41IDguNTEgNS4wNUw3IDE0LjV2LTEweiIvPjxyZWN0IHg9IjEuNSIgeT0iLjUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIuNDMiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLW1pdGVybGltaXQ6MTAiLz48L2c+PC9zdmc+)}.scylla-icon--glossary{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMi41IDIuNWgxM3YxNmgtMTN6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTUuNTggMTcuMjFoMS45MlYuNWgtMTNhMi4zNCAyLjM0IDAgMCAwLTIgMiIvPjxwYXRoIGQ9Ik00LjggMTMuOTNhMSAxIDAgMCAwIC43NS0uNDMgNiA2IDAgMCAwIC41Mi0xLjA4bDIuODctNy4wN2guMzZsMi44OCA2Ljc5YTguOTIgOC45MiAwIDAgMCAuNzIgMS40Ny43Ni43NiAwIDAgMCAuNjguMzJ2LjMySDkuNHYtLjMyYTMuMjQgMy4yNCAwIDAgMCAuODMtLjExYy4xMy0uMDYuMi0uMTkuMi0uNDJhMS41OSAxLjU5IDAgMCAwLS4xLS40NmMwLS4xMi0uMS0uMjctLjE3LS40NGwtLjMzLS43OGgtMi45Yy0uMTkuNTEtLjMxLjg1LS4zNiAxYTIuMzggMi4zOCAwIDAgMC0uMTcuNzNjMCAuMTguMTIuMzIuMzcuNGEyLjU2IDIuNTYgMCAwIDAgLjY2LjA4di4zMkg0LjhabTQuODQtMi43Mi0xLjI0LTNoLS4xMWwtMS4xNiAzWiIgc3R5bGU9ImZpbGw6IzRkNGQ0ZCIvPjwvZz48L3N2Zz4=)}.scylla-icon--infoworld{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTB9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMiAyLjVINi41VjZjMCAzIC41NSA3LjE3IDUgOS41djQiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02LjQgNC40NGgtNFMyLjU2IDExIDguNSAxM00xOC41IDQuNWw0LS4wNnMtLjA2IDYuNTYtNiA4LjU2Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIgMi41aDYuNVY2YzAgMi45NC0uNCA3LjA4LTUgOS41djRNOS41IDE5LjVoNnYyaC02eiIvPjxwYXRoIHN0eWxlPSJmaWxsOmdyYXk7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTAiIGQ9Ik03LjUgMjEuNWgxMHYxaC0xMHoiLz48L2c+PC9zdmc+)}.scylla-icon--integrations{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTQuNTYgMTIuNy0xLjI1LTEuNTctMS4zMS43NmE2IDYgMCAwIDAtMS42NS0xbC4wOC0xLjQ5LTItLjQtLjUzIDEuNDRhNS43MyA1LjczIDAgMCAwLTEuODcuMzFsLS44OC0xLjE5LTEuNzcgMUwzLjkyIDEyYTYuMyA2LjMgMCAwIDAtMS4yMiAxLjQxbC0xLjUtLjM1LS43NCAxLjg3IDEuMzguOGE2LjIzIDYuMjMgMCAwIDAgMCAxLjgzbC0xLjQxLjcyLjY0IDEuOTEgMS41OS0uMjhhNy42MyA3LjYzIDAgMCAwIC40OC42OCA1Ljg2IDUuODYgMCAwIDAgLjY3LjczbC0uNjIgMS40NiAxLjcyIDEgMS0xLjI0YTYuNDYgNi40NiAwIDAgMCAxLjc5LjM1bC40NiAxLjUyIDItLjN2LTEuNmE2LjQzIDYuNDMgMCAwIDAgMS42Mi0uODlsMS4zLjg1TDE0LjQzIDIxbC0xLTEuMmE2LjI0IDYuMjQgMCAwIDAgLjY4LTEuNzVsMS41MS0uMTkuMDUtMi0xLjUxLS4yNmE2LjA3IDYuMDcgMCAwIDAtLjYyLTEuODFabS01LjM1IDUuNTFhMS45MyAxLjkzIDAgMSAxIC4zMS0yLjcxIDEuOTIgMS45MiAwIDAgMS0uMzEgMi43MVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0yNC4zMSA4LjA1LS4xMy0xLjY1LTEuMjUtLjA5YTUuMjYgNS4yNiAwIDAgMC0uNjctMS40NGwuNzUtMS0xLjE2LTEuMTctMSAuNzRhNS4xOCA1LjE4IDAgMCAwLTEuNDMtLjY2bC0uMDYtMS4yNC0xLjY1LS4xNy0uMzIgMS4yNWE1Ljc3IDUuNzcgMCAwIDAtMS41Mi4zOEwxNSAyLjFsLTEuMzcuOS41OCAxLjE4YTQuODggNC44OCAwIDAgMC0uODYgMS4yNWwtMS4zLS4xNi0uNDUgMS42IDEuMjIuNTVhNS4xNyA1LjE3IDAgMCAwIDAgLjY4QTQuMjggNC4yOCAwIDAgMCAxMyA5bC0xLjExLjcyLjY5IDEuNTEgMS4yOC0uMzdhNC45NCA0Ljk0IDAgMCAwIDEuMDcgMS4wN2wtLjM5IDEuMjYgMS41LjcxLjc0LTEuMDlhNS4wNyA1LjA3IDAgMCAwIDEuNTIuMTRsLjUgMS4xOSAxLjYxLS40MS0uMTMtMS4yOWE1LjE0IDUuMTQgMCAwIDAgMS4yNy0uODhsMS4xMi41NyAxLTEuMzUtLjkxLS44OGE0LjkgNC45IDAgMCAwIC40Mi0xLjUyWm0tNi4yIDEuNDNhMS43NCAxLjc0IDAgMSAxIDEuNi0xLjg2IDEuNzQgMS43NCAwIDAgMS0xLjYgMS44NloiLz48L2c+PC9zdmc+)}.scylla-icon--knowledge-base{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMSAxOSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTojNGQ0ZDRkfS5jbHMtMXtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9LmNscy0ye3N0cm9rZS1taXRlcmxpbWl0OjEwfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJMYXllcl81IiBkYXRhLW5hbWU9IkxheWVyIDUiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE2LjIxIDYuMzhhNS4zNiA1LjM2IDAgMCAxLTEuNTEgMy43MyA1IDUgMCAwIDAtMS40NSAzLjMxSDguNDdhNS40MSA1LjQxIDAgMCAwLTEuMjgtMy4xMSA1LjM3IDUuMzcgMCAxIDEgOS0zLjkzWk0xMy4yMyAxNS42N0g4LjQ1Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTMuMjQgMTMuNGgtNC44djQuMTZhLjcuNyAwIDAgMCAuNzEuN2gzLjM4YS43LjcgMCAwIDAgLjcxLS43WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTEwLjg0IDguMjFhMS42NSAxLjY1IDAgMSAxIDEuNjQtMS42NSAxLjY1IDEuNjUgMCAwIDEtMS42NCAxLjY1Wk0xMC44NCA4LjY3djQuNjQiLz48L2c+PC9zdmc+)}.scylla-icon--less{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjE3IiBoZWlnaHQ9IjE3IiByeD0iMSIgZmlsbD0iI0IzQkFDNSIvPjxwYXRoIGQ9Ik0xMyA4LjVhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJoN2ExIDEgMCAwIDEgMSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMyA4LjVhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJoN2ExIDEgMCAwIDEgMSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMyA4LjVhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJoN2ExIDEgMCAwIDEgMSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMyA4LjVhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJoN2ExIDEgMCAwIDEgMSAxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMyA4LjVhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMSAwLTJoN2ExIDEgMCAwIDEgMSAxWiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==);filter:none}.scylla-icon--live-test{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtNntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLWxpbmVjYXA6cm91bmR9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48Y2lyY2xlIGN4PSIxMi41IiBjeT0iMTUiIHI9IjkuNSIgc3R5bGU9InN0cm9rZS13aWR0aDoxLjVweDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXkiLz48cGF0aCBzdHlsZT0ic3Ryb2tlLXdpZHRoOjEuMXB4O3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbGluZWNhcDpyb3VuZDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXkiIGQ9Ik0xMCAuNWg1djJoLTV6Ii8+PHBhdGggc3R5bGU9InN0cm9rZS13aWR0aDoxLjExcHg7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1saW5lY2FwOnJvdW5kO2ZpbGw6bm9uZTtzdHJva2U6Z3JheSIgZD0iTTUuOCA4LjIgNC4xMyA2LjUzbDEuOC0xLjgxTDcuNiA2LjQiLz48cGF0aCBzdHlsZT0ic3Ryb2tlLXdpZHRoOjEuMTNweDtzdHJva2UtbWl0ZXJsaW1pdDoxMDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXkiIGQ9Ik0xMiA2VjIuNSIvPjxwYXRoIHN0eWxlPSJzdHJva2Utd2lkdGg6MS4wOHB4O3N0cm9rZS1taXRlcmxpbWl0OjEwO2ZpbGw6bm9uZTtzdHJva2U6Z3JheSIgZD0iTTEzIDZWMi41Ii8+PHBhdGggY2xhc3M9ImNscy02IiBkPSJNMTIuNSA4LjA2VjEwTTEyLjUgMjAuMDR2MS44OE03LjEzIDEwLjA4bDEuNzkgMS44OE0xNi4wNCAxNy4wOGwyIDEuODhNNyAxOC45MmwxLjg4LTEuODhNMTYuMTMgMTEuOTZsMS43OS0xLjgzIi8+PGVsbGlwc2UgY3g9IjEyLjUiIGN5PSIxNC4zNiIgcng9IjEuNSIgcnk9IjEuMzYiIHN0eWxlPSJmaWxsOmdyYXkiLz48cGF0aCBjbGFzcz0iY2xzLTYiIGQ9Im0xMi42MyAxNC41NCAyLjUgNi4zOCIvPjwvZz48L3N2Zz4=)}.scylla-icon--mail-list{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItbWFpbCI+PHBhdGggZD0iTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6Ii8+PHBhdGggZD0ibTIyIDYtMTAgN0wyIDYiLz48L3N2Zz4=)}.scylla-icon--manager{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtM3tmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDouOTdweH0uY2xzLTR7ZmlsbDpncmF5fTwvc3R5bGU+PC9kZWZzPjxwYXRoIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIiBkPSJNMTggMmg1djIySDNWMmg0LjkyIiBpZD0iQ2FscXVlXzIiIGRhdGEtbmFtZT0iQ2FscXVlIDIiLz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxwYXRoIHN0eWxlPSJzdHJva2Utd2lkdGg6MS4wN3B4O2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQiIGQ9Ik04IDBoMTB2NEg4eiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTcgOWgzdjNIN3pNNyAxNmgzdjNIN3oiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0xMi41IDkuNWg3djJoLTd6TTEyLjUgMTYuNWg3djJoLTd6Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--memory-management{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTpncmF5O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZH0uY2xzLTJ7c3Ryb2tlLXdpZHRoOjEuMTNweH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iNS41IiB5PSI1LjUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgcng9IjIuNzQiIHJ5PSIyLjc0Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNOS41IDkuNWg3djdoLTd6Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNOC41IDUuNXYtNE0xMS41IDUuNXYtNE0xNC41IDUuNXYtNE0xNy41IDUuNXYtNE04LjUgMjQuNXYtNE0xMS41IDI0LjV2LTRNMTQuNSAyNC41di00TTE3LjUgMjQuNXYtNE0yMC41IDguNWg0TTIwLjUgMTEuNWg0TTIwLjUgMTQuNWg0TTIwLjUgMTcuNWg0TTEuNSA4LjVoNE0xLjUgMTEuNWg0TTEuNSAxNC41aDRNMS41IDE3LjVoNCIvPjwvZz48L3N2Zz4=)}.scylla-icon--monitoring{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGcgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggZD0iTTUuNTUgMTAuODlhMy44MyAzLjgzIDAgMCAxLS4xNS0zLjc2IiBzdHlsZT0ic3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZTpncmF5O2ZpbGw6bm9uZSIvPjxyZWN0IHg9IjE3LjYzIiB5PSIxNC4wMSIgd2lkdGg9IjMuMDUiIGhlaWdodD0iMTAuOCIgcng9Ii41NyIgcnk9Ii41NyIgdHJhbnNmb3JtPSJyb3RhdGUoLTQ1IDE5LjE1OCAxOS40MDUpIiBzdHlsZT0ic3Ryb2tlLW1pdGVybGltaXQ6MTA7ZmlsbDpncmF5O3N0cm9rZS13aWR0aDouOTVweDtzdHJva2U6Z3JheSIvPjxjaXJjbGUgY3g9IjguNSIgY3k9IjkiIHI9IjciIHN0eWxlPSJzdHJva2Utd2lkdGg6MnB4O3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZTpncmF5O2ZpbGw6bm9uZSIvPjxwYXRoIHN0eWxlPSJzdHJva2UtbWl0ZXJsaW1pdDoxMDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2U6Z3JheTtmaWxsOm5vbmUiIGQ9Im0xNi4wNSAxNi4zOS0yLjI4LTIuMjgiLz48L2c+PC9zdmc+)}.scylla-icon--networking{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTB9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48Y2lyY2xlIGN4PSIxMi41IiBjeT0iMTIuNSIgcj0iNCIgc3R5bGU9InN0cm9rZS13aWR0aDouOTRweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTAiLz48Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjUiIGN5PSIzIiByPSIyLjUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjE5IiBjeT0iMjAiIHI9IjIuNSIvPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iMjIiIGN5PSI2LjYiIHI9IjIuNSIvPjxjaXJjbGUgY2xhc3M9ImNscy0yIiBjeD0iNC41IiBjeT0iMjIiIHI9IjIuNSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0ibTYuODMgNS41IDMuMjUgNC4zM00yMC4yMyA3Ljg1IDE1LjMzIDExTTkuODMgMTUuMDhsLTQuMDkgNS44NE0xNC41OCAxNS4zM2wzIDMuMDkiLz48Y2lyY2xlIGN4PSIxMi41IiBjeT0iMTIuNSIgcj0iMS41IiBzdHlsZT0iZmlsbDpncmF5Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--news{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMyAxNS4xNyAxNi4zMSAzLjgyYTEuNDggMS40OCAwIDAgMSAyLjIyLjQ2bDUuMTUgOS42NWExLjQ2IDEuNDYgMCAwIDEtLjkzIDIuMTJMNS42OSAxOS45Wk04LjcxIDE5LjMzbC43NiAyLjIyYTEuNTEgMS41MSAwIDAgMCAxLjg1IDFsMy41OC0xLjA2YTEuNSAxLjUgMCAwIDAgMS0xLjg2TDE1LjQ1IDE4TTUuNTQgMjBsLTEuODMgMWEuOTIuOTIgMCAwIDEtMS4yNS0uMzdMLjYxIDE3LjQ5QS45Mi45MiAwIDAgMSAxIDE2LjI0bDEuODMtMU04LjUgMTRsNy4zOC01LjUiLz48L3N2Zz4=)}.scylla-icon--newsletter{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTpncmF5O3N0cm9rZS1taXRlcmxpbWl0OjEwfS5jbHMtMntzdHJva2UtbGluZWNhcDpyb3VuZH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzQiIGRhdGEtbmFtZT0iQ2FscXVlIDQiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTE5LjUgOS41aDN2MTJoLTIwdi0xMmgzIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMi42NSA5Ljg0IDkuODUgNi44OCA4LjYzLTYuODgiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im01LjUgNy41LTMgMk0xNC4zNSAzLjg2bC0xLjQ2LTEuMDktMS40NyAxLjA5TTIxLjUgOS41bC0yLTJNMTkuNSAxMS41di03aC0xNHY3LjQ3Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--nsql-guides{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGcgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHJlY3QgeD0iNC4zNyIgeT0iMTMuNzEiIHdpZHRoPSIxLjE1IiBoZWlnaHQ9IjkuNzIiIHJ4PSIuNTQiIHJ5PSIuNTQiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDQuOTQ4IDE4LjU3KSIgc3R5bGU9InN0cm9rZTpncmF5O3N0cm9rZS1taXRlcmxpbWl0OjEwO2ZpbGw6Z3JheTtzdHJva2Utd2lkdGg6MS4wOXB4Ii8+PGNpcmNsZSBjeD0iMTIuMjUiIGN5PSIxMi4yNSIgcj0iNC43NSIgc3R5bGU9InN0cm9rZS13aWR0aDoxLjVweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTAiLz48cGF0aCBzdHlsZT0ic3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLXdpZHRoOjEuMDZweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLW1pdGVybGltaXQ6MTAiIGQ9Ik04LjUgMjAuNXYzaDE1di0yMWgtMTV2MiIvPjwvZz48L3N2Zz4=)}.scylla-icon--open-source{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jbHMtMntmaWxsOmdyYXl9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0uMzEgMjEuNTEgNSAxOS42OWEyLjM3IDIuMzcgMCAwIDEgMS44OC4xOWw1LjI0IDEuNjhhMi4yMyAyLjIzIDAgMCAwIDItLjEybDkuNS00Ljc1Yy44LS40NCAxLjY0LTEuMzEgMS4xMy0xLjkxYTIuMzQgMi4zNCAwIDAgMC0yLjY0LS40MkwxOCAxNi4wOSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibS4yNSAxNS42OSA0Ljg4LTEuMjFjMS4yNS0uMyAyLjE3LS42MyAzLjQ0LS4xM2ExNS4yMSAxNS4yMSAwIDAgMCA0IDEuMWg0LjUyYy44NSAwIC45NS41NC45NSAxLjEzYTEgMSAwIDAgMS0xLjA4IDEgNjUuODYgNjUuODYgMCAwIDEtNy0uMzEiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik04LjU2IDkuNjh2LS44MWMwLS45MS0uMzgtMS4yMS0xLjI5LTEuMjFIN1Y2LjNoLjMxYy45MSAwIDEuMjktLjMgMS4yOS0xLjIxdi0uODFjMC0xLjIuNjYtMS45MiAyLjgyLTIuM3YxLjE2Yy0xLjI0LjM1LTEuNDMuNjgtMS40MyAxLjR2Ljg3QTEuNTIgMS41MiAwIDAgMSA4Ljc1IDcgMS41MiAxLjUyIDAgMCAxIDEwIDguNTZ2Ljg3YzAgLjcxLjE5IDEgMS40MyAxLjRWMTJjLTIuMjEtLjM1LTIuODctMS4xMi0yLjg3LTIuMzJaTTE3LjQzIDQuM3YuODFjMCAuOTEuMzcgMS4yMSAxLjI5IDEuMjFIMTl2MS4zNmgtLjMxYy0uOTIgMC0xLjI5LjMtMS4yOSAxLjIxdi44MWMwIDEuMi0uNjUgMi0yLjgxIDIuMzV2LTEuMmMxLjI1LS4zNiAxLjQ0LS42OSAxLjQ0LTEuNHYtLjg3QTEuNTMgMS41MyAwIDAgMSAxNy4yNSA3IDEuNTMgMS41MyAwIDAgMSAxNiA1LjQzdi0uODdjMC0uNzItLjE5LTEtMS40NC0xLjRWMmMyLjIyLjM4IDIuODcgMS4xIDIuODcgMi4zWiIvPjwvZz48L3N2Zz4=)}.scylla-icon--operator{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjQuODEgMS4wMSAyOC4zMiAyNy42NCI+PHBhdGggZD0iTTMyLjUyIDE4cy0uMDkgMC0uMDktLjA1LS4wOCAwLS4xNyAwYTIuMTkgMi4xOSAwIDAgMC0uNTEgMCAuNDcuNDcgMCAwIDEtLjI2LS4wNSA5LjI5IDkuMjkgMCAwIDEtMS40OS0uMzIuNTQuNTQgMCAwIDEtLjMtLjMxbC0uMzQtLjA4YTExLjI1IDExLjI1IDAgMCAwLS4xOC0zLjc5IDExLjU1IDExLjU1IDAgMCAwLTEuNS0zLjUybC4yNi0uMjZhLjU5LjU5IDAgMCAxIC4xMy0uMzkgNy43MyA3LjczIDAgMCAxIDEuMi0uODZsLjI2LS4xMy40Ny0uM3MuMDkgMCAuMTMtLjA4IDAtLjA1IDAtLjA5YS44NC44NCAwIDAgMCAuMTctMS4yLjc4Ljc4IDAgMCAwLS42LS4zIDEgMSAwIDAgMC0uNi4yMWMtLjA1LjA1LS4wOS4wOS0uMTMuMDlhMy4wOCAzLjA4IDAgMCAwLS4zNS4zOWMwIC4wOC0uMTMuMTMtLjE3LjE3YTUuNjQgNS42NCAwIDAgMS0xLjA3Ljk0LjU4LjU4IDAgMCAxLS4yNi4wOS4yNS4yNSAwIDAgMS0uMTcgMGgtLjA1bC0uMzQuMjEtMS4wOC0xYTExIDExIDAgMCAwLTUuNjUtMi4yN3YtLjM0YS42LjYgMCAwIDEtLjIyLS4zNEE4LjE4IDguMTggMCAwIDEgMTkuNjYgM3YtLjI1YzAtLjA4LjA1LS4zNS4wOS0uNTJ2LS4zMWEuODIuODIgMCAwIDAtMS40Ni0uNi44Ni44NiAwIDAgMC0uMjYuNnYuMjJhMS44MiAxLjgyIDAgMCAwIC4wOS41MS41OS41OSAwIDAgMSAwIC4yNlYzYTguODIgOC44MiAwIDAgMSAuMDggMS40Ny41OS41OSAwIDAgMS0uMjEuMzRWNS4yNGMtLjQ4IDAtMSAuMTMtMS40Ny4yMmExMC4xNiAxMC4xNiAwIDAgMC01LjI4IDNMMTEgOC4yNGgtLjE3YS43My43MyAwIDAgMS0uMjYtLjA5IDcuOCA3LjggMCAwIDEtMS4wNy0xYzAtLjA4LS4xMy0uMTMtLjE3LS4xN3MtLjI1LS4yLS4zMy0uMzMtLjA4IDAtLjEzLS4wOHYtLjA1YTEgMSAwIDAgMC0uNi0uMjEuNjQuNjQgMCAwIDAtLjYuMy45MS45MSAwIDAgMCAuMTcgMS4yczAgLjA1IDAgLjA1LjA5LjA4LjEzLjA4YTUgNSAwIDAgMCAuNDcuMjZsLjI2LjEzYTYuNjEgNi42MSAwIDAgMSAxLjIxLjg2LjQ3LjQ3IDAgMCAxIC4xMy4zOXYtLjA1bC4yNS4yNmEyLjUzIDIuNTMgMCAwIDEtLjEzLjIyIDEwLjIgMTAuMiAwIDAgMC0xLjUgN2wtLjM1LjA5YzAgLjEzLS4xNy4yMS0uMy4zYTguNTYgOC41NiAwIDAgMS0xLjQ2LjI2LjU5LjU5IDAgMCAwLS4yNiAwaC0uNTJjLS4xOCAwLS4wOC4wNS0uMTcuMDVoLS4wOGEuODQuODQgMCAwIDAtLjY5IDEgLjc5Ljc5IDAgMCAwIC44Ni42LjM5LjM5IDAgMCAwIC4yMSAwSDYuMTJhMy42MSAzLjYxIDAgMCAwIC40Ny0uMTcuNjUuNjUgMCAwIDEgLjI2LS4wOCA3LjY1IDcuNjUgMCAwIDEgMS40Mi0uMzkuNDkuNDkgMCAwIDEgLjM1LjEzaC4zOWExMC4zMiAxMC4zMiAwIDAgMCAzLjUzIDUgNi4zMSA2LjMxIDAgMCAwIDEuMTYuNzdsLS4yMi4zYS41MS41MSAwIDAgMSAwIC40MyA2LjU0IDYuNTQgMCAwIDEtLjY5IDEuMjR2LjA1YS43OC43OCAwIDAgMS0uMTcuMjFjLS4wOS4wOS0uMTcuMjYtLjMuNDNzMCAuMDktLjA5LjEzIDAgLjA1IDAgLjA1YS44OC44OCAwIDAgMCAuMzQgMS4xNi45LjkgMCAwIDAgLjMuMDggMSAxIDAgMCAwIC44Mi0uNTFzMC0uMDguMDktLjEzLjEzLS4zLjE3LS40N2wuMDktLjI2YTcuMDcgNy4wNyAwIDAgMSAuNTYtMS4zMy42Mi42MiAwIDAgMSAuMzQtLjI2bC4xNy0uMzVhMTAuMDUgMTAuMDUgMCAwIDAgMy43NS42OSA4LjQ1IDguNDUgMCAwIDAgMi4zMi0uMyAxMS40NiAxMS40NiAwIDAgMCAxLjM3LS4zOWwuMTguMzFhLjYyLjYyIDAgMCAxIC4zNC4yNiA3LjA3IDcuMDcgMCAwIDEgLjU2IDEuMzNsLjA5LjI2YTEuMzEgMS4zMSAwIDAgMCAuMTcuNDdjMCAuMDUgMCAuMDkuMDkuMTNhMSAxIDAgMCAwIC44Mi41MSAxLjA1IDEuMDUgMCAwIDAgLjM0LS4wOC43Ni43NiAwIDAgMCAuMzktLjQ4IDEuMDggMS4wOCAwIDAgMC0uMDUtLjY0LjIuMiAwIDAgMC0uMDgtLjEzIDEuNTMgMS41MyAwIDAgMC0uMzEtLjQzLjY1LjY1IDAgMCAwLS4xNy0uMjJ2LS4wOWE1LjIyIDUuMjIgMCAwIDEtLjY5LTEuMjQuNTEuNTEgMCAwIDEgLjA1LS40M2wtLjEzLS4zNEExMC42OCAxMC42OCAwIDAgMCAyOSAxOC44MmwuMzQuMDV2LS4wNWEuNTQuNTQgMCAwIDEgLjM1LS4xMyA3LjgyIDcuODIgMCAwIDEgMS4zOC4zOS42Mi42MiAwIDAgMCAuMjYuMDkgMi40MiAyLjQyIDAgMCAwIC40Ny4yMXMuMDkgMCAuMTcgMGguMDlhLjM5LjM5IDAgMCAwIC4yMSAwIC45NC45NCAwIDAgMCAuODYtLjYgMSAxIDAgMCAwLS43Ny0uOVptLTEyLjQzLTEuMzMtMS4xNi41Ni0xLjE2LS41Ni0uMy0xLjI1LjgxLTFoMS4yOWwuODIgMVptNy0yLjc5YTggOCAwIDAgMSAuMTcgMi43MWwtNC4xNS0uNzVjLS4zOC0uMDgtLjY4LS45LS43MS0xLjIyYTQgNCAwIDAgMSAuMjEtLjc0bDMuNDUtMi41NGE4LjU4IDguNTggMCAwIDEgMS4wNCAyLjU0Wm0tMi4zMS00LjEzLTMuMjIgMi42OWExLjI4IDEuMjggMCAwIDEtMS4yNS0uMzdjLS4wOS0uMDktLjM3LS4yNS0uMzctLjM4VjcuNDNhOC4wNyA4LjA3IDAgMCAxIDQuODYgMi4zMlpNMTcgNy41NmwxLS4xOC0uMDYgNC4zMWMwIC4zOC0uNjQuNjgtMSAuNjhhMS4xMSAxLjExIDAgMCAxLS4zNS0uMDhMMTMgOS43NWE4LjQxIDguNDEgMCAwIDEgNC0yLjE5Wm0tNS4yNCAzLjc4IDMuMzcgMi40Ny4zMi41M2ExLjE0IDEuMTQgMCAwIDEtLjI1IDEgLjc4Ljc4IDAgMCAxLS4zOC4zMWwtNC4zMS45YTkgOSAwIDAgMSAxLjI0LTUuMjFaTTExIDE4LjYxbDQuMS0xLjIzYy4zNSAwIC44NC43MS44OSAxLjA2YS41MS41MSAwIDAgMS0uMDUuNDNsLTEuNjMgMy45NUE4LjQxIDguNDEgMCAwIDEgMTEgMTguNjFabTkuNzYgNS4zM2E4LjY3IDguNjcgMCAwIDEtMS44NS4yMSA5LjU5IDkuNTkgMCAwIDEtMi43MS0uNDNsMS42Ni00Yy4yMS0uMjYgMS0uMiAxLjMxIDBhMi40OCAyLjQ4IDAgMCAxIC4zNC4zbDIuMDcgMy43NGE1LjcyIDUuNzIgMCAwIDAtLjguMThaTTI2IDIwLjJhOC4zNiA4LjM2IDAgMCAxLTIuNTggMi41OGwtMS45Mi0zLjcyYTEuMTUgMS4xNSAwIDAgMSAuNDEtMWMuMjEtLjI1LjU5LS41OS43MS0uNTlsNC4yMiAxLjA2QTYuMjcgNi4yNyAwIDAgMSAyNiAyMC4yWiIgc3R5bGU9ImZpbGw6IzRkNGQ0ZCIgZGF0YS1uYW1lPSJDYWxxdWUgMiIvPjwvc3ZnPg==)}.scylla-icon--overview{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjIuNjEgMy40NUMyMi42MSA1LjA2IDE4IDYuNSAxMi41IDYuNXMtMTAtMS40NC0xMC0zIDQuNS0zIDEwLTMgMTAuMTEgMS4zMyAxMC4xMSAyLjk1Wk0yMi42MSA5LjQ0YzAgMS42MS00LjY0IDMuMDYtMTAuMTEgMy4wNnMtMTAtMS40NS0xMC0zLjA2TTIyLjYxIDE1LjUxYzAgMS42Mi00LjY0IDMtMTAuMTEgM3MtMTAtMS4zNy0xMC0zTTIyLjYxIDIxLjU5YzAgMS42Mi00LjY0IDIuOTEtMTAuMTEgMi45MXMtMTAtMS4yOS0xMC0yLjkxTTIuNSAyMS40N1YzLjQ1TTIyLjUgMjEuNDdWMy40NSIvPjwvZz48L3N2Zz4=)}.scylla-icon--partners{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6Z3JheTtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguNSA4LjI2aC00LjcybC0xLjIzIDEuMjdNMi4zOSAxNS4wOS4xNSAxMy43NGw0Ljg3LTguNDIgMi4yNCAxLjM0LTQuODcgOC40M3pNMjIuNTkgMTUuMDlsMi4yNC0xLjM1LTQuODYtOC40Mi0yLjI0IDEuMzQgNC44NiA4LjQzek0xMC43MSAxNS4yNmwtMi45MyAyLjIxTTEyLjE4IDE2LjRsLTIuOTMgMi4yMU0xMy42OCAxNy41M2wtMi45MyAyLjIyIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNi4zOCA4LjNoMy43OGEyLjI3IDIuMjcgMCAwIDEgMS4zNy40N2MxLjI2IDEgNC4wOSAzLjE4IDQuNDggMy41NnMtMS4xNCAxLjY4LTIuMjcgMS4xYTE4LjM0IDE4LjM0IDAgMCAwLTIuMTEtLjkyLjU3LjU3IDAgMCAwLS41Ni4wOWwtNC43OSAzLjg5TDEyLjMzIDIxbDkuNDYtNy4wOU0zLjI0IDE0LjIybDMuNCAxLjg1Ii8+PC9zdmc+)}.scylla-icon--plus{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjE3IiBoZWlnaHQ9IjE3IiByeD0iMSIgZmlsbD0iI0IzQkFDNSIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDVhMSAxIDAgMSAwLTIgMHYyLjVINWExIDEgMCAxIDAgMCAyaDIuNVYxMmExIDEgMCAxIDAgMiAwVjkuNUgxMmExIDEgMCAxIDAgMC0ySDkuNVY1WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDVhMSAxIDAgMSAwLTIgMHYyLjVINWExIDEgMCAxIDAgMCAyaDIuNVYxMmExIDEgMCAxIDAgMiAwVjkuNUgxMmExIDEgMCAxIDAgMC0ySDkuNVY1WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDVhMSAxIDAgMSAwLTIgMHYyLjVINWExIDEgMCAxIDAgMCAyaDIuNVYxMmExIDEgMCAxIDAgMiAwVjkuNUgxMmExIDEgMCAxIDAgMC0ySDkuNVY1WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDVhMSAxIDAgMSAwLTIgMHYyLjVINWExIDEgMCAxIDAgMCAyaDIuNVYxMmExIDEgMCAxIDAgMiAwVjkuNUgxMmExIDEgMCAxIDAgMC0ySDkuNVY1WiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNOS41IDVhMSAxIDAgMSAwLTIgMHYyLjVINWExIDEgMCAxIDAgMCAyaDIuNVYxMmExIDEgMCAxIDAgMiAwVjkuNUgxMmExIDEgMCAxIDAgMC0ySDkuNVY1WiIgZmlsbD0iI2ZmZiIvPjwvc3ZnPg==);filter:none}.scylla-icon--pricing{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfMiIgZGF0YS1uYW1lPSJDYWxxdWUgMiI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMjEuNzMgNy0yLjQxLTUuMTJhMi41MiAyLjUyIDAgMCAwLTIuODItMWwtNi4wOCAyLjA0QTEuNjkgMS42OSAwIDAgMCA5LjUxIDRMMy45MyAxOS4yOWExLjA2IDEuMDYgMCAwIDAgLjY0IDEuMTdsMTAuMzQgMy43NmExIDEgMCAwIDAgMS4yMi0uNDNsNS41OC0xNS4zM0ExLjg3IDEuODcgMCAwIDAgMjEuNzMgN1oiLz48Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjE1LjczIiBjeT0iNS44OSIgcj0iMiIvPjx0ZXh0IHRyYW5zZm9ybT0icm90YXRlKDIwIC00OC4yNDQgMzAuNjcpIiBzdHlsZT0iZm9udC1zaXplOjEycHg7ZmlsbDpncmF5O2ZvbnQtZmFtaWx5OlJvYm90by1NZWRpdW0sUm9ib3RvIj4kPC90ZXh0PjwvZz48L3N2Zz4=)}.scylla-icon--release-note{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDouOTFweH08L3N0eWxlPjwvZGVmcz48ZyBpZD0iQ2FscXVlXzIiIGRhdGEtbmFtZT0iQ2FscXVlIDIiPjxwYXRoIHN0eWxlPSJzdHJva2Utd2lkdGg6LjlweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIiBkPSJNMjEuNSAyNC41aC0xN1Y1LjdMOC45NS41NCAyMS41LjV2MjR6Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNC42NSA1LjVIOS41VjFNNy41IDguNWgxMU03LjUgMTEuNWgxMU03LjUgMTQuNWgxMU03LjUgMTcuNWgxMU03LjUgMjAuNWgxMSIvPjwvZz48L3N2Zz4=)}.scylla-icon--resource-center{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfS5jbHMtMntmaWxsOmdyYXl9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IkNhbHF1ZV80IiBkYXRhLW5hbWU9IkNhbHF1ZSA0Ij48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LjUgMi41aDYuOTFsLjA5IDIwaC03di0yMHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik04IDRoMnYxMC45N0w4IDE1VjR6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNS4zNiAyLjI5IDIuNSAzLjV2MThsMi43OSAxLjE0Ii8+PHBhdGggc3R5bGU9InN0cm9rZS13aWR0aDouNjhweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIiBkPSJtMTIuNTcgMjEuODYgMS41Ny43NSIvPjxwYXRoIHN0eWxlPSJzdHJva2Utd2lkdGg6Ljg1cHg7ZmlsbDpub25lO3N0cm9rZTpncmF5O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZCIgZD0ibTE0LjExIDIuNS0xLjU0LjU3Ii8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSI5IiBjeT0iMTkiIHI9IjEiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNC41IDIuNWg2Ljk0bC4wNiAyMGgtN3YtMjB6Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTcgNGgydjEwLjk3TDE3IDE1VjR6Ii8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxOCIgY3k9IjE5IiByPSIxIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTIuNiAyLjczaDEuNjdWMjIuNkgxMi42ek0yLjU4IDIxLjVsMi43NSAxLjFWMi43M2wtMi42Ni45NC0uMDkgMTcuODN6Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--roadmap{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTpncmF5fS5jbHMtMXtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLXdpZHRoOi45OHB4fS5jbHMtMntzdHJva2UtbWl0ZXJsaW1pdDoxMH0uY2xzLTN7ZmlsbDpncmF5fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtLjUgNC41IDgtMyA4IDQgOC0zdjE3bC04IDMtOC00LTggM3YtMTd6TTguNSAxLjVWMThNMTYuNSA1LjVWMjIiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yLjUgMTMgNyAxNi41TTcgMTJsLTQuNSA1LjVNMTguNSA4bDQuNSAzLjVNMjMgN2wtNC41IDUuNSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTEwIDEzaDF2MWgtMXpNMTIgMTJoMXYxaC0xek0xNCAxMWgxdjFoLTF6Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--search{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMThhNy41IDcuNSAwIDEgMCAwLTE1IDcuNSA3LjUgMCAwIDAgMCAxNVpNMjEgMjFsLTUuMi01LjIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=)}.scylla-icon--slack{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tISBGb250IEF3ZXNvbWUgUHJvIDYuMC4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIyIEZvbnRpY29ucywgSW5jLi0tPjxwYXRoIGQ9Ik05NC4xMiAzMTUuMWMwIDI1LjktMjEuMTYgNDcuMDYtNDcuMDYgNDcuMDZTMCAzNDEgMCAzMTUuMWMwLTI1LjkgMjEuMTYtNDcuMDYgNDcuMDYtNDcuMDZoNDcuMDZ2NDcuMDZ6bTIzLjcyIDBjMC0yNS45IDIxLjE2LTQ3LjA2IDQ3LjA2LTQ3LjA2czQ3LjA2IDIxLjE2IDQ3LjA2IDQ3LjA2djExNy44NGMwIDI1LjktMjEuMTYgNDcuMDYtNDcuMDYgNDcuMDZzLTQ3LjA2LTIxLjE2LTQ3LjA2LTQ3LjA2VjMxNS4xem00Ny4wNi0xODguOThjLTI1LjkgMC00Ny4wNi0yMS4xNi00Ny4wNi00Ny4wNlMxMzkgMzIgMTY0LjkgMzJzNDcuMDYgMjEuMTYgNDcuMDYgNDcuMDZ2NDcuMDZIMTY0Ljl6bTAgMjMuNzJjMjUuOSAwIDQ3LjA2IDIxLjE2IDQ3LjA2IDQ3LjA2cy0yMS4xNiA0Ny4wNi00Ny4wNiA0Ny4wNkg0Ny4wNkMyMS4xNiAyNDMuOTYgMCAyMjIuOCAwIDE5Ni45czIxLjE2LTQ3LjA2IDQ3LjA2LTQ3LjA2SDE2NC45em0xODguOTggNDcuMDZjMC0yNS45IDIxLjE2LTQ3LjA2IDQ3LjA2LTQ3LjA2IDI1LjkgMCA0Ny4wNiAyMS4xNiA0Ny4wNiA0Ny4wNnMtMjEuMTYgNDcuMDYtNDcuMDYgNDcuMDZoLTQ3LjA2VjE5Ni45em0tMjMuNzIgMGMwIDI1LjktMjEuMTYgNDcuMDYtNDcuMDYgNDcuMDYtMjUuOSAwLTQ3LjA2LTIxLjE2LTQ3LjA2LTQ3LjA2Vjc5LjA2YzAtMjUuOSAyMS4xNi00Ny4wNiA0Ny4wNi00Ny4wNiAyNS45IDAgNDcuMDYgMjEuMTYgNDcuMDYgNDcuMDZWMTk2Ljl6TTI4My4xIDM4NS44OGMyNS45IDAgNDcuMDYgMjEuMTYgNDcuMDYgNDcuMDYgMCAyNS45LTIxLjE2IDQ3LjA2LTQ3LjA2IDQ3LjA2LTI1LjkgMC00Ny4wNi0yMS4xNi00Ny4wNi00Ny4wNnYtNDcuMDZoNDcuMDZ6bTAtMjMuNzJjLTI1LjkgMC00Ny4wNi0yMS4xNi00Ny4wNi00Ny4wNiAwLTI1LjkgMjEuMTYtNDcuMDYgNDcuMDYtNDcuMDZoMTE3Ljg0YzI1LjkgMCA0Ny4wNiAyMS4xNiA0Ny4wNiA0Ny4wNiAwIDI1LjktMjEuMTYgNDcuMDYtNDcuMDYgNDcuMDZIMjgzLjF6Ii8+PC9zdmc+)}.scylla-icon--stack-overflow{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMzEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0yMS45NDkuMTEzIDIuMDQzIDExLjY3LTIuNTE0LjQzMkwxOS40MzUuNTQ1IDIxLjk1LjExNFptLTE3Ljk3MyAyNiAxMS45NDUtLjAwNS0uMDAyLTIuNTMtMTEuOTQ0LjAwNi4wMDEgMi41M1ptMTIuMjMyLTUuNzc3TDQuMzE1IDE5LjI1bC0uMjM1IDIuNTIgMTEuODk0IDEuMDg1LjIzNC0yLjUxOVptLTEwLjc1LTYuMzc1IDExLjUzNSAzLjA3NC0uNjYyIDIuNDQzLTExLjUzNS0zLjA3NS42NjItMi40NDJabTEzLjA0LjE4TDguMjEyIDguMTI2bC0xLjI5NyAyLjE3OCAxMC4yODkgNi4wMTcgMS4yOTYtMi4xNzhabS00LjIwNi0xMS41NiA2LjczIDkuNzg3LTIuMTA4IDEuNDI0LTYuNzMtOS43ODUgMi4xMDgtMS40MjVaIiBmaWxsPSIjMDAwIi8+PHBhdGggZD0iTTE3Ljk1IDE3Ljc4OVYyOC4xM0gyLjI4MlYxNy43ODlILjI0M3YxMi4zMjZIMTkuOThWMTcuNzg5aC0yLjAzWiIgZmlsbD0iIzAwMCIvPjwvc3ZnPg==)}.scylla-icon--summit{background-image:url(data:image/svg+xml;base64,PHN2ZyBpZD0iQ2FscXVlXzEiIGRhdGEtbmFtZT0iQ2FscXVlIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI1IDI1Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6bm9uZTtzdHJva2U6IzRkNGQ0ZDtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmR9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMTYuNSAyMiAxLTYuNS0xMCAuMDMgMSA2LjQzIi8+PHBhdGggZD0iTTMuNDYgMTJBNS42OSA1LjY5IDAgMCAxIDUgNy41IiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjEuMXB4O3N0cm9rZTojNGQ0ZDRkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtmaWxsOm5vbmUiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNC42MiA1YTIuMzMgMi4zMyAwIDAgMS0yLjI1IDIuNWMtMS4zMyAwLTItMS4xMi0xLjk1LTIuNDRzLjctMi41IDItMi40OEEyLjI3IDIuMjcgMCAwIDEgMTQuNjIgNVpNMTcuNTggMTJhMy4yMyAzLjIzIDAgMCAwLTMuNDYtMy41SDExQTMuMjYgMy4yNiAwIDAgMCA3LjUgMTIiLz48Y2lyY2xlIGN4PSI0Ljk0IiBjeT0iNi45NiIgcj0iMS4wMSIgc3R5bGU9ImZpbGw6IzRkNGQ0ZDtzdHJva2Utd2lkdGg6MS4xcHg7c3Ryb2tlOiM0ZDRkNGQ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNy41NCAxOC41SDQuNWwtMi02aDIwbC0yIDZoLTMiLz48L3N2Zz4=)}.scylla-icon--support{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMTkgNy41YTEwIDEwIDAgMCAxIC4yMSAyLjA3YzAgNC4zNi0yLjYzIDYuOTMtNS45IDYuOTNzLTUuOTQtMi41Ny01Ljk0LTYuOTNhMTAuNTEgMTAuNTEgMCAwIDEgLjIyLTIuMTIiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik03LjY3IDIuMjNBNi41OCA2LjU4IDAgMCAxIDEyLjUuNWE1LjY1IDUuNjUgMCAwIDEgNC4yOSAxLjdjMS45MyAxLjk0IDIuMzUgNS4wNyAyLjQzIDYuNzJhMS40OSAxLjQ5IDAgMCAwLS43OS4wNSA4LjY4IDguNjggMCAwIDAtLjA4LTEuMTZoMGE1LjUzIDUuNTMgMCAwIDEtMS43Ny0yLjM0TDE2LjQ5IDVsLS4zOC4yMkExOSAxOSAwIDAgMSA2LjggNy4zOGEuNTIuNTIgMCAwIDAtLjQyLjE2Yy0uMjMuMjQtLjE1LjY1LS4wNyAxLjA4IDAgLjExIDAgLjIyLjA1LjMyYTEuNCAxLjQgMCAwIDAtLjU4IDBjLS4xLTEuNDUtLjA2LTQuNjggMS44OS02LjcxWk02LjM4IDljLS42NS0uMDgtMSAuMS0xLjE0Ljc5YTIuMDYgMi4wNiAwIDAgMCAxLjM3IDIuMjlNMTguNTYgOWMuNjUtLjA4IDEuMDUuMSAxLjE0Ljc5YTIuMDYgMi4wNiAwIDAgMS0xLjM3IDIuMjlNOS41IDE4LjIzVjE1LjVNMTUuNSAxNS41djIuNzNNMi41IDI0LjE2Yy4yNC0yIC41OS0zLjYzIDIuNDMtNC40OWEyNC4yOSAyNC4yOSAwIDAgMSA0LjgyLTEuMzdNMjIuNSAyNC4zM2MtLjI0LTItLjQyLTMuOC0yLjI2LTQuNjZhMjQuMjkgMjQuMjkgMCAwIDAtNC44Mi0xLjM3Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTUuMzkgMTguMzlhNC4zNyA0LjM3IDAgMCAxLTIuOTEgMS4wNyA0LjQyIDQuNDIgMCAwIDEtMi44OS0xLjA1Ii8+PHBhdGggc3R5bGU9ImZpbGw6Z3JheSIgZD0iTTExIDEzaDN2MmgtM3oiLz48cGF0aCBkPSJNMTguMDcgMTJhOS4yMSA5LjIxIDAgMCAxLTUuNTMgMi4wNyIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OjEwO2ZpbGw6bm9uZTtzdHJva2U6Z3JheSIvPjwvZz48L3N2Zz4=)}.scylla-icon--tech-talks{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNOC4zOSA0LjVIMjMuNXYxM2gtMTUiLz48Y2lyY2xlIGN4PSI0LjUiIGN5PSI2LjUiIHI9IjIiIHN0eWxlPSJzdHJva2UtbWl0ZXJsaW1pdDoxMDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xLjUgOS41aDJsLjguODYuNy0uODZoNS41OGExIDEgMCAxIDEgMCAySDYuNXYxMC44OGExIDEgMCAwIDEtMSAxLjEyIDEgMSAwIDAgMS0xLTEgMSAxIDAgMCAxLTEgMSAuOTMuOTMgMCAwIDEtMS0xdi02Yy0uNzggMC0yLS40Ny0yLTF2LTVhMSAxIDAgMCAxIDEtMVoiLz48L2c+PC9zdmc+)}.scylla-icon--testing{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNi41IDYuNWgxMnYxMmgtMTJ6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNC41IDQuNWgxNnYxNmgtMTZ6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtOC41IDEwLjUgNSA1IDExLTEyIi8+PC9nPjwvc3ZnPg==)}.scylla-icon--thumbs-up{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLXRodW1icy11cCI+PHBhdGggZD0iTTE0IDlWNWEzIDMgMCAwIDAtMy0zbC00IDl2MTFoMTEuMjhhMiAyIDAgMCAwIDItMS43bDEuMzgtOWEyIDIgMCAwIDAtMi0yLjN6TTcgMjJINGEyIDIgMCAwIDEtMi0ydi03YTIgMiAwIDAgMSAyLTJoMyIvPjwvc3ZnPg==)}.scylla-icon--thumbs-down{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjbGFzcz0iZmVhdGhlciBmZWF0aGVyLXRodW1icy1kb3duIj48cGF0aCBkPSJNMTAgMTV2NGEzIDMgMCAwIDAgMyAzbDQtOVYySDUuNzJhMiAyIDAgMCAwLTIgMS43bC0xLjM4IDlhMiAyIDAgMCAwIDIgMi4zem03LTEzaDIuNjdBMi4zMSAyLjMxIDAgMCAxIDIyIDR2N2EyLjMxIDIuMzEgMCAwIDEtMi4zMyAySDE3Ii8+PC9zdmc+)}.scylla-icon--tip{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDI0QzUuNCAyNCAwIDE4LjYgMCAxMlM1LjQgMCAxMiAwczEyIDUuNCAxMiAxMi01LjQgMTItMTIgMTJabTAtMjJDNi41IDIgMiA2LjUgMiAxMnM0LjUgMTAgMTAgMTAgMTAtNC41IDEwLTEwUzE3LjUgMiAxMiAyWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMSAxNmMtLjMgMC0uNS0uMS0uNy0uM2wtMy0zYy0uNC0uNC0uNC0xIDAtMS40LjQtLjQgMS0uNCAxLjQgMGwzIDNjLjQuNC40IDEgMCAxLjQtLjIuMi0uNC4zLS43LjNaIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTExIDE2Yy0uMyAwLS41LS4xLS43LS4zLS40LS40LS40LTEgMC0xLjRsNi02Yy40LS40IDEtLjQgMS40IDAgLjQuNC40IDEgMCAxLjRsLTYgNmMtLjIuMi0uNC4zLS43LjNaIiBmaWxsPSIjZmZmIi8+PC9zdmc+)}.scylla-icon--training{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfMiIgZGF0YS1uYW1lPSJDYWxxdWUgMiI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTcuNSAxNS41SC41di0xM2gxOE01LjUgMjVsNC00LjMgNCA0LjMiLz48Y2lyY2xlIGN4PSIyMSIgY3k9IjQiIHI9IjIuNSIgc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OjEwO2ZpbGw6bm9uZTtzdHJva2U6Z3JheSIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIzLjQxIDcuNWgtMS41MkwyMSA5bC0uOS0xLjVIMTNBMS44IDEuOCAwIDAgMCAxMS41IDlhMS44IDEuOCAwIDAgMCAxLjUgMS41aDQuNXYxMy4yNEExLjQxIDEuNDEgMCAwIDAgMTkgMjVhMS40MiAxLjQyIDAgMCAwIDEuNS0xLjIyIDEuNTMgMS41MyAwIDAgMCAzIDB2LTcuMTFhMS4xMSAxLjExIDAgMCAwIDEuMDktMS4xOFY4LjY3YTEuMTggMS4xOCAwIDAgMC0xLjE4LTEuMTdaTTkuNSAxNS40NHY1LjM4Ii8+PC9nPjwvc3ZnPg==)}.collapsible-button .side-nav__content .toctree-checkbox:checked~label i,.collapsible-button .side-nav__content i,.scylla-icon--triangle-down,.side-nav__content .collapsible-button i,.side-nav__content .scylla-icon--expand,.side-nav__content .toctree-checkbox:checked~label .collapsible-button i,.side-nav__content .toctree-checkbox:checked~label .scylla-icon--expand{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibTAgMCA1IDUgNS01SDBaIiBmaWxsPSIjM0EyRDU1Ii8+PC9zdmc+)}.scylla-icon--university{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtMS41IDguNSAxMS00IDExIDR2M2wtMTEgNC0xMS00di0zeiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUuNSAxMi41djVhMTIuNDYgMTIuNDYgMCAwIDAgNyAyIDExLjIgMTEuMiAwIDAgMCA3LTJ2LTUiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xMy41IDkuNSA4IDEuMjN2OC43N00yMi41IDE2LjV2MyIvPjwvZz48L3N2Zz4=)}.scylla-icon--users-blog{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggc3R5bGU9InN0cm9rZS13aWR0aDouOThweDtmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kIiBkPSJNMjMuNSAyLjVoLTIydjE2aDEzdjQuMTdsNC4wNC00LjE3IDQuOTYtLjA0VjIuNXoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMC44NSA4QTEwLjM4IDEwLjM4IDAgMCAxIDExIDkuNWMwIDIuNDctMS4yMSA0LTMgNHMtMy41LTItMy41LTQuNWE0LjE4IDQuMTggMCAwIDEgMC0xIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNS4yIDUuMDdhMy4yMiAzLjIyIDAgMCAxIDIuNS0xIDMuMTYgMy4xNiAwIDAgMSAyLjQgMSA2LjIyIDYuMjIgMCAwIDEgMS4zIDMuODEuNzQuNzQgMCAwIDAtLjQyIDBjMC0uMjQgMC0uNDQtLjA1LS42NmgwQTMgMyAwIDAgMSAxMCA2Ljl2LS4yNGwtLjIxLjEyQTkuNjIgOS42MiAwIDAgMSA0LjczIDhhLjI1LjI1IDAgMCAwLS4yMi4wOWMtLjEzLjE0LS4wOS4zNyAwIC42MXYuMThhLjg1Ljg1IDAgMCAwLS4zMiAwQTUuMzcgNS4zNyAwIDAgMSA1LjIgNS4wN1pNNC41MSA4LjkzYy0uMzUgMC0uNTcuMDUtLjYxLjQ0YTEuMTcgMS4xNyAwIDAgMCAuNzMgMS4zTTExIDguOTNjLjM2IDAgLjU3LjA1LjYyLjQ0YTEuMTcgMS4xNyAwIDAgMS0uNzQgMS4zTTYuMzEgMTQuMTN2LS44NE05LjI1IDEzLjE5di45NE0yLjQyIDE4Yy4xMy0xLjE1LjU4LTIuNTIgMS41OC0zYTE0LjcxIDE0LjcxIDAgMCAxIDIuMzEtLjgyTTEzLjUgMThjLS4xMy0xLjE1LS41MS0yLjUyLTEuNS0zcy0yLjUtMS0yLjUtMSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTkuMzQgMTQuMjJhMi4yMyAyLjIzIDAgMCAxLTEuNTYuNjEgMi4zMiAyLjMyIDAgMCAxLTEuNTUtLjU5TTIxLjUgNi41aC03TTIxLjUgOS41aC03TTE4LjUgMTIuNWgtNCIvPjwvZz48L3N2Zz4=)}.admonition.caution .admonition-title:before,.admonition.warning .admonition-title:before,.scylla-icon--warning{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PG1hc2sgaWQ9ImEiIG1hc2stdHlwZT0iYWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjEiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyMSI+PHBhdGggZD0iTTMuNSAyMmMtLjUgMC0xLS4xLTEuNS0uNEMuNiAyMC44LjEgMTguOS45IDE3LjVMOS40IDMuM2MuMy0uNC42LS44IDEtMSAuNy0uNCAxLjUtLjUgMi4zLS4zLjguMiAxLjQuNyAxLjkgMS40TDIzIDE3LjVjLjMuNS40IDEgLjQgMS41IDAgLjgtLjMgMS42LS45IDIuMS0uNS42LTEuMi45LTIgLjloLTE3Wm03LjYtMTcuNkwyLjcgMTguNWMtLjMuNS0uMSAxLjEuNCAxLjQuMS4xLjMuMS40LjFoMTYuOWMuMyAwIC41LS4xLjctLjMuMi0uMi4zLS40LjMtLjcgMC0uMiAwLS4zLS4xLS41TDEyLjkgNC40Yy0uMy0uNS0uOS0uNi0xLjQtLjQtLjIuMS0uMy4yLS40LjRaIiBmaWxsPSIjMDYxOTM4Ii8+PHBhdGggZD0iTTEyIDE0Yy0uNiAwLTEtLjQtMS0xVjljMC0uNi40LTEgMS0xczEgLjQgMSAxdjRjMCAuNi0uNCAxLTEgMVpNMTIgMThjLS4zIDAtLjUtLjEtLjctLjMtLjItLjItLjMtLjQtLjMtLjcgMC0uMSAwLS4zLjEtLjQuMS0uMS4xLS4yLjItLjMuMS0uMS4yLS4yLjMtLjIuMi0uMS40LS4xLjYtLjEuMSAwIC4xIDAgLjIuMS4xIDAgLjEgMCAuMi4xIDAgMCAuMS4xLjIuMS4xLjEuMi4yLjIuMyAwIC4xLjEuMy4xLjQgMCAuMy0uMS41LS4zLjctLjMuMi0uNS4zLS44LjNaIiBmaWxsPSIjMDYxOTM4Ii8+PC9tYXNrPjxnIG1hc2s9InVybCgjYSkiPjxwYXRoIGZpbGw9IiMwNjE5MzgiIGQ9Ik0wIDBoMjR2MjRIMHoiLz48L2c+PC9zdmc+)}.scylla-icon--webinars{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggc3R5bGU9InN0cm9rZS1taXRlcmxpbWl0OjEwO2ZpbGw6bm9uZTtzdHJva2U6Z3JheSIgZD0iTTEuNSA1LjVoMjJ2MTRoLTIyeiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTkuNDcgMjAuNXYxLjg4TTE1LjUgMjAuNXYyTTYuNSAyMi41aDEyIi8+PHBhdGggc3R5bGU9ImZpbGw6Z3JheSIgZD0ibTkgOSA3LjUgMy41M0w5IDE2Vjl6Ii8+PC9nPjwvc3ZnPg==)}.scylla-icon--whitepapers{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMntmaWxsOm5vbmU7c3Ryb2tlOmdyYXk7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggc3R5bGU9ImZpbGw6Z3JheSIgZD0iTTggOWg4djJIOHoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xNC4wNiAxLjUgMy41IDEuNTJWMjMuNWgxN1Y3bC02LjQ0LTUuNXoiLz48cGF0aCBkPSJNMTQuMzIgMS40MnYzLjM3YTIuMDYgMi4wNiAwIDAgMCAyLjA4IDIuMWgzLjY3IiBzdHlsZT0ic3Ryb2tlLW1pdGVybGltaXQ6MTA7ZmlsbDpub25lO3N0cm9rZTpncmF5Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNi41IDE5LjVoNE0xMy41IDE5LjVoNE02LjUgMTYuNWg0TTEzLjUgMTYuNWg0TTYuNSAxMy41aDRNMTMuNSAxMy41aDQiLz48L2c+PC9zdmc+)}.scylla-icon--workshop{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAyNSI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTJ7ZmlsbDpub25lO3N0cm9rZTojNGQ0ZDRkfS5jbHMtMXtzdHJva2UtbWl0ZXJsaW1pdDoxMH0uY2xzLTJ7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kfTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJDYWxxdWVfNCIgZGF0YS1uYW1lPSJDYWxxdWUgNCI+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMS41IDUuNWgyMnYxNGgtMjJ6Ii8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJtOS41IDE5LjUtLjAzIDIuODhNMTUuNSAxOS41djNNNi41IDIyLjVoMTIiLz48cGF0aCBzdHlsZT0iZmlsbDojNGQ0ZDRkIiBkPSJtNCA4IDIgOCAuOTctMy45NUwxMSAxMiA0IDh6Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJtNi40NyAxMS4zNCAzLjM3IDQuMjgiLz48L2c+PC9zdmc+)}.button{background:transparent;border:1px solid #3a2d55;border-radius:4px;color:#3a2d55;display:inline;font-size:14px;letter-spacing:1px;line-height:21px;margin:0;padding:12px 14px}.button:focus,.button:hover{background:transparent;color:#3a2d55;text-decoration:none}.button--reverse{background:#fff;border:0}.button--reverse:focus,.button--reverse:hover{background:#fff}.tooltip{background-color:rgba(0,0,0,.56);border-radius:4px;font-size:12px;padding:6px}.tooltip:before{display:none!important}.tooltip:empty{display:none!important}.has-tip{border:0;cursor:pointer}.scylla-dropdown{color:#23263b;font-size:14px;line-height:20px}.scylla-dropdown a,.scylla-dropdown a:focus,.scylla-dropdown a:hover{color:#23263b!important;padding:0!important}.scylla-dropdown__item{font-size:16px;padding:15px}.scylla-dropdown__title{align-items:center;display:flex!important;position:static!important}.scylla-dropdown__title:after{display:none!important}.scylla-dropdown__title .chevron{min-height:5px;width:10px}.scylla-dropdown__content{background:#fff;border:0;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);font-size:16px;list-style:none;margin-top:15px;overflow:hidden;padding:16px 0;width:max-content}.scylla-dropdown__content li{padding:7px 16px}.scylla-dropdown__content .contents.local>ul>li a:before,.scylla-dropdown__content .secondary-side-nav__content li a:before,.scylla-dropdown__content li .admonition-title:before,.scylla-dropdown__content li .scylla-icon,.secondary-side-nav__content .scylla-dropdown__content li a:before{margin-right:10px}.enlarge-image{cursor:zoom-in}.enlarge-image-reveal{background:transparent;border:none;cursor:zoom-out;padding:0;text-align:center;width:fit-content}.enlarge-image-reveal img{background-color:#fff;padding:15px}.header{background-color:#fff;box-shadow:0 2px 22px rgba(74,93,166,.15);justify-content:space-between;padding:12.75px 0;position:fixed;width:100%;z-index:99}.header,.header-logo{align-items:center;display:flex}.header-logo{margin-left:20px;width:auto}.header-logo__img{width:110px}.header-logo__bar{background-color:#3a2d55;border-left:1px solid #3a2d55;height:11.56px;margin:0 7.5px;width:0}.header-logo__text{color:#3a2d55;font-size:10.11px;letter-spacing:.722408px;line-height:12px;text-transform:uppercase}.header-navigation{display:none}.header-button{display:none;margin-left:15px;text-transform:uppercase}.header-search-box{display:none;margin-right:20px;width:200px}.scylla-dropdown--header .scylla-dropdown__item{font-size:14px}.scylla-dropdown--header .scylla-dropdown__title{text-transform:uppercase}.scylla-dropdown--header .scylla-dropdown__title .chevron{margin-left:10px}.contents.local>ul>li .scylla-dropdown--header .scylla-dropdown__content a:before,.scylla-dropdown--header .scylla-dropdown__content .admonition-title:before,.scylla-dropdown--header .scylla-dropdown__content .contents.local>ul>li a:before,.scylla-dropdown--header .scylla-dropdown__content .scylla-icon,.scylla-dropdown--header .scylla-dropdown__content .secondary-side-nav__content li a:before,.secondary-side-nav__content li .scylla-dropdown--header .scylla-dropdown__content a:before{min-height:20px;width:20px}@media screen and (min-width:1024px){.header{padding:18px 0}.header-logo__img{width:152px}.header-logo__bar{height:16px;margin:0 10px}.header-logo__text{font-size:14px;letter-spacing:.722408px;line-height:12px;text-transform:uppercase}.header-navigation{align-items:center;display:flex;justify-content:center}.header-search-box{display:block}}@media screen and (min-width:1200px){.header-logo{margin-left:30px;width:357px}.header-search-box{margin-right:30px;max-width:20%;width:318px}.header-button{display:block}}.side-nav{background:#fff;display:none;height:100vh;left:0;line-height:24px;max-height:calc(100vh - 50px);overflow-y:auto;padding:20px 20px 0;position:fixed;top:50px;width:100%;z-index:100}.side-nav__title{font-weight:700;margin-bottom:20px}.side-nav__content{max-width:90%;overflow-wrap:break-word}.side-nav__content label,.side-nav__content label i{margin:0;padding:0}.side-nav__content label{font-size:inherit;line-height:1;margin-left:5px;max-height:5px}.collapsible-button .side-nav__content i,.side-nav__content .collapsible-button i,.side-nav__content .scylla-icon--expand{height:5px;vertical-align:top;width:10px}.side-nav__content .toctree-checkbox{display:none;position:absolute;right:20px}.side-nav__content .toctree-checkbox~ul{display:none;margin-right:20px}.side-nav__content .toctree-checkbox:checked~ul{display:block}.side-nav__content ul{margin:0}.side-nav__content a{color:#23263b}.side-nav__content a:hover{color:#3c4fe0;font-weight:400}.side-nav__content li{list-style:none;padding:0 0 24px}.side-nav__content li.has-children{align-items:center;display:flex;flex-wrap:wrap}.side-nav__content li.has-children>a{max-width:calc(100% - 15px)}.side-nav__content li.has-children.current{padding-bottom:20px}.side-nav__content li.has-children:hover>a{color:#3c4fe0}.side-nav__content li.has-children:hover>.toctree-checkbox~label i{filter:invert(38%) sepia(71%) saturate(6789%) hue-rotate(231deg) brightness(90%) contrast(95%)}.side-nav__content li.current-page>a{color:#3c4fe0}.side-nav__content li.current-page>.toctree-checkbox:checked~label i{filter:invert(38%) sepia(71%) saturate(6789%) hue-rotate(231deg) brightness(90%) contrast(95%)}.side-nav__content li ul{margin-top:18px;width:100%}.side-nav__content li ul li{border-left:1px solid #3c4fe0;padding:4px 0 4px 13px}.side-nav__content li ul ul{margin-left:0}.side-nav__content li .label{display:none}.side-nav__versions{max-width:90%}.side-nav__search,.side-nav__versions .dropdown{margin-bottom:20px}.collapsible-button{background:#fff;background-color:#fff;border:0;border-radius:8px;border-radius:50%;bottom:10px;box-shadow:0 4px 25px rgba(0,0,0,.15);cursor:pointer;display:none;font-size:0;left:300px;overflow:hidden;padding:13.5px;position:fixed}.collapsible-button i{height:16px;margin:0;width:16px}.side-nav--collapsed .collapsible-button{border-radius:0 20px 20px 0;left:-10px}.side-nav--collapsed .collapsible-button i{transform:rotate(180deg)}.layout--has-banner .side-nav{max-height:calc(100vh - 92.5px)}@media screen and (min-width:1024px){.side-nav{background-color:#f6f8ff;display:block;height:100%;left:auto;max-height:100vh;max-height:calc(100vh - 80px);padding:30px 40px;top:80px;width:286px;z-index:25}.side-nav__content{max-width:100%;padding-bottom:180px}.side-nav__search{display:none}.side-nav__versions{max-width:100%}.toctree-checkbox{right:40px}.layout--has-banner .side-nav{max-height:calc(100vh - 150px)}}@media screen and (min-width:1200px){.side-nav{width:357px}.side-nav--collapsed{background-color:transparent;padding-left:0;padding-right:0;width:126px}.side-nav--collapsed .side-nav-content{display:none}.collapsible-button{display:block}}.side-nav-toggle{cursor:pointer;display:block;margin-right:20px;position:relative;z-index:300}@media screen and (min-width:1024px){.side-nav-toggle{display:none}}.secondary-side-nav{display:none;height:100%;line-height:24px;padding:20px;width:100%}.secondary-side-nav__content{overflow-wrap:break-word}.secondary-side-nav__content ul{list-style:none;margin:0}.secondary-side-nav__content li{border-bottom:1px solid rgba(90,94,154,.1);display:none;padding:10px 0;word-break:break-word}.secondary-side-nav__content li:last-child{border:0}.secondary-side-nav__content li .label{display:none}.secondary-side-nav__content li a{align-items:baseline;color:#b3bac5;display:flex;font-size:14px}.secondary-side-nav__content li a:before{content:"";filter:invert(40%) sepia(11%) saturate(2157%) hue-rotate(198deg) brightness(89%) contrast(87%)!important;flex-shrink:0;margin-right:10px;min-height:10px;opacity:.5;width:6px}.secondary-side-nav__content li a.current,.secondary-side-nav__content li a:hover{color:#23263b;font-weight:400}.secondary-side-nav__content li a.current:before,.secondary-side-nav__content li a:hover:before{filter:brightness(0);opacity:1}.secondary-side-nav__content li a.current{font-weight:700}.secondary-side-nav__content>ul>li>ul>li{display:block}.secondary-side-nav__content>ul>li{border:0;display:block}.secondary-side-nav__content>ul>li>a{display:none}@media screen and (min-width:1200px){.secondary-side-nav{display:block;max-height:100vh;max-height:calc(100vh - 80px);overflow-y:auto;padding:60px 60px 60px 20px;position:fixed;top:80px;width:286px}.secondary-side-nav__content{padding-bottom:180px}.layout--has-banner .secondary-side-nav{max-height:calc(100vh - 150px)}}.layout{display:flex}.pre-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.content{margin-top:50px;max-width:1440px;overflow-wrap:break-word;padding:20px;scroll-margin-top:50px;width:100%}.content .line-block,.content p{line-height:28px;margin-bottom:20px}.content ul{list-style:none}.content ul li:before{color:#b3bac5;content:"•";float:left;font-family:FontAwesome;font-size:20px;font-weight:700;margin-left:-1em;margin-top:-2px;width:1em}.content ul ul{list-style:circle}.content ul ul li:before{content:""}.content ol ol{list-style:lower-latin}.content img{margin-bottom:30px}.content section{margin-top:-50px;padding-top:50px}.content .inline-icon.fa-check{color:#42c4e6}.layout--full-width .content{max-width:100%;padding:0;width:100%}.layout--full-width .content .hero-wrapper,.layout--full-width .content .topics-grid{max-width:1190px}.layout--full-width .content.content--collapsed{margin-left:0}.layout--full-width:not(.layout--sidebar) .content{margin-left:0}.layout--has-banner .content{scroll-margin-top:92.5px}.layout--has-banner .content section{margin-top:-92.5px;padding-top:92.5px}.landing__content{padding:0 16px}@media screen and (min-width:1024px){.content{margin-left:286px;margin-top:80px;min-height:calc(100vh - 260px);padding-bottom:100px;scroll-margin-top:80px;width:calc(100% - 286px)}.content section{margin-top:-80px;padding-top:80px}}@media screen and (min-width:1200px){.content{margin-left:357px;padding:60px 40px 40px;width:calc(100% - 643px)}.content--collapsed{margin-left:126px;width:calc(100% - 412px)}.pre-content{margin-bottom:10px}.layout--has-banner .content{scroll-margin-top:150px}.layout--has-banner .content section{margin-top:-150px;padding-top:150px}.landing__content{padding:0 60px}.landing--floating .landing__content{position:relative;top:-70px}}.contents.local>ul{margin-bottom:30px;margin-left:0}.contents.local>ul>li{border-bottom:1px solid rgba(90,94,154,.1);padding:10px 0;word-break:break-word}.contents.local>ul>li:before{content:""}.contents.local>ul>li:last-child{border:0}.contents.local>ul>li ul{display:none}.contents.local>ul>li p{margin:0}.contents.local>ul>li a{font-size:14px}.contents.local>ul>li a:before{content:"";filter:invert(40%) sepia(11%) saturate(2157%) hue-rotate(198deg) brightness(89%) contrast(87%)!important;margin-right:10px;min-height:10px;opacity:.5;width:10px}.contents.local>ul>li a.current:before,.contents.local>ul>li a:hover:before{filter:brightness(0);opacity:1}.topic-title{color:rgba(35,38,59,.75);font-size:10px;letter-spacing:1.5px;margin-bottom:0;text-transform:uppercase}.notice{margin-top:40px}.footer{background-color:#fff;box-shadow:0 -4px 10px hsla(0,0%,82%,.25);padding:30px 0;position:relative;width:100%;z-index:50}.footer-group{margin:0 auto;max-width:1030px;padding:0 20px}.footer-top{align-items:center;border-bottom:1px solid rgba(0,0,0,.1);display:flex;flex-wrap:wrap;justify-content:space-between;padding-bottom:8px;text-align:center}.footer-logo{margin-bottom:30px;width:100%}.footer-logo img{float:left;height:36px}.footer-links{text-align:left}.footer-links__link{color:#333;font-size:12px;font-weight:500;letter-spacing:2.4px;margin-right:16px;text-transform:uppercase}.footer-actions{align-items:center;display:flex;justify-content:space-between;width:90px}.footer-actions__link{color:#000}.footer-actions__link img{height:23px}.footer-bottom{color:#979797;display:flex;flex-wrap:wrap;font-size:12px;font-style:normal;font-weight:400;justify-content:center;letter-spacing:1.4px;line-height:23px;padding:20px 0 10px;text-align:center;text-transform:uppercase}@media screen and (max-width:510px){.footer-links{margin-bottom:20px}}@media screen and (min-width:1024px){.footer{padding:30px 0}.footer-group{padding:0}.footer-top{padding-bottom:30px}.footer-logo{margin:0;width:auto}.footer-links{padding:0 40px}.footer-links__link{font-size:14px;margin-right:28px}.footer-actions{width:110px}.footer-actions__link img{height:28px}.footer-bottom .footer-bottom__copyright,.footer-bottom .footer-bottom__last-updated,.footer-bottom .footer-bottom__version{padding:0 10px}.footer-bottom .footer-bottom__copyright{border-left:none}}.not-found{background-color:#f6f8ff;height:100%;overflow:hidden}.not-found__icon{display:block;margin:40px auto;max-width:300px}.not-found__text{text-align:center}.not-found__text h1{font-size:60px;line-height:1}.not-found__text p{margin:30px 0;width:100%}.not-found__button{text-transform:uppercase}.admonition{border-radius:4px;box-shadow:0 4px 4px rgba(0,0,0,.12);color:rgba(0,0,0,.56);font-size:14px;line-height:20px;margin-bottom:30px;overflow:auto;padding:20px;position:relative}.admonition:before{bottom:0;content:" ";left:0;position:absolute;right:0;top:0;z-index:-1}.admonition-title{color:#23263b;margin-bottom:0!important}.admonition-title:before{content:"";margin-right:8px;min-height:24px;width:24px}.admonition p:not(.admonition-title){margin-bottom:0!important;margin-left:32px}.admonition.tip{border:1px solid #43a047}.admonition.tip:before{border-left:8px solid rgba(67,160,71,.4)}.admonition.tip .admonition-title:before{filter:invert(47%) sepia(11%) saturate(2286%) hue-rotate(73deg) brightness(109%) contrast(88%)}.admonition.note{border:1px solid #1976d2}.admonition.note:before{border-left:8px solid rgba(25,118,210,.4)}.admonition.note .admonition-title:before{filter:invert(44%) sepia(55%) saturate(2310%) hue-rotate(191deg) brightness(81%) contrast(103%)}.admonition.caution{border:1px solid #ffab00}.admonition.caution:before{border-left:8px solid rgba(255,171,0,.4)}.admonition.caution .admonition-title:before{filter:invert(77%) sepia(56%) saturate(3332%) hue-rotate(357deg) brightness(98%) contrast(108%)}.admonition.warning{border:1px solid #e74c3c}.admonition.warning:before{border-left:8px solid rgba(231,76,60,.4)}.admonition.warning .admonition-title:before{filter:invert(41%) sepia(42%) saturate(6427%) hue-rotate(343deg) brightness(99%) contrast(83%)}.breadcrumbs{margin-bottom:0;text-transform:uppercase}.breadcrumbs .bread__item,.breadcrumbs .bread__item:not(.bread__item--last):after,.breadcrumbs a{color:#23263b;font-size:12px;font-weight:400;letter-spacing:1.5px;line-height:2;margin:0;padding:0}.breadcrumbs .bread__item:before{display:none}.breadcrumbs .bread__item:not(.bread__item--last):after{content:"/";margin:0 5px;opacity:1;position:relative}.breadcrumbs .bread__highlight{color:#3c4fe0}.breadcrumbs .bread__highlight:hover{font-weight:700;text-decoration:none}code{background-color:#f7f8f9;border:none;border-radius:4px;color:#23263b;font-size:14px}code.download{background:none;color:#23263b}.highlight{background:transparent!important}.highlight pre{background-color:#f7f8f9;border-radius:8px;color:#23263b;font-size:14px;line-height:26px;margin-bottom:30px;overflow:auto;padding:16px}.highlight a.copybtn{right:1em;top:1em}.highlighttable{background-color:#f7f8f9;border-radius:16px;box-shadow:none}.highlighttable tbody{background-color:transparent;border:0}.highlighttable tbody td{padding:15px!important}.highlighttable tbody tr{border-top:none}.highlighttable .linenos{background-color:#f7f8f9;color:#5a7184;width:50px}.highlighttable .linenos span{line-height:26px}.highlighttable .highlight pre{background-color:transparent;margin:0;padding:0}.highlighttable .highlight a.copybtn{right:.2em;top:.2em}.hide-copy-button .copybtn{display:none}.sphinx_collapse__label{display:flex!important;flex-direction:row-reverse;font-size:medium;font-weight:700;justify-content:flex-end;margin-left:0!important}.sphinx_collapse__icon{margin-left:5px;margin-right:0}.sphinx_collapse__input:checked~.sphinx_collapse__label,.sphinx_collapse__label:hover{color:#3c4fe0}.sphinx_collapse__input:checked~.sphinx_collapse__label .sphinx_collapse__icon,.sphinx_collapse__label:hover .sphinx_collapse__icon{border-top-color:#3c4fe0}.sphinx_collapse__content{margin-top:10px}.contribute{margin:0 0 20px}.contribute__item{font-size:14px;list-style:none;padding-bottom:10px}.contribute__item .icon{margin-right:5px}.content-navigation{display:flex;justify-content:space-between;margin-top:40px}.navigation{max-width:50%;word-break:break-word}.navigation,.navigation__link{display:flex}.navigation__title{word-wrap:break-word;color:#23263b;font-size:12px;font-weight:500;letter-spacing:1.5px;line-height:24px;text-transform:uppercase}.navigation__title .colored{color:#42c4e6}.navigation__button{background:#fff;background-color:#fff;border:0;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);cursor:pointer;display:none;font-size:0;height:fit-content;overflow:hidden;padding:13.5px 16.5px}.navigation__button i{height:16px;margin:0;width:10px}.navigation--prev .navigation__title{margin-left:15px}.navigation--next .navigation__title{margin-right:15px;text-align:right}@media screen and (min-width:1200px){.navigation__title{display:inline-block}.navigation__button{display:block}.navigation--next .navigation__title{text-align:left}}.scylla-dropdown--versions .scylla-dropdown__item{background:#fff;border-radius:8px;box-shadow:0 28px 32px rgba(0,0,0,.06);width:100%}.scylla-dropdown--versions .scylla-dropdown__title{align-items:center;display:flex;justify-content:space-between}.scylla-dropdown--versions .scylla-dropdown__title .chevron{min-height:12px;transform:rotate(90deg);width:8px}@media screen and (min-width:1024px){.scylla-dropdown--versions .scylla-dropdown__item{box-shadow:none}}.feedback-container{font-size:16px;margin-top:40px;text-align:left}.feedback-container__title{font-weight:700;margin-bottom:5px!important}.feedback-container__button{background:#fff;border:0;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);cursor:pointer;margin:4px;overflow:hidden;padding:8px}.feedback-container__button.active{border:1px solid #3c4fe0}.feedback-container__icon{height:20px;width:20px}.feedback-container__message{font-size:16px;margin-top:10px}.hero{background:#f6f8ff;margin-bottom:30px;overflow:hidden;padding:30px 16px;text-align:left}.hero__title{font-size:28px;font-weight:500;line-height:38px;margin-bottom:14px;max-width:229px}.hero__text{font-size:16px;line-height:26px;max-width:343px}.hero__text a{border-bottom:1px dotted #23263b;color:#23263b}.hero__text p{margin-bottom:0!important}.hero__img{position:absolute;right:-18px;top:20px}.hero__img img{margin-bottom:0!important;width:124px}.hero__button{margin-top:20px;text-transform:uppercase}.hero__button .icon{margin-right:5px}.hero__search-box{box-shadow:0 4px 25px rgba(0,0,0,.02);margin-top:20px}.hero-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;position:relative}@media screen and (min-width:640px){.hero{padding:60px 16px}.hero__title{font-size:32px;line-height:42px;max-width:482px}.hero__text{font-size:18px;line-height:26px;max-width:482px}.hero__img{display:block;position:static}.hero__img img{height:100%;width:295px}.hero .hero-wrapper{flex-direction:row-reverse}.hero .landing--floating .hero{padding:30px 16px 100px}}@media screen and (min-width:1024px){.hero{padding:60px}}.label{background-color:#23263b;border:0;border-radius:4px;color:#fff;font-size:inherit}.label--note{background-color:#1976d2}.label--tip{background-color:#43a047}.label--caution{background-color:#ffab00}.label--warning{background-color:#e74c3c}.last-updated{color:#4458a3;font-size:12px;letter-spacing:1.5px;margin:10px 0;text-transform:uppercase}.last-updated__icon{font-size:14px}@media screen and (min-width:1024px){.last-updated{float:right;margin:0}}.panel{border:0;border-radius:4px;margin-bottom:30px}.promo-banner{background-color:#4458a3;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bWFzayBpZD0iYSIgbWFzay10eXBlPSJhbHBoYSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjE0NDAiIGhlaWdodD0iNzAiPjxwYXRoIGZpbGw9IiM0NDU4QTMiIGQ9Ik0wIDBoMTQ0MHY3MEgweiIvPjwvbWFzaz48ZyBtYXNrPSJ1cmwoI2EpIiBmaWxsPSIjNTA2NEFFIj48cGF0aCBkPSJNLTE5MyAyMDEuODg0IDEuNS0xMzUgMzU3LjQzNiA3MC41bC0xOTQuNSAzMzYuODg0ek0xMDkyLjkyLTM4LjAwOSA5NzIuODAzLTI0Ni4wNTcgNDAyLjk5NiA4Mi45MiA1MjMuMTEzIDI5MC45N3oiLz48cGF0aCBkPSJtMTAzOC0zOC4wMDkgMTIwLjExNy0yMDguMDQ5IDU2OS44MDcgMzI4Ljk3OS0xMjAuMTE3IDIwOC4wNDl6Ii8+PC9nPjwvc3ZnPg==);background-position:50%;background-repeat:no-repeat;background-size:cover;display:none;overflow:hidden;position:fixed;top:0;width:100%;z-index:900}.promo-banner__icon{margin-right:15px}.promo-banner__icon img{height:40px}.promo-banner__title{color:#fff;font-size:12px;line-height:16px;margin-right:15px}.promo-banner__button{background:#fff;border-radius:4px;font-size:12px;min-width:max-content;padding:5px}.promo-banner__close{display:none;position:absolute;right:16px;top:16px}.contents.local>ul>li .promo-banner__close a:before,.promo-banner__close .admonition-title:before,.promo-banner__close .contents.local>ul>li a:before,.promo-banner__close .scylla-icon,.promo-banner__close .secondary-side-nav__content li a:before,.secondary-side-nav__content li .promo-banner__close a:before{filter:brightness(100%);height:34px;width:34px}.promo-banner__close:hover{cursor:pointer;filter:opacity(.8)}.promo-banner-wrapper{align-items:center;display:flex;justify-content:center;padding:5.85px 20px}@media(min-width:1024px){.promo-banner__title{font-size:18px;line-height:23px}.promo-banner__button{font-size:14px;padding:8.5px}.promo-banner__close{display:block}.promo-banner-wrapper{flex-direction:unset;padding:16px}}.custom-scroll-bar::-webkit-scrollbar{background-color:transparent;width:5px}.custom-scroll-bar::-webkit-scrollbar-thumb{background-color:#b3bac5;-webkit-border-radius:8px;border-radius:8px}.search-box{background:#f7f8f9;border-radius:4px;display:flex;padding:10px 15px}.search-box--hero{background-color:#fff;padding:12px 14px}.search-box:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjUgMThhNy41IDcuNSAwIDEgMCAwLTE1IDcuNSA3LjUgMCAwIDAgMCAxNVpNMjEgMjFsLTUuMi01LjIiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=);background-repeat:no-repeat;background-size:contain;content:"";display:inline-block;filter:brightness(0);margin-top:2px;min-height:18px;min-width:18px;vertical-align:middle;width:20px}.search-box .er-dummy-search,.search-box .er-dummy-search-box,.search-box .er-search-form,.search-box ci-search,.search-box input{margin:0!important;width:100%!important}.search-box input{background:transparent!important;color:rgba(80,80,80,.5)!important;font-size:14px!important;padding:0!important}.search-box input::placeholder{color:rgba(80,80,80,.5)!important;opacity:1!important}.search-box button{display:none!important}.er_search_suggestions{background:#fff;border:0;border:0!important;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);overflow:hidden}.er_search_suggestions .er-search-result-box{border-width:1px!important;padding-bottom:10px!important;padding-top:10px!important}.er_search_suggestions .er-search-result-box:hover{background:#f7f8f9!important}.er_search_suggestions .er_more_result_btn{cursor:pointer}.er_search_suggestions h3{font-size:16px!important}.er-search-content{padding:20px!important}#er_search_results .er-search-result-box{display:block!important;margin:10px auto 0!important;width:100%!important}#er_search_results .text,#er_search_results .title a,#er_search_results .url a{max-width:100%!important}#search-result-input-form{max-width:800px!important}#er_search_button{text-align:center}#er_clear_input{right:0!important;top:0!important}.er-facet-header{background-color:transparent!important;border:0!important;padding:0 0 8px!important}.er-facet-val{padding:5px 2px!important}.er-facet-val input{display:block!important;margin:0}#er_search_pagination{margin-top:20px!important}#er_search_pagination li.er-paginator-list.er-active{border-bottom:0!important;font-weight:700}.er-suggestion-sm .er_search_input_dummy{margin:0!important}.er-suggestion-sm .er_search_button_dummy{border:0!important}#er_gcs_mobile_model_container .er-facet-values .er-facet-val{align-items:baseline}@media screen and (min-width:640px){.er-facets{display:none;max-width:300px!important;min-width:auto!important;width:auto!important}}@media screen and (min-width:1024px){.er-suggestions{left:15px!important}}@media screen and (min-width:1200px){.er-facets{display:block;position:fixed!important}.er-facet-count{display:none}}.sphinx-tabs{margin-bottom:30px}.sphinx-tabs-tab{border-bottom:1px solid rgba(0,0,0,.56);color:rgba(0,0,0,.56);cursor:pointer;font-size:14px;font-weight:500;line-height:13px;padding:20px 25px}.sphinx-tabs-tab[aria-selected=true]{border-bottom:2px solid #2196f3;color:#2196f3;padding-bottom:19px}.sphinx-tabs-panel{margin:30px 0}.table-wrapper{border:1px solid #e0e0e0;border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.25);display:block;margin-bottom:30px;max-width:100%;overflow-x:auto}table{color:#000;font-size:14px;line-height:24px;margin:0;overflow:hidden}table p{margin:0!important}table caption{background:#f6f8ff;border-bottom:1px solid #e0e0e0;color:#23263b;padding:10px 25px}table thead{background:#f6f8ff;border:0;border-bottom:1px solid #4458a3}table thead th{color:#23263b;font-size:14px;font-weight:700}table td,table thead th{padding:20px 25px}table tbody tr{background-color:transparent!important;border-top:1px solid #e0e0e0;line-height:18px}table:not(.highlighttable) tbody tr:first-child{border-top:1px solid #4458a3}table.thead-border thead .row-odd th{color:#23263b}table.thead-border thead .row-even th{font-weight:400}table.thead-border thead th{border:1px solid #e0e0e0}table.thead-border thead tr:first-child th{border-top:none}table.thead-border thead tr:last-child th{border-bottom:none}table.thead-border thead tr th:first-child{border-left:none}table.thead-border thead tr th:last-child{border-right:none}.topics-grid{display:block;margin:0 auto 30px}.topics-grid__title{color:#23263b;font-size:24px;font-weight:700;line-height:32px;margin-bottom:6px}.topics-grid__text{color:#4458a3;font-size:18px;line-height:24px}.topics-grid--scrollable .hs{-ms-overflow-style:none;display:grid;grid-auto-flow:column;overflow-x:scroll;padding:20px 10px;scrollbar-width:none}.topics-grid--scrollable .hs::-webkit-scrollbar{display:none}.topics-grid--scrollable .hs .topic-box:last-child:after{content:"";width:20px}.topic-box{align-items:stretch;display:flex}.topic-box .card{background:#fff;border:1px solid transparent;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);display:flex;flex-direction:column;font-size:18px;margin:0 auto 30px;overflow:hidden;padding:20px;position:relative}.topic-box .card:hover{border:1px solid #4458a3;color:#23263b;font-weight:400}.topic-box__title{color:#23263b;font-size:16px;font-weight:700;line-height:24px;margin-bottom:0}.topic-box__title img{bottom:0;opacity:.3;position:absolute;right:0;top:0}.topic-box__body{color:#000;display:flex;flex-direction:column;flex-grow:1;max-width:80%}.topic-box__body .container{flex-grow:1;margin:0;padding:0}.topic-box__body .line-block,.topic-box__body p{font-size:16px;line-height:19px;margin-top:10px}.topic-box__anchor{color:#42c4e6;font-size:14px;font-weight:700;line-height:24px}.topic-box__icon{display:block;font-size:50px;margin-bottom:20px}.topic-box__icon i{filter:brightness(0);min-height:50px;width:100%}.topic-box__icon img{bottom:-12px;display:none;height:140px;margin:0;opacity:.3;position:absolute;right:-5px}.topic-box--product .card{box-shadow:none;padding:20px;text-align:center}.topic-box--product .card .topic-box__title{color:#23263b;font-size:14px}.topic-box--product .card .topic-box__body{display:flex;flex-direction:column;max-width:100%}.topic-box--product .card .topic-box__body .line-block,.topic-box--product .card .topic-box__body p{font-size:12px}.topic-box--product .card .topic-box__icon img{display:inline-block;max-height:84px;opacity:1;position:static}.topic-box--product .card:hover{background:#fff;border:0;border-radius:8px;box-shadow:0 4px 25px rgba(0,0,0,.15);overflow:hidden}@media screen and (max-width:1024px){.topics-grid--scrollable .topic-box{width:280px!important}.topic-box--product:nth-last-child(-n+2) .card{margin-bottom:0}}@media screen and (min-width:1024px){.topics-grid{margin-bottom:10px}.topics-grid__text{font-size:16px}.topics-grid--scrollable .hs{display:flex;overflow-x:initial;padding:0}.topics-grid--scrollable .hs .topic-box:last-child:after{display:none}.topic-box .card{margin-bottom:60px;padding:45px 30px}.topic-box__title{font-size:20px;line-height:32px}.topic-box__body .line-block,.topic-box__body p{font-size:18px;line-height:26px}.topic-box__anchor{font-size:20px;line-height:26px}.topic-box .topic-box__icon img{display:inline-block}.topic-box--product .card{padding:20px}.topic-box--product .card .topic-box__title{font-size:18px;line-height:24px}.topic-box--product .card .topic-box__body .line-block,.topic-box--product .card .topic-box__body p{font-size:14px}.topic-box--product .card .topic-box__icon img{max-height:111px}.landing .topics-grid--products{margin-bottom:40px}} \ No newline at end of file diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 00000000000..e1bfd708b7f --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,358 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + this.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + var url = new URL(window.location); + url.searchParams.delete('highlight'); + window.history.replaceState({}, '', url); + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar : function() { + $('input[name=q]').first().focus(); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + return; + + $(document).keydown(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box, textarea, dropdown or button + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' + && activeElementType !== 'BUTTON') { + if (event.altKey || event.ctrlKey || event.metaKey) + return; + + if (!event.shiftKey) { + switch (event.key) { + case 'ArrowLeft': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + break; + case 'ArrowRight': + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) + break; + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + break; + case 'Escape': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.hideSearchWords(); + return false; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case '/': + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) + break; + Documentation.focusSearchBar(); + return false; + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 00000000000..724e3825774 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,14 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '', + LANGUAGE: 'None', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/file.png b/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/img/banner-background.svg b/_static/img/banner-background.svg new file mode 100644 index 00000000000..f8520d5b3e4 --- /dev/null +++ b/_static/img/banner-background.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_static/img/favicon-228x228.png b/_static/img/favicon-228x228.png new file mode 100644 index 0000000000000000000000000000000000000000..f30770c7edd4c0c8356c8f3c2ce60d84c395f9c7 GIT binary patch literal 4428 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 literal 0 HcmV?d00001 diff --git a/_static/img/favicon-32x32.png b/_static/img/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..aae1708f26fc93bd9b9e40284a4376a0e41f0494 GIT binary patch literal 837 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10qB_7Q#1%+e>xNqCh5|_t zGKc_@HWu;D2~9wTV{o~HZ=q*yubpE$L=BMZ-Mcby)2Wc7w?a?d58i(@VAUay>RI6z zp9bwXA9nunvb2athiah++x|x-ey3NdwQMqSUB14g?3w9~1u}nE7wzJ(aG9FkUgPBu z6ej3@WxA~3GgE^*Tl)K|TjKs|Z)Cdr<*>n*^B1)*nukA7a!tSNY;NlRhGAyDLkLsc zJO0Zid*!AopSkuX_Qci$27bZcP52T%vRepWTH|2v_xQp66_fc3TK!uqXFXFdXK;*W zeQCNy_p_*(!bUxleBM}lFZPb#Y0Z06ZeL%0FyxifpM2x! zQqN^u6{NCv-t3)weP!vs5U*kz`#ro5=J2c&S|Sl0H+kph zNZmh2R*>;5!~2>T^>Z6najoJC6zvf^bnfks`okQmFWMgIcy6jLaxNFCHLCa0bqLSi z_>Bh`k*X!G5hW>!C8<`)MX5lF!N|bKP}jg**T5pgz|zXp(8|mdKI;Vst0JRQDYXATM literal 0 HcmV?d00001 diff --git a/_static/img/favicon.ico b/_static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c7484f082f4dd44edbb9bccb87391e6fae208cd GIT binary patch literal 1150 zcmaizJ4gdT5QZlxSl9#v>y$QvwH7&oCW;S4jJ6?-k|?nWYUP!_Km@f@I}tk2UcB zP3WLEc>CrgsM*uK0lkm-W{g6?k*kY z-PJfx5Bb=v1$rkh?<#*i$#1WDE|;D;pUrXkabMShGdc4^FT6TS3woWq2=n{f3uDa3 zrf^0+O&)XUVdoo*JkWzf4rML$v~a(sS=`VA@R7hEzm_k5@YQ!){bZBRet;;dPM!+w6lJ2q1FIruC9NrA9`V7aRz*U(m&lh)kE~p+#5RRoqRP% zNZy0Vh+nNcWU}HTFTM@@C-S|+!bjZP_qK*e=AnzIGK;CNXChlAmnm^D#X6!7=ZqzD literal 0 HcmV?d00001 diff --git a/_static/img/icons/icon-about-team.svg b/_static/img/icons/icon-about-team.svg new file mode 100644 index 00000000000..5448c7f007b --- /dev/null +++ b/_static/img/icons/icon-about-team.svg @@ -0,0 +1 @@ +icon-about-team diff --git a/_static/img/icons/icon-about-us-m.svg b/_static/img/icons/icon-about-us-m.svg new file mode 100644 index 00000000000..09107d9520a --- /dev/null +++ b/_static/img/icons/icon-about-us-m.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-about-us.svg b/_static/img/icons/icon-about-us.svg new file mode 100644 index 00000000000..1b1fcc83e30 --- /dev/null +++ b/_static/img/icons/icon-about-us.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-alternator.svg b/_static/img/icons/icon-alternator.svg new file mode 100644 index 00000000000..7c2b4ebae0d --- /dev/null +++ b/_static/img/icons/icon-alternator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-apps.svg b/_static/img/icons/icon-apps.svg new file mode 100644 index 00000000000..7e93612026b --- /dev/null +++ b/_static/img/icons/icon-apps.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-architecture.svg b/_static/img/icons/icon-architecture.svg new file mode 100644 index 00000000000..67ebbc2f38c --- /dev/null +++ b/_static/img/icons/icon-architecture.svg @@ -0,0 +1 @@ +icon-architecture diff --git a/_static/img/icons/icon-benchmarks.svg b/_static/img/icons/icon-benchmarks.svg new file mode 100644 index 00000000000..e1ce2c1d784 --- /dev/null +++ b/_static/img/icons/icon-benchmarks.svg @@ -0,0 +1 @@ +icon-benchmarks diff --git a/_static/img/icons/icon-blog.svg b/_static/img/icons/icon-blog.svg new file mode 100644 index 00000000000..f4096cbf111 --- /dev/null +++ b/_static/img/icons/icon-blog.svg @@ -0,0 +1 @@ +icon-blog2 diff --git a/_static/img/icons/icon-careers.svg b/_static/img/icons/icon-careers.svg new file mode 100644 index 00000000000..2a7c6ea0b74 --- /dev/null +++ b/_static/img/icons/icon-careers.svg @@ -0,0 +1 @@ +icon-careers diff --git a/_static/img/icons/icon-chevron-left.svg b/_static/img/icons/icon-chevron-left.svg new file mode 100644 index 00000000000..3afa25c4812 --- /dev/null +++ b/_static/img/icons/icon-chevron-left.svg @@ -0,0 +1,3 @@ + + + diff --git a/_static/img/icons/icon-chevron-right.svg b/_static/img/icons/icon-chevron-right.svg new file mode 100644 index 00000000000..44eb829cdcb --- /dev/null +++ b/_static/img/icons/icon-chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/_static/img/icons/icon-circe.svg b/_static/img/icons/icon-circe.svg new file mode 100644 index 00000000000..875e4216707 --- /dev/null +++ b/_static/img/icons/icon-circe.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-clock.svg b/_static/img/icons/icon-clock.svg new file mode 100644 index 00000000000..8c924698089 --- /dev/null +++ b/_static/img/icons/icon-clock.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-close.svg b/_static/img/icons/icon-close.svg new file mode 100644 index 00000000000..d1162b73e73 --- /dev/null +++ b/_static/img/icons/icon-close.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/_static/img/icons/icon-cloud-docs.svg b/_static/img/icons/icon-cloud-docs.svg new file mode 100644 index 00000000000..a9069bb6e5c --- /dev/null +++ b/_static/img/icons/icon-cloud-docs.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-cloud.svg b/_static/img/icons/icon-cloud.svg new file mode 100644 index 00000000000..cfb2318daef --- /dev/null +++ b/_static/img/icons/icon-cloud.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-comparison.svg b/_static/img/icons/icon-comparison.svg new file mode 100644 index 00000000000..49d809a5df4 --- /dev/null +++ b/_static/img/icons/icon-comparison.svg @@ -0,0 +1 @@ +icon-comparison diff --git a/_static/img/icons/icon-contact-us.svg b/_static/img/icons/icon-contact-us.svg new file mode 100644 index 00000000000..9df3145dd21 --- /dev/null +++ b/_static/img/icons/icon-contact-us.svg @@ -0,0 +1 @@ +icon-contact-us diff --git a/_static/img/icons/icon-developers-blog.svg b/_static/img/icons/icon-developers-blog.svg new file mode 100644 index 00000000000..ee804197a0b --- /dev/null +++ b/_static/img/icons/icon-developers-blog.svg @@ -0,0 +1 @@ +icon-developers-blog diff --git a/_static/img/icons/icon-docs.svg b/_static/img/icons/icon-docs.svg new file mode 100644 index 00000000000..5501492f3e0 --- /dev/null +++ b/_static/img/icons/icon-docs.svg @@ -0,0 +1 @@ +icon-docs diff --git a/_static/img/icons/icon-enterprise-m.svg b/_static/img/icons/icon-enterprise-m.svg new file mode 100644 index 00000000000..97be900b501 --- /dev/null +++ b/_static/img/icons/icon-enterprise-m.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/img/icons/icon-enterprise.svg b/_static/img/icons/icon-enterprise.svg new file mode 100644 index 00000000000..ee1ac26283d --- /dev/null +++ b/_static/img/icons/icon-enterprise.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-events.svg b/_static/img/icons/icon-events.svg new file mode 100644 index 00000000000..ba5f2118644 --- /dev/null +++ b/_static/img/icons/icon-events.svg @@ -0,0 +1 @@ +icon-events diff --git a/_static/img/icons/icon-exclamation.svg b/_static/img/icons/icon-exclamation.svg new file mode 100644 index 00000000000..a7eb4b77a42 --- /dev/null +++ b/_static/img/icons/icon-exclamation.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_static/img/icons/icon-expand.svg b/_static/img/icons/icon-expand.svg new file mode 100644 index 00000000000..38065653675 --- /dev/null +++ b/_static/img/icons/icon-expand.svg @@ -0,0 +1,50 @@ + + + + + + + + + diff --git a/_static/img/icons/icon-forum.svg b/_static/img/icons/icon-forum.svg new file mode 100644 index 00000000000..37a709f7a8f --- /dev/null +++ b/_static/img/icons/icon-forum.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-getting-started.svg b/_static/img/icons/icon-getting-started.svg new file mode 100644 index 00000000000..702500be409 --- /dev/null +++ b/_static/img/icons/icon-getting-started.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-glossary.svg b/_static/img/icons/icon-glossary.svg new file mode 100644 index 00000000000..e8329c2afee --- /dev/null +++ b/_static/img/icons/icon-glossary.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-home.svg b/_static/img/icons/icon-home.svg new file mode 100644 index 00000000000..f0b9c25419c --- /dev/null +++ b/_static/img/icons/icon-home.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-infoworld.svg b/_static/img/icons/icon-infoworld.svg new file mode 100644 index 00000000000..906e87279c2 --- /dev/null +++ b/_static/img/icons/icon-infoworld.svg @@ -0,0 +1 @@ +icon-infoworld diff --git a/_static/img/icons/icon-integrations.svg b/_static/img/icons/icon-integrations.svg new file mode 100644 index 00000000000..1ef0920d49e --- /dev/null +++ b/_static/img/icons/icon-integrations.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-knowledge-base.svg b/_static/img/icons/icon-knowledge-base.svg new file mode 100644 index 00000000000..884451270d2 --- /dev/null +++ b/_static/img/icons/icon-knowledge-base.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-less.svg b/_static/img/icons/icon-less.svg new file mode 100644 index 00000000000..3094127decf --- /dev/null +++ b/_static/img/icons/icon-less.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/_static/img/icons/icon-live-test.svg b/_static/img/icons/icon-live-test.svg new file mode 100644 index 00000000000..dcb5916c264 --- /dev/null +++ b/_static/img/icons/icon-live-test.svg @@ -0,0 +1 @@ +icon-live-test diff --git a/_static/img/icons/icon-mail-list.svg b/_static/img/icons/icon-mail-list.svg new file mode 100644 index 00000000000..0e6192a352c --- /dev/null +++ b/_static/img/icons/icon-mail-list.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-manager.svg b/_static/img/icons/icon-manager.svg new file mode 100644 index 00000000000..02b4e425beb --- /dev/null +++ b/_static/img/icons/icon-manager.svg @@ -0,0 +1 @@ +icon-manager diff --git a/_static/img/icons/icon-memory-management.svg b/_static/img/icons/icon-memory-management.svg new file mode 100644 index 00000000000..e34eb4504f7 --- /dev/null +++ b/_static/img/icons/icon-memory-management.svg @@ -0,0 +1 @@ +icon-memory-management diff --git a/_static/img/icons/icon-modeling.svg b/_static/img/icons/icon-modeling.svg new file mode 100644 index 00000000000..97fa3a0e213 --- /dev/null +++ b/_static/img/icons/icon-modeling.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-monitoring.svg b/_static/img/icons/icon-monitoring.svg new file mode 100644 index 00000000000..80b3787f668 --- /dev/null +++ b/_static/img/icons/icon-monitoring.svg @@ -0,0 +1 @@ +icon-monitoring diff --git a/_static/img/icons/icon-networking.svg b/_static/img/icons/icon-networking.svg new file mode 100644 index 00000000000..40a3fd5f6f1 --- /dev/null +++ b/_static/img/icons/icon-networking.svg @@ -0,0 +1 @@ +icon-networking diff --git a/_static/img/icons/icon-news.svg b/_static/img/icons/icon-news.svg new file mode 100644 index 00000000000..a952b59937d --- /dev/null +++ b/_static/img/icons/icon-news.svg @@ -0,0 +1 @@ +icon-news diff --git a/_static/img/icons/icon-newsletter.svg b/_static/img/icons/icon-newsletter.svg new file mode 100644 index 00000000000..5b8d47eb157 --- /dev/null +++ b/_static/img/icons/icon-newsletter.svg @@ -0,0 +1 @@ +icon-newsletter diff --git a/_static/img/icons/icon-nsql-guides.svg b/_static/img/icons/icon-nsql-guides.svg new file mode 100644 index 00000000000..60ebab37953 --- /dev/null +++ b/_static/img/icons/icon-nsql-guides.svg @@ -0,0 +1 @@ +icon-nsql-guides diff --git a/_static/img/icons/icon-open-source.svg b/_static/img/icons/icon-open-source.svg new file mode 100644 index 00000000000..98c2ea7d5bf --- /dev/null +++ b/_static/img/icons/icon-open-source.svg @@ -0,0 +1 @@ +icon-open-source diff --git a/_static/img/icons/icon-operator.svg b/_static/img/icons/icon-operator.svg new file mode 100644 index 00000000000..bb7d8d3ea86 --- /dev/null +++ b/_static/img/icons/icon-operator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-overview.svg b/_static/img/icons/icon-overview.svg new file mode 100644 index 00000000000..515c1528a2a --- /dev/null +++ b/_static/img/icons/icon-overview.svg @@ -0,0 +1 @@ +icon-overview diff --git a/_static/img/icons/icon-partners.svg b/_static/img/icons/icon-partners.svg new file mode 100644 index 00000000000..d0146fc4972 --- /dev/null +++ b/_static/img/icons/icon-partners.svg @@ -0,0 +1 @@ +icon-partners diff --git a/_static/img/icons/icon-plus.svg b/_static/img/icons/icon-plus.svg new file mode 100644 index 00000000000..5757435085a --- /dev/null +++ b/_static/img/icons/icon-plus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/_static/img/icons/icon-pricing.svg b/_static/img/icons/icon-pricing.svg new file mode 100644 index 00000000000..74b01db1684 --- /dev/null +++ b/_static/img/icons/icon-pricing.svg @@ -0,0 +1 @@ +icon-pricing$ diff --git a/_static/img/icons/icon-release-notes.svg b/_static/img/icons/icon-release-notes.svg new file mode 100644 index 00000000000..80c490c7b01 --- /dev/null +++ b/_static/img/icons/icon-release-notes.svg @@ -0,0 +1 @@ +icon-release-notes diff --git a/_static/img/icons/icon-resource-center.svg b/_static/img/icons/icon-resource-center.svg new file mode 100644 index 00000000000..6e3ab08e792 --- /dev/null +++ b/_static/img/icons/icon-resource-center.svg @@ -0,0 +1 @@ +icon-ressource-center diff --git a/_static/img/icons/icon-roadmap.svg b/_static/img/icons/icon-roadmap.svg new file mode 100644 index 00000000000..c8cbf67c8cf --- /dev/null +++ b/_static/img/icons/icon-roadmap.svg @@ -0,0 +1 @@ +icon-roadmap-4 diff --git a/_static/img/icons/icon-search.svg b/_static/img/icons/icon-search.svg new file mode 100644 index 00000000000..81aae93eef6 --- /dev/null +++ b/_static/img/icons/icon-search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/img/icons/icon-slack.svg b/_static/img/icons/icon-slack.svg new file mode 100644 index 00000000000..fc164ea1e77 --- /dev/null +++ b/_static/img/icons/icon-slack.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-stack-overflow.svg b/_static/img/icons/icon-stack-overflow.svg new file mode 100644 index 00000000000..bebe9b82742 --- /dev/null +++ b/_static/img/icons/icon-stack-overflow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/img/icons/icon-summit.svg b/_static/img/icons/icon-summit.svg new file mode 100644 index 00000000000..4b900bd0c0a --- /dev/null +++ b/_static/img/icons/icon-summit.svg @@ -0,0 +1 @@ + diff --git a/_static/img/icons/icon-support.svg b/_static/img/icons/icon-support.svg new file mode 100644 index 00000000000..a4228b34e86 --- /dev/null +++ b/_static/img/icons/icon-support.svg @@ -0,0 +1 @@ +icon-support diff --git a/_static/img/icons/icon-tech-talks.svg b/_static/img/icons/icon-tech-talks.svg new file mode 100644 index 00000000000..df42b5522ba --- /dev/null +++ b/_static/img/icons/icon-tech-talks.svg @@ -0,0 +1 @@ +icon-tech-talks diff --git a/_static/img/icons/icon-testing.svg b/_static/img/icons/icon-testing.svg new file mode 100644 index 00000000000..2fe54efdbc3 --- /dev/null +++ b/_static/img/icons/icon-testing.svg @@ -0,0 +1 @@ +icon-testing diff --git a/_static/img/icons/icon-thumbs-down.svg b/_static/img/icons/icon-thumbs-down.svg new file mode 100644 index 00000000000..3e7bcd6d905 --- /dev/null +++ b/_static/img/icons/icon-thumbs-down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-thumbs-up.svg b/_static/img/icons/icon-thumbs-up.svg new file mode 100644 index 00000000000..226c44d853c --- /dev/null +++ b/_static/img/icons/icon-thumbs-up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/_static/img/icons/icon-tip.svg b/_static/img/icons/icon-tip.svg new file mode 100644 index 00000000000..bf7aa6af840 --- /dev/null +++ b/_static/img/icons/icon-tip.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/_static/img/icons/icon-training.svg b/_static/img/icons/icon-training.svg new file mode 100644 index 00000000000..08b95a88eda --- /dev/null +++ b/_static/img/icons/icon-training.svg @@ -0,0 +1 @@ +icon-training diff --git a/_static/img/icons/icon-triangle-down.svg b/_static/img/icons/icon-triangle-down.svg new file mode 100644 index 00000000000..e8ae088106f --- /dev/null +++ b/_static/img/icons/icon-triangle-down.svg @@ -0,0 +1,3 @@ + + + diff --git a/_static/img/icons/icon-university.svg b/_static/img/icons/icon-university.svg new file mode 100644 index 00000000000..f7547ab9599 --- /dev/null +++ b/_static/img/icons/icon-university.svg @@ -0,0 +1 @@ +icon-university diff --git a/_static/img/icons/icon-users-blog.svg b/_static/img/icons/icon-users-blog.svg new file mode 100644 index 00000000000..47e56cddcf7 --- /dev/null +++ b/_static/img/icons/icon-users-blog.svg @@ -0,0 +1 @@ +icon-users-blog diff --git a/_static/img/icons/icon-warning.svg b/_static/img/icons/icon-warning.svg new file mode 100644 index 00000000000..e4b1d40331b --- /dev/null +++ b/_static/img/icons/icon-warning.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_static/img/icons/icon-webinars.svg b/_static/img/icons/icon-webinars.svg new file mode 100644 index 00000000000..5e9f5cd4270 --- /dev/null +++ b/_static/img/icons/icon-webinars.svg @@ -0,0 +1 @@ +icon-webinars diff --git a/_static/img/icons/icon-whitepapers.svg b/_static/img/icons/icon-whitepapers.svg new file mode 100644 index 00000000000..3351e51d23c --- /dev/null +++ b/_static/img/icons/icon-whitepapers.svg @@ -0,0 +1 @@ +icon-whitepapers diff --git a/_static/img/icons/icon-workshop.svg b/_static/img/icons/icon-workshop.svg new file mode 100644 index 00000000000..5206e58e986 --- /dev/null +++ b/_static/img/icons/icon-workshop.svg @@ -0,0 +1 @@ + diff --git a/_static/img/logo-docs.svg b/_static/img/logo-docs.svg new file mode 100644 index 00000000000..4fff669cb6f --- /dev/null +++ b/_static/img/logo-docs.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/img/logo-scylla-horizontal-RGB.svg b/_static/img/logo-scylla-horizontal-RGB.svg new file mode 100644 index 00000000000..b5022d7c4dc --- /dev/null +++ b/_static/img/logo-scylla-horizontal-RGB.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/img/mascots/404.jpg b/_static/img/mascots/404.jpg new file mode 100644 index 0000000000000000000000000000000000000000..769fa0889f8b33a7edfa1b6903e9bb33bd27da3a GIT binary patch literal 29400 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 *o#A4Bm2Pwzp|eK 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

AsHsQZ?@8G~>-T9LgVg?Qm;9iIbZON|N- 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-advisor-crystal.png b/_static/img/mascots/scylla-advisor-crystal.png new file mode 100644 index 0000000000000000000000000000000000000000..d33fddd62f0900fceaf8bc7785aad0dd6badf111 GIT binary patch literal 67593 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 HdEoy8fIc?4 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-alternator.svg b/_static/img/mascots/scylla-alternator.svg new file mode 100644 index 00000000000..0462f893d5f --- /dev/null +++ b/_static/img/mascots/scylla-alternator.svg @@ -0,0 +1 @@ +scylla-alternator diff --git a/_static/img/mascots/scylla-cloud.svg b/_static/img/mascots/scylla-cloud.svg new file mode 100644 index 00000000000..a6c6a26fc99 --- /dev/null +++ b/_static/img/mascots/scylla-cloud.svg @@ -0,0 +1 @@ +scylla-cloud diff --git a/_static/img/mascots/scylla-computer-3-monsters.png b/_static/img/mascots/scylla-computer-3-monsters.png new file mode 100644 index 0000000000000000000000000000000000000000..d0368a7027b1ee216abf8d8a1a83cb13dcf732c7 GIT binary patch literal 44539 zcmd>l^;er+uyt`OPH_$H#WlDVx8m+@p_Bkci(7Elphb$7qAkVUU5Yyt4bGSMe)qq) zKO|Y}S?kG}nKNt7o;~|SYpN?^W0GUOdGiKaSxHX&%^Re{H*XM<&{5$}rW5JR;Xh;` zc>|D+yB)~a(#!UZw2ix!Ev>SvrM<1Tt)-2h=a8-Vn>RIi%5u`WpO;TMu~YTt0$&5= z>`1k2KI0=GsW$1dCBMb2#FFplFbrZ${E&@U+xy~IuV!WO&P1cgAO*4JBc>^~jr96F zz08s1I|rj)=4`I#0qIoc`!L>lDOq&8By>VjGet{_N%4LEGoVM-l79ir`&MHA(Q-|| z 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-computer-headset.png b/_static/img/mascots/scylla-computer-headset.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdadaa2167503eaedfd33ca50de93801b46b4d8 GIT binary patch literal 22297 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

k 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 diff --git a/_static/img/mascots/scylla-drivers.svg b/_static/img/mascots/scylla-drivers.svg new file mode 100644 index 00000000000..6012e71679b --- /dev/null +++ b/_static/img/mascots/scylla-drivers.svg @@ -0,0 +1 @@ +scylla-manager diff --git a/_static/img/mascots/scylla-enterprise.svg b/_static/img/mascots/scylla-enterprise.svg new file mode 100644 index 00000000000..a1aa0b46ac1 --- /dev/null +++ b/_static/img/mascots/scylla-enterprise.svg @@ -0,0 +1 @@ +scylla-enterprise diff --git a/_static/img/mascots/scylla-forklift-boxes.png b/_static/img/mascots/scylla-forklift-boxes.png new file mode 100644 index 0000000000000000000000000000000000000000..f64c29e6c7c37c8d30c704311ef9269553e87e81 GIT binary patch literal 29196 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 QE6QPBsOhT0m0w5vAK^}|lK=n! literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-forklift-migration.png b/_static/img/mascots/scylla-forklift-migration.png new file mode 100644 index 0000000000000000000000000000000000000000..d2f645c645adae7e881e0cb9cc099ec7a80faa34 GIT binary patch literal 24191 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-gear.png b/_static/img/mascots/scylla-gear.png new file mode 100644 index 0000000000000000000000000000000000000000..0f53b26afa5a7e94e2e87b8baa568dd6c7dfb2da GIT binary patch literal 64841 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-hardhat.png b/_static/img/mascots/scylla-hardhat.png new file mode 100644 index 0000000000000000000000000000000000000000..630f2d909427ebd1cf94b141b405c30e8a84f6ce GIT binary patch literal 20163 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-headband.png b/_static/img/mascots/scylla-headband.png new file mode 100644 index 0000000000000000000000000000000000000000..c87abe684d5b67e5972edef5ad41990dcb2a6686 GIT binary patch literal 40533 zcmdRVg;!Kx^zRJa9ZC+RLkj{@!Vm)k0@7Vl(%m^U3^gDPD%~MScSwc3u}my)2r9kn%1wZ{M<&YB|)IK=SuQ2+P(|FItf#? z&)y!kQ~P;gitx+iB65Z`UnL_ja&vq`=Tsgk&k?1>E;ov9#P}yF49V+LW>Ur;Qytzi=y^u#JRw~D2q!Qip6B$v@S+CMfZ z{I7NEsJ;=kviQK%aN%w!Lxk68kQ)bthX(>7nOP@iVkHAB-kJ+h@7Oidrp+E$m5SYV zs+$`6W`IB#7$A^(r~W`PDtWEAZYd;u&tTS@m&LDmDMU^i1OkIWNKHHixg3>T0~Tsp z4^P3u*7f?v_19R~ATofP!*8tyI5kumvVPQai9VE(QTv}IDsZ_Jf%=0s0nscz>_J70 z`nrR9;oFA-U=S7-2;>N7OD8mWDI=7JBM@8g$nzBAzn|Mu5=6a}=T#Y~5i!b~-(yn$ zqfTAwyR9Q7krifrddjSmW__|81`-JZ!Q3JW%VkA9RbLn#CF|6ocV62o{|`mcjstH? zOBzh3w`fk3tyAS?r#`cQVK9JqYaj$6{xDYr)_=!3E&iz-fw>ximZU`2WB>Qff1KgeX1Zu&0R6qE?-_QE;8!ALc^Bqv195&+f!^4>5aNeG*_?vkK>vYePKUaK5 znQJ=VT+tomxG&MmOv?EC#OL(xEMRG=>ElYcvxbnBP9$2$1Mwe$qB`Pqi&o)KMcjcC z2tJyq;jZ;*FO)7V>}2g-XYcV+fb@xnFow45`p)ol!$0hM%13z^m8;uIR3+)g_-K#4 z7@W#P#KDYO51(JIHoLrIeaw-OY7>j_HDDYap6<}P-vwFlLXlw;s%o#pLv;WzBqAqV zvEyg2D;t>S$SYP=cqgOqA1y^}iUYgqY4tK#Y%2qHCTZ@PS$mQ3|M4B^SroP*Ti~Vu zrA?axZ{}+%oO*z@+R)_pvVzb~kq99M)ST^xkoEh4-Ohh2t;eQ4P}?M-f}t8nwkFs0`-#{DU$QWJgE zhN@-M9w!f_W{PP9#2((M&+%EN7l?- zPHxsjaOL6u@!5Ob%`M0C^U0Y2S9Qh99M>J$XfEWN0agmy#(>W$dBR-vC_Q38-;nO8 z=mcRXNo;7MrfCqUOQ~5%b-$SF}n{K?(d!kea zkWsLC^uo2Wd}0JEE9dctrP_saJ`(;o+fBmzQydS-)w?N97;69ilIpIcz{7y@1|cQZ zg?RB}qa%O4=o>SciM_XRbjYzSfn?57s3*uO$sSHpW3XQsU*<4pu_u3T48x_q(Dlg( zPY_I4(0ymHQL5NZ3HDp|zh_5gk~Y{()ammt-^F->Ht>q={B)nn_KM%jmMJcpl_|kM znua=MXkCUy3>GZbVB^Hj`p$FOp2U!iH3skgtr*4q+{9qB+&*@9BnCzE-{(ia?3wrA zWaR(pHW!ndiQ-aGti}u`2$i%4XJ=(9vSnetmvt&!Qi$rq-KG|z4g)HXLOP3L2y}Cr zS$Jkio<)fQbe-$|Ep~1uRhcN0>UG=bsj5t667)X{)8t4V5z3Tr^6IF$YiXk_FKsIw z*gVhuekc4)6$cNFHpgPUVY|r?ZN3_bl&EoeR_@*p#f3Ax4^{IO>_NTyD#ce-Mf3K9qtS*}Er4n}dm1 z#$mwHdm+S#Jh5$rvha#T+(5=u{p#h9ta42{E;!pyI_%+exD)GCU;e!{trniRz4rBT z@U=tyIsC-y$-!J?5X!Huz-|#*mP%ZNVGo$BER7rVUQ)Kyq{RlDOBDiNy6H)YwCPQd zRhz7drrOFlus)&a42N>kdwNHCm}r}06}1-D^ZVTQBzhXnJ-vz10u<;$iWGGP5qHsh zjTDSgeB{N1@}5wjO<|=$iH7AnU}3r=JbGYq_o}#h0$4zTf06Ds%dz@Ec%S=+r~3gFLV{F*pCkhl!! zUNNO*5S=P4a|zdx*=I<$8OH-S(1UwyOJq1*oo#%_+c@czDaLpVg}AZ*v^9FGU|b1y zmX|F!iX{N#PwMvuX9XRDKrD=nh4w!WTWP#Gf6H4+prWRpeD$`Y42w4gS0~N&`*BNS;0(nu zu2Ejjw!iY~G}zVT?v*y1~zG0XIWF9>EAUbjg7W{j%XfbqKG*B7bEL)GtjT9KY45k4pD@fbQac{ICQWK^ueuoT0_V2yGH z)My=wv#SZJe){5Fu%A8^xzdATE0Y(Y_kM5Ut*;PHBH@=^=QO6YWMY#HmNxQYC1OcB zlS(J2e@{W42?Vpu7j~9Yb_PXO_a`$M9ZGXLSu2__hHqiIWcE^dC?fc{tmQITDZh@W z%VSQ05G2Lck>AyZ-$<#K#KySv?0{FyK& zh1R-ik180qgF%BmGNn}<`4Prr$#B50w46*nXecq}Fg=usuKcZ$QNh-|tPNc&Qz=9Z z0ukWr)V3nK*t3XrPe4EfT+FJWh5kuh?;p|=b-3X$)`*iOj^ZgUw`=Qo=M~ssf~c@t z9d<93ime11$N-lVHWK~DpA?oMq^_54i1Q2wa=u!rdX995cy>asnXC-rLkzu z8l11KU7nF!Lko`*n4RAwcCfUftq|fd&LHHA;O0)gRP?7EI{bS{7@y=1D;5lHrI3s$ zJ|y_U-LAvg$>n0F<0d{^x)2erv<^Z)!k>?{HD6;*xvIQ#k@Q6NY2-xtX@*uI`IrS*fT4~`hU%CCOFugOS2P(~CIN)Z+T zI3YCur7cly`eROJzpC?Lt$8l|Pp=i5CunFv5JZD2|9>ALI7z;UPm=s{j<#hm{wP9w z#*ik=Ky-@){!L8>1o*6HqGMZ-NZeUiGN+ zV=5{Xtls-rc&;%7R6zgpz%xR#nyyRyd0CDS`EFVAC?2kz4hXcYG;ER|@nd9C9*7uE zFCU2C(eR_b{Pb=;Hit25G*=+RXX;SSz>8`ISN~!F7nJa!Gsi&=-=Ocm6_}St#nZF- z!VaD3Byf?gqg|g^cM!;`hd<;gJ0QOV1Rfw~IGPkLRln!C>ETb^$N&N%?$fGaMes)d z>)jY!@KhZ^UZ5?`;Gx5VuxC|k(2oHp+$=w3@xKq>ZvlZ{BHF*yY zeizWtP=emodzc-XzkX4xcE>9ubKSGX#N6rh;-dZ9-}>*j#yWwjwZiwj@2@Uy`68oK z(c=cUCm&XsgKq_L+HLXqGg$8xib_Q)kdXvoPYr8AP?0e0POg2egY9(R)I{0JPiia~ z1TDT!3;sQS-oLZr_IzRJY(@F6K|0KbhaC&BRo3C5=zzZp8YHpNSOc`{GZmr>V9>~) zJ?1OL`LxMcz2KF=FDpfCU;44eevS+g|3g>QgnS+dj<1`mB^-o}`h?N5iYJr@<7D9(gh6gUJeUm3cjAR~D2 zIW`PU-2k#Lk6==%7G6M(Z93~U&?iGK21)_%QWD0#)GRo^=m_cP5#exEgR;c=Mv{{u z>+y$wuFdi=Z}c})aTj5(ZpgmSBrjFvG(oYt9LXrNv(=?qC3mHvBc7B2-VY`c%&_CGC87%g?vS4$iA_ms-wN*hE2K2#2aos#WO~O zmyh+zg0Hr{fmOa1BkBn_t^U$6$ZP zlYxN<9y7-h)BSSp^D|y_GvC}(>3(vC{fGAbGG*YaAMFTSs;Cy-!XP^8mN(&vR%`!T zr3Y;^y}dba*s=Yn_=9gg1k6e|ZH1xMXvwtVgg^ zosqupMd3k^7YFmz`Ww%(LLFV`=UZ$gT*{GrWIZ_{?u^1=-1uD#q9KFers_`Do6EXb zQ^lgrj{hlqK*XZ!-{z}c>3{z$MMy&*0ww}u!ID3D^?bjO?J{QD8!$mH8#CpU#IFkN zde;<$#h4KKU@cCvI&*CWW-@~20gcr0nmBeg6l$ieJgp~BcHs{z1k{?IB)@R5M;N^G z&q(c`QM>u!oujp@?@h^P*>leiVUk*$bloe<8A25#QXX8jmifctgZLF}iKzpc1$fHK zg^wE*6tqb#4C3GcrdU{zj1vKg4*!Y2!KZ`#mlGKwb9TBF`iqM)qHEM^~rH< zK;dAoGgHU^omV$z=NLL~7*+E0+kg8bR*8pA`SQRKlLt5(!EO>EM^Tm!G2oeLFIxmV z4Bw>&+A6oQG8qIa4RGpGknV~1_;6{J&s;Tqek#IF=~ki5&LIe@x;FGy=zIE%>M{6&-~g%1m-u4RH*N)y_bnhLNE`zrcSD z$60Z5KI(3Am!vdDY@*{ZG8G)qo zf(xSD-X`dh)ZX|ZiBETxHib~>6aE@h<{)aLK(Ina2s5x$6XAKRgy1S`*E{{ZqLSWm!5ZXTZ7PEH%zoa6{fjntQ4Pp!`VC_sgF>!`rP zLz154wl{ zWYvg-o=k51wA4yv%U+am!i6xzjzwvf`M(Po$6o^>7u2mb5JsNtuRkI(QxlOOE3W_i z!^LT)xC0yy=?b9-brqaeg*(hC$fjUEoUD0=ntFCJ3ZzqZV~Sd<8cRSC-sS(jY4tvM zYLnpM)`OApEyZHCyvmOUfkYCaD%DYb4f#Sa#rj+G?8JqhfQ4aCQiqdn#u0Q8J@t_! zQm~+noYX<#9SOFTcr67$aXQk<^gQ2L7v+n#!LEt?nbrio&j6JKEhb}(Rxx0~>R*QQ zY3KcCm!ECasLTG|m<8O0@tC5`AE{JB;hU7Vo*ywDYm?l@E&kl1hCgHdE_!a|iJ8YO zp0mgJ^3Iw6?)?nKon6^A`2KGHTFDws^xZ}Bxl`7)_oJ0P~sbWn4>>IlIImPkNCPcPLwqcv;! z)U+g1Z8(lW2#jJKxG;klAH)25b*C$=HP%`-1E`$eU3@~#uu^@ zaRTl+7cXY2#)gdv{dm2hA|piNNwXJ&o48IO%V1<=$p-7Ys-R!hJ|`k_1r_I##1x+= z1Ag|5&Kk_1{wLx9NhO36P%KT`);M1n#ekg-zl-y*HKSt34vL?rV^mf0xlu-;Q*weJ z#j}^N0f&IYj=PU(c0Lmp2o`|xF@exCWiRH07~BiQ^5Re3Q5=cRyhsZk2C;|A8Tf8i zAHKf+#JZ=`QA$OwQH>xtd>lmuxT{#a;gh31YpS7!n-;m*W0*a(?!g8$t?)2uU}6RQQP`B2-XQ+KzRpsh*O2PX@^A*e+cK4~&5&!NK$gp7};6 zbek~Iyr=7kXvIJD=;RbOu&#f4;qang!xm76*i)nBwQ8mOmTy-b%={%T2EIp&woI`2 zCAdQvCa6cd^>~MFU6U1y*o@dA6v+UJQ~uB{8p~=W>79yUJSRdC_(Doj2_(Np59NuF zEc=5@9JWji=hIOqP9cViYyO5|=@j^r$HvsGvE!H8R1;utXx^vn>Is4Db7y-Vg+^iB zH~Z3PXY9wrmP1@^2e3x6gJEXz?&}~o0u6E>R>8-qXgGrgP!vdj>zG6lGnibHJc&S} z?#j;OmpPUXj}hN};sUCGH!|W1M~YLC7BF5GOQoX0W?i`+U9x2>Ms1S*E=GB3`ajFC z0dr_eNs0@f+ldyaIKEiyb}pGK9MD!{zMI{OGL{#+3by&h`B4;9K}~u%_ zbG`NC^DM@jt9jf)K1a#pL${xbJ{JLne6~ba#AQjr%g5t2=GRS2jJL~CXE`tbb!?t( zt@hl8#~{GyK!hw$7L)Subf7z(9Un^KqokzSS-svoO8?tgd)~=M zBZOOBu21wBuqw4-Mazk7f9siR?J1T^$U()o4c^8I!9E#7>Th|BtLepKoiwB)kpr@m z1WJmpCy7?nXXFLzEf;GLDk4<@U-rMI3M$G|AO_pGsn8Oa@&JD=z;)S|ZbKn~PxpMW zvH$grOgbj|uIdAIMbm}h&-~%2h@bz|MLwxMU{q2}Rxh&ZZ~M}lGkNClwj_{+bvMoz z<9{jp^*Y$LzE#{*#!cORwsv7pEbzBsu~3C*wX#X&jxnZE{%>gtQm@7nB~hx`iL;}l z6>AGcD1?F>{vwbfMbP_;GK4zrI|K-!?2r&VqSwLd=Nb$rf@J7*H`jzBIl`){#a*rn zx50)ISp`wYST=SCQ~hoDXgYflkd-NG7?u37nEw~q^hX8?sCeGS$txY-+aunb^6TM! z)_p|Ms$LE*PHn{0n#XgXy%4kQPPPfsE9;W;Vlp5h%k}&oVSZ9fS+L)L8t}L?Xu321 zuyyIx83;K+ye^PKK>1d<>j8_M+C#A<0-DYuP&W> zKaVxJK|JI)sodZ1i>(`y6fmH1@QIC{DoiF+zE*>a6R@&feWvsL8Q9?s zx31hqXesDQeiXkLd|FwMTHT;wn9c{MIcNNM*d*qYiB3eq@HhMI*Tu^9g5N}6G8`Kx zicW#ikM^7!&!boU zy(#LjnoXdPh52F0o785jIKS9Sdk-yE?#rj*HY=7h>pOe%NH7Ca&`hY z;ApkcB@V@7boEDD!j4*uE~Uqj3@#%A_}9S<03Xv>TzZ9>ghRS=LT6Gd`G&+SZkU^J zI7^DefNjn9yjM{x&L8?^uPvtrz#3PXE6Dx!-s=_3!7Ixq(O3jic4Ki!m=e}N%fauy zyMGEtBY*ySkUeGnZM^A0E{46a$`&2c$@%TP|FKrAzpYyIK)6t4VBUAu3Q7ZV)2Tcl zi7&HuNk-&BZl=^_b<-|`Vvw-OO-o(hvz8Gj;ay|Oui#zVm$`;;u-Jt{He(H0Qefe$ z=%nZMJk;cqTc20O=4l^s<-%mHKB>b#0SwdEF^^&LD$twS1R^^u&^AGVuI@H*UFnjr~yG{CL$_iUir7bwMzJYxnD*_T|DsJWG@Uh%#HFcqfZ)3S9hLO`d)B)0Yf{X1(oQYCw5fv^FyGtFe$lJ^ruMtjFM47z z*y$vDVtIH7@rEO}H1}fhq|5UkpBa);*e=l#2nFLHre}d({_4-{ES!@xFr54jfpDV+ zg#J5>0?O~uDrr>8sJsb$D(Cokmiqb-davsuo4*>8WxzdF1j6t1>Vy9!8Q@K%dlzLZp z;-Q<+0NhabW+S$@hu&u6q$RNBwabT~ze^%M8f{Pj!GKeez3ow$B#k23G813FWKgb? z70a z-1uE5n!DHp%>E^Ndmi4%qC``+tsxr|27#zET|%xj$N+=_Xe9%ExRd1Ez_N+J-u2er zGD14Bo>e01vXK3`$k-CAP1XNh0nVZ}eeUeOCjcM7bof2rP-z zLOCkqDNq6-+C$J-yZSQt{` z(hACz>zj4|t{K>qJz-}_*Ffv!BaKnOj@%Ib2tDDDeiC|Lp^H+NE|jNeR4)?reRxPN zX-TFN*H>oBi^VS)ja2}lQ~72*bB>LH;g?PtJ4E=XnOFAIa=UA}m;V_N$?d#LlrJYE z5e` zTZ$Ry<>w&bw(&yGj(>|$(1rXm;N$?FHyX{#OqCN}%Wja%hySo^N5b@L@Cmi>A|ffWf)W8THq6f#noPpwc?jwPL6kd!n=n|&UCs9P z0#Gc6Ve^Oy@CtpSzJIXb_Q*dq8C5LhH+EV zHE2Z?`UU1YK8#;=-Ciu;LT5+j*BY<7{sE%`3Q3d5D39ob?^l0ozR<`0Wr6^LkT2IG ze)Q~A6+k|^7bKr3*ZKQ-gg;A)L*OFmNvaL#8T4D}E|F7|%`s}M6a{$UU6oW$N951> z;PylsR95&vnebd;SI@q4e{9BMB+77$Ymflo9qt15(slo1%GTP;eBUQOG12HZwp&qK zsvYVaojR^OGE62d!pxI| z-mEX-GOKQM2`w>Pg4j0-8~*wFO#o8|9gbfsp)rFv1B`3M>b!pBWW)4;kMZif`n3~O zF0D_E<`40E04Tr3O!e!RP-Z0}I_-toXIo#^^Dro;Mq2;=E>H~r`1|d?NwvlMuki^? zZ`QVZ(lX*Z?bVVEPgo&n`UTY2gf2g6i8hYLxppZv4!xb`71~k=Bk1AL^3-OmXGg&n zaIoJR*>4IG?7!|)rX&G{f~rGL!>z{6J_X=_gKC62*G|74cwY4c<|^~;P9(+^Fm}C+ z!-jGhI_fv9%1h;WQq;e?vDp`6sc6rPXATb@7*;C#gL)Wz|?cRBfdc(vr9d;ak- z`Xx>$&F3?&GkrV#C=AvHatU0Z(kJ~nvfVVeEj7Lu|FHC5ZYnaq#zi&Z zO$0lq2%$#M^O^`i955<0H4B{HL$* z{%ylzdnkm4^dwMh%`V&E^94S)#R_Fy)|_N3MB zxYgyOI6EU3t6oF@d~B@}O7`EMElg&1_wIzC0C949WD?J?UQN^Ywa<}(wi*|4uXVBM z=bUQnL!nBsJ|AEHvR`46rw}}=%`R|2{@v~girdEdSd&fL8KQDr$0Ywz`81Qrw#Dj~ zj$T)T-S=sr=C|y7qx#8(%KzdAyb^h$ZIpH3GWkDJM6@)e zc{1TBiVG+s_d5fpMo5*_mp}UjW8c}LaGHb8UBZCU>CdAuN+Qw~T8d+!Wl$%xUDPEP zH1ePfa6MZdvTr5o3-;fIX3jxVgOio0YL zKq>68e$4Yro@sjIV5R%)L%+DsGg`B;D|qScnZb>v(|4sLx?Jq%s^Y+?g$ritRFNhX-8K6k@>!`A!FpCkLI`I= zp`FB`9HA?I4FCG^H?}dg8MmU)0+#tMDSrJAzBNANkl{r3g+CQrvfH-(pLc@;x09G1 z-c)2=X8{5DBJuba>1;?t2Fc387I1w>GY59? zN_U7-#kz))gV06|^b7|-^nuqW%|gr^MDE_l)6T`~f5eDS%?T%9A zBKPJ_)1gg{e^KPp`C&+3+nF6j*(Z6wyK~-bpdFkG)4WO>bE&J4S)hGa*;Qm=prYV1 zdaVK^2OaRodgh|ng=X)6_L|%Uc0F_QNKV`O= z3oe1)*YVS}sTOICfn{HPy2nbf`hUNrH#vQJGAYamhozLw+x}XW+JnkRV<8ImXMuR8 zkr+S&-OERWC!LUwEZv6BeT3xcmuW4`J}os|QlvODRLc9JR839P`siyd+e**s(^iRA zu42oJ@ReB95=sO*!NKTNs$5{H6HShm!b0{k5sQ7?^)LSWaV0b3i{e{xBPFRovmY;H zfrN5x!0=A?_VQDQ!JJ0jeO2wtche<0cv?c+Y>fg^ccoWvg43>)wCA7g?LPM%KSM-w zjI%-*hjGZsKEN3rg*HCpcm*i8|CS@XbopZXfI53SvPB9TvL!Xo%(y)aq@pqN^Z6K~cH^RIdy@>I zU$Id6w9c|R;hdzDvuk)1)k0I1E?4@&4<@73Y^OTAtVJOnEUdu6u{X*o0z01`BBI&E ze}(C|JS#2!n5ZWY>%lq5t;n3Eid9_rBV}s0g(D%45O6pWL#@~}2N#h@sGWK|? z;|w6?D5nL5g>t6DmmT(;&#)dCvxH+EX zHK=d7+M>aIrVW%-IcM(YT0>zD+sSJ&jK|Mb@*7eDUqnV%PPvVMPpE!)pNC@ssPrcU&}Z zko8Yb|%Oc{2l zaw@7=XozS0nEiuNzbp*&3n7Ft1^5B!sa}GA13KjXdg?JGvljF>6XT9_n7EA){_wy7 zplT0$_BfaI$}cfYzvz{)vEbhdVKX^WKO73(quF71{>A3Eb?6Ro z8-2{Zfu*IfQ&EGJN0(A|b<+#$6W8sN7{V^s;P_UpA*Kl0Y(IEw}HcaEV zRZa7473k3fHep-8&126gYsy?j>4qcI&+1)>J`fi$7?=YczD@gH{MVq$p=4w8Oa|6N zTT&F55~irF6}MJkNp12Wk6Y@;$9b+RxBU)-aps?4F48LG-V+P{5AvRiXrL{PRz@7f z+u+Zteh{$()(ODoVk4`8iX{JyY(I1xh zAtB64htQ&~wZglDc6+T+1_tq1K$XyGNhyKrz&okZOyUd-fs>NBKfDg2X%Tj~#raLimG$;8Br1O)c#iqc7&XQIi z6v4L#0|W*xd{a!iR7)Ty+>c>G9Z$&-nkafyv+dK5pzh9RU9Bi`eSQJ{@yLLm?|r_*C4ObiS@NE`Ukw<0r>8|G5+Ajh~vvp&8M zTC#^><1O|jm#taw7p4ghq3(=$E8}Qkh4h*?Qx@tkqivgiz>Rc?`zv3w{NnwL5vts< z==aUF`OhzMxxy<_JxBfSEb(ZrL~@woeHMpO&(2HlXe&w>%(Fh+hv`$x%=rr3$*mu+ zC=e4nUw!Kt*!(HM%*^nwlpNEyxLxel`rqOzv&dvpCBuAh;9bBA-_SNnv{$VgS)P_7 zYpRIXs}ibK5};_WvQxe+`ejAFAkNRa+e+@{);K~G=Z=p!A5s*=UCj=6_>5Hq%UU3_q9cs}F zkuAf{5sDjG>r4 zI&W%g0q$g(ix*GVL&ipAo4FNq5x92x-a8kw_s*k&vg-@3)aq*3am^Nc^x$^3oy>E& zgC}L=#?A~@$x+sI$9qmx5!B>Xk;kAuA)2<;$7T=by7yK(Eo`Mp9%x6ZUd?X2SR!W9 zzM_V(tm5R%jF1Lj+f*bq#zgK^H9)wf(oU4Van!V#>+}sAjDPpP(AVjHW^HbwQ|@@x zX>T^Yq$s_C4HXlq7B*3p(qlOzz#7Qpb#dH;z%t6*B6d~K4f`&EE3NJEef!r3Gu`q*v3;d2sb7zbh+~Nkb zBe5j)Wgi_@L>8mn$J-k=ox2*%4R)55%K@}`A5tngey5;p=p0bz+v%96m0kRB=@?`x z{iZuTDKq;G0c8Fg5r@#tk0*nkm~->8p1Ou;@e=HvJ&fd2P@nD^;<2E{ODCmLhJQy% zy?a5?tg&S@#rg>~%vNVUXV3C~FdRR*Q6AiGNWpe}nHy#8-o@#jt)QzAzi>>aoHS=# z87T3$Dh5JGr|Mj!>&a)!d|c-E*1@a$z+OsWDyo_OA)>i*IA7gAxGq|Dw%*cEWl!)1 zwSx=u2Z&Okj8oHR3zGbehi4V4fyG`8j!=rl5N2-7_ikw{viM%lno0^c1%U-#{kRYq zXPS=tTKh8+jKH7vFqn)HT0EwyCSwGL@?@r*jNpo`#X23rlkw-v_UB%D|K3JsED4$vmM?U@TwyNklw zPQF{}>&5vw81DWln!f4qmoCf{as@`y;wx#vv@sn7$U7&SEdj{f8EZg?7!h5MhFxi2 z`%xEJ=|pSRG5IYfKoC;DZ*SU#8*i|&*vki%h0(#-XsHrAeLGV227O!>h`O`NVsEj| zotq}jFZuxijU@)J(v%4Hti<9Sf)lV350mk1h@)R&)+slV2g|C@ws5g{2{muQJF~GU z@H!I9&eCeFU)kWP>T$YmD-M>iD8OU*gdpDb&*N!S_KKC1UX@2No(hI}GrbQoH#*2WbRQl`n3H|0# zwBXPNyC?pIB#fzhfCc<`Nkwia^=~;gggc0jCV5FQiH$*BxTHP3#(VBr)#B&46f&UQ zwgG|J=MdV_7C1b&LQ5^IE*{%R&`gz#Y$)()eMrd;B-t%&;DSqd%1GtWd}f0<6HGj- z3Q3^lU>WzGVSPxzR}+;(NT-mw1(TgVL)%e8u&~^d?3nH6G4Zsj!Mk!3rR%6hj0gLh z>D}#~weay3BRP75Cb>`y&)hrF%zTcA>mW2D%2x-s&mOOX7TrKNVT3)vrx|Jsx`?~{ zNBWF#k$AuS4nY7f-$7z;VOacK*3cH_<(ZQ=ZCtlb!&)Xp(2$dXpnN59*m{JEytU8% z6tH7Wl73hV?1z@xX$x-(C+pb&N}2uOd-E6_x?$V>$tf8mK!ujD|ErtU-SMLXA4*H0 zX(fth9>4oYE}K)I#(@bXT_S(RIgm~?HBTgBM@2S=i_SZ!@o}Lei{_8T|GS& zhjke25k-m(UHU5ktp;Ni(HJ+a9>ga`;mxr_fEoBBifQjGzI_5H>}AwQ2KfyrK!xqC zUCFB~1sRq0WLAi}I9MqF!~&wC2j08EY00YT3m_Wiq ztx_!!w}T6!qMa7P*JJ#E=vIybT47!yh1jE!yO1%VXmXlYG(gg7_lg}-BVqo%#Bf&m zbt4N1O;TbLywU$DGL?|6rwRB z$Ei1rTa>WNgBB{R@_X6Kih(hH%<*HMT;&li=qS#&UThs~uoggD1zc`{(LL}oaa{s) zQ=o|+y{T-n`V&g(s|PAl$=)S5|5P;g2&;KK$6Atz1k_f{c?7`*$|n~$;C1fu{3ZYx zRGDVWC1we{gYYZUEBmzqZLWT84b)l|^`R1J_V`B*03AIKWA!;Jdo^)!e{^fu}s;k!ttD z13g~Ei06$DK%jC#FGDRT^E?0=gUm^se8KL@y3?Z{cRH{^Xby@*pe>~WT;l=ah$B|S zGzlndN*7`h&f(kiOU}T=0fQuF<|zpXKn5k~t|!95p!&ic z@-X4AwS*#7E1wC8TYvUkl5 zKwx#EAKovi=UARseDyHj}SlQsQv{Y!kk1Ox-M20PY6FthnzQh>yG|EWrla`e;(dup-_bnr}L zyspU=3Q{##8GSmX?8r zeMamZfQ=tPsy$Ss1`83KOWU&(bVOdr4UMbN?VJ;!8M`4OEh; z0NV+RL;^3ccd5IkMZq6eS+$=3jZP**=tv>DWnsXRTpk+Z;#cLAG?@6wWW!89Pq_=2 zfs-{79gIAIAqA(#)M3k>Gbp|IoSufmB7?v?%JGHAasn(EfRI{f(L|-mY|^0buX4lS zEdDj>s>49Z{5cd^A>d?TzOcNQexIndX3^>bGkB>g!JyH^T??7^LaKso!cLp)0uuGv z>p|ByER`hsLq2Q}fSlIe7LoxCmaCTIBJj>F3p8wT^~uzPTmcZ&%O5koQ32%LO zKJ2PCU%7q;5`nL=ucHR~&{)dt6%H>t>4450hUTKh;48-AjTeuP`b0MdY3JO?Aax#X zw7YtMuwG#oIoZTSu$22JDDNUP9YM-0kbP52CWM;C>FBHjt{9D0f7zq|G?v9~C6c?` z7QV^;R~$6~1`D9co@t=h*rEifpJU^LW9lA0$u34dP?Mnr`u8AhUINCO#f#uYRg2Q4 zClD54J`2W@lY1MZ{lvnjwUZ|)Td})sKmrlU4dW95raB%bXUu&(fal+ItJ?81D8&-P zmUphR>J*v-CfE3`Hpa>@-MAnmMx1hfSVc)|uW^Bfvc-v}?^2hXjwWN}9^g@9zkxQ0 zr}1JmMT{GNauAR4+Bc7?%aZvsXTBSn2?1o%TDX86a(xvqjtd7&F!f>Mq&8P1KA%yW z>2nV*{zSQ$Fyx0=tG{1FF;042R)jk3K9UYGfx*M_u!?=j*)F-+oh#G1koLmUkM_)@ zxhNc&-4}T$7Lz%Qf_+1NkT-~acU0vL^#^ZTzbbK%d!p{ZT3e4b8Y-jdO75TKd~`N=&<}nH?hq#F-Cay?%*U zR@}Jx8|Yxb7-6`cx`+7~CqQxgq-*8x8FP(%DHND>7x~uh?nQM_hJDk;2Mn(44unkC zWOcOww|aBz&Z$JHJNdG094R^tn>^vJi_f1)_!;X#Amczxt(vO+^qLu5ekM_#Kx39D zT}gt(+O>6aL2+~LRDs@$qqUMne`R|3d;q3>vV$jleBblF$iQ8Ey~5aWy;_+31Ie8E z+qUgjl(6%^omBv6@pEI4VexMjQ0>;#UW_JY@Aq6u=wb)~I(do)&KJ7u95iyp5U`4m&@AzoHSe&_)9!(|pD_n`2s@3vG`lOE zo1$0-7!ccAT2M$&5l^%Mq?+Zxz(#x;i1SLA<8EmKf@sxta6jN|fK&>?BA z!t*w{$O(Us)V38y^G_@S`!QI>X%S*Ry67n*VUzjE3m} zo_I$APh2gwJ|TYMxWWUt)Dl^$ z2><|i>PWaGL76$O`4OGu2xnLOA}jxc(x+e0WTpjZZ_TFArbN=AfvwDR=~tSZ>zOeu zCLa_(1TK&8?eg4=l}vQL^KLJN?0%!?`yI5Rs%bwrzDR=ujK_0?lQ3Gg^-NgISqofw zJu?}M!!(aAFfHNDbP|C|VgO2=BFB7Nx3^MVyj8HUvJ`ac`{-*sw;!h^d7HQi$E?LO zVuKW9kqNt*h@&RYyQ^*LaVA;~GTgXHA8$7@bFeka2wAdMc*v@e8c;mqkYu6FNQVpiTR zF5x45>~u>acN!L);Oi{lk!uh2AjI2LT~(x;F8Rz`(Ap~dP^fvMDePjwA_)qas6^&GfIsXTUdUO`I+XZU~67xynQ zPs5}6B)L&3+GBJ5Lv0C2Pug@&$Eco7a@P*YHK`RGy3RwXQevkmyQlG`QZ(1)x ze*dcD{6B2Hby!qg)Hgh!NJ*!3cPJ&@B}z9EN=S)x!+>;mDBUS3oq{3?3Jl#yNF!YX z1MeR0=Y5~=kB{r}Qkir1S$myTd#&GEgXMDitGq)QBKT^|rx^rrzJga@SFS4iN~b`E zakT#O4=f`J7Fs|RFehB5tJoX8EoW!aP_yV+Hn+6JqXj&w?$PUDjzu09l&7$SHDt4Q ztYam;HBb2bGwFyRh)%rfp|{j<0j+{f55U2di;xfWM@ej{_3Ex!oObPcEQwLR^IEwj zYf+SMSKQ||F}*k!ge6#x#FctTswVh}|E(pJKLUAfd#^-Dg)|IrEbN~3L+Ul%!&c^( zzz3;c{2W3ol*ln7&T%Kn-M0*w<|AYi8JW=as)c@M{$`e!+pUWXnkMeh`${sF5#&tt z{eS_*Em-$tHCnsFSCVvr@>vh+L8Q`+r|8BS9K5eoD05q;%AyI=Jv9YtxdC#5h|-Sd zU3nhFC@|cz!~@Z|pa>)$Ec*Tknh*?cBIt4wF+d1hl%F{`R0Jt4dT`Qnh99>hyr{cI~zmnRX5yckLHDTx3B?Q(c z2pPY^%}eOsJbKOlcC>lrm^_+3L|z)=Cr=PnR7hNMq!|FWHHk)b@Tv?m-%T!ipvZ1W zl{{O!6YB=N6?^=kcp6GvyO8 zDHG*nCn?CI&upzG2ab?b3WYJ!g~}5s&25IO2cvV=ZQ3aVOV9g_AwMF*QZ^V{Og5a;(lxT(rd$<3tpDZ?SWNa&&+5fr7jnCIsf60Ff~NOxRINM_y4e}tv3Weoapvd!_J3me zJAV6~p>V%AyE%API9EZgXA44%VkX*i?i@-#M4Om*UBxSK?svw=`i?}U5h$&?ZXU5O zDoTa)c~Srj0mC0H$%@oKz7m~@-h9C#vkBRG=IEZ#Yzs;>O{0jNpc8;Z(8kkZF61Hq zDZ_?ead~lrc>as*o4bE!926sZ*c#MV0ZyI%@y8!QJ_r_E+1PI;^$E>Gb%uF1@7LPs zOq8Wd)a+OKwow(LmGwDE3H|1p+PjnjxuZrhfx`R<;lrWV5!Fl-6K4mp_{y_>Ra?a? z=m`_6Dmoih0p?Z-n}obALp7))+ke0tMJwc4n7`;d&!$bm|f4kP%iuC&VpVDH8-AvGCNeS-@1$ z4PL4JGv|@m7gnRj>vCdI7(Wc)D}mbNhJm)53Xa@jm-U#M*syS#PR0vR${s49A9z}# zyRW2qU%pCI^%*D0^ZjVF=#3=1@x;K9`j*FRNBI~L?8vDw3PS#+%G_Rn#Z;?y6h4bE z9?eAT^2S0Fk?ud+AGHg!-|24&HEi#ZE6BX{c##^Gs>qSHNahnjN56MJ1Vfp=R<)B5 zhre`VrPZk6&*{-uO5hCG8%Znm=LGG~VXLi@JPJ!y`!*YT(Z4{dgZ5_x=Xiy_JAIL5 zV}V|FlgO%Vk-4r4h8q-DMzT(|Q;TV=q=ZwI%jiG|oEQ?wwI7^SwVBFw>pOg7s*xkM zh+0%^s?2^_Y$0(nojv5yu1i*6gF!eN1sLYw%}l$Lfsp2i*Cph;&B^qJ$+DP;z7N)b zjJr&+oT?D~;&&xP;FD(BgV@(?SPw_yQ&5`*M>V=k<5Oh=Z%<)ehJb?-Nz~AH>i$e2yf~X(Wk`yYDo_d6AMbsK1RqJ=l$bgj&4hsG(LL&bhg;sHprEt%6sm)@=O?s zTDA~#;B`TqzRJr6nR0--%Vdq)XV*hPw!5)s;`zNYe#o=+xcpoLuDggm5*=r|9kG+b z6}eP>iT&J!Z1kMpqA(iAZZK0%LirK1<#q$hEWrkOHf9vQE1%s#Z3QBD zn4Ep3jqr`{=;S@`kHJu$YI*Tf3tG=WuaGOdL=qJ=U1DBNBahZ(n~&DINTmHdA;WD! zRsXOrNn3|8RX)Ti!D=jm3hM_4XnD0WKkbq$CkeeZAC@Vg6+v1e!=>=S6t3deogj=Z zrZ)N@&yl9_elO0UUE6=RdBN2+U(E7ZEt}*pYsL9UM?BNE3*$ti*rf}&8W9w#B>vdXjsi_zI z5G+qgHj3PlJy~Q+^20~`V8!lrm2RZf!(M3X>dB+DUOOW<@T;jhy7Z=}gXE0)U3?(I z)LdKLZ`x%!tyudOjBT>(!|B)>)3*f++IVo~gU{VTYDq^=sHM=)RBFB9w_FXPi+H~y zB=C$gr_M}{le@k@L8es#mzK2l9sqtMFk&Wh>4-6RicNM0FeOo}-CIE`-Ig`p^+|6O zHX%p|tC=097(wOwJ!G)=S7$%EgXhm_SJz(qQ`evk9m%8!2*=()lbFdQmEh7BZ#0nB zvuDCiN>EyS_ksZHVZs@1ctoM95(%;4NfQ5#bN{u8slqANeX*p*ycK!JA9+-+$-Ns?uL^wOblI=5xk%?W;9h zcYYb$vmCJWsx3lTL3Uiy5YVd})KEKhnz?L#_~k~>571-En1k>HxJJtKYx8p2x?Rmc|M!ph!K+kG^00R**)44F9K+k?rG7pL496>!ard zxydv!r8a@2Yf-o-Hsl%?=fydzj~K%ghG)_?^tz}N%IZ__^Ob)A5Cd_s@Sgv9=lDjN zTS$R`tK%)Nyrc>btxEgo10@0tbgr+%v9XT(v)3WR!?6@#lvq~6nK4HGb-?e3&)Rs3 z-u7*&h&^YZHQ7hu9)G*R06_74coIHJI*bLxRi7R_`o0%j!`373xmM_^c&7wdbseVG<0Ge5#5q7Ghj!If;?Cx#Z+iV)7I~AV-Cb5 z95mbF3ANZirScW@d!7VaMEB@4DD z+jo^)$sd*{GM#OBTev@r2ZEAbjW7Wk)&3znl#=&eCfuYBnkOpQ$MpFjYu+x-g4iso zDpRh4^9$k%vR#6{ubJq*%K}E6OX~QYwa82yc@JLpqFmkl-`HD z%lp8%ke+!NzU}QmrmBlB-|GcoL>MFWa=Jv*P7W-oqF(yyC^9IAJa}t z%?VQ_`hCgP=11HKp+>SW-y=pr>6m0RDFJP12>R57x;}|*nkP9#nX236 zl6&zXSI7|oStjcviHW=(rUyRoI0Zz1MTfW&@H|)wiS4YqNs2nM>_lB$uTt?k?V)wi zW65a=EvmeITM0sTY5C`-Nx8I1@$aAhV(UBne33QxA$UTjfMM`kXBI8yp z!GvGRGs*iP$_~uRS2M6mOt8UNsKO@dROi-6W_vXmBvTVgI`&nT;8~lT;o#_BO)%d@ zE7M>Ii6z!?n21JLM!X6V0H zJ_r5hXRPO<;Wc$yBp_W!nKk*@dfD`4WCO!9pSS=~5Ann+ai0@|gZY8gHot*WZ=hqS)yDCA~GBE|#7$vCtp- zDl+hG_Z|m*R(kkX?q1BI+){_FOznE8C8J$b8g9qGZLI;&GW^ED>Ew46%Ts>_;sjkF zm#C6%as;3V@m6y3hr*Sw2lTDiqwE}9*un7HR>e|8V_$?arS0e{qvkl5Rl)_4!9a-HXg#6!hOl*x zFv=*Zgc&P|Wa24PYo4B^f~{dx12Il<-PQ-{r6x|{E`R-k^Q!E(3Ub5>l*d0c$HTs` zZ~E7r)LCcAOPF73tQ9^CwrrQp4WCthl6P6GI{0s3V&hRMNy~atoqi|2so;c9yVT3J zh+uR*Y|Tb{Zhp{ltQ7hk^clzS$clZK-BWXsHkfyrDjG{I&;dCd8dWiMLQEKFJ!D<< zA0!(``=y(azxecczf~mh`-6ml6YqT4^R)UpU*haQ_{w$3@|`R=t@>%;kj3ZjeBt z(xW1(i>9VvtN)BRrXo;$t1Y2`thArHUUK@RjR-c0dh*e#n~A$Jgp%yG_TuNCIPd6e zoa*uKUlY8|Dl6W6dQo=s_278l7r5~Gm_P`q@!#u@Pp_bMoZX~Sbvf5c%0oMaEjg%u z;wgHF4E9(R>#JtT$jVyZZ%65H3T*c($`^epV|lTX|NTBspZ9c7tIROLSK&V-Y;fm4 zhM%RsKhI1v$!s6yF?Era&MP~?Aj`hGJr%(XxtG$sXD;j9kmsRcV{)?M)=48ph66^%{L7S7Nc71{MfMGz~A>s=3SZ#KGzg6UcdE~+EBKJi1t zRo42MP<;t%tRJ86G%+V%6wK-IYcSK`G+7PSH&cHrV{-CyOGR+31D~wQhk)SQ*AsEc zooW%yvHP1;?)L;f{e_$6Jixz`b9Rj!=SSg$>n4&MX5B?QvMVbm{JmE^<}^N3GNaX> z?c|IVUxG8PY6o*kLZVLt;_9dv-Q2VTZ*g zC6#UX#TK^C)dGnO|3C9Nhae|q2F zz3z7OB^OnCZ7LJzgUfW)r$2RW4`0ya@&{v}Y(Cu`imFs zD=?_vTp|jPT`wdPUM(5Mi;v(jx;1gBcRER z03DA|ZVzY4|3DL0p2P+vKQx4txT~O{pi|0+4~A({^tSu<$)#LFCaI|tcK?CwoXn0;D#WU?&gN58F*SMwoHenfyil8fFp zWQY5rC+KhwjioAi-?wh?oQ?M0F}#BS1nzkPHXHivY)%z!%EBo*g*uJm1)&WJ=pWU{ z^lUw^2T&CfK->ASxWtpV7yxS!g+G#v8m%;aXl3ygKE;=cn;6b!YdUgi-9m7H96tpX zEeBD|=m@K^jeTkLLvC;810&<@*6&lY!)DRp7i}192sv!}Jq9f@tt(lrVNDmF$UzR- zvffkfbKXd(r0=&8HV!`asJIv&_or2Y4!w1+7uGk)tzw5lk@+vbkjJV62DkJPfq|~z zk9x~A_c;#t_r@|V%I!CetSMj|;ID)ZTUI@?TqY9&g2*2&hZY5KMhdD^T1FF~ZL5iN zzh)`xnS_%5#`{rzclrg68P}nL8;f~hHXJ|#7yw{@qTj^Lc#?@?6+}oI&Kc~uPsqPk zc$`%9(4D?3S~-S+X(OCrl!L{hAYemNh3OHp4{TBAgtg<0z86L??%h)O>6A8z7{D_~ z4%JK(3+b$e1}AqaXJe68_^%$T!hBZ~Sjt(Skz3q7hl$&@sjTx8k0$ju#=(Ny5`iks z#FUsAXxayW0!;Uo_!-yK-?o}<0&6T{yqWPlf$#VyOwHDcze_>bXa4oKZ6Dnq7qYxE&00dv#6Dd3?_WGwRpZP&&ATk0?L0L=9 zdsv5_%Q-`bIm&diTS=-LMx{zI9BoNQ(@K&suRh6)hMgscMS7vEX)iNibPIcA^q8}c z{wI%m6#he8=AyR+8@_g=)19R|vWJ_rQDQ5Jiw%kI z3=Eg+U|v>%&2rw$>d0AV?TthlB~yP1I4+;`DXpu^?cypo1Y*TB-@MC$L? z2~v(I^+UySyw%JcD|Nzle{8yW)!6^~PCNzJc5B&8p8Y$CtYo3h~t=6Xw zncjC#PFzU<1sZ|8)_Z?QU)O~My76FC!>YSSFG12g`hbrSb4($cEAj`J)e}W*^{a2? z-DcjVV1k#1&OchxOa^XmUP&adXm(_%u?znwN0cEkNWOd5o~1gR?Rn*5^~iC&y+T5w zTalb*99%*Y1jz=ue)d3N#&3g9rns4qmLO(tHbqCB;|c7 z+hl_1jti~4*f2H+x9jQ6jFSpKD2t)|oIXf9LC_e7!3+##RMUqO8)>D37q zuf(tf`m(h2?6F&796$>~G~SO|rQjx&X6uvW)@wXlAB4_dz+k8T(d!RDBLsop?G1CJ zIBu~qTbrUvT6sd&wIi5f(&QGmecJfeHe;*g{m>kLSVK<0KY51g zYC4AOETn6k=jj-3nxQPzc$be~-O0xRTAWAu@hC|pUUr&jaa!NT0SIK-nB#fdrNA<6 zmaQa*LvglNhmJ~`$#&7fVuTR`st}?3dHh_XHA0}{(-0fERi~qIl4vyb{_$Dc694;5 zC7{EBh}{r5@Ituu_7y|Cs!6?$YtcD{*vi&hF36gWbPoG$op5&ZJ&1Jw!=Ex63_sDM zr{c4#A)3g_AYd(>|!PBAab&?D;FD%RK^X>wrUH8Di+)B-bG)NC>gc0cXSeqZ%u64h za;gk&^Vn&Paae2}u~C>mDS8MI?=y#ARxr@ufpbM3r9j?D|FyFOizvIhT2+;ylF8%x zlBHZQ-sKM~X8;m<$5Pi%HT*gUNRQSpz8{bXkpgF?$S8Kz%Slq$D@q^pqV5sErK#K$b`5!^aMu{0fdT zJNbxH6?4lUc1fHoX5QblF!b*w3?GN*g^w3~c0B}(oi+$)BIJUeUS6uAbaKkFT@EEO zGMr2;dopF(|2qu-H!eK|>K{B(%6pX2vry2N4f*jgq-dzBX4=&;Iq0`2M{Yr#Bq!Cz&$)9*Wms#`F`iL9=iOInT8`r1j3wlLRo8Lx@4BiC8J zZ4diFjSb?&ME?wjbNs~pap6YmM08%%h-Z;T#GFK9;(^QrK*D-xK{T8+O-W1n?^`z zVXY#&j>^x9Mow*C4sBa<@eM_3;#g%y98S*52vGXFlLKXL=}}a38WismuKqG~MGIKCg^uqUyQCr`x;B{@+tj&f916J<!|=-1mJj6wvK;B z7p!dJ^(r_Mip?b9aZ~BC7A!p7JIe*}1u-?ueFkRUHo5f&bOTU4i{L$?5BqgxbkYU0 zpS>$KncDx9OJZ;V=ZQl5NDNtQ4N8FgDB9Y9CpCLIKuH1K5X`vCZzzWkn-NkiHC2|J zqKa}DYVakb7d>ru$fCi0Ily%_U3+?gJ${0OM8m6ZE0eZM<8o38DLiB;h1%~ z_vhBvw(!uuEb)CvVW&a)U`El}^nMe|?2JnP^U<&f0Qr!#XFdo6T`wRm2@He?D~Qch zU_axd7$q>0-zJRw8Es#P@nS~nt=i7S=k<=am|sD@2$}j3ylJPLbc|d3T2gD01e@5% zFXE%oVRu$O^4DQ!NW!<1hqO(<1w#XEeX2@whuO#KfHEKvJHix6Zl(cBHqI5HEjOkg zM?bs8tQvhZGC00&d$s1hA)lT>%5a7E;5n@?i%Pqw&&h{Wzp_+U!Ln8T>o%4JX4U<{ z7R3;A_dqqSl|!qN#2>epAf-K=vSmO|2gvu5&YG%Gu%xPUVyBlFqQXBB?XJ`5HxPW% z*wmjQF5X-(SS$-muq*!C1n|j%ywd<(Yx#DBdup613cjE$FYA1nydbcS8yP*}PNlvN zb}SPQQBc^(7&XOd1tZO-2HiT46$gm8tk|HD__mQCWi^Xl|CX7RY_t`3mg+1WXR3-E z*423po}$SGES_IMoQWgKOZ;@0vp}z_DSqOON6b6c{0ZN!uM56JRs4jaVWMd&!$~8f z?{Nl(ZUTIVSPoF9x=PD&^1YSlgka-$sjHVeXC34ZYShntT~BJ;_0{%>47` z7S9?Zbdm6WIy+QF<~0va3PH9yp`TpWIdWFYpa+0A1BSTNJLwJRq~r)%Y8)*4Ud6Ij z*lP+Oe1BA&O;Et|s-)bY+G;G+&y9tlG@De|)@KCD6Kkj76B3aAQ9wgy+@v<`b?IJ< z(Em*c{NXmr;&922+^&nUd0pD)Cb*~X?#t~mxY$>=U&<3jic@VwI~8U69EakCePZ>L zR5gLK<|nAE;;fy5P8KC1cD0|~IJ~z`eWB);kU$FbRQ^%?BSE@9RCdykQ5jpvfK1%+ zb>pAt=xJt}+0$xlvaF)M`>b*C+cL%^aQ$eZm-UNIkt})PvL$7qJFAI`Md)IwJ1mu4rGpk36WxpwZ5GqY=r1ux@4S%C%hv5r^Q6rGZLiZc4=PexNEwEd+e^D2TA0HQ&XsJq8oNvS0Li$J(=i!!qg7yCZ!U;?HPT4Y!5Id@@ zMwI%KQ8x5dXsy-0p=8|E(QMQv)TL*91r`&A60vc~So0`H;8r9-f!Yl=Z~D809wnAh z+Y%)T2NgANzJW;-&>@iV9t1L+U^%XuL2d$xy1%85=_l!g+yn$t5q!dlj8TB=75ty) zLm*o3|NnmZzgLp{@0F_naO?0+4UUY0!HpziUoSGFr$c@UnXq_*Fy7MV z{(l#UUS6D*{D}|8&0Ng-zZB>Ba77K1T>jr}L&|U!B)Lj*|Mwa33MX<2(9_$`p65@} zvQPcL46l%N@P_sEFrZlqk+9Lj9wZCvBx1MQ8ZB!nG$m58rx1&k6-6@i+z<$2M!h8h zW8*mXg_NrjjpKXjlhi`UnC*6@w7xH@rBD<;d^Ev?s$hYi;Pu;Qcj2SST>IO7$1_}- z{lQ-%!><2YH~tak;6mSFt<@~_P($BVH@6} zj`7)ddw~ZKw=YsO7dp=H&AJpRlMiND{>`NGpquS9EPhU@yNk)MmIwDS{2!~N?x*$B z67X$q5!p3_UzNP10XbtBwCDDiJnPe)cELEdaU2vvFP z%ocUv$Mhr~97HxLfI2W~a*=fdm^EK0~Mh23nz&CvJ z7{LJ(Qcc+3o%!4x4_)ZKS-L$GQ;P1sJi6uV5`+JCLVSK|_Oj#L4Drhd!|?p2nUoP% zwx8iDL>ik4abm62ycDZF9Pn*x!uSio8SOn{1Qs^|f-({6SUE^=rLwTypV-d}*+XgZgQL*H%^MFxO;&e)O-`2Y={zeBgOs z>CLil-@wOx`-hMZ^+fS3!&zoI;5EU5F0<}wIbs+_;k%se&b(CYcI0_G+`hh_3lHDX z*H_=GhI`idZ_J4yx-7<52YItNazqacq9G6?x*^0513#z%c$xz)L%2y%O^frsgBb;4 z*6ehD5&lOe79BGF=2Us|q*BhPmZszt3S`9BK6*I!g{fcH<8ER5jLtjGeCr7&kR^PC zz?X(V@;X-IEve_;*!}lW$Ms3`6qNAyFW#Zq=VlP#uw3|>7IE-wdVCsP$Uae?FOt4& z`bUc}-e=qnm0%Az=_R9qxomj<2KsnLc}AMvc}Nk90%5k~k^E04qa^U?3J;v8HmCZP zq}u((zp?}x&mRTj)nq5uUwv&R)$iEjrnnCgdVT19)nJD;$>ujN1$Qq!K*@{_PKkrU z`9+QmQC{Kmk>w8C^w6LuXkN5fpX_+hVx|yviV(>1`M5*!rnn@@q=m3)eHFVUmsbO~ z>DMmNX(#a^P6QvLhr7$re5s@r-yLd7XT*fMLq=W-a!GogDGlHIAxVo?wDf9N-1mhX zuv; z`zu6Wd%!wtH3fqB_9DB`Ug}GzM=WZ8xRlTH!_4k0+URCeSNFrCna_RNoV>Q=kO%vH zHU5RdiCtH^S$;RHM$Sh(jz4!If-$C=R{YO#q)e}2{+^_)aW%wdw^yb9vIi9hbrue5 z7KQ$f)0)>?Qq)tzkcW%giL5R+^Cy+>(GvX0NR7m%dNFES?Q1&T?rm&7w+5Cqm}Ey% zk47DruI|E5jZ>(Q+g|$Yf{l(f#JHLOLf$~+jgCh%8uS&LuIW$c!%FL}8t~h*&yOA9 z6JP>}Da09{-ZCVAs`l+c zr+FV75AtBQ1r|SKJ25Fzi0{%r^Vxd!AU>XK)m0`CyRRoW_iE^P5(;^2Q+N8$4nEml z_wOrTU_N?+Ge)cZ$xgKRG3U;{(w{ z*O0(OZ8Jk-Z2Cx~C8x!5Yl z@85wv(u)p6HqtgNk|1@OKn*+|`8T*1cv7*`VT+vwv??~_dh8!x?i&GdMJ^5g$urD5 zG-RW2=Z1gI`%KM(Z%6}c4bJ;`BApTN#VR=9D%=0A@LtA_U%PJY+qiS#L@)PqBz?F} zhsl7i*Z{r)Nl=#4!5w9)5mlb*P^%}WK&v>BPxJn0FBJpDKrX4a>*Id(vo9-PB~R~d z>7by@@w<87xf@tbrjpbY-WoS+=Wt=}&5P07&zy^AX)6P;;kfgz{=Nqg>PEQN*<|}5 z;1YrO*ey>XoY zh9P9uPm}0H`e$iK-h!I=k-@*7V5C&M{+eDO{FFD5ea3xEG8O{iP6M_Gg_|v~R_2$I z-;TSKUvt`rxTlErTu`usaO2T_M8_KfuPx;G`Y`u)%0KtI(`*VK=c*4cAn#(|GvL#- z_s8edkXa7b!&X>)T7mGkC&f}qo8!_lx^~3j>=VZV-#6k5Yq1xRh`ukirecc^h z7r&Pf2F`;Hw{N)p!~@_j4o@f21#uw_FQ`Plu7_{H-o^9;xO^__TZ~y zSJMSGBYo`Lc^Gxyt&fL-97KAs<3A-B(xix!ry!;4h7eJW9?*~rB5E)s=W?m`YK#26qZ;>0UM@@^m zFEQ!fz5xa!aRkpUa?8u^Z}Cdq##`@)5QjSW1(7{HlO~n8jYlLzHWJ?@uU1=bHAnK& z<pIuhgPC*aUton`OY^(#ZaGILv zDHUXv&2?v?y)h3W>w|9?MJyF^?z6f$mvpuX-H9YKVS|h?I&Z%EzS$1~>D?H;T}ka) z2*gHyeKWlAzc8ApkoGW{?Tz-dCh%CmTbmzxhY5Q*8Q#fRZ885a&7j2P{0ZlsR{u1< zA}FN&9~;9x@fiMk$K<~c9@4rZ1sz1~f3GT8qlx0h(~i~2|BDc^Fla%z(6`y21wvW~ zkS+p$ z{XZXNT@RQKfo*MW11W9tL`lM$L4=aSydy1-=4_*XB?HJ zf~q|KGli}v7H@#rfA+uo{V#l$=8u8W0kbm_0fff;Ix;Juw!7B`GGUa%8`8ydo_HkbG9`k890=7p~9-BrP}6}-PoyzH(lfogezBV z{%+Lnmx~riT1!rx{QoV6n@-###+#k;KPWMuQoVZc5zw|soAMi{4I3b@%G&witpdK z^N0Ujq3hMbeb1M?;6by2TI+)=^_i-f#9K|8xmsu@nmVI6J$U`7Qa1x|_xPao*+6ZU1wl-Sgg2;&?pB z5qmOFS^<{Xth<~96B~b4sgz@|bJ>w{u~fCbM>ag|n(J>fxD$WPU|-43@^S$^jAB-( z{k%$j(8Y`@yuPqs)YI%26~aIWdFF}?{i%mH!gu@B-}UAs=s5}PS|rVStoBPDcSP!? zcuRwJp}l)0gT2ktA>a9TzVK0;ElG_M{=DaV%kw~RJ`gJO_jMMTP&gkwqpw!o+l3xr zF=mlHh^`XFZe#I0u{d!ZNd-^Actic!rN}tZx+fr~o>AGus}kyfYqjuVCNZeGL5aGM z7PyqbE_MvM$34CBnQW8Wq+>M$4C=G zq~y5B^9pRBB{-&m_>AkfwuebjuYuT8cAvh%rkNp>tZc&Jh}5K=*KICoFGAvDPPr7N z@TKYWmqG^J(|pD}q<;BQ(fI1g0_%TVyTi55Ks%xenBvPm;XUn+9S1E~F(9-FRe*`3k2pYW4ijKdOp@r`Uw&ZU4ZuJ`!&)h}n3mjs1fHMbG_ zHmUav+eb8CA?X&?dy7|Y!$~>76{AOfUi@KlXrp>CnM6o&^XkWZBnODnu24`h5~>I8 z4Pg9O!?qZ!8GU3`Q8M6G*rncGLHNBlE^Qx5lC3hB8z8)q`xr^FyOfPG=WI+MTg;rX zli{uAZ@WUsKv>0?F%Rx?TJJehQj_UcPkKeIu;&f&g3Rl(N6z-4JRK$=rApXeQ zUFR%ku%Bm>*`b0xk{y^c`Moefzo~x;9)E<67lvHb1$V%R-2QR}I1sR^ENPy7Jd3Uf z!uZE?eXEo$l`#xX>Zln&uP$kB|M} z*!n5$-J+~$&1V{P8)Yu=)?Q(gRLv5D;m2#A-&VYP+79w9oi|XuEjk! z368d_>H*RYMX3rA-6w&@1A`x>)ufm#~2K` zFL$3zf`p&p9rVr4F~qv9=cnFq-HE;phee;}ZC{aiq%Y0uTxKLkDW7c8jq1!-$00mo zaco@42=7wsuAum~(mpe}Q?e}!kG_*#2d*~X1=6KYlcc1|oG~x;Ur5>_lpfhz2Y}hi zB}cRIH*rudk~<<=(VuMSWJkS;o<6FeifNu~nzEf6SpMowTC7Wr*xWg(+zhOk6{!W) zl3{ytM9ZD!Y0$~_Evb}@hz(4^Yt>Z(I`ZNMPVGXekMqqR$DWm@N(fF+DD6NkI7p2k z4~>81NpK(E#uheet?PM@A5}|jA{0ij+pxDb=Us-v)a#TgJwLUj4|`HOnw*$-A?~Uq zH7|oN9avt*hc>v`zb0FKkf;}^+X@Z$`(g3d^p^4y!k~Mj(H+qb9PGw*E0Q-h8G>|C zYtLNyJg=&kWE{I+9{O|)tQ-qENO(Q2M*K?jyAyeV_E*J?!2}6Mdq#q5SacJ*CS#As zg-od%wNrQMYJf5|$+f^s{Hy$UCz0V!wmVWIg+cRR5JW3m;fAETKdO+{KO3ssXcNCv z92-3x3oesZ(lzl~m>TPjz2C?fh(QZh^^+VwrFE{U^pQAohU*gV>NZn3?o76W*c(K5 z_|mUbDkLM|K29HL*5F$o9og0lEwoi8Op@TDhzj25VGD|ncdz?%f%UlgH9TA81Jugy zr8{X}ICPcF>D_a|K4y!4) zO8!~URIP?)=R@z1pD9;o5AL3BbOP_z%6g3Opgx)*p7lCHvoBuB4#W0D8_Db)SHcLp(?jUnPD*K`Pr4|mA4XDgcQvv|j*xN}(b48#x}8LWp||T>xE5!*PSaz3WD7n=pz3)V0`5~f^@YF zAr4++s1fGgu8Ptj9eNEgHou}zzMIKx^V*YN8XSn(`2D!Z?l#um=Sl0?qw+DRZ+*GY zt~PdO03QD{OuUfx?}-CkcVITYiCa<~Q*%Q^pj)_ow;Iq&J<)Gc`>U{K>X~*hg{=i3 zlxNm@v)!ziXZ9VS;_t9j*6BuJZty<}V6+Ru$3}oFk{YXNaHcGZf!-~8$y!Hgk|~<8 zVx+z`KK%trFk9El$p=dfH-&2KbNhB77HLEgPRDl-t9N`(;lQ# za`vkeA=JspMgN|h*RFQ%Jwil$e$JPxdB;3nxZaN<@jt}B$jG!!wS@Alh70l+rO!owpX+^G#e`>bTbjJt>W}`P|XN+QU3Ebc#~z^W1oQq@hRIaz;1d1mXFgxBbVN3Qg!x)f;E&m2e zGe0c9_K!>kJoG=WG-%0oF>@T;REklt2E=|e%QA6l1`131e5>xC_LJnJytvSeaiVn) zx5n(seObt zmZ!ktg-Dj%?~kYW8og{ z9&i47D#U;CSxPUyh-6>vB_G1>vM2oWO~;+rKyZJ#T5($;{iZ0*V+q$4n-lIm(x{$F z`7AXVwNFajkd8pa`CXr6Zj3`O&+iniHTBFapu73pmSN+&RgdOp&XB^hnKtYUbp2apKx}}%(o5J zBd$^IY&C(L6xwxz97d@JH74C`%Ot9h^RkOsiCMNv7IYF|=RS&=amV)d$F$!^#Tda< zl-}lq68G=fuVM_!8QvzgUFn*M5^G^!2yscq1J1PeKES1xhoHbIC5eBNm3l&t-a2<& zdV2q`4)}J?YwOuS3a-=4B#N}x|BkHH;I+%q1%81<9Y`uKphW9OXM1Wz(Q40B_^UfO z``L0Tg-IZ`<-qU1I zZeVice!y(>@M@!V9Fz)Kxo`~!!a(o$(Wm}FFFfAo19V~tLfChTUp-}$nL^M)E%6AU zyy$b@xd+Ul6P9UP)uCsKSRyszOw+BG)#qv zIKERA2m+6GClotsRZ%WSP$-l14?Dd6LcB2|_iW{OvqibnGltq_lMWTbZT#amlRUUa zNa?>o66~i0(zA=-BYpJcD9B8R-2*o@VyKH>l;dez zYbi;Gxs<(}f!MRw{UrO?v{ZEt-x)lqB%(I)qp1-)9_eYnv(MSwrds4E-U{2B;it68 zj;r+d6UJfjl7OdI`rD09egh3J;h%zXA!Xt23DXH=d8KDx9-(-LHex2H*MFz)UBI8@ zD6YQU{CZM3&Hx2(!Cu(y0M`@kKK^D4y<<=2sILu*50ny%?r(9G1@GX7K zFQs9(wmgzG%OgD^;kXQeUjp6zDYUjvILE?FsZF(g`Op%Q6wZ>r?kz73BzSg5xk_nu z`Hq3|(Dh}w>n-NoKZZbQ+M@qc+m-)A^+$cAh$2}gVvq`z?Hk56W6M&uP{>*o;frJ$ zX3W@C#*!8)%UH67nPlIK7$QSqG|Ws!8vBrCFqY@`eV%{exj)Y9zRo@O+;iTa^FHUy z=OgyijcI6^i@wKw*Eo1_H~q=w&d@ow!#rm=iq}UTyhNq1HD=l~#l3=Of5x={(^l&r zub18~77OQN>~a7UGb#gM6T|%!R@k*Ze|_f%TkcY{mJxv$|EF0CMHGlWYm3~t;s|uH zR{dU}uJH#7Uh}97>eQY&ifMn$1EBF`(?g%m{e9#7@Bgs!rCaUA?G*v!sSl=2Kp2a! zD|FCWUV~#TErDdnOOh+0z9rF^N5~-G!w&3?(&8~@{s|=$ft9Rb^(IuG6B@ZhD06E@ zFBOaZ2`1)^we=Uo14ysb40}WtaN=^EFcFNN7pp;aSbOQ%*m2Bltykn!!GZINbc&=k z{%vXbIb;YZ0$PmG$fY}RC=$62EO=-m{`dtsW82=+WoNCb8ht;l(4qPk0LKWAnpkdA zM?AUDvYUkrxSvY)6-h&10Y^Ddy%-g~t*qHH^IT=f@Bc*V+m+rH=j`K`8H;}5^{CpS zq5ry|cgjkJ&Y#PG$V}-0*x&Ddi2KA(p5}I5=!PNnQ8%lu7ORvZf5C@U0pn@CpEWY4 z=LR6B&NJ1jZiZT1mUbule-*JWZ>x0kNXXl{y~v&leBK@i*v}n{3ZfM(qeW>AzpCJ+ zwOhN}t;2$UeZ>HKPgy{65~<1c42BA*+T(7tvnv(f(2n_)6J70EVs16v zM(A7{2!IRz2nTU;&%PX?vTt*rWpbGL->(-l3BP8Z2HuD9{B`>KSxZuRXi<{UJQCYO zUyEpaJ+Z6|_`TaQH()0(?Y1ArMG=E7-YMXhUaSht>G>bh+TFYA0Gk`RII$eZ!IdpR z_gox#R7A=CgA*?@n{he_F31V-X>Q-r(}=M0T8*@tSO$lK0CtLSwES)PDeh|W@Hzfn zl^4xN3KzcPAJ$WIf#*upQ~t{jIjpV$p_&+uE#(#1SWM3uPACCk&78hWhQt3B5kI+c zaB|1&1h$vF4^XU&SwIxD-Mpjwxkeul6M$HajDl6K-Ao!^{qi?o;n)Bv{yWIEj;X!c zQ+7S8)Z<=2+r$ce%}F6>!VSon>6Jw>;R)%09h`)pla<}TqRA}E%jW=`lEXp3I-EfL zx6E-KI66R!-Q49gKWp}C?C8(1-dpV9b#_|0V?E_CC$|ao9ACZ2pk-gto+kXudIkSm zYvW{QL>6eqCwFi7Cw-0g>)-nlHl40*7x`NHUqhM0Bl#Tsf`Wfb0s}qh>}YHfVlYuN zvM$GjWu*dZSW@PdsqO!+7_FWPrjI-tor~S{c40pwP2={Im3`RX+S6hxC9g7X(Xo{W5E_2^RJWgLa3^v-taR%EeWp?KyL&Yki$SFPn#Sa5L?J zL9K79d0Q%g^!9NH)g{|C3M{AIk0na%yC z3k$^xzwIW9@kP=?y-5+9g!zoXOECPMscp)C%Ty-!Q(qCEa{do3?v^EDfqb(eoXQ%X zeLMJbzl@{dNE=dgB@EU&=cw(%>|s@xcQZ5sT988!X+UGmE83a1(q;y9_Dh8H;vXR3DR1cm&r3?^Qa}r6GMX+xLjYC1oF<&e zM!Dc(j_*l(m3+K~ik-EF*|#`k4USnO&{%*@u7+TQ~ajr(#w zpt3D%_{Np39QN!eMC0;~5I^xU@z0Y)hDG}ZP)anM-uwD|EVfc}vMbNN_e%B9Xq}9< zNvLDIV*uovZAAZ3T)Dg}>uSQdEG}$(oeKE~IK7c$lwkJwMnzI0WA#$)iX-N=q@dh1XHayg=cvYLJ4epUYqR02F=H6_xY=eiZzP4PhUIeB>pqTFCBea&@LS4yuM1!+ zlanC1nzFv7zU<7L&U1Xd65)w+IXe0aC1yKhyMG0P-wivE46R==>5s23XVzOK;3UNI zh`>v6pD39gss&%aIg|JHH1wX^X`#oR=X?ahM4lPzP;_B53B(ni3A8MHy{zBI&Go|2 zZ|)D{h=y|Gt@&N>OsKnh^_CtiYd|3G)SiAm@Q39D#Z%0rx}n5En5luC4X@y^{a77% zsV)OM0G?4kg1@1${#c-S&-0C~_0MEQ2+BFe-7J5}Q>K3py!7h9?7Q-!si%nynHW{K zz9Jbb&_)wRB80!vH-f?w^ks*=m6D_?dJ#stdP!3H8oS$}qKP(x!-X}z*qRLCTb)&% zbC#)?Myk&({A@x>e_6W!AJ@{`G32|oj7VlJH{tCu7%w%%av}AV z(FgLhaQpOH3Ng%Xhl(C9in8}O%BE@qtiXV{5T8WO@8Xyb*Ir< zkB2iMvzL7Itk_#fFd{S|-R*UozwKS9E}}Qw*ZC_>0wLlR7%gqH6*#}P=+91^og<=x z+%DEbgaa~K`biU27#T9`TS1>V{29rqe3W%jFh(=X4v2vL3^=e^k7t~--?`><5>XNC)*t9e< zTX^NR>JCtNReB!g6?h@x%GUT^e}ngdu3Cx*Bkk&Q2Q$N(eesRr$7w`-AL|=ov;Vks zfeMe{m?*5UE8ima5-xty*DBZ}@5Ze2fvevMeqxs1{FD*UIw_fPA?nqIQnJzXo#E)+ z>R((-+tc0U9eXXF1mgaU>ZRn1=Qo|b8ge6U_Z)Og^0*8j)8g(t!#Ci5iarDlV^Q0o z!GG`vC5`j)v|FzA?6BNc2T}=U_fuQgz+vgT>``%8C(vs_1cBDujQCTzdJm-bno;W^Hv@SimnK-2wFWKpuR-tb z-Fcw*^9`?6-C?}#YBpQdU8N8&i86Ile4&|?u3%m`o12Mip#9masY^@`6FMR{0ACeZ z*Xc5|6ryabLBi=e5kTX|pVjWVDizVC5ITxFs9X(sQtqhFs`APE@ZTb2JDG1L`>T66 zdO*S={lq_WTuS?t2-Q*B$G8sasiVFj_;9_SatR|st%Z-%qUB8;=ppk!oM`J@ctd`V zxdoa~AuE}t%`51r+*IxH5%D3_LI>~|qAK|;jOZGyv^x}=UccW)V63;rvqm*vs!~Hj zdFwVp#J88WyMF{qaUJI3J#sfag0{7svF>)}mn~AQ`O|UmZsYJw zeSk^ug%a#&?bvy;3SUMAbz{&0WL?d+vILcv%amI=l2uF<3iGo=BQVkWol)E~n&|>n z0npvoL{Y-QqKZEo0^i?Ft&-+U4){Keyg>?6eIkUN;gMF(J9w^-U%+OIC#KUj?*j24 zaO&_=Gqa9;`wTTvf4B9=J;a;(`rc(oGO+;>3% zq|RAJR{O?)eW~8)9Sq`{@Q@f}xlPH`(63@=jJQ(fb((?^{oOCDRi#t^GHUNpP%c7E zDE9vLC+|V$C&TZ?zj~A9wanB`nuJjNMSGUPAbCNX!oBcx+-qNz-ZZ*?J81Rt*ULek zB4=@>nu~m*q#HR*wYjhS=Ogj{{b47V3xAvD0i;M^`ky;KHk?tRd^qDMPx^z18!skx+S{2Dd(AaA zOAVSkD_g>0ppYMh*Hf88>T%|WNFybz=JAroIhm7KRLa@UY#6F`-xprJT$DEFExhO& z*{}it14TfVm4Zfjo)l!bF=-7BlcbFY`=vJfQ&-H6(qm8K;m_7uN&Jtd)Ah!Z*UlF{ znAE-?v9Oz?d>&Cejk0MpPl-E=Fv)_r(uCdzVedZ0WYk^-71-V-Xb4XgS$!&c!rb#F z-KZs~*Zb!=$eRk23{zIRXRR^1j?1T{as0e8p?V3HwdO7=Ll61cB?8HqxHI89Pe_u7 zy#r-MO^o#(+rXN%HavYRIK-F`DiZh+d$X0nE4A8wTH#Gra!6ZYKLZ%x1*Trrcbd@O zRAg{#_dDt+V}1%(Nbp=|?LSxK1eGw2%9Ia972GA5|ss|F&Yp zL&S|V>uHFowjUZb)yE<3kcERbm9Y-v1;9W=hl0Ca*_A=z!=udWQJeRuYdg@pdsHE2 zQ#sr0+Ln{_up9IC>lKZQQ865GC+uj(I^Zu0hnKs-4^~y(502mLB&ZwnjxKW=@1zAC zlM9HX2^r8e+};&Ud2*J28Wf!ZC|AOXS?jG6M#_rhrPyI2^i7vTO>F0r_P#2D5D8e%Ym#u)oSe*$7VDy%Pmh%3u4_reGoSthWLtjFdj0#5Dmc_*vQp+W6A=<( zkz7`MT#!+G6s<`LQjnauo->f5U)qIR`gMjqR4cZehWX>-EHVq~G2C29fLwACJVR>u zMP2=<)v6K@k=jDQey!C7OEfhA!gD-UdW;{?5~Sl+Z)amXHPMcWFipL(AaF-d319yP z&)T8y3NjGx_j||1()&-tO1s=BjOZ?n8vK;%hgMlv>A)#C3Yw!KZYtJucx$SJfAToz zqTKOE8P`~8s|%B~pU}W}EKR`HYtjj9g5W$n74u?27@QO`ZM0Z1P4~hL8inslu+lxI zH#EfT`KPgj9(-iE3ATUZG&LkQ_O9=4UWX2v7y=a}Gv76RbkSkHxixE!T-3%x=Z~EY zVbt|Kw4kmnuOcas_Mk3$7doQZS`R%9 z9%0ujh~-gFWj2rVYbo1lqLtb8Th9ratp|0Tk!AAYL5<#Hhc*{5Rmk3HiO6>R5~Mv3 zz>a%luW60ZKIX92t7Ym5Q|iq#Ik5UEgi~My|2)N{$+}?XIG)JM!}0%oJzY59SLJYT WakU(;67l)_u&XB4S8ztR^}3%?#Ry0d^bk>r3x{C7VzZB6Jk}ElJ1iy7)k#=__*kQ5MAOU z=&z?f%5Wb&cY7ayD=)hz3byXnc3@RkD+fDWJ1g5j&mlY6Cr{KQRh1O<0~QW*2|pN3 zha8i>566fkA`N_M`-Y0HA%b}(+N7V~b()_lHKIYxu6uSewY#l!FvTvBCM>oE{Cxm`A4bS_J`o(`f;h% zaTABplO6d-?}we*uG_1ndwM87GaJr*005skN*nV3H^6@#|6>EiKzIC)4JR1g@jo^A zIOvZ5r-2Rae%FI&2>)r%bj1*8HuefIa3>5IZ=KDnI8!4>)8EJbG`-k;p4F@YGF4Z7 zsq$>Ck)-xd^?&}KuNF?j2o?6%a+Ns2#YoI`LWpUCWJ5qNpU<%a-ME_7*I)SY0+I|+OXyFz`nPZhpHsS#F{rEV=G=)M%FGL;ffOl(3)^M+7Q7=?Emuf6RYap$wbAR)an}Qqaqr?pb@y>hgYE!(fSPLc z$51(;Tl5@A#1PH;5FWOz?s9&u$My6e-E;NAULHOCpa| zPYq_T&djfcEIU6_XWXiVR)Sov$~0+=)&2V;0Vz|yqKx2K+e8eZo{lcW3|fMNBIXSI zJVa_GT%BhX60g8-JROH8jK0jcJVa=geEIy9EY(j%YlL*?B*12z6^cgx6LtQa=C5w8Ua~>? z`3p!Ir}%nf;^-VDtDkhR!R79O&^B|(wmfH$9egSoYF5}K)xPaY zhqLXZrNNCuMs5(pPDuuUIrSB7JbyBsWAaqwwUVL?5ECEznEXAblFWDG^9S^c9pm@+gH3*D31YM2aCuY$M*=cl?BDS{s z2Q2?|?`y0Wf|yKPrsBX2uL+>HYL+g&4^QlzPT?T!wM*QNb606q69StGki_Gk%=k{a8tW z{5&@N&a!23OVvm9DW+#CKQkwuMNngM_nYYU z*V)2@q~bP^{0d}$Lg@0vM(ru-Cn_k0kY8kHcJIxg=;n8dj@wPfW&wH+gJdtvQ%Fv+ zo(n+~Hbt?<;z>Z&yg$XmQya8rW0i1dOKl%^v;RYp;wM_-0aS*j?44n8k(qCi(v zk7o)1d(mIMX`%92j8hDqD`U}_Om`Gt)!1ovx+_`SjAXH&2 z%DBAt%~-QWc>T6|lga?g9L_;9sjBB+J4S6Gu%z3d-{r z-$VQzr|5L%O^gzmo;%geJ?MQ_ANIB}|FCxNTt7(9v((Y8=aI8Vu-XN$4`>M9n4q=u zed9OrrgWQp6Wl4jo+lHuP!tt8lxY7#6I{EF-I50wvp$v8MuP2ikF6coI6tf0z*ex*V{1AXgn)G#dOZa{a3s3 z*q3khG@KkW7^esWBB2;dIYXLrawYvb@t$DQ_88Vr2vH4P@1{bp9kC4|sl#;?(fjEw zl;4t{)L#}3sXs5@tE-nF*((1O{IdnOaDDyO>emt5lXydXfOtPrpfz#EE~>?WBbcSo z7OYhpkBJk7Ss2AudT3%GQ@PjnjEdCO_!DOmKTnFpn{p`@b@i`EwgxEs3AYY}mI1X$ z{-CNn5gKxe-zjL(9%*dIHj5Siu_PMx9%w=t3p1EPC2K=yyJGY!#A#GyX^z3lm@!Nl zz^B0E1cDWHY7h?U3qqf6+4w`iwY~f%L$RYJl##+WV&n{d_rW@L3EoDi9C!%>8XVjn-=a$O44F-k5QPDz*{cHs5u^%1B>94 zgE!ic_!OT%-m!Sh_R7V5DLeVvkf3DSx2cYPo1=M0p96r_`sfFrqaU<>n{~;?M@b5$ zB`13{o)n&7r35abzQ0mV+E75UkSSoj$m0UQo(8Dd(^BimCb}#hp*PW&Yj3x;2x53x z92Y5|ZNTLJWc4n8=6?p0C5OV@DG#h<8DIL< zC(!>EO`titr~gd^#Om*!>X*9jJB~sqP>g%T5!e21jk@g)vo3n;x!{Xk7gXPr`a zTRW{w_)6AUFAAwob?C-9E{VhDT_{}jVyv^@YHU*L z(L2LYJKbhLBFnMbH6Z_FQHvEP!RUrYG~eb0FrBlJ)^Qg&7$j- zcxq39gPyvdZ2WD0u#R|rJ^3pQpp29;K7mQ3h?_3S+U0W4!1KBQy7Yc?9wl3b{tXnZC_H?nbe(p=fjE|Poe@~u?`E5If+@S&*Z8jD|I-*I+&OTn}O5$&gwtS zqCMW&52}vM?=(nLYux9Eyg>HBnL$Tdwa?Z^`GBd4V{b3AbFiTLD@%3L_qkALA!3@I zTz^1#>SN%zciaw{qfvu1zPhrDR`BiDv)9^?*ErY`IcL_<$@SH~SmDNF3zxE&8rZR+2t{0c2THdgnRw-{HL^?!TP1~#oRx|N)$ z7KujRVffEaL1Bg`u^-GJvIkhDZrMM^m6uox!D@6TRL7xrnJ6I=B&q}|TGd%KDiv() zTsn)xa@PCzU^!oP=@pO^&T0&hmtQQn!5;rH)i}Fs@eR!YO9oZqmGPumNU! zj5B18L?9aCn=Sy zPB8sJAlVid&fW;^?(|CP>O z@crdkgVGr*`&m_U6H2nS zK30yNv&lG^l^MLW4=V#dXCSaZ@ZjP1YFJv47K4Y=vbcLKo#RIZ|Mcf`+D@Tm8HoFp zhjZkC#$!PHO)4v@uB@#}Uhi{rAK9$eDoagG@OP(^`1(hr>^l$Z|M` z^C`mP!?Ychky26#Rr--SS*@b1N40|v82^)Fn|_BX=4J6jO)&A^uDbwNylF@ zR#}<9su;z*^qqwr(QCy1UD6 zVzjEQ%n7n7BnapKXckz@1ATP=UcC`J_#LX$$_bv2!F%y@yY#Aj@n){pHgoD?ESQq? zJIiE;Yul9j3HbAW@lyeHL>T2*%C+p_Z2&_R+BnwOnV8Bd&ijo%;<4JIf!>u^>EyU5 zL`5;emX#41-0eGU?bX#$GaHY@m0+*d~YoOhKdGic;L?T&cK*?Aj%ZA?ll zSU4?%yTa0__+S6sZE>8D-F!-yhGn$Ed5bU?BhrYbzKVp=uk*1IZz;YK7{oWEjxiy? zNTZxD(eWxb(@2LazD&=TnRZYkw#|_Og?0Nbi8A~Psmk)=$U^a!juf z#%ddWb9nDzu-YAsO;DHPw4CK3CtrR7?*}(k0BbDvv2mStrpMC7pD;g}dFvCR0|o=a zm8)0s7CWtBv0#?Lv738!c0w|9x&RWOwu7t^6O&xarCE|F!u} zTK*j`FT2-Ei~2e*4sh>{BelGnc*iUK-2Ag`f!F`J_)ITzI1MLe%5#sKv76pgSaF(>vmV@y^QhEu)A9~qny@X4RPHIvM&;_UacrmrZ}2f zS;(Q;z@!pNpva6$+}=G&*X8?$kr&IDWyjAC?+k@y6x_>SET(pA`Yvj&Q_ZVZW)Map zz;Y@6Ck!_Mt6v$-Qjc6^;7oFD$Ka z#eDc*+}?s~Zp@cTB2-1uE^@zya9B~L%*~`TVCq6A?I`Zd@A>WT!vGPf9!~zL^?nFg zr%9Uxx8a3JouVL^9{yl}2PYF8y4h;-zM71lX{{Cd{H^N} z&CyHe3-%#&N(RpK#5woC^3|YM!|I*eO+1hMcUXF98321D4%5sSekp-JlA&3e4WdHH zX_zpHdl@#=Z2tfZrQ!&4#O1OCB-#f{SCF=-M05)`2!B*FJJqH-M%JOTh96WdPlq<7 zbDX9HNT-qCHB;+h%l z$~r@3-&h26N@7mh{I^VdEscsagxOHA>&@Uz`nlq6fOJxYIRs|K1VDp-jQ_w@yq{y+ z*^yG9SY7)h%+yLZ$(8FMPf|d(Tt6D1liuChhu{4UzH=1vmn=I^D`DuM;(7f5vuTNq zV|F6OEn4=fcPE~>XDY%-)owfc$qgavXc+f{Q?#hKlkhWe;1fav=AZ718Ag&Ar-rmH zqt>g^XOG{lnVjmY1d&CpvOMAyt7cz%NTB=&QZuR;s?QkNc_oN`I7E~FF!Z!)nKM_x z&{4F1fG`~KWO6ZyJ1S$GYMbvQM->`_A@&5;VA1VFu6Tsc&l`Nqc{sB#x5(LA|Bpxn zWq-&viCjwSdt-?Q)w1!Z1MUM!R3ffP(Hx*|&9*k_-q|sltr4O@JQ#?%LFPF!(^gvn z0t(!giN%E+c)VhOU;XW#B@^wsY4sUh=?puL9jTrgBlV;5TFbtm?lHul`9osLm+}T+ z)>OJ=6o{WUOR?^i?RI;*=oa2!*SKj<>>N5+@xH;?wcy9n+xajuKHy_3>;O8`4)H}Q zd}LcO@;hMt?b$pZde=k7mndj z!7@G|Hklo%Ue+)33Ui%bEs+VZWjJM$wniiWe=cJVB}a6yOM~H)i#E$<<}SKC8_;?{{F5mo5>X^ZYec? z!s9+@mZ;*d2iY)L`4Qdm1mj#*5#y`E?7~hs2nM)HOK_cPIwTDi#=U~uc zE7^y~Yi{>0yq^9KN?OhJ48K5y0N+^wT_C_Gw5>QB|A1pWo+rtC>fj1@*V-1b#*`>A zQxK{itayPtiOy+DhTvrnb7;{@)NlnPitmu}n(AlGseG7rEL#ab|NT?JB+Pg+|8oHz z!&7+OVU8$PHSrM-{nejW*?MIyc(vK2EB6SFa7oVs;TBQ(dv_Jw;eK67+GhIU*u((qtLX{1gCC8tpQ+2pfvC6m3Q6`I?uaYai+FW%*h^=pS*uWx_uAa#y!VAArit|*W5O;fN&0fnFPi!+iurd*3$RX4R z*#U)>VuWK+)=p;1k8uVYk7du1hU1${d6}>`r)IM(wVuS}*7EGjz3$uk5MWmfavjb< z*klfg*NCjoP&k6YXNANgeFvE7Yhax|+pd)4DxHk#t39Loaq;<;uR706$SO%qz{GXp zkM%WcjHc{_SOx&qOmkCVj1ofim-Wm%*!9=4mwiEeX4lfQ9hYo4C_h3r!jvZVTB~JZ zq5==s5SxdPl7<(y#;=JAIr1TUYyaW^qaEDvNBrTTo73^v7-ai#98Forc)LV)AS547 zsQmp<&`wieoH_@Kj2wQa{h@Wz-NUTH$`V`%dpw9#gK-ASIBf?H)--k_V6mKYUGK8L z5jQVcL1qGWp{J4V#y>bL=1Pq}By_8gje%`v!a{074~HWWThb&f*||S3>po$oSW_u3 zrw_iRgl4GNu2NvJnZtDqkx~*f3l3*OW?*MtmfN!Lf4k9n7=;|AFCGpSOz1d<>L|ZB zZ594vMx2pLb^VjZ$?!@Kn52{!cqJVZE=AgN?!a{G`ODPscW>{=(DMvuiF6m-^j`pl zF75;S-v<)UUaF3L#;N0)zz%<-_DJ?UK6Wrn_UyyOj7t3ZvRQm!AX!q$f1so_<9)*M zYOQmre+P0m@mScze|%c55PYa^`9@c0`&jFNh|LUDG*yzy$4W2p z`?Jw*;|mA=k%64wb9o_S7M`S`*O5%pOqC(?RHW^fL!YWPkN>+a!g_gyuBxEZ_c>Sx z7E}>lWm9ZJEE;_iHb#m>cBrVxr`DfQ)vC06!)1{29KtKDM7-~8Lz6GMvR+g6Md{duT}a; z6@mA%9HBwN=(1+|xTlqZGvyjDK{*XbzIcGPKbcn+$MoN8>QkpBPc#9xN!GcxrHs>t zRvH^|@FrE%*Le`t$XVC?%I4IAoY_ayFIO5tdbz#w&CONMjd$bhOvPv1N$9!1Ah1o5 z><*K)4ojvho-5S7;qZ5A&Af8XJCQtTZ`hS)8<3Wl`DsXq?7wrvM!T5*j0z(ku+k9e zw&j_05#!ADds%pj`KFT8_%coNh==H~jmh*+Kd-(qpo8~(`ME*>6&PgQ8pPzPs3Bo` z-p5)>$cHAukAspKBGeCaYc9n*jxs)I_&SNVGavQ!n}^LjoI;l^FW_87_q3)j1gB>% zboIL%!c1cB9l%H+FC3lL5eltZdl9>*Cd|iZAXK%SIpDzd9)z!C8(q{gUHkR!oOw!) z>H22Vx<+kbd4`<__15n%w}NXNZ&gw2i^60K2L5tZTy}Z6vI=0%ciy@=%jmm<<@b)n z6*f!+D6Emu1Mf+Rf$w<_N^TEubc4V;}U z2|ex6hR3vnx|@~nW6Az2!{_wGa{h%W4jALhpJtnBqT?%N+05sr}Eq3~}PUo@CFQLL&{N^r2d>sM*h z)#bc--wdCJW6H9$Aqlsx@%gsTA|Bmz_p6UA^_#uV>urWuIrQHEqGe{iH;*cMl?!CYFxmErk@D)CB zl%m4oHBM8tKjS+&<$&GKxe^q_G2)^(QVtIX9ltep`HowhJ}MMU-W@#~qV4JV zBO>)kQxj_$4ncJJ*wp}8FNN0g+-c<5QFMNCHNsvISP~nW=)9QyazNwl@uHhaMWed# zYpJ(f6+0*OLmJQOZASpijNWl4$~T~O^#HY%6C9!G-O*;Ktq}FEXtv6iDxhDQPwnjH zTVATtTHX&;NKW;+KNPg`y-245(FR-27jAA~@c+!A`n+KMPE6$YjFcUaG~R$P_RQ`E zv>g}lwc}f>pj9OK44qc$jPn9{_nJYJh9KOdj#rY%tyIsS>=+X3_A8!#mTp6*%VgU) ztL^8$$A8wk(IXWRaRYXNyfnP+hya!d?h7iX$4(wF`=`{JCK4bi5~jQMQrL-%vd`Cd zwwdw6!y|Hjmi9R#O6Dg@kf^1?qp}vq*MZTiZY6QFb%P4H9}x>%M-_QsZo~{OHL#p{ z;yxH%C*P{im?7wRG-HpRt3S-l-Ryk?6^IB%narr+x=Lv9(c(B`c_O}8emkxMP`FdX z5ThyKP$olTRhV&#Unr3eD77~K8Qcm`8SPNG2~$5d&up3EvoF@ciswFHJwD>WZ{S^t zYB1NUC6!0Mk?aMef2)W%!nhx(I1UU)#+wFsvq!(Be1CoJ4fugJIhp?Vc?~*uK_zop zHn~KRjo?PhX$c82;Q~pbMrJti@mYE4Gj2gtaPlb5mB!E4LEJ6Ddr$|YU7YDNjNUtW zxBu|=9^dCa8Xdh(X;nDG-IpokZg+n)Y4aYwlYbw=G#JaAMtnxCWzc4A)$JV~(WjW* zWNUGoLT+nnp0)$+(KP{!rQ;h4wU1=upt5l6aqL^`+JlIE{6`)w%EtQ&B0pG8i|E?E z*`B{a)U2RWbmxzn->QJTD$@QLGG7J?+y6%KmUE`~`8QF?QfxlDbxz0mtHQNE=r8{t z$|iZTN5;&_zx#%$wMJ1cM^nGHh-CkY?noR+NOuu`aa`uY#ddKrWXKhH6w=h4OX@qPtJM1e~cpFYI>xEMofom`$)dHTuCj>DWB#g#Uf>G zilh@)K;hksy1W`s!O%_9SXY)o`F@*4WcVO-y~kAv$ydwVgknz2fK&fCVC-q z51{Zl!gl>tHjJPa?IYt>!R8GNP)NvE)4$AE9aTO}PY2fC1*j|)PLFN`Z3aDizVn{n zw4_7c1k{%X41lw?yx9G8fzIE$v{YK|Gi!I24W1@W62cOa+If|*L(7^9j9-EdD1SwC zTYaRlv{jg<&U>|*guI4g`qNlHt>HG&lArdxIrog*2xV1hms^k5%cXO>qwr@ZB4n@b zK0^dV8C(}lRgEQ%AZtTTNJ-gWze_BMNQNb&_BBiuKll`;D)+{awqwtQX<@2;tONaZ zsvtp0qcU^{dCOtdF?tr5pI0)TF4W8{WtcurY94&RxfFs}vRATzFqnJ9s|%>5f4Jg+ z=@rGq)s<@AT-l5lm*qmD?>>A@wI1k7sp3g}y+-3S5E~D>>U+Bb+Mzjm_5Hq~iefR> zjzQ@*?IMnl5PLazF*r9VUN`VykAOb!m_GEL_-iH_0OV@f!Hc3I^@*Cs!Q2MEuUQi? z6XDS6g6+4y*)B;KQ~s#o_adIiT{__!#7hn@YLD*xY0o&LlaHZ^#>S9l z!yXw}`%^wAS14j|eMEF`wHH1363rN2``NJwU$@6t+h2I^twn~DVN4bKve-S@DGm8O zt4M+C6Ne{USvbSvPe-sKJ}~;^LuCTlXGVPMnAY@MT-|_o=C>-D&$5-m7Z{ML!`mNQ zcPOFnX76w+tWlatAt!ZnNgXk$>?Y)u1R+LXYy3DoUzk*IYAl;zz^R&R*@1d=+-Le* z&_+Y+3k|I3kW!P3ITBrX(Z&<$zVGhp9Be`1uv({us2zcRJO134C2l>6EXGfwdR1dOthJ?UK8(E+9jf_8Op0{k5j?g8jPV zzj%Uh9z#qv$u;R)LtNp?ljF9|`y{gA@6^v_Sp%_!$YZikJS#j*9$D(jP?DaBQ>hOE zjgX%g(Do}M$|NrWnCZ_1jMJK-t^-nD9U(HrQW*BE&f&)$aaO19tG9$4yqZSM0hWk` z|JJ&sn2tZbVhwXLGp-=MViGrg4n&lk{!8t;dARN+2L2L0+#jx}`MF4e3!U@-6Jwp1Y=SeOeg1mY zAkB0y*4Nfn6jp6wE@>5!ubA~(f;aKIa|(oT-9%sfnpgxBo<8`e zzcp02P1hQx`dGU1zO9(QV(h!QTb8?h{b=&{_^U2m)mb|C;SDtgYhL(Mn+iw&-ul{{ zFXNwZbY%r?GM0ip=B!+vwZ7$FLt42lc*24<2)ef;i9rNSTzc{!YlA7VCVqw`+mQ$H$B`p^5~(o!n63(!FoCtIMW}+gavp*4TZyV^ZBNYD_s)(y zi)*SF$=KtG-+G!vy#79`5k0aLg7*#tOZG1ubtZL}h#mCHlUWNd4|4mdBH-urJ0=p^ zjEkdQr}_?C#Iugh!(HeKdvag+#RUU52ay7wksqVU)2zm6&TB@+(h#{>(ja8Er}N1B z0BI;hTVk^5sF8z*GU*HmccK+Gtp&+{$BU$^NR~wJw|vZz1au~a1v}(3Qsdl)8*#X0 z2dVtAQOEMV3B-G34=tx8C_bOdX#nP_U@j)+N4J%a9}R57l_o%cLnxCXfV&j6C10&+ z1p};_b_rF@etrefp|CN%zH)FPGk3`;@%zyQ>*f48e{%IAKR;QoOED9ycF$If>-2X{ zr%y&{mn%Jz?M`!vOu)6+*aumJgjk!(&V!3%0#pB12po&3S_kZ;29J@;5%uF<$Q${7nY}-iS9zKGoM*B@@~F zl;to0v~H=~0Q%>WGR$y{g(phlZ}0~;%Ry0CuCSB_>vz5rjAxIjx#T)Q7~x&IBitz& zZU41)i}lQoi3zkMJe?vEt|1a!V`4gIHHmh-e`);!E#?UETr9dVipk>CmbWJogFku$ zC5X-Z%a-9D3ENV>68(R3ME{7temXQGoRDuTxEbDl4DNM|Y1OJZ+9`C=m}zMlF(ub14a zas!0LDjk)hT&nD7*q|*aWk;i;!Ftjr@Q=5%>RRmHN)xN0xhgA&?2`B~q#l@95i8+Y zSwzb`)_VHdDzG8{g!U%>0#sNvQpJk8>OL}}>tu(omBHwBc6!e^a!LT{dJx@=lE874 zT8JLfIBeWxibD>O(bw}l(yb2&dZbq#4Y()zl!sBJ0tSN|jq{XizU6)Cg|t*0kr}Em zmR%;plSDVG7}?C{Jj{uZc)YQqnB-}VVjnP}7+mdyJhjm*O}uYzrSZ~V2?VqFAQU{e zB_1EjC%Ny1FfN3QTc3D_(5mhzyHvntB{!t192e}IDk$u&E=HizcJ;9=cGk&S3dc29 z)B?#Qm(Rn`{C19>5h|LtV^hKHbCZ&qwvmgN?8*a{i+hF#ohdIR)%PmbxFpw09S_8U zxh&ZYGh=Lg3t;4iDmnYN1-}!GKf{Xty6ab0fe9(@zsClRK6BChFZuRAHXX=5mxdPa z2DS;#m%;b3zDqvC8WM0u>I&soT2sjNdAVP#LFu-M*>`JK+QY$(-{OhP&}n{ha>ucB zE{gImU_Sq=&2mK!tQzr$**Y1Dt2<~gh^~j0a}gvEK0DF`F1GiLVGV`uEQLLy6_Bvok?L>0;JWwIBh1Yv-KMwW3C+Aai&Y>KM!YUZM`+08iQmbk}jnYAw32oFnKMioiH0NhHa@E%G9 z+j-%}-G;brUuKpsFqJF;Lrt^GpQ)2Kq@&6BAq4Ja3QyAH~J)dclB=^1%~&Nw0Qtm)7IQPB&r2qd^t ztW2a@LsmoJHg;2a){LA5>~%H0Aez6^C%<4F&xBS?J!0}Cej%g|WQ3xr3Dc$7jHJt6efm>932*xXx;*BumvMc)zK};vOw6aTQBl_zi>d3zZEdRmXnhq- zRP5jt2^hBSeeU1FuQWxdJzX^kJG1}Bm~OvYLg1w(<8EJ0@jYZ3;*p1`3oIjW5K$62 zxth{cN-<`d{B_$P6ss(>QeWpY&hFl5QJ?x6keUIsCNn>~HV`Yhm|)zjd8^tVQE@N@SreOfcTeMSF&wsQ_VU4z zjW54LqLN&6YH?d@ui!HlwkdyQnA(^t&f z-lp4Hhn)0bf!ZKD#T<%x5$-sHU$&;B$ZvElRaHC7Fbq{*u;*+ESm~l0e;u~)+G0S+ zlE4aosK&Xv=14ZWLGY^@%I2+uZv*?>=!G3GZ83uFN#|%mUrCVL}c($lvT0YyI(lr_R}s{GJEjUVTp z8pSoStf2e4y$m*&^JqmE52KE3U0K7Es$v8xnokpE-@QLLX-73nJKuOn;H<=EJ0JZC zDw%f{RrI`1MNby9fRKmYNj=p{RzivO*09=>y8cJP90A#$jHCANIG1QR_%GcxJQj}+ z=nKNv3ygUwsGtzf{2rv2UL{UE{tR|`jX2Q?$zHBHQ@)if zsCy&iEXxVzCU9{guiJRa{FQ4VO9U86U))jcF*h5FSr`*L2b%7pN#Td#*XF;}l1$f? zKNh763`Z9h!!9aINY5&qQ~_eZi-2y7LXPeg!1%ThqDi znbyo|pfPVi^vqe&?@>UobF@Po2sVSA)v)QU51A;q^hWDjgh_!7Sq#pAfbR&vun@Wn$dO!t+;WHWlxf)lZQb zsLE|~C5+nW*S+(k%xW}JwalhM6vnmL<_U-NzMdHIz4mLmI%;=&r zp4NY8sIW6_xTZjff-ey9N~&SU$jK-_9SY$85VF4 zV?!r+nbwmCBs1%Xpa#D#E#$~MGm^5S3=GXtZ{-XIn zX?KJId#Ji`P%k)-H9kxm;-w@8gP>WeRn>lTfK3@rZ zA-7I(n?b)J);ij!ww8tY1;JO0`5*O)7`18Lkei9;hcU`XRe1PI46b;b$+bV%KI}S9f;R6@Cb?pRdCUR2?f9yPj3#e`E@BaQlCX}Mq&5>VCxmYCO-}o5p$}T zVSyf`g2UqzZEG#Q(03hi9dsZuhG_-P1^#JasClLwMT8#U#RG1D;7@45Cfw2--eFol zw+i=(#b*xMv&K>ez;r5s=!*V?Yd9=l2=^x!7+tDljgJJTq#^VJ{5ZjZRyH*_y``~H zyDYqjqo2{r7(;D1UKyHH1QU)SgIK#3%`Q-k+WZ?b z%w_o`7gJXWO&1k~bH?~@(8j+(^Cn<}JO%*l6YoFHbyQ$aI;IX1H95im{Ud(<{U7l` zee#v_s3hztjsBUlLv6?z3Hn{T4Um;09CS3zkLD;P0sU(z=|L9f<{zDDQWhB|v%P;H z^!RTV0=b=$c*eeO@XwD-9$Fd)J{r+LKI7;*#?rv#(RaJr=24fojDEq)3K{-rhvvIO zv|)d6x-N&Z)(Aw4$OLRxz|z!IkR7&m?fLD71#hNf|6eWf_BO+GN0LJ`)3(oZngqeD zc@gl&_t4}a%6qNE$UM$*skeITDAe{zE(rEin-Mk;`S)St+1QNCk@)MO!_dR2`M(c4 z7F%hfLO?O(yT`VngKzE^v^&dP7Fz(gB6>B^3q)QZo0NzL>|F@=Sa1s~KjxW@ean&}a_p#4rRf>U(*%W?h z`OvD;+5h7zh>-1%qM5w&cd(tcV70&1^tiRE96os?`aT|QbN{5tb28@wqrhk`a5Pi} z+!1j#bSbv`GmDquLaraaO-}cemK(+>CrFS zyvpG$-+FgLpb~b0;Zya`a(UIT_B!~0_o0sk@lWaW0^4}&;$1XEzsQ%OFD-})PkdQ* z?@*> XKSCze9dBn$aqk@c5=9~qx;pyix-(>1J?tFA3|8&$FNn+w^SSB)#F`e*J0t;> zHOJ5ggcA^KA-wBV_lQv31xKP_QXX9$%#&onftDKdPYHE5aVBL9h{>X8w&f_;3=eEG2oQAA_H8g#468XIJ=4jP7|jszf(Tl3nS}|rIvUC;@{Bo@f-1wo z&AhIGy3a zZ(pAp*^0DJDqV~dB;;YDU(Qt~t@wkHnzW@!skq@nWnm1!uT1)Y6{f9i>aQG>8&wTtS&J&7xdfYur9Y1M?uf^5iplS7Cf8~WuIue8)fYo=E$D0N zd9mCQirN+(dypFrsSMYTPp4cBY>fj|Z{7a+7G?r_t&GNJ40pC}_~wS;d-uux1OUf_ zc!sYFuaG?H8wwa)0v5N?uT$o;&#j3WDR*OkZucjDdpPuU*&rx20y?4uri=ho zrx-&D)?_zQqhEQAT+v-tpSo)Y-0AhC1qUaxub0~@qqQze}b9%%<65LS>aTE5AD;>32=(r z2kT@~Ot3<-!e8U2+08nx}|93_^OEPIx{rh-o{ChpYEM!C6fd2lkHNA2@rU8*6ZFrE$Qe&w&`ny|JBNwM?=~6aopC- z*s{wqGRjhBWUDYDW9ym67P3VQ1}PQ7*ux}48e^F(k7c5##ANNsQZ$x9PedXknrzvb zkeLY&@7?p~d(Qjc`_J{yea?M;zjObt>wM33f4`rGmv^yrO6wRb%UDiK4{GMHe99l} zEd&W35<(Znp2WeQ)q=C#DkdbrKxfCN;~nfku6+VYz&Q>{*ROUWr;q;m3`D6_D|F{S z{Zdt%4<#jW#bpsiuMVb`++@>$?inGOyE@jQi|XL*scR8ix}-$;=G0AMjb?<5Ngc-I z-wh^u8J6a<-K}?3Mo0MF*_AFYQ37>4*4d9kj+nW$T|@$k-`L<=D$xYZ!EnTyQ9gY2 z2l=?Zu9zXm)Kj-x)W5hL+4XTWBPhUCgI#k&27;CJ9Sc_$A^P>yx7I6q41OCIpzO$h zJIk(frPH+Eb?X^X#+`&ai}LEy@9oGDR=r&cl3k|B6-gvjSwdB*J79sFFPdtFu_@Os zIv9V~7@(O$t>(kONxlRo?V=g6ayfmw6fJx=jMSh4cV9DZHY$X)^{&E&An44o(nm#D z*^^D?{aC-ZldvcLVh!az{&DQUD3gE%3}w2A+;#7hd47Pss4b&4Rc29IyqqDl^t)HK z=_f}OOUJ%RSZhQ3+*h2}@HjOJyFkOjr99xpk6lqvEa&Pl(?^AK0{-i$PI;gi_@luV zp;Vtv8AlMu9xK{-Cm-0WA8~Yr7z~9TxAIWRCeD&X_xK%bUTVvV1Cti3sfkFNPY)7k zPXt88nf`q|m<1%X`@c~AT$L}aWp?~FmXYb(*S?$d(N?(6_;+fGVamzt`8lfYcS5_= z$Ga~Auo!#B90+coMidkk0uGksCLs$Gj!DNGd4-1iA$&59wJO?6GsV z;MVvGioJSx-nU!f^H18}w0~&NpA8Fj;>dz7_pyA(r9O#=U7>?AfKkb$H;n%P)F9CW zA}TD;_@xIM@K%(FK6;0~Xa9b#yL~XI9{4?$dGr!JE&?>7%VX_{zb1^pl zya|9c50uEEtl;KKZmh?+B|zl}0bv5gyUy)nE9&>-!bzqFG`e!EpBTK%OhJkX92fS z11hdJ=Yr(Gyl(WJ7i<~ME?XIC`8JH!+G%@^7|k_np7nmy%)e8soS=DnHe@yBkG%LG zksW1I?ky)cxKrXnr61vfOUP|HHbY4l*aoRG4bFtV#EliQFMc{nx1yNW|3d2F)#$-n zpTM}z9)#q<*lEA$#f5J9Aq^TX%- z5>tDBEfW}@AqZ-tu(y(iYLj@^FEjjSmZhxS4ALN+$?J#azTXt$pxzs*Tyoqsqn@}& zk18Bvrp=K|&mD@=0hliD=vnMK4hClV`Z(f^ve>~ofqEkTaQqm0@^T#_Hf7}P=jX6M zzOwj9bA1SyEv2v3G&6v)7*tI8TPxpZS)`Etlfe%MIT+MP)wW}k8M5im)s|n2wQ#r6 z^&Z23uVPn>8wpw^V?9SV$E~(3=;EI)7Y`^CS$;+~d|=b%TjG6yFF@fb;olSa~6DKucDLMHzDxwKKCfnrRApQRYY z{c+Qk(6LapL#f6wbwYixQ*tn`JL<&Q`c{7+tLghxqx4J`tLnyPxug4_} zqeMt0fLHDN>y*%s9t9vah>;l;P5Ba_vK4wup<*~wR?hGim*|Ye!>GsVr@atoLzz$I z3|UpQpU9GGQCZ>EIz$j~sjZ^kWXx`{(h*10D2sP*l-GPqtp7`M@(5^FEeuYk>rQzM zxWzN8n4BxwQ=g}y2)7WsnRx9=)@3+*bp40Grl-~`prrXMp=0B6#QqZy#M=Vp0r^Fc+(06026Fw(wm_Z9Q!P6M?k!jGt+jms3Eau=@F>Z~2Nju3JT!sr}xa(vOBS zMStGD5Uupirg4;&k^CbwH<9YXLf!tIQJ+iGUi3YuLi;tJzPg^D=wwP}5Wc8M8^%Hi z1iK%4cwr{XJ>`2EU&4&bUSJ72X4A*2bA`v>r?91K7P|z=AsRsL|G$6PiQLqnp=rcQ zj0Sl$hcfKdgNPpR+4(K~kPgHO542+>hf}HqSxFJm__!B(K(7n*?vOotVxh~24h88Q z@apLzGVBQrD44%he}tb&6CtpGctE7ek=C; z0J>3x2l|CT@{j^c2*@Jy>3Z-9?@{auL$oH5pG5SeP-0~9AS)U%S=wR25lFnoQI|f) zoS_YJS^#gkH??EsO9cY;uo&g;As4YjbA}zSJa<2=gVPo%H^5eWgZv`s*@ z75cHa?W-dt8|tj{pYTP2W=wwB3+MCre@XN*fgN@9_$LCRIS=PKp+7kh{Rxi z94Hdz#cWS|rUFl%s&$jz9eQAjIj`xQmAD@h&a~i=+|M`v83bx)G2*)x3Ife@A8pbH zsxv0Z&^41kU6zxX>foaTF@V)lCq!jprdOoaUl%2HcUXSRKTlcnHjqD!tJb3ieGf@$ z9=^=w*IH@o0-ND#sJtRm;EC03wk5DF^GrXX{ETD-smcB5W^u{w@VF$3qaka|GFP9p z{h}6qo~F2UF^>)uxJPrT-A*^wws9#BDZxt2(=tsA(+*-h2l~vA3wJo@Sxg@NkjA2+ zd}y(_coEiyb2*AFTSy)#0zcHPdrJkVDwVPG{j-5E>CK{b7J5lUT^{5fyXNJyN%nS4 zrOlFW(rY0)5mT!#vbpQiE{2^=$`Xa%-@LVLwwN}}qKO=ogN_rZ0A0=eTWH{1L@)mp zcqM?h3D-jeE?%!^F%6RvZEW7epOom%UeyH4+LCb=?Jt-Em*{&t4!&!m5r4e&j<|f@ zhfL51Evug`$uG82Z1Od~-N+VQ4E}*kW(;Pt)_sf`SRAc7@-I!_#GpJdYj{hH8Ql`@ zzj4bEe{PA5xW!QBn6H(hAPX;&PvVo>tRVj_uxAA2N=4n=DZ3vd*%Q@$-9)3d+4`a! z>1-m`CH4=(h@4Z%&gz6_KJ%hv?f*JdH>a2gkbTWtqH;;Y+Z9LIbk`LB$<~{m4VKpl zF@Wj!QEK`;lKDlCZhJ4gdk{hAq$937$Ulfka^35oLw)~S`LmT&^MaU6Z!358@atE0 zQfTy;%+R0&9GKtr{9!b^;sG2;O z-oP?=LA0e{x5MPlh((Vku!Y@qzP+T)gUC1NyfvGCV$3o5G}?*#w&RvP7QEE0CSYNm zm>_OzPWpQ_+fgEAKE~6YDwyB7$+3S-f>{&!wmXQiHLbu9bOlbj>b~_ur0*6X;4&lW zZAIOqh;q?-9b9zn2z)qSbG%fT~zl=}0d7EvLYa7r~ z@^sWd&-If!4z<4T|5-rAKxFCWcKyHiR+W7IWHO?IW-WbHh~6%4%m)IXEA+W=s3s)B zL>?XfoE{muhvY#0y_LnQ@9$UNsa*4?YNX`-Xx2TlTyt0n9V@)(KvZR3D>-GdI|b?t ztLjLtJoZbNM=nlS>+Y@jc73y(uha934iFb;2(3M6>0eyx1$kWPxp~mB1lPy?{Ajs84;qrC1s?IO%Fy;WPVt?qkpYIS zO4qsYe$+Fr`J(3pVr!qw{hc>^et&q28fk>rOQ$fdDngL z6{-*X#9$3s*fQanfq9%od*165tCe_N1Yh=A{IRt%%F?d8I66>te)$S=rkOIaO7WW@Mp9B=T$cCBAh4I)Vgsu+SpRw92&>OM@$o|5?^pNeljz zO8a1Sa4tMq-`O6}TgA&GWBQATx=@JJbyGG25L2{-+TG75Uplxo;&~Dbs1_<7?a_03 z)^<`|r2TmGm`Y`pt=i`y_eUG+7$sSMZe=xG2^%T5b!EDSPjX~D>mU{Xr&7w##sni3 zc2Off&HGFtD^cV}0(f~e?uCAQ7fHzOcTYq$d9kg&!2a`fP%tuJ1ezZ;tu{|KE{Nt< zlX10XU<#|LyrGrd!XCJnd<)-^m0o66eT=+q?QmtmP+EuS_-^3hL+3ya-#RTpFo2>BH#jBI~EO#GQ~ zHt_wIJ_8$eT;&8Ia+h>F>m{ZIvd{SZG1Y?9&^C+zK>yrBVpNDb;^%P4V06N%$uxa1 zQh3DeKy@n|;c=dAN9yxM4Xf9TsYF1^une+QP!IRM)Wu%}W=(y=W1w7OynC`4R`9a^Ph(484$l+k+*FWxfKzeVC9bU4|3mee>BVy@4c^1 z9DZl;eR3PQSX}|zE`mz@+<=C75#!qU2*-1|t^O%Xp6Tw1A7 zuKDvvQp`F{JA_Bq?Ea3BxgP^kq^h~p?feKJIrYZ|(t}Wb8MP|f9>^tj!o6@+0pggN z?B!l2j&5p3_Q@%6@>jlyfZ?a2V@LkQJ#@inKKa^p9cHq4;Wc+6CtL98Z^6*} zC{_%y>+j_r^nPr}F&j(`cgrrtIxORkheZ74V1h<6IPR%YpkHwIvP5scfQFHx{`R66 zv|^6MNwEvmQ)C;%-^0Ryg!S%M9H(*UZ{Xryw9G>lt3h%~WGfgyNaE{*1vn$ANuV@t zoyKGyr_=XQP%-hkc!+ma<3Rph$5&AkG!tS(F4^T)+P|hK^dtcEY_pVgZ&-h};neX5 za2Tk!+jMur6gkj4c1!7J1l@hmF*8L#{vKgt({$3$%j z#jDt1^i@TF{05EUO(Mt&>@9M7!x_!k*%DMq?{1EBtYn&x#uz7LUwuD`p4@L8bL$zS zxjVW)YRB1n?ep@9L)&h>n9qHFMZaLaoP~B4&`urs2^w3m_iJS(+K}~BdJ}VY&)$!g zru|Y+9-})^<;#dN?m!Cdo!!_xO?|A-+a2P1!#;t6uK^$>P?Y^{kF~LKV5oi6H z{lUnNcnt#+8ER1LzD5+cEdvNN!$#gde{VUs90meiWCXijIQVM~JZ6PEu$Tjb-79L6 zh)huJrO6Kffn4vwAH0-*oe!83P@NcYrs;!@5J)X5IQtL0x9{*gfLUYtr)W?YL4i)~ z;H7%8G0!jYx4*raLB8+i23(GltKh*4b#@?-sVEV{?e~bW{yGR$&P0h`%X(gfh+d$- z3I?euUqw!I?rErZ2mKZVV6+4=m_Sv_0vf)&AU4Bt<7`Xh2#Agm2`GHrSO#7Ahd0-I zJF6?XF5nC`&b6#$W%?^b%l?{|sdn}GMd{RcMV_n$ zt$pum+S2)$mA!ka%t7Ojxrd1&Go7_sX9nkz?HGwhajl4!wIP?nQP~^A!B#9B)DGYF z=ogU#1l#qC^K}{rS`>-UHs4PuC}B};<}}Mbopp;*jF$X5@bAmsE@1%Vaw^b<*DZWd z7UWktsSgjxJ%19L4<2kz{IIP_*Q(RQUq_B1k5U^j9{uQq62G1g8dC>fWoXW#=lL?l z4O}j14DV7H0&lffq|-T(hWlT&xyD+B4YSZDdIiswMYM`OW^H@Cz|skkBlRoZ&Po3w zg=gjoo$7*%vl7zpGjr^TW-50muVnD_P{_qYmTv=8r1+7|Xu^6KDH~UdARr*}Ev}5F zmnW|3QTMW`;mX*_A6l_2?r%+5tjYLJ)k}C&3z+!g!r^k1)R94!d^KS>+hwi87;-{J z3hhGq7qYSUJ$@P4-nFU(Gv?UPE!3(Ly+CH`UQU_4TM(;k=#M2QBYqH>1exp}F^L_#2Ll=EWfIayiPI2OZkN zDw^jqS;duDAD&O4RZ9%Xjz=`+IvV=gRCwdfnrvrfbO~^sd5v7~7(&uBv$;%MX77V2 zEmRH?m47odi_Uv+~W%$6$9eNB6uCV zeQdJpM&lnalHGCVH9MiLbyDi~W~1PTAl^Tu>aYtr|3+~D)!qhU;6bzs8 zM#bmQ|9pg#qZ-x}u=fUW0M>Uuj6qsDA1Z!l-#oE#!rD)r&%i)1wjEPY~+876+bA{ z2Kkl4#k+BNQqYPY@J*!v#+I38zTm^$$HL@Y(rc%2##SEz^5=a)VzC&g^t3T*hHTP* z4xz|O{5MkKPO@b52YDNUF1pTURbNp%2^1-%2m!JjI(jogSjQomD-BwEZ7)BAiWt{A{wQp^ z;@Oe+cD`vpN{Rfc7Ol5*%|T*H(1)TCXRib5Bnc5Cy1>{0E_cGcb71ed2={9cYgnLs z&MXLRft23HBgEV(w$TFZ{9iAK1y4+40)A#BeZ->_O0q zARFEJbhUGZ=HDWj5tu}=D2SarW*Lb!Y27{vCx<5sdR$6oG5Ssr!|*Q{u8^xG`=`LJ z;Fxu>L9S23x6B}~2%z|k^JNI_W?K?@a))cd@GceivCK{a-L?n85p^gA3CLAgI!$&aA@lpJ@4KEt)J;ybanB4vGSx3bTGpc!3U9cASxKGOt`|ZOG0@e;kl#&kq2u=x?j9Nb!sF&8ez3UvqMo%SVT@n%RnlD-Mc<3E+7}>RWZ*MA___aWqJ-q8xnay z``Wl^RVou!O;D)Wo=2w30Or@a?mv+uzkvCufIiY6X01i=X&!SU2bGEm9aSg)g4-dj zm3Rs$`tFgC(sXH$)`;STAp+v$Mb2`sY?tnjWI(| zyJo9dlih6^iK7s7eN9Ts`Yk~Yf8!qyjzo^x@h91n=~d3Zm7bGwB0!0tBK9%-E@FLO z7~Ig!MOk40f4;|P!m0;(TGamtfv+F@&?EAq z=eQPXZK(y;z>Dse)EHs5;qaddH_G%2em6lmSI%Vsrd5+F=iSp_67Ov?12XeTVETQi zCsl^-x^6?Y>sX$Ywv;_$-G2JktJ-WYEN2AbIG?MhNrRpxneUvU3wdTIh!ONzt34R` z&}}1XZ(5luUNMA|N+XG{z?^&))pruGfObh-*WFvuJQA15K#NcTj`<9 zz>fJ-uO&*6rAVtUc8C4__%N!+&E%ISsf?hzM#MGTB6z%NC~mJ&nvr`emG->pJBLA$ zqtm>KEz&2&g;Za(#g~8Ibhpri-{b1ElwXD{ekj=f=FVY8iPVXKGR!aEwvmv^)im1( zhY`=ZR3o0y4kDU#vac;b-Pi>RuZYr)-(z%_%$3raw0z;>^Cg$EgO90K$Fm<}V7W-w zxv^>nSVBbWGo;THV(VZIH)~ce3Zj8PdPN@@DI$?;AB162@~7=c)`hSdL+Xa>caquh z0VDj!v1J(EPwUC4Z^|WLZ!X*GPhmLy>-~*~pSBt*Kt1)T@AB}PG{xTpiAP^*CK&@k zWgrB>D@J8)V>Nk?%0T4k-0y%2A88)q8@IBOc=)(?fXL$P9+y{h#mwC;V)e~^#M@~} zwc>aIM)nH5`8=I|bHHR{eeAnJYz3PuojnBik8J(*^0YnpfcXsLlYx(qA88 zoz=vYUj3vGGo9ox{-J-5Pv{`)ZX}FWJ^O+4o9tbp2-&a{ozP&TCK6~r3zyyDXClP* zo%VzyY!gVV00%yvX4ZH#A^2QA@dH;`c6gRJ&bh*^NfiS={? z?1t@fR7)qgpElC{-Nm7OG1sm0489}67IEAeZkVV&SvKyhJ8a<@8x5Bh4S$tGUeY1k zLw8Gkg&fk8|WY>9`SM6tPn+DgNLUv1i;lbTdP?q zH7OB#3QdqIBXM&@@;Ys=BPvjd8ot*Swt9H5)3$Rj^|;X3PfS1S4@e#F zwDY&E{E)I9qo5By79*>yWg`fy%myKVm3By&hHQXI^rJ(6>JF23xEjPq3@5N9w~kmy zwf>EZ=O*j7WP|3A1aMdr7aW^VOUc|f*#{F3A%4$PPhRbQ{vgYJ|IxtbAw-S;1=2!C zoFEWVKMx#~iwpEcmPh%kadeQ*7V%FNMV%FQ^D2hP9T-X*v}DaAk7<6(i>?Vw=%Xw! zQyPCZQg4Qm$jGgS#OoZ9mw$_kJEB^1cJXLz7X<=1%}o19AJb@p-apLd(fh$!#EVB0 z3Nh;?db*F3+m#&*?)_NK^&(Q3 z;S{_ZMTr_m@EP1tlq8y>_#^x*CJB|}0k!cGWML71CKUu?+ah0n`HAE7j)l}aRPC3A zmR+m@!PUFuJWdxZyUyRwIa?NxZmC+dk6SG(vB8jTV1r79*TPl^c?qt8rbVQGXd29A(r*<>Ih;Xi^KSQUqpsuMnh}BsC|{O z$%^KKM)O_l=s@ODVxVYVG)35&az{JJ1$O<*v#k4*$}2NGvsgGy2f5iXb07lF0Iu6S z*1oTy4uR5SQI3r3JL+dI0I0;~`;v-$7ZUL**X9aSOT*aju5P(f9Sx{&D+2MRtM(P~ zOG)kz1e;FwFyFgoVTUc*b!G}!hzROxfOX9ZO&?^D*APj{ofSW_-cJ&6E{Br-kCzF5 zjU#pVo`?I9;uQQ5jawfku3+!4H-DkY2~{k+Oc9uj!@?hR6iNaaIpFeq&7iu3{#rv= z1luj`XaBizzeXGOzCiz$xxJA^zCWF_^eRKo8A5hsaNly-?tqO ze;kv&E!NP_tG4oVUd=4;Y>&n5<$rt^dzztnlEPWThq#qU2>6uz?0E`Klp=k1;Z0fp zJ7SL=<)>q}mtm||s+kC030jdd17~A|nW7M44_W_ZtW8U|CtQkvz4!N4{vUh;QMleB+d@6KF8wnnYddLD1C)Khu;VlUmk!mEK*e7#oTjpX8iEH)BxM zu}&6=u{Tf0XKOoOniqL?yqlvEmDz4^YGBNxqYKh}4d4WMJ0haN);W=|_OuqY-M_JR zd+4csx#C)(_fpe=JCR*6?OR z#1@A*pU~hR!KHiXwI`C^%CqEF)M433-*ybxE{pf3b4KlXNyo(0@9XcW16D)2AsU`U zUD%r2)u^&*j_nQ*t6(LYtzxMc$;FeXz*@~rLOF5yU*aXHM9fIllTZqJn< zi$=g7&Guh-k;@ca7hz@|_AoG_u4Wu9x*#R+oy4okQ51rK0R18agqdv zG4F-wstV&DJhK3|XJ_ULxPkf#pVwBT!JesSE6q5%fLY|D;EK|Y989O_rV_eGw(qTJ zdKd9wY~;5$zOoH5NuGEzw%Z21X&^yu$KO?#yD?qp@qi4wq2Etk+TrrBAPE!e;0}2h zx5Pa+$psbq;@t|=c1f%}i)p`{_guoQKZ#uxx8K#$DldMp_!AkiJde+%MS-`{Qy&B) zmE^x1wbZ)TC$ApM6<_Jw7l{&ab)lF+?ZM5P;f1r2S}}zAY1WL@ z%S(&UGWix4M)-AhxXUsJ_EdzZRrN9Svc5R-KI$KfU{h^b+x{8{EF=i(-}87Ylt2t8 z>tC?y+x#Q_C*M+0$OBS(Upxx^`L|SUcJ=KF+F({hr8(G}6yJx1AoQUe{4~0l`>Jap zNc*MCwks^QlF5Dx5-|jumFqhXvwF7EXTA=k^i5CA58^yb^sXjKO#6f1rbp3)< zs1Rh7{nL~(jqsbt0V^Z=-dB?`?cmm*cP}n+T^F?$O`hJJ!@2dz|1^?8Ck^a`emp$7 z<-qPqED%Q4y%7vFWGGD_{#k_R)}g%@_}Biv{XDHOzT?y^;RYdprR%v29aXqK0EVN8$zIrV z4wD_9*L^N6gjFrNS>|2+t~9gTuvf8^@HTA8@Qza~7dfGw$UE-l;WsSeS-NkS!Jwre zD>%dAsAFY%b6^K*inG6e^6e@jtiKPo`0MmAX|HSc$C~+->zw^3C)1&tkW(Q}&G_9iB;HDrOF z&ULsGZ&)C&QbZ+htwl8LMfI*K%ocHO4w`n5pM~)r2WMyAp+q=LhPi_;>6rhM3HK8u z-Y{AGw7w?c(R_O7isXfU9jv@J0H6p(m1Ey24uv@^uacr5G5&IT+UZ?&91H~nT7aGI zD&y?;lVL%@8`E#vS8%zR3EQ}J%y{UZDjICMX6(qXX7e*sUTzR;eEh~aa*2h5w0asR zEh)X0;)MUz>HLl@iv6da!ba(UlcnFtw(j;cWlzD}mrjy!)Riih2qJ~E!Cl6bO}acX zX1+bR(20mOHY@;}LBGu7&SoUHy`j_?oqn(dUquaGtWzhx0z=J)m5{|*{J^RRhg-f} z#2dO!wcgy?1uql1UT%>i?!Fc0y5QvQJy$2TBZLPcJB3sI1A3f5nx> zrIP#Y8_UzY^*4I2AR^bS#N@mKVf)4flme3RT#=qmwWfrO?bCW%f9hm3<4xuqt6IqC zC518bp@utz*msT4`W4)Yl?V>-W@wBp)Gu*HC=DsXdq3_thT7SDQ6%f=^Dnzo=YR=` zfeThvVE#J2#Od>0v&>m&Al`aC`gAv5y!Fi_?}G z+(TNhP=OKn6)FA&j$?*H8$jv89vFgF@adB4Z~<>)R4n+Cf3-jXr(1n2#DS+cyy#L@ z810M4UO+<`jeGXp^_t-1rCJ9C)!W8Jd=MAAjdtT7OL6t8Rnfsf^_sjBL(`6nkDT?ZDqQytA5HK+6)X8}#-AG?-fM^_*5qFkC;0SglB>vu z%LG1db}K*=8K8HK_-HRkqBAwk$zJNpLtJk0`Q(k`{%?{!Qa=mn(0pfKW?VraZjE7q zp_m`oK(eGB3hK!bedX7Rna37s0;k2LgbO|mtpRci26;fD1;d?Cm@9x^x_C{=C#8hG z)x#z)EraY1#u{}>JTz(*L_xIa!NL5S zRz){^AauzvyiLh0Qk{Zs@c%ZwMc)T?d6Prtps#g3iB)YxnIue2-}?bAK@~$%w)LCe z)+hkTN>OLW5}ZFU#|AG7`tbcKf~Rg+Q`?%7jF4T05&Y5fZ~K4mSRmzPy`3|oUl1ebj6@Owbjq1-OL{^M2MyP8rPn`?Bjykx|-G@lW(Uh&%w~A*NxL@ zim5kdTV!Q6ueveU~65z4CWJK^d z6%?c&>Pp#p5zm4|sclJn&vuey>IPCGQ;PWZuKB)bB)@+?^dQt(+1wlWvY%LfKnw3E=qzuSR;{vXD3!Tej_&i7QDJXe(aPLpPCVYjpLae)$Y6}dvL zY%M$f()h*qtwBtN)=0X;cgEKag%}B;>&d=NtGagcWc>8xIypkxg6oY%;j7~BS6Ls| zDWq29KLF^2!BVIli%A(m1!Zw;Fovca9J0q-&Ri24+72iJP6G1R)T1$`n7UV{C!rYP z@cqT|h-XfoL`8ofnf;Uj>1dZZhJ~!_y!Tl8+Ew-Y^{e4TP#cCMoV zWUb*nNs88i*OIY<7_c&iz&HcfOF@_pSd)uN;nP=`9(YDh&G9VIhYLu~WXm-IiP@S) zxH@V7{!e(+KAi>BhToew&?E-fsdwEN)xgm;?TX(el@{Z|;AsnFlo_LO#7$*AegA@2 z@&B~1fdz>3f7fwVy>6Ic}h<7}FsIjK1EM2_E zu!tXE&m|Pi9x@@qAsI{^^ZHY8$%M5^iQu%Db?;2s1)1*|AqnN zgHHFUDwFOwNp&-9bpJ-~H5l#37sF-5X*sGVx zzg(?L$Rv5}9_n?l%DG>SFx~{bUTpRqKx7c(y`_@Fn2L&K#N9*xe(ZFD*6!n=>t?g? z8SkgHd#EQD=@`I)iM?H^u4#QcLk;6n$uRU(V<|2J@-^RGvKBm$aJiYkWgLQ=yu$#5 zh^Q?P8N7FMF9d8_?ixSkpCpcSYI!?*5Wf3FJcf(>19s4aLC^Zzo32KJ3ib^iH#@*i zdD+7?&E844`r#)(Brgp}W1WBe-bPsAEcM#=0bZKqGwq;+4_(Z*<_isaX2-{oZr3bG z%g2tRyaO=ANt{6)%z7$=9w4%S)gD)kyY)>at*TV|8Y&E<$lHEXwElQE=cg(eqM!7QH^}xH8F(G2UP7W zgTK6XLk%w5Ka+3x&@Jcq#6i)p7veBL0U};Es~fY`iKW}=gG($i6(w>N`UX=+nTnhX zXR22=9hLKb@XP^6e^Sv;^8cr2|E`0SUp4Y#H*mM&G%n*0!&zX#Lx?YvB757D;L-ly zb_l!=p`#Qa#;+;xA|A@2eSZ-(E`?Ht;!5{gyiXok?|`?iSuI&o$>-#!iP^|6Mx+zR z+6Y5i+l1ZkN;#ot`zgfWGW6NGsc0=0j=lqh`tG|9&$21?*tVGn#3oOU_{XdT%__~q zT3!A--eFan9_G`+kmc(SUpLiC^5DXC675Q*|M;_6A8S`-{^GcXhzzk z+~15+{T(n8a5(;=`!N4dMM!k&8NGJ)tW!o2=(RPw21xD>AGW>6ZMT9n-yTmj?X(wIO}K>WDQj#L5>$v z&Wg<{HBo#5@G@IF`9`C>#c){9!Gmd=%rENXa3n0R;?Sn))X{=+oL=^B&=U_Fx06Ck zt&}rGM|l`ue2!_cCoJ;QFS@aq4nfj$&>s&Jowoz*Jqb#7eK^2QT}4EQ`zz^mD=fN& zt@pgyW4^tlSFLz&XLu;jOPApg(D>j_V1Id_Vqg7+=)7%Wqu__@#ModWhm$WW&{67u zABS>82?4w|jSh39ODqy4VqoY#szt=G!D9R~*85koy$J&^5tpBdM8sx0!vTH05VSx% zXH2~C=x#zJ1t$IbjnVm=lZ^^(CQdHIQsu47FnvFL4#*5ZIU9b|!(V-__;yBW&L6{~ zf4gqUDn=$@U`00l^2Nu;>LcKjEaft2zjjun!R9kJa`D}5Ku=d!Ek>i{-|a;a|Kb*} zv*`$u-yVGRUd!_%bVwhQc5b`<&TF(yKdckRH>|So{yP1=44ek@9-p3?{2)jMPK=Qd zmbzL>;0l`Jj>F|;zm{2vT#q_|{~E(JB!L#;bb!**rR|QV`F2>kz#D1EcG5xvIG3^| zUP>7-GZwv~5z=MBMpCRrE8n|wn;u})TipgCa(BiLrZeUh*dh>r5AK8%aONdBg)H~Z zI?a6UO{UfF9yA#C9=UuBKJq!>Ike@?OyLGJKg_cB7@ucU4EgI~Q9YVvUNUoQ2OZtL z)&rgz<|KXdWmn>=N#4?L8Xq;^O}n&#xaDcwPK+ol?x_NFok&tKPk4`DG9{rlp<0D!O0)a;E@`FSYiU!(U$ptXf^@GZjK&-mj9>lesT_ zzB_YRO!;u}4g#Y7(E%KG&#u9P?Fi`)DIylNlr`O=~1% zTfntqx13|4W^VbQur7G)L9)WMC`QOXtZ3IQsE$a(W!0Bb;ns49uz#z@aAHO_N8E_>%F zG3Rx!TQ9{?#wphL+v)p%cBY zUf4$0&+=j978vxZSLS5gsG!h8XqO!B_aXoqEOMT`@aD8%2&7<+$XBycB z5PSI#%r0Q>OZGD9(?xOD`*!bSLNc@Gs!0*z$PQtm_Lut&+-Fy&g#Fswg(YBP39qb| zXqJy36lw_;hOvVdwscZ!F8hdt~|C^-wQrj8>!L9}#1 z+oGf3p^CaSQCL@2f!OuKgT0VZsQv8N1)82nuAh7y*Gf;CPyR=G`!!XTOX?^Vw}?>G zb}}{tXR}`|Jk8tfyXg1o(XU(s^Kc~BihD}@UZeRY0|2hWV(lO8jSiHS$@Q^o&Gur4 zY1gfOoS$D5R&zRe)^exu7S6>Z-xL+6Y|OMT<~VdKR>a+sZF0Eqwytg9UJ!wsgZOz8 zysbp1^Ca$rfUj<1AV5=?ZXPMzU@(!J9Sq5C{+I4Iwl%Kh^0|};>biV1`Vz9f_B9yt z>6}X1RW0C{UQvsmN8v8QwG64-AE~V$wF7Bn%tVQWjnJp$bd=XK)K((vOUD$Wr*HnU zQaUO2?N}8_fW7~|p4`%Ih?B{RP%jA&{M97)ej&SKZAKx+%l@4h-$Eta4QKx-=}%!i z=>#?RWrIX`VFg%W0Qsg{ehyr)`Kv{%{v<0rkE;2}=LiJLC$HTLJcdN&jBrt7w^@Rf zbEg*Rq;jX;=#8x?fWi8{ajfM5@lytkgXX*SI!|9b+B&1Bl&;@uf~>km=_Oo0=4)jQ zyxNXCkX!&lz%F-{g-}VX=*YG zsM>Ilnbwbu+=BmLb7@L^XY<{XaF&qjwKz`5X=cxPaUQ_+k9(w411>Dk6EwjtW^bxz zNd2c!Kk)3#?;~ZXv#gt!-hUuH6kxV;?*<1GfFvZ#rzPZxGWe*)cl!Ht4p7Lcelvb! zlto9Ngx@*H5AIO4j!^G~k{SrZ?1Ai*a>AnArxm|6fzoEgHP3DwQgi8ha@orqRnmrnEm02j7iVgN2)&-Ne6oMqhfJ(+u<<0VWQ z1gvB>$2nkEhskg4pKruoCmJQMi`@{rpas_ZHHsdxgr_S2F0ZZ&v~->NKRLf)j3++( z!HbwIoCrxInCQr^)(&DkZI=(N|MSt^VyjbT;B;jU6mWTvjLtO-COFq|h~b;TvOj!s zq3}CYy}VQmUm3$yzpVh~*LkVdt>w=9kw3RyK5T~nUH&~+1#V9G@bRx=m3Lz;g`e`9 z&=JPZDTwDl!28xzF_}POaeQ{rB;e@bfolMsf=9~kG<7L|X@IRg$^ZMQF#3fc=AEI$ z0W@KZrRMKGe}^KxDDCcwpQ9E+&=Zqui}EfL35lCi^|+^t)JAG}Kp%Rbk{Kf7YWoI3Tzs2mhK0YImLRO*aINNLXQ51Kc{V=e+^Zz9$b z80APzShT|;u3-0IG`vM=DHFhI;i~gMQQ&*xr{P-uUv&W?$734cpUO=59j`LL+c1(j zOD{IQKhEoQ@k1l*Dt24B#d1yO-8HyFzOogQIkdiP=1<-&T>k?Dh?@eb82(64H>SxN zQbDN)j#NuY$q@Z;#t^GjHfOuGn0DvJ6lHj+_|}7VVO4bkfL)$Pjh_nDZm0kZ(Ye+x zW-}GFKJS#2Pvyv4)Hy$n&ls9JqjNR-=I!E-{@UGdc4+^0+;B#V@7kJa%=Oyd(z=P^ zT|ZI660@KQZJ$D&ru-cIP4ub1Pl(nSywhJlw7YToxe<(sP3HwaJY&korkzF~`9H{o z-)oe2)A{b|#-!ULm;H%#Gnc&AM`a|b_N-fs&qhNjRhr|m83yFBNWCk6rD`i(ybflcp_ zH`OXPu0{n$SD;fI88trz-XNQVsw}x=FsvVLRBk-cJb7rY`cJ=(p#A^`(7g)2sj!xo&M2;s_auXV4OTgu7RS|3-5pWidryv zKOXKl_)}Eo7{wmYcQtn#FttpN_sm?<^mpr`y-}4b2r0nt=}I83o+*Q8lU?J zkS`gqL9*t`{v)@@qgMZ7EEeG5(EYvuV^l|Jgu7(>Q`U*c*K*0YrmD3H-YZq&yb77 zCRle5djdCKGo-CKVk6(=U_7hju#tA167o>TMF}~ta`>~Rdk`iP;LzZhuYn;Kh+cr9#} ztKxX)bWWkcnvgf_@7TWAy*sz*AHVDw8&HJ0Ey=%euHU`lFa( z=ai%(*^ip#=jMiV&OFyA^68fMfs+;;FXF(?T7BfXK5xC-f+Sd<)IZ8gqDx@~N>1m+ zfjt$!#2@FE`AfBNn0)+XzzayOq?`b359vo|M^B>L9lT<8dG>Vxz!28Xl_2s{95g&) zDVw(dD+2`OS#9em3=8lQqdN3+m+K1@$84D4_t8gpipf7r zFkxHMi6qM&PT|1RzV@TQDv*;WXvaAkz%!M-6H3rIsN|5trNT*a-PxyYq_03ITL-dM z!Tta!{>!cBj%xKF9ea*%EA&JnACr0>1#|wpman4N$okaF5WD3c(S6Fn~r>zhM?VPW-Zg zI5L*Hf-txqP)5L z26U+l@U8p`Gh~C>019EQb#$8Lx6+~9^n~4E`pZ&V4V0#O9#fQkDn0Nz9T0b-!)`0= zO!VwHyXGD=rnV5W*+!R;{CHpetE{jP8WciHY^kW!uNI;HOALMsU6@#1K^d%Pr8%NU)_F!F;lE)9 zf`B)G7N(s=+Q5@D$pmx~&}=oBb7$`X8Ev3IHT!zt<$AcS82JC5x|C=C1mQZb7BukEV!Om$qS>VMOYk}Kf)GHXcrpDxuC{;J9l|I_v5&&U6b zCy1(;BV`t$ZfyTIPhajtqWJ&*eN~S57j#b|5RaT?Yu73WB7kPQ~zIE{%&Dp zhjLaomgY=*0x0k*I3^7qdLHrLvWC>>#_i%Amzd8M&dZ#_ccw!nmw^9Nz}H<3X9So3 zPiJ-Tdt~WE3>d#JF*Qoi)o?iWD=Z zsFY>Q$SyM_V(bjrlBn!vDq)OeA{tvE%h+YfHW>S8%$VnLzrNo;;CVgsA#~7PO?nU|1J9*VTUGgK~t407|#IC9Z8pse$0u$7{B=c436->ycojX z#25?yKa%?X)08h8siB)forYiYl%L0$LSsGRpM+88<~Lh)k)2- zD${}9zuUU9w0~`u==6CyjkN+)+Ha2uHE?T&vYv;Xb6~t{!Dm(NRk%i>(6>kYxQUHQfx(cPRozyDX!sZeld7n}(c|0yVOL17F#%8? zf-ljYDQbIBai}kQx2df=?l!Ut(U4AGTK`IOs&w|q)H!h#AkPBJeL<$+Y!F1r)iDV% zW?khHSB0|?E?uF89AHV?i}w8i4$%wJ&KwQV&78hHLuRe(;SUe-n`-;p_obbJ81Uta zhrlV}OUFSgygQ5{qHxPLn*4#E5T`mMnfUyzaFxsyWA?xSv4 zmDmxJ3Q!c!_aOw=Z%oO_rSfU(N6up#>$Gdj23vojI1eHgFYREoJ9Q=F*M*r8BLg1( z?TkxHEVu(7B49_ceOrHh(WPNo z?5dQVI(hANOwO#X+JPjYd^(+70sRo;JasJ;6jbx{Rbd1@doq0C+NGFrOgP%p+lTYb zf;wyVP}?nQETzDxX9aujc4MeDgy+^AYdd8VI^3RbmfOJ5DqoKEY40FUre$_EbtvY< zX2bv#x|2oE7D=44Pwg}g-=@dtuUEG)CC{gduq}Q2H%y>4^OrXZe($6CK@7M4I{la< zTDfz2{>2eH14QZ;Qm?^2UXz|*k+H$xKGg9m@g-eur{Q%q+Ypb zwDs5gUFa*ih65Y?bL;$xLm*V|?Wg5Ilk649S9=xbzfuO@dP|5t=$3XU!}|aXITXFj z*E7kYPQoY|3u5Vp@>E%c2U_9Vo`?JL`qqYI$|JqmzJ{R|7x$?@U*@|t&uZ&8)-L)? zEP?aJiY7*)u$6;fLd!9D7rzt5LsK_BU)Q9?4dt=}ZNbb9X0NbB#wQa6C-k#v!v{L;yxV=M+X$YUAda5l}xrlOntPqoS_}R6|47k;DSyf5L)RrJ9 z!Qp`dFG!K55!Jq&IvG!{x;a7_>u;w{_+kX}g$ZN5pXv(SbK^ku%W=Rexr62tFl?f} z=x>%?u5I}nBcK~PFY^TQ=~S;953r&Dj22KFX>Q?-6gudz8#cpOWy$6;D@0LUJ%X%Au_liz#o?=X;7RN}}7Ah>oxFo}3`Jy`jU|umLxcgyXqw!41BD zZ3tNWoa=$h?0~zJ4%^}IBt)J9lBiqZyj*6-u+te?=Zt;zQ% zxqa7*{RXvMnbpd#2(lDtI)~tKBnJ3?bQZOSe`r%&p*8PkooZ$Ch4AfSr=VFS{Y3M_ z2f|vRR3h$O?191lQ+mNdiCr{$T1j=-tD5eArF!fF4J1hc zUvlY04?bDIkHj`1(+?M`Aw@$us1sM0Y@a``@ST{@j~wac2UR{_ESi&G26Y0vG>1?%dCkv@cNau)3naQ*{n;O#VcgI3#Y3=ebPrtD#E)_%j?!vPQK^at zkeB?dYr{RHA~Lf=rNt^SyaXADgVD81*JLa1Af8=r@N#(_+Oi@#59R^^ zqte@%@8ZMRQ?ikn#3mE4?!JVvHh)_@ z;uS0~D4$o6BLD6FroC@X9s>mac2nn-Q*bz)WILlB}sJm znEdt+G;B_u%4ZTLzDY?e5!*I0U+Q}-4S6}>A0Q+Jzeeh zO}bAjFLpymr%L99N{0q->d zgc-eAdk~c{>(E{{obc;XSz$@X3*cB%H>gXaO4QWf(=w@3sY=hz?#~YiB-oJVQT_Rn ze&@wni3O4u+vIK1YoOUt|ITP4+w+%(Q@V7Q3<1Z2LcMA%HK z?4R0;XP$jYStO-Ae5iU6kFtaFYANJ(JT+uqi^XAdmG+4k2d$UgeyeYk6QXEAON99i z(6`aF#2-u$wQYH#C$jKnK=364u<=@BQGez(=+hQ|G~zMo&|6o=O1ut9Lz2*agt zyEl=KyElnMy!$Nqg{yFS?G4RS}k7D%91_mK>Mf4J{-59e163&jhs6`utoE00g-c4lAPlCUq|GGAZwx!DtzqY4OTIfIt>nWbb2B^J6X@jRE4 z?dsr`FdMHlq#pbl5-1B$Sgw=~nUAJ?+S+Mde|(#Nwa0v4Y}}<9TWVzRZqB$WR_h;1p#TmzS;Q%eSrBz8=S^C->O#ZdNcHAVHJg z4W9{d(LGoT+~bA}sd*{!xeDKqYaVz-Jq){Vr-Aq$S=aWQ+mrRA5pFKDl3nQ*ShV*3 zWAG5g*rKaYMr;Ccy{UFw9vRQ`eHz4zWHz#mlh`G&-eVwVTfhy7>b!67vr!k=Wbb^b zPR}v-m7zH`p;GL$1x775NY3K#cKqp=lWCw{{VI3m;ZJVDH0!KjUEBrwIm5%W>-}YN zP)5XKM%DQhM*H$HDx3Q1jl2X<1N}yXP_10yQ5D1NslC~L(zoeNt*vot&oTonGSei$^dDe@xjC z-J`It=k!K?1sj<*oI3Gx%k}WRT4v#nfwm_O9kBK?GQ9d_$kre|JhIjlwUOSyuXTk! zrauE~(liuw4>-*k4$;{>c2S*mJ6E6cWAa_(ffvUq@obkf)ybMQ7#1|+pPRCc>%;NY z#k9)!a>8{S}p}ySS*W2T8T+gc0-8IP2o#lZdZ{lSA{*c(a zHKmvG(%fCrxwmY_17V_4jDQYw81-!DQzA@>WXbFakpsp;^y&DoY2AhX9CNw8y@zAS zdXCJa@(!lbFr&#U$0OSVez?1w)#*E@6k&XIAwBH$88q*ku`9L{!S+AX_5mR|E&9}v z*Cd0vSFL_PEOO#b$F{idDY#_HJMoo)7rf)j6J_BxdqXO^N+ukZ10txO)xXQj|K^vI zqSS{fT4aWI4P>=yT7#ir$s$O7E|Y2+XiZadHQw#Iw~+c3$1_rQBYM z28eeF@_Q+h9v$336Gu!2(mSqXdp-<(YU}s+3zy?ya@eG=)QuQ{gO(&MZ-neI;(MHn z`0KC3)XuewpgdWtWZ-`@junir`ak^sb=l(XIm(mGH_JcmpoZDq$<)Zwkf47j^nU<( CA}Z$q literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-looking-down.png b/_static/img/mascots/scylla-looking-down.png new file mode 100644 index 0000000000000000000000000000000000000000..75cccbfdf12dfe20458552b79aadb3c21ad21d33 GIT binary patch literal 70044 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 HDWM4fznpb_ literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-looking-up.png b/_static/img/mascots/scylla-looking-up.png new file mode 100644 index 0000000000000000000000000000000000000000..6f10405f2182a1f8359cb01cc51910d1ef88be41 GIT binary patch literal 69083 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 VQ?0M~bpRiX>}QZKi0@A5;BPd-mKvHm| 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 SK@E5k2!p4qpUXO@geCwl#5%|T literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-magnifying-glass.png b/_static/img/mascots/scylla-magnifying-glass.png new file mode 100644 index 0000000000000000000000000000000000000000..74ad66950056c9952006d05ff406e4f74966322d GIT binary patch literal 16651 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 zwzscylla-manager-2 diff --git a/_static/img/mascots/scylla-monitor.svg b/_static/img/mascots/scylla-monitor.svg new file mode 100644 index 00000000000..48bec7dde32 --- /dev/null +++ b/_static/img/mascots/scylla-monitor.svg @@ -0,0 +1 @@ +scylla-monitor diff --git a/_static/img/mascots/scylla-movement-fast.png b/_static/img/mascots/scylla-movement-fast.png new file mode 100644 index 0000000000000000000000000000000000000000..956d1dd0e227eb1a2ca927bfafe1551890c1ba57 GIT binary patch literal 18439 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-movement.png b/_static/img/mascots/scylla-movement.png new file mode 100644 index 0000000000000000000000000000000000000000..7ee2b043384aff3efefccd431719dfe2fce9569d GIT binary patch literal 14720 zcmd73WmKHa?*NJwEwDI67k6uMXK^j=QmnYUOIchNFIKb^Slpc!cUs&j?riY_1@7|x z{$K9*`{C|6oL!zL$t0PXB$H%f)Yas%G089y5D>5x6=XCK5D+0Rf9R<2C!sz3 zqvXlo&`FaI1WUp#If+z_wzjiVDn79GU!iyke?-Ysi_b=JkTaUFN)xn~dq>3Wgs=70 zbh^aI+#jV<(&zAi0h0)gy*g1}l_?uaAByh2%le+L;W@|S%KgmHL1HpE&m*{}LJJMn z^<`*zzw-G$WTT~f*ALF@|BpTpi6L&3pV8xj4wKB!)m3{#_b?3%>iQ1%hiES@4wzL5 zA^>1ZVg7k*SWHq9;lcw~XUJ9K#}w1c5?|nuvw%cj^?qSqkF+cW5CD880d_3Eny^c z2jF9^MXHE(0Z24TY86y)?rtAiIy1nQhbMH55p4*FVaBqS+5^_w(%N3{W=UcSwccYH zgU^g)*|(yVbkuh=*J~n%Gz+9HKv~>CAf(BaS>}2z)^|1?J+pySJjn1jCp{?ucUPaD zo&{5>CB%qb>PI>P5|SO}P^bS|Bn22n+JdLki42DhS<264W=~SZGe4ZoU_8-RQW98h zJ8V7<6-;DNq>}b~9WxO9#)gSC9c;yHc44}(_dQQR0$e=L2KfYc=(c%fW*JO8eZg)Os-RZizA@r^c=ommC z2Q$^>zYgjlJe*yAITQCVfvwJ|E&lAq^efT3N-jpO{)zN5!(+Ld6a=K{)!tvGc!|SZ zJ7639xhyyOCI;V|<0&t>P={u-`Xw?#} zWMvgx=|V$!qkUI3+$al~g{os&-6;U+_K77!J+g!;Ut*(cizxw+kFJyzC1hSBcVWi} z3NP3Jw2SY<$q`XX>IS6S5~=0yjGErO@wv-n9s+BtL+{p-#PP1V*;mnD77-4^5cMss z=crDr{l9->BOa2B{o_exO2=|?*oa|U{l#6hRE0#kqaJ|j@XBQ0lRztjS(8%}A_35f zFA9n~ags-I;}XiyaLmQ8{MFEVkD%)IQb3|nhhy1Q5qhf{p#JHdggS)9og*MZPM`7 z0ZUU^(a6Ooxp23wh3B{EMwIVdfuB&ng7V*UI5*zUYINW*{%v7n%;!D5t8(d{o*1S9 zs^|NzZh}u>>Sgx5*m{0_lewdzQso+B6l1!+=Z9#aEbF*ZRb;0SG7dfYdk4QV4Lr_$74dT4yF-a zeYl)7P1UxIsXIua_+Ll(_6}K^f_28rHf3bl_0l z3SYqh<5!PW&SsFdl>?KOU&nq&Z9n^c41NhFpkZKAX=Ws6T2TF@Bg@5|LNdZ z>;BwHw5n{(@1#N{C#_Jxg=xu>yDRy%D=(f9X_|R!a}`!N;?fwRyfWDXw}<92vUKi5 zGgD8EKAZbf7%0W2b7vy}C`H#Ax(rLc!F1fG8?)FIq$eXW4NUY2<02#Zdn-%lb3tyVGGBQT&%sEhrBjbh zDw2(BhIKgvjx)Z4$aaUW4l~mLtx1x+r|{b~ySLL;NJ{vBu^4~#|10>lb<}da>tb4x zm!8&I#-iTwu%>GcI`0p==_WaR{8!c20zYnu24X7A|1ERaz|A`-~WFiBwOQ z5(?QchCUNsP~pe7WQd=2JtjFA4+T>(P~5V&vjCD}gm(F-Eq?x%A{x4qb=ewW^6%N0 zK8+jgR@a;FczWgXGva)`AZGhcy_r;6E$4)C@xt(r5I6Veb0Ss4^@N@)jUZ&YEvY&7 z;XvMyp`-r5MXZxu(}k6xujXk!H`1L#L;nUk7e*I@zpN?fuu9Z$=h{q)pHziK(zbfX zwDchwnI-4pXWO2ZN{`6-amZm!yjs=q`5e^#p(x6c4Vt8Gx?Ku;Zo19O+2_mMj_z%2 znEb<;^KK>}U_qpCpL{~6ajq24M zoOwl*TH`}hNlahifs17@@wog|s?~nk;JLYc$f%G*CrMSpCVQdDt>IlI!;iTb@4lxs z?MZz*8p6@#7Q2R1`aYJYaF;4B+ExHc3E`P#g3Z#U+r`AfJfB;+-D#+2h)wXzrm2{`O{a{XXEGFq}W)PsJu>5qtl0T+^H z+QVP8)Q7SgTcvRPy#R{GN?t|r)~jluBl2T1c`89Uzq5>tB&W;<6!-Q`f*d&~3L;DT z1H_kpsh`+e`&<7u6Yko2{avCU-249}hzyvjIj)Z#?w&B}B$yP*!QasR+!%@7L@5r& zl9C+V7T0bTx!IVCef+#kQ5HlME$?qT742OMrHsX>Qqb8706nz5)=e#z9&x2XSGZdn zn#&A89vV3AD^W_8c=}N1m5;WSOp%bKETg>z?V`>7vHtHhg$N_M$rdPfS3mN5$LN)G zTN1sE)`{=$%=u=lX!*zS>@}(@l!n6aS5<0-ZNF&ELxbFWi0C4aM{?iTOl0kEOuTzk z6PeuJ6HnvzQ8j(OwAsJ{@u*Xe#=UnrnmS*L>YjLco^*z5}o4@{ij%e zBL#SbQ4KcQZhcPcf?7mKzdG72Id@j~6?vk{=Dus^Gk1FYLA!z`gx+S`3(e$%3U^s6 z>qYTXrTLZx)bKO$zdPD`m@^R2@3@=((Q=1T?!EJ~Jl<}XBAQ37!ermAUs_OCN~(KX zL|}m=MQ7S~vhujAqx*SALB8J})b+fM19N_c<-Ec8N~X4~e*BsF^rEoNB)V9FvJDb% zH$tKC)$>+k1|~PvE~ro-&mg$4ooqdc;k;F16-A?n{&eYe>#Iy{is%0~1tTV**JSh! zFPl_Oz=k~ZH0J!i^9J>6*Tm%J?I%DzV)_+lX$c8h3jbv#TlSmt)ghzAiEvChhN{-- zoti)6r3pF5{>4x|Fa9oqw)iXRs4dIdnut^5Q0JC1lIoo~pl4 z4w)hh4m%uBTjHIEOQNTynKoYCX`U@{_x>;sOF!v#r=P9pRh}1NS70U{NK&)d-MFgm zPJ6ZAPk&BF^SqS}d8lAWMHwAvVOQIpgz9|=e6DIduRg(E0vUMFCYW8pzMxo=dd*NII;8;efsDsB0~ z7%)s&_TBUb+hVPI3@Pd7af0K@QP?p=r zm5&AWuk|ze{5f?X-g}EWmhseHUQ@^Ku#A6X?*Za0@pB7|lE2#s!daD)JQ^hH){L4e zyAr*woC_Lvzp|@$I}WGb&B)j9vUk$j2UXBIe==6MEP~Z;2mG^!>#m$+o7HNTfu!G+ znmn&9X)*D)9`u-VF5%cayNh;g7vv9s=z7td#^WHRkm~)lSBS6f=sGr4m#56A(1W8W&P`mZ&RctNw?9R=u4n5v-ve4(!qfMWfv$p|O7}Zv2 z5y+@dG28<4M?L|8F+78k+uCN=qIQ!(%y!i{t#0akY5aeQz*X1s?|5#NJos{n5!0^t zxe}w1`~WEQ;_2&pP9MhtKJEOmhD{Mq%;!P z5s_G|5LiIVK7Dir&JPrh`hDXDp(|*|Zxxc-&0d(S$fVK-UZ2c7x9}pT?m#N!`n?M> zb^)}uNZOOfw$;PIaAmwb-6K-E`WNL?R9EGghjcNHD(>Zn70obSrV6I;gU<+Y^o|q& zGHgtE**BLY?V^v9AiO_QXBu5m(=6a8uv%|H@POP3DILHY>=Vfl1W+hkz8&sXaJ2CRK-5`B>NP&1z2%v^go|DU$`D4Ntdc-fP zOX)e>6+{`gOX@IW77cVZMMO!uZTGln_{g^P*Byz-Qj#E{CR4;ZaP3z0?=kN*$JIx+ ziBMHuiB+G_tOCV1g7b!>4{zkq5Hb2}wa^9tfQMM`z{(yjt-neHc5J&66%-N{pU?Nv z7S$IU1!JvCxrNacNC&N(Ek7my2&s%8PiF%BG&tub=i){Xm1}Oza zZ)NWXe40NK=`#$6D2N7M{5-8Q3uy58TpFu7h7f>0R{RwMX{)Hp^!AsE_5hvYwSL2g zv9QJED`^i&2Hi-cwSL&dfh1}oCBYq{%`)-%jRR)CsvfUbbg?zCF$LfiOw+R+6|zrf}) zx<8)o=0|{MS!n#Ur4L(IYbM)&bUd#o%5au1)p;S?&P{wpKv$SYwo?4gkX3M57Mp@> z0FMdR|FsDOcziU0tvx>G`#b1*WmJ>9X4$4sJ0IYlsvKD&NdJ~IXV;P*@Cmpb2xdP; zpK4&r5Jqsh9k6T)AyC?3`&F%bR<$_2l+*^!35YLSm+KvmAn_gsjY zp=m6_G&SXTVma^^Bk&WWKy_$mPr!Q!srcVPe%R0XQ~9=!7~6jiXL8Y4;buyxfUEe> z5wgJqfE?}zwx=P{o;^JwuV3)t^6v7jHg2Yux&o=sR$$lFAwQ1cXE%S-gqDFz|HlrK zr0NT~alsXGc<$u@?Nyc}IvbKSJ7+&XOPl%|Cj*W240qaz$kif_F!BENy&_L%>F_`I z91^e3sF?wWi%sWtWLnbIiG`}7=s^8HZsOj1Dfs$}TKTBY|-v)z2UQ;O9+IG?K~bU2LH zNOr#AeGWL-c4SQ+cApTo?Ylw(@n;Hoe2zv30`c^3r!P2Xrc#%E7nHnI!-+cJBjX0x zH*;r9u;6eUqJqFs-X&O|uR#StxA-$W3Wg%KTt*PO?~gLTxRXUH{0d^TH-}!aug+ZL>)KT(pxfK?Fy&SPmOwA z5kO4>kiH?qNe^S}XEEh%(5r}=Jyr>|LfF^jNBZ7rc1fnOt)fzmYvM4xr2#2NNP)CZTQ>Tj`_jPaK5N#)NPkY&DcM$IfCg| zwjUAwhHhl5GkF?pN{>MFRDLSNRpF|`O*FH6zy_H@*6ZR}P3y0!rAh1^0>eq=k0JB& zxYR}R#6aM$JK!rs4F>`vA1zf=#a@YQ!BNstdtUnA{I@)#BuSke)2tdC`-LT5X|nxd zan8b{2_HFtf&fX$anEc$N!1gTKaVa-VhNV8UESZHr&&uXw4$1 z!&7RM^X9`bG2J~B zuXqqCI$_N`PV-$HG`fSZ7fy%(fgjt)GsL>qx|@xoTaO-E5=zOeXO4-2e@tK9(~gxi+g1tr1#cT61FiKMrOWnH zfJo&wd)SoaMpVjf$khNH`?rF+bYB^w1IiWex5|h}nv95w1bhaKVEMG!xlzHxQqdR% zCml5^WA!cMntPEhykK1ImvK`uVu!QJSyQY+{$5WRFV-@5fnki!VVizzPViDhU@DFaqUy2qugAH_4I zzkL~GM@Ns2ftQQ~gdy~1Ph~2tPZEZgG={3d57}U^xZ#L`rS(&(zOKdy8S>@oZf~{2 zn(}_jroNH#0vc!ql+H;p_^h&VI(FSlKfTvkgFlN3FXv>XYDFB1AP9)U8mT~2=cBg3 z!Y*N;1!3RP)3aiwBhX_w9X@O5pERS|?vXN5xrc05f6g26(0h;bIwziK?P}up{YtK_ z{+V1WzicT?Qq6`qqMu^n#KrYOafb5}R(kcY6?oJ*jvtLImx%7%j2r+@C7e9whZw>h z2jcl%PFgj*B=V`GzqaU^24(pSek=9097?=E#ip_{IaK1kS~ct0dkZUlzF)wugVCvo zdU7yvwhoGX{QX@!U(eYRp0JU|HJiQ+*=i>5gqM%B#m&AwB<{X~O+{_MZd+VnXXjtc zZi@s?E8pFlgv3MkG`cmS{v!gbq(gg*9NYOfoG2&`~NkguSD}_iT7~t{Y*$ z35E3prD;>FjpF186OxAZY*=3E0)Nwg-kVl|cc97Y;O|_#6`s=fZ36h-jBTTVa-xA8$_~{IpsmGWVk_g6= z^i+(FCvf1objl+FdNhf)#T!ecY>EqEEUC?e+MQ|;$>sifZW(r9L*XN?IT+O-CTi6} zzutJt?+Di==HF`jlQjWeKb-#q&n%PSn^n`$+~{6PbLg30cXZ_l4~{8gMOWV$<{@O!vR+9XB{ zK~#S~H(mSg8*07)!#)R*R9nFjv~o0W3{yw{O;Cp6PEfaPj$o|*9rgv&k6M%}nH^|@ zGrD(_!>!-Dj>Ha-cZQzEqAc4TFSJVg3sj8C{4TMPBFQ@#_nKNczboj;<902{^Q4xh zaJSd)C+pXa(9jZDJp+`I_E_E5CbV1r*xAOPs0`UeK1~EK3ofek;%NgpOepQ9J~4JR z=FnAO2k0}I2%&nBD0Il^=Z6(+T24%v_3VC8Q6AqFM>mr)Y?MJ)Cia5wk+ZVLHYGy*il|lXS?QE|{l~HMuIoSb>bF_o z?UD$2H?gf}HnMQ@WQZtEaMGAuZH|dyl#dy{@<@!1nZz%b*XI58jlNn3dq&XpzO$ns3@V`VsCd1ZwD$da zM!h0OeVn_GitEZKi*d0=Kb0))a342p!krF7eAOD!AgfkROfZSvNpfCawksdYnMqIG z8L6L+K2q|qmsgNK_q@TtcCogBBDej@K|as*Y%r3hb{Lo#C;RU)cCmF3zo;aeFl6Nc zYuEw%d<&W=BLKG1)=3+h+~r-3)SWB-XbQ1omff;<$a}6+S2;g3@YL#Q*hrEnG}du+ z&qI@5S0-hZ1A4**_4ix?QCW|F66~XR8r2u*y18xVM+0dx@|4F$GWJ#u>A=gWKe5@O z)r~&O3Ep=32l>p=01etjLo)~=FMSeOZu1n|!I1hrsiIc=UA&66h}-Zdr5aQi)07fz zS7O1`%P}g4E2z1@tD|D@iDZSphEiTM*2qnBQ1h?YKYc#d2S~`JwS9G-f*YqLn$1l|W z{E8gyI88&xNI>9Wq0D{w6VipDR`(KJbwLP={l;y;cODF7AZonWv~bXeKd>#!BaNHk zVXsy1{cG&CP|fPMN0WCIzGV)s%Q@VL07x;Vf&>{4u4YZ`=O>eo^!^>xCPZZOid(|o z|H^Zjq!K%}l#`9ow-9Ar9id(3yHcXcZyzO7+aYrDTh-WMD`yXWCAr^UD1wpfm5F@GzziBONXLal=VVqp12;*0*;2U{Q)h?#FJ7?eb<_Z~e z{Py6nteu^GN=tjpFEoSrzv*eb9$>9_#_K1*QT?;MZ+3<)Ze4V4HB?4Rdt0c5_fU1R zay@62)Ovk(YCqi-e>}Vd&j_>qEnJIl$hwT_(mRb1K}-X>8?53wKHs z6ljjZdZs;ktz({QG2RpV*YMibk-gsXJ>Fg&acH#jsPV*`n6OY>>?2iWz_p7-G= zE{|vxGVUVo$f(dz=Ve};%#bGv4`>V>ad!K}Xo&JE?h|z%ncRX(dS*~n!BG8G1SCx= zG>g|vwy9)d5%qMo9n(!hnii`J6hY;>v`aGmv&oA$frguzuNX$;P2CZD;mXY_%f+2O zefCf~g=r@YEd4qxjx8$VI4s7DQk3!R4xDx#80FY`Lq!%akeTS;9fOir&fnve-~VUwTUT`SaVqmRHGBnG&OZe^dR|*@C)E^CU6gZ4gv! zsz~+uq6$Z?#!-wgy29*BtwR*`D$UsJ&kGf1Y6Uv&00j7Q6as8peVb!Dt(~z{pV%=z zU5D~aj-Kjt5b8~-Vq6#z@sx{)q~)z6goa)fPp_NMPOoo(J4gFdXyv_C%*ao?AfI=H znuAu>kR|;o#sDbhmBD37=+m-n!RbY`P#zP_^5#J^G;78fDj%W7RAwXG58m}L@9@c z003||z&T%5S8yQsKQb9NpK6&<;BQ>p0ERgTFDxH&W1{;3UNTiEmZZw*`e|24@CG7X z)+*KU0MPsk!-!!hoL0{ndP4uhoHl=WHR1_J_^xFAK3YRY@W03CeWZiaLNvVkC~zi> zIZI|5atT0u#4qec)=hL!p#Kj=HtLjweg+W%5s|Ih${%-V?PV~U+IN(2o)mUK!eT~m z^YRYia!R5PS_zB1K!$M(iz?^bw&;nC9Kf}T^wIbmk^9I01drs2XE^t*iTe*DbPZfK z5b*8L=SAyqtjfo_8yCNXUx;vqDmhE~8t7*>{EiGz(O<*|g|NSfj7QmQb|o5v^#a3Q z8DQtvqAKIR&?BkH1!w$s|1ave8%8)YaMGUlJ|?9b*ANvnI4FplaYpEZ7)}V?gNE|U zS7n$;E)fy}I(o#1ad4S3>_^oKDdmfXMro(o>i{G#uk>BL4(GBC9ohd=5PRcecmnu^ z^cdLF$ON4n&H`c>pwb2m`Hz|ZX^^Pi=TYu|3|ok?m5|`Q@JaC^izE9^Kj=k*crZT+ zD1hK)FmOfPqCPr&sQ%*mx}W;VUvC(5b8z7Qx7IcbEJ<^|%saXp4Vxop#Q&tiatI(` zt%oZMF%#?X#&N%N#tIJ(^Bw%6=KnTCi8g!PW4JEt{}}bpV2o?@f6+iM_a4ah`h_^X zH;q_#=x-20!O80n=$Jk+aB^V0{u{29&Y&FrfFT_6 zqlC_#f4!)NRhM&}?!$1e2=9Ain~N$KuTgdK#&PtUBjKjWSM{8XQUb6NM6Cb;=S>Sx~;sgWBq2(gh%AoO&9t( zNx3BdigC@;$&T@8dBOYWxs^}AEs2&2?wam~7G_A=cuDxIpI0RXBWh!rGA&)8Tgd~K zD}pEQ1%ssBV1$I(P$%8H_0mk`rd|pAP4yzyPUIl*ccly2Sr5LJD;oI(LN;*KpMYkm zp(|G%ydE^4-e=9i>fSxOVv|q9Y-CkXF?%Q&fF`>_pT2s>k6tYs$3Yy2tZaJ*2!X&4 zOqa3jyJGg#BFA)I42DgqK2utEHMI@{T7{$oi(`^mW-A5R3&gFT!cAW~l3tdf)hS3W z_jV~*VyxI}6rMT+zlTV_zQZ}a=R#J>U2rd;-|zeEZq*(v>*{*!&4`JD66;Qr{W|hJ zOd`vMa)HYJGw^bKzep$e)Ji`?(cd;^!0C7E)5t$*1~+;5raR*-33>BzKFUC`(VodA z4>{jQp~$-^1B+F8qi&fy!_?>vh`-dnwn%MCrWF8SUIg2|t(j2Var>-Ob@}UIM8v?+ z9fV*1_5)^JIzyHz+tZFD+zy+QxQG7$TjgPuPkf5@`7$mLud^pQ{Cgx-iOsp`OdM`3L2cVjc|{&;vlx^FO#)2a@E) zYHZ6_Fs6M~4{2pG)@eST(;((gSUd?!Vez-0KHuQNJ2Ahy(d6^RYLy~cpj+;CmDi5@ z0cK?K76!XoDJB<%a5#TG5lBk9(ljBtuP+S}xnz)IshU@I>MadgdD)@tTxqt`&4{N< zyX;70rOL=l0;w+FdC|ObWakCf)vsflb=31YC9-{r{@kzn;5q8s&*Ka??iU>pHLku( zkjjXss=k3*X(@Nc7p^JA`bs~5)?(@FE&ji0F<D?MmRF+^(sV3q~-jJ?>>mMsP*mN8W36C+^E8*6kV~>qwiK}d#K$(FUknLpr0v&D9K7>UV*xp-eFtef z;>#Qrwh<}R$3$FY#>o%zR@)N0X-6tnw5Q)NCf$t`3+^hWz@862lzZvFp5d!?BJpJ>z~5S`jp(+wh%Ex<~GCaHyn-z6Z@U#p|y`rB0USy5^W#a2aFVZ58|U z+lfmd7Rh;^oN(x2IBgNN06^IWn7tl8EsPQYZ^d%N$eOw5*RTCBqJ^}zBTWvi1D*T? z1RF8nc{lYQtV5nhiv>&Q(S2{WZnr@*84ozQ-uauREXS-9ti>0R=lz!lMk#vaY)^=x zqSGgBM0%XZ)ZpS|VRV>juIIm0(SK3h|JEe)$O07(9yPntHHNp?%Vgll-UzO{$nGEe z?83Z#T#sR>OVfmCIrQgLP7-KIGQDa2^Xw5N4r|2zTPsKW+@%$~zp*OjUpTbR@vQ81 zO_g_D$~U$GYItXfUj=u8HLM4;Cn2SMDDu+?PExZ?;=P9?J9|O(BIVyAw#K4s#+rw(amM%JpQP-AVqW>L45J?J z_0n^w8IN4CGkWP=>&>ebRL1t7EcDZ-^f1VDRoWJ>UB2H5F|yfjJ5Sptz3_6d4g6v;5Kh5Mj!TR1LWdiKS zG~;AmSviH_raJq8b(Uc5AuoG1KxVr{^F@}_0od^i55SCae0L~9ZA$#`!_jHIf%(vD z*QEZ-@K`f!YkR?Z<$Gp`Y)VyCz!%zp0u-ACWTffwm*CEkQ^h^F{dD|_-8lMPe0m)g zi-Q@v(X|#Ht%bv}8UuW8C%|4Fo0IZXakn&exmle4?yoJa^L~1#UlO-HfA{KiSVv=D z>W?R;Lr3R*i9Xo(zcH~KH!;j4rzp)+%1OAeF7t;YDNmzqr zT#Mgzaf}}{;1oP%``g>p%_{|=LV9n-PJgCwP$xH$*9t*?`(afKvd+YcOkpzTe4x$* z#_usl9GGXo-FpIGVfVu?rlJsiiV@HBtJ1^Q#&E4BE?@_&7xn5_dmlCvAN$2+Df_0z zMxC~8?U@_rD~E*54P3$FyOo#FkR1nb++UW5iv@*#%}g9tm2w#PLr1 zyLV?ez0P;$KlRC?+a~HkQWV}P9PQ;%*nTaS0P9FOw9C9|@6|Ur3CA^3Mav8G@TRHW zR|%M-j)XP^FN5|lN!mxVErsP#;MPByvt*@#es(+Kdie!!DH5DouVmlBSjG+>y9sQ* zwOb+jvg;6Yyqr=1Nu8J&BvKX2kd~Z(`wkwdQ!>m}S$Aplf#9)uN_7vX+@$CRtFD3S zUTht%53k-hTiVy#19z{kW3%C^w<@qDV$2je)tRu?3S^UN-ZM+Tj9N~3P~%O5kL$pE zTooNu4`1RXHc9$S@$edFi5D zDE1MprRVeE{&=Hu4BLt}&7Oj~jj~1%--?y@x$CN_YpxEW2pSE==!U$Oj!W9m% zZ>yGnp4#9tNt)9b!2sn^3;`Ocj5Y$Thjvm+6E2?ps-1L1xIxAN2jA3M)Hp-L|8?J< zMUr%x+o)Zm##3mtURS;mfgGNJI&Mutzof%zMOx>4sGs{^!=r<|zepETPivyjA6F*>|1=4Nb2e5h z8l}iN^-6)AY zZjR9;bpzgh$waKATI8?RbpvQ;Yr&`*#qEEx7++Ag~; zh_N3%!+zhO|Fr4?DpoZ2dHMm^Q(AvBZYUw}a%P(}vY_cDK{xOU-qT-f9P$mN)Z%BU zoVNxDpp%xX3r@W;Y-P-|f9zh)pcir|$_~^!pmWq*xU}6iBnwb(G}PVwJUDjU=^w%x zr^B=zeTM}$=B!2^rtYoI)Wg$&XZL{Le}$?~)#N4)0uS4$eq8>AiJY|S4hh>YgrDn8 zHR<*b{EN4p`8}X*3XcRJ(b`N5PGqT<2O=7_1MOoPM|J^~Qcp)-AM!_3p@wvt&XvQ6htPVIV6s=C=f_Z{5- zz$6Z>S5k^*dQ@v1zgH&CP_7T%MUSs0R)e8yt-5nhsx{kkTpb=9{;ag6bzja5_zN@Q z&ti{(=3jUsYQMwt+k3V;0Uenxt&G$Ch6V;Vvz_ZVqsOXaZ#?xF&l4eThU$Lnji3<9 z^!-!Lzy5ZCB>TMc_#@4o)oHav^6StM#*KQd%#2e9_mwXRc6ryuJ~>HFwZ8&FxUX}md}96j!?yzq76 z8B$xYw_bHXgw9{j$0pWprS{(sN&cyRWd*=NU!cdhmAH&0X_Q;;%{0sugvATOr@00hX(e{dqO zWz2!d2K+3Qn zC>)snBrl#URw=~o1u*SeQKLPEi-&n%-hTbeZ4G@@W84g@@52+Shp!46=D@TE-hMvO za8I-K{X10lXJ;9z7HiHCE-C$@XQ#&(RW}L2k^lee|F6LR>k8bnuz>pv`^EIr%7cDJ00ILTs6{!RkH4I_uUE#a50e)n zVfD@%`>KsRN>~8kNC086HDcyFs=5U5MOx>Nsbz-&Fa&_~0Bkr&kQbArY>#b8u>ce> z3J4)DJud!`Gz9^Se5WcTe)ZhGY!{uGqh4)4upt3lSIX=!#0C+Ut-FMg4>jw}$?_pc zqy{94Rj<46YMrvk2LPCnt+t!6{~`pyY+kvJxvXPyrzFnm9Z{^8W3>vTTJQ$o?*egQ zv@-ksS1;RUUT;A@QF~rdL{~ENS#;0D^^mWZ3C>s04(*39*G<_BOil zg#>77VOt2eoH2<|=?;eK4g_iSgAWRY0~`Zf9{@CY>s#HtHsZ_AJrjZuY{D#*1YC3+ zTH^AP&GIy$M11mmopYFCje5_(egXsGlB0c0<4R*GX6js=SxIlJMW+W zUIU+gMpaXKa&z-?199Z3k+UBuDJlDQu%_3(-`2Ww=Z?D1GwlW$JRgh<-REdV3|tNn zG=Bf?m)i?o|G6Wvm;e8tcQktuH7g)@JEk@J`Ow+i4+Gv~zvr168iRJOLsN@Rgj127 zR?b5Qg}zL=8h3K-G6hZ+yR0zxV{(s1>`KjiH%kheyM~R7gi2AR8Sl&ov=)zJKhR|{ zUCwhlI>N_DsO($i-=LP$=8N&Q_Q&!17JDvC*E$`-K z#qx|_kBEIG+-mlB6dRfieKC|8vg_;Z*{{sM5g;menN==F|Nk(#%hd(1|J=c~1F!#i z2e%n)`Op1wz~J>i@8G6`SHf+zE67{-^Oo0(Yw}9%-{p<%4duVnmM+yd`q(;e0|$yR z1=nh=lN%+oIG@PYx_S>+v^qNdy;R66Xsiu1BryCW|Kk;LtR8CU!s#t2zg_sG#_3Wj z4&w;@2PAA##n4uDC>$|)H%aROsI=>ENs0feu7R@P;jf6v@6I7#2fBw;Czy+mAD;~k zH|LG{7dObS<=S>YUMb9c?ml*Et2j&8f;13g=Y2F{ZD9ks&+z^(cKF(>&$Q4cGFwZm zE_IQLr84XQ&?ook?enr@RROuPsV3I~I0WWM$-I9z%GEn?2mm-RnTmw4SF0uVh5EiZ zn@^2d-i;OA4mM#em}xx!$?Efonfw_5WQ?>1-gh5 z1Ll&&bOAxXo(c|9v15@Ec>@#XzN2zV$fU#iRz|F6ssZ}-iw`T2)My+7RX+^AF4%>* z4FsG1k<7@HdIU&wWc^~)I753t0)_SW_ud_59DX;RI2taoIa0vMJw;hfQz5N3G zsb*%|8%6*tybre6`~a=jFzP-N3@{<$O+v~TYMy-!Zt0&4MXQZWp}COpZJhd|nHD1L z8kRd}-L#~NmNr*_Z47Vx`mXkUO$p_^;VL84eZ*jH1+3tg^?N5TjI{}ih4Q5-dKbcCfxlvlaIx@##5Yv5KR+-Q4X(Ms360@tyeRT#HAG{iPX7IaxznQ{9T?>AxOH`K~9(ZDSDhP{)gc)R5l@DVO|#xIfTm`Q{BmL{9S`QJ>5sAFCROISxSb$H`4}rckOrSjy&fn9n9uz`VADjR!gV?hrEHi54~SVG}g zIZi~d$>m^+wN0U-SdKqbC?xnbx=JOi4+Q1^wsu+xqyGDH9A?jaLbv<=PiyQ1MjG^} zhh~(ZjkRj&hXK(@`&^Uoi0DvYPV`|=6>6TW_{dY2gbaLJXpXSGjIe-c!wmvDtF%2S z&@@U0n?U%OKO&&=9QWB_VE?l@a-f7Yok|m4F2&_AKAXeA<-#W9ycdxskheSiM0)9z zn^dC+zx>zVeUg0s2!7etGlF;l+I6rS0C3Ggp^);-_t{`3-`>DFE?O+UqEcVFRU11- zT+clj(XchZ@OYLTV#)=qHsp$YhHE zx)%YoMF0l_gsxSV5SH^m(kpGDRtJ?inmoBZ^FdY(3Z=XpdpHS*3qgVTltv9o!r3jIH0n!HSMB(( zZ^!ZdXQv!AK*0i64#3WvX5RuGcbx(~z;J9!%t3O3MJ5uv@fM1TirRz*^5}4Bm5ZwH zN|rN@A)ujUafD>+)#-M(EUpiYn_O$%97dqA3GEgFc%1b?c~kCtt*j63BG-gX2|^zv zlW`tBH?q8E@I+d`!HUR)FPIaMZ~ww1t9mK1OKL3`Q1<`I{R6pCsS)LDa3p7{yMe={ z>ZC`q0Js!2@qGy>_=ydZqjC1%8DQ%$c&$tQ#me(Df*1o7I{=W8p}myW(7$p9>D2!f zN+dbC#HGTpHKBC>vnH=bh+*h9$-N(2mjWzDD;9|p2m#)@OAA6FbtJG)|8M%2MhxxcNKN!# zeQlJ49FbqDvhWcU{aT6y0?xo;mJmziODaH4W@XNT$k0#Yb5>a|9~y}Z_jfunKu#5E z6l5z}?!WnLaI5>!d-Q$V(WXJce#O)uC&!^F%daAb)&~%3hlq-?qgzsU%d6CD9Wj-=n}Jxh3xgb0%0~=0n3GCZy)~Vmb;js8 znhn%+9`;_M*#Ql9@z}hs+KWyme}5&+9YaI^D}Gxa0~l`f)m}_(w&G{*ovH$SO3uz> zRTpvXg1NIJhe_8zxyT>>$c?mf8ra{r9H`@m!f{CiV=F$3*SY4lx<=}4fBSbFUSH*K z9ktY)$*?1ivdctqB2M^YS2}v4VMYza|D+1eldb#4ynxjr;;p7g&In1TA}1l{_BGod zbU0SWce|M~E1r2e*Cn-9bh>wsAfQ4gJinuY_-Yc}iO&DPuHxGXOdC5Z3ayQIv+I37t zI$h1+C-nya;s7pl1r#`CGDZo_SF$y3y{OixQkpkfidi~J9AWR@a-KY6hbl1T0tDy= zHaG?W_TN=k+;Uv()MEF)`g+8zc(J-z9_QRR_3MEjs=#X62pL;PS{%Z48F zd6S}pl<)Iqa`A;&mq0xEsOY(wg0DwjcEQD&qw8qtIi4NF7+8fET0~qZ5vZ*sOos7+ z5hKxdL05RQh~NDPBE9>8*ZBDqBhy5#LF3yiT1hyXW_%m>m)-sK2er@D$>OyJXj6Ic zna`Rri~46JL@_;(>3+Bj09rH!5~hRP1d9A<2X)<&k@FRoE)_~T)1cV$fVWqk1glm# z^CvZ>c?mf2=1!hfTAgU?>SB^pQynPSLBwt1b(*ca&8{R1?t{!@M6xZ(^?q660NeiM ztPtv)BwRB_9-a^fwUZaNn1}iXb$j~jz^TQSawFqLU}No%9l z+3-~>!svSTX4%x~^X(j~lc8}VZ6$3*I(ki&^^PaRxGp%DWI$Lh;Y=}4^TrzSkU>go zvt7$oZ9U_7e*f2KCw^SZY1B*%&7*V40TGV5>rN{jX+ircGA+@u=J@KbEjOUx%7a}v zZQ+WF4TVhXo9D-|u5QyNuBZV~)p;)2?->kirt>k4&9eCsNfPCCHFv72G763tKijpw z<)4HDw?bJkZctDRC@7dEH0wWecWkmZ;<<7eAMiOcrYKk{N3dE)($M4o1V-^KM1&=E z=4uvx%RQj{HYz=j7h0ce;mF(w1G`1kBqQ|+|%v6(>1qqZIttTnM`(sL?#|4IHX zF=YtNqqaGEZ=0c$i_bqrrJMtZa07?xml!~Lsa_VvY-lQ8tIQlfg9)S*Y@2_QFJ>JW zwM*Y z%a{v(FN)D|zJq?bYLiziEXnr>Ysd=vWEg_(s(2Esc9%vDdR#%*EkZAm-D&^N>sM60 zP@o@!(X-Tw2nJE&Hk?_tbPiux+kxPrQ;9I9PvLw(|KTA9gpW}8DRCq-?UqwTpI%H) zeV`LZlqM}GBGQ57Y(Ss#!mB5j5WAxObNlhm9P)Jt`Pb-a*7hW*0=IKQf$uc4cR?tO zx}0B}?6NB>Vye-60~B*4Y%j@4D8W=)o+oFgb^GpvoZzb3#rU-6PHM<9-FHixan(pW0Eo+r{NST{1C(ry+-jq=)B$kpd^!}w8CFF9N#E5I*oY@ml|CQSAz=e(-jRYPFo9X} zyK+!uMetKB;6c8kUBX3bM8=^i9=5x5TH0cKrBYY4d)w_gTxdig^rzW?I z5a>QeNob-)7hW5EC~fg4;<294pv?IKG`#2q54$JvDO}(Y`VrS;9-g*A|me} zAISUg@niT&c@7o}MAvMoyAR5un34}BY~2F^!MLxHq2!+8yW^8}ZrXRRy%Xd$Nsy^Q zvjZ@kE-@7e<6XQcp1BL=ynG6TN`|&{t?Y=2Yz^NXlu$P;NRNn&>@Na*=vi3sN1KC+ zNBvSfM_>Is{)2D1@*k^Af?2z&z(^H4r_|c8mfSKY}wzn}j7^m1+PiAzL$gZqK zbVUc%_TI_lK*qJ}*K)~ZuhT^nB0GLux~%A)E!N5erNPDn`vrl4w=>#U5ewZoEfiD;}$*}Vru;!=;fV$_+|ne1F#w8Fz8da?m%vsED9#;M{Jo1n-$L-C7wPvcXY+gG%Q zrM~IiIj;6sHHQ+R42BBg{+_0sEf)6^;PwAX3Z_4~Ia2oK4GF{5(ACZ3flb@b;St79 zVikQcVR;h7fu2kXoV%pXqrom?{!YiQ=gv(1ub_~nuOA!A7GxC`5Y+kXoQUgD93>Vi ztdul#%|0Y=g(Ae`W`h)jH5RE@42R-ti|xx!Jgc-M><Y5g zEw*HS;b>b$1^Z z9Ow0)3yzqbgtSl~B!9dREIf#N^L4S>7rwZIug+Idd5>@FhKDJ0<(8CJ4V}IJz{IxV zl}9T%&YXJd`s#7{YrnijoQ-8=X0FJu@M`%UyIji(BtUy9{L#d-esQn)L=?$*FqHP)zVj%INv7@gB2|Veug*o! zEfQqV^H;xMkS5$#u^Y#W&QHK245=lJ2HrRyE@{TZQgt(t($97JPyzbVW-9?fsf4JK z#8yN!XAsasfxNv;A)8?jkE503@OZv`EKIM_>p5lEaR5vw=0y)X8Gc#u-zgODBy*H$ zkt@cd{_+4n2oaUg1|wu>triA-8cbF0b&JQ4S`s)Mte7RL3|MhZMc%?bA%T3lAq`x~ zNQVlPb`*3REN$-y$BhsoI7WXwSqSnl#1E6Oc6N5!`S>IS!}#1!ajd!qc~}UIF(mPO zbI9V>j63ueFmU`l%9B+fub*sL^IPfnQE>4V$dS&^=|~aibTXEd`*iPFX?Wb9?}}?d z0T%^VjJ*-H3;<*)ts!pL&b;m^L};LjH>7~N+iz|JJUj$U7_9qc3S)JG%^^RuO4}ZiAkblO7QbdQ0yK`b zseAlu9AW2v*D_#2jEI{hgk;S41W^^{_5x_Sq``x#U|g0@Fam0V!tznUV7TDK-xjzn z2r`y6184me93dp5cgCCy+&q0*xL6heq62hMfm;wD5CMdfA>RT4hxfebjd*;Xv-$w? zUhpVRug6n2dMH^17@wuLXld15{o|yE$*n*AWhI~uv|h6v$Z!SolB?A!U4xwF1T9*J zhx{`H0ILO84pyEM%=spm{!2t=0%Go*3__-0z^=t=EZ?!p?{vBI79~dqU{bj6s!SDm zb2Nf27L4}c$i0wAUZL{w4K^^Mk&zE?)=k|CVq}HM-?*GF$H*3I+T6ptGqM51;50O3 zTK1@3?0+-&lKe8l4g(N8S)GvWZ^I!lDmUR_&3_=ByE&dJ*~5Bhs1XlM3!eB+ z)zUj;yhfR^5gP5T$@k7FvHmLYcWZ>X<@_F(GRJgh7e9X#TYi%?BOos@R$YVv3d4E5 z(Cr_y_8raezKGbs1V)M|CrP{vAtgaL<%UHVk~8{s9E^YfZ}HTd8+ZGMTh3sVzQskk z>raX*ek?J~0%u^=#6iZs`R}pc14ohF#NYcU0pJZKQu`1$T|Cj=nz+SpdpLhfjH6|^ z_n^zhn4jXEkN=S;F9q*Tio(sP!hD`M^*azjsYTUIAL-Te5}(g`={v35sXZR(29++z ztsVptJ3uXI(Gt7wRN1u!yK9~iBZp_u@O20XQIIMd?_xVURR zS)fBJST4nLgR`3I)WE2;^m|U)3@ZZ_2!a#2eQtjsWzmo6I#cdZhLSL*GD_O}hgURE zU-e|#@k&ZFa4OXa9&8O?fp6uszZ?^$ouqm;QCnWFN2~NuNK#UD4#FSTIk=II;VHd; zH?R7Jmu9YpQiaW2cJiu@omm1v^SEROAO{Fy}Uw_Mh)6)UYr z*w$`IYy0?!p`d)c0V-D`v9k^P!_MA5_h@r&P8KiPy;(GNErUjKW5rxj_kYLB@_EYZ zE;SDi&MzT@F_W4=BH9mxbStN?j5FC>2JDDQ*qmbOZs}nERI9BPiJ^sK`u-d=hIbI# zzIcWK6X}ACI9(dP5n?zDad)P%Uv<%m(?B#$fm4=e-l{Jt;!zY&jR1*GLr5SlcjH_D zL!A+Q4~B8~G)kmmi^Y+u5OWCn6ti4%96)px!-sJ(^Tn)!LBtYEleYE1hHeFdKxF%1d#%haW^3tr`}t=ow_Y?tV`q|B8>dQQ=xTmjKQB|4Z4kNF$e}6o~NH= zC6W;`dhQkn=d(z3z1iP7nFIA4fxbZqvHfgpuEsg4KTp!J?PbfRTKQcM zdmM#aSbq?fWU}qlo;OCW%`JX?TH9dZ%JG3*B^Fi8xU0|oI;mtaK&u4_U*?SlWfCqnP@rdy*OP zW2W&v+r&fpy^VMV>4k)r^^a5Mf?;c8U!`!1DF&8nI{W;weEH zk}fVtE(TxxTqCB-VgIQk>>0MaMPL9l zD+R9nfoZw`R*ncER6g@*sE4Ng9{Q&X*Ta6Gr~#LAYdXx@{#< zn-ZU#JY-XJwLA^UP=(U&f|Fu+7U@K_NVL0qV^aDMEEvi^ zoDVWSMY|Rnub+5Y43@aNom$GeeIaI$zP8h2*zp;6H#;kfi-CeqYjBYeigbinG=4D3 z@yQ!3FH`_G@kguy=I@w#>|ip7N6X-epc)?)d#HG+bEVfxqU2QjRk14ruP4h0L*K@W zsOFPB#c(wuH~?%K#KLa&$SwJ#4Sy#q?-2)2drK146q7}+^XbH<)Q1*d@mU!zypoU{ zO4+Zarve<)P26AyHe2Dahez+dp_p5%o5H!;ci5bmvUR-EK-J*bKs_Rw_+)A1EeA zDmu@WYe|T1R^A&5=SpkbOac-OHV#O|1O8~qo|5~dOV{vm=YL*eKS+!?ToBwxthe+{l<#ko9u$0S{KnXBZ^0`s8ULjh*P*J;`lk6l1a|9k+M|Yg;hY6my3c~C66dQ1 z7v-$wWbqiOlb@PyaL*Hq+ArpE!R9|jlV&iiF1bBMze&onA)XXLJ{j@0k(u zQFb#rN!X0SBG^94dik=Du=44R>mXs%OdqM)FpwstJ@yE2P$7})&u=FnHClJB$aK~C zV1K=Kv|vS)BVhnKp&^MN9dm};qHeZypYpYf|Kcl|v{ir3Jjvv_`@`!*?xN~SZRK#G zwvM~e%(L2vPcorZg=%Xa+9&+hDc%Zyu6^%G1bcg!2f{7AQ3`oPPJjiNtU;F$gxc@P z#`zCSz;dH3;Ne{s$_*j@C;MwUFRQ%dtIyk555%OZPt3#$pVlh6PJPp#@L4?$CZf?} z&CT~sJMKz7>yd?z=7Q0WU|b^^q^$eT!NFIdp8vS(EgxuC*m%C zUnun*=5@;!{atR*-#?%cK93~6P%GVBEX;9NOWyuF^5#wYS;B?ebhek@u;gCwo`Fgy zVd>uwJb8sPn<_;q?27)o=UFL0h!;%-^j(F#3TuJb1bJ4%4h0Y><3B`86;S(XxeazBs)*=^lJS2=m?S;l z{sL&I(M~Y1GMfjLr;F*?94?P}f5;iw6cpwj=gATn>Ch0emdn~$(BS3gx#4YpQ6V8` zH{B7ER>NF)rJr-8EeTP_;dl~8^n_|3DqRI*K!Ze^Sfj*e-M1s0r8s;*h+XJ=5mGjx zcDRL*ta`qpLq)>&)T=DVI%^?3kY1*0?Fw72S!y5H%^Ezq&al6pi> zOccg?{jIJdgS^bC3H%xj1Nyzyo~){sDoCI%9IkEE|q9`*IOD-OHB7AEe=hKf0Zs|>il-n zRpv*RoB9~VZ(M$s_T(C+LqN_3Gpo~hD_@haeI1E`VuYrMQDP%ZaOm*x$-1!mE$=Xv z*mpdpmzevdaqy#vgeoc+?zp9gXV_Qjw>Iy)&aCG&;#F%0+t<~^@e%`E>lSPtpBH_X z9Jrd=p-^e6&oPTJOcSo!$4r4p_;tfYr5WO(6=8IaZRPW$zo~HhgA+mYkHex&C*gZ*sPu-pT|D5^CvrS z4u+|3NH5pCptL5>wK7%nS0usm;WA}4XczTgltSTu<(nnfe1!uLkKj?HqYo|&{3CE$ z(-{oV1T1Ya02GrT+lp2~Tn=4Aj7FIhxstufkW&7g38_M12sTS%<2&n=v36+! z_7*7Hb7go!F1}3=N<)kO7B^{Fwf#%C%4B(K*~m36V!p47M_5r%;SYP8rTZL>OomyO z*wxk3SB-XHWJbwMM!M@16Bm;N_;XyE&VhZ+Yxbts4~#@C z=DY8(%5mX{TUVdlu7f##XeO@XS->J$Ax%zYUCENWK^_J|=1Z6#4GAL?H~n|E=3W(y z|FOIorz}5A@eBRlf;TnK3SK9U*@sAn9U2AexGy@3n6{FFWq5F=e_c*z7R2bh{zQ@2 zzMbohm8M$}v%|^wbxu$j*__j5ZCk33$wb6c6E@)57qsqwRN3Nr zk7zh&;S?~(-yfwP2x*t1TkJp(@ynkTMOY_M>c*wo>!p5Zgs8i~q!pr7a>gpL+ zS4vqfG7yn~K)WpVQGnb-6TY^FxFCFHX6DRPnPt6<*td{;+za(Y<%kErn<%}(@egY@ zn}g;+lQC{GHX?bWq_WR6FcR3Y61acM`z%&=1%#;3j~DDG%`HA`$=FA{<<9pt)nk{#_1V^=3x1hjR7O&+SaH$GUtSu*oU z3JguuI-ZRl{oO!^#4LAlJK>S&@#U`7XDGp5U36FxJ!=>xQqg;PVySSUZJcUiC1lNl zA{Ej!eZ&&)wD21CFnDjm(LHj=SC5*E3+L%8dObb^3KoN&K$;R}bSjucmys(Q6WICS z$mK$XU^Bvp?ncxYM1suX?gV`>A(9z|xfTopDmnMV*rcTN$rD)=O9hWH|Mqz8t0}*P zmSIlWVi)bAK2{83!qSrj$@j`W=%Xo!c`FD)`xyOPM=O?cSt^{RGLGv@D$mcjUeO|0 zWs6gaW#pfnqn+vE0na>K9=h*jMLQH8%2^q*j3GcH9zPbdBlMjck4>M~q1{)_!eHwlh6I+<= zH?Zg+6E~gQ-38<#pGuH7_KjLYLTMU{fGg}^sg&*-`n`H%A*J2KCIrvo!0PQGr%u>Q z(Tmoi3nrwaL*uoi5fX)!y*}!Ts_Im=(XERmA8@MHIA5txvUsH0`Z#lovjPy6X1D>F zFRD2G9xfgQ>o?Ph!#i1&biLD5`}Y4l?H{;^hWk6==wb~O{7^0=W;l~8p-fS;Vq z@yk8(cYi?kmLF6;a*Rot-j8!`lirU|YJc7HPSN7=YyZ*Du2R9KtQ+7OCw$h(ghFMZ zm!x5RiA=Bx&F0JRl&NcdIM^9Tb;wcqc{R@@Q&y&^i?41bX0vB2R7mfwj6rXz6fEcQhh6XlKE)SNF96zxRx$sPP5J1cj zXx+Ehsr&Oo4t`9quB?QRSNA36wU0+4M44|Hs3^D6>V86EWW0WMelaHe>8#Ev=8@F+`Qfy%A;M! zEptPtoi7gw4Gk>Y*vnn#^m{E_^D0{y<4`seP|hgEM-b1zbVEH;BggSbHvH)Wd=wW* zQ;{Fw(@tj9)vwOW=0VDG{|(MwGI9(K0ZL|%2dWnuLjuN9=dOi6$$L6Oke(q#709ZK zCI^Xj+f>L@_sZ967p4uTREfED3$N>A?#E_^_scC{89nbMAo}v@-!`jWK_gy@o}gP1 z0nhI%nM0^SqMI@tSs+`auXFp|Y0#1Z(?-@YH3R*l_xJ4^vs{*m=F+Z^H_B8kr;zP< z{z@TGe~hR*1Zeg)7AtsQATa&lF3w?_^wjyVb2`{`x#M#hG~h?S#Pt>nML_)*70Af_ z1!+p6fOmsJe#9~p^<8Cb>-#4Z((Pp8o8p`>Hx_yB(nb7S9u8K<^uKA>={vmmMvF*} zNbFEIIe#3QOqu(l|3{Of!!G(S-g%7}>|2BdELEoKU@RFR#T3YbD?OGw<;pUV8r$Q| z1qTXq8pYvmn+swZ2Op*+ds$j`mkKz3MJ$Difyx4m|1b=8S}%QUc!m&-aUMMr_v!m3 z>aEYwT9-%#^<>ULwsyV;rL+FK4GjTd`c5w}v>$91Zzivn zb*(nSaOHo0NJtNW@Aro>UAzbS5L2i7EIA->^s+PB9OIs%;H}GF>l?v=N&C|Tkn9@rzn2W5jG$8(z%bLV8Ns%Q=$R73P8?+m-dNQ4BauB?VX+Fwi3Ori)M!LM;FLJ_`t#(4?C{{QL8};(I$WXAA&=~J zc(U{_aYR${M)@mpu%?d&%HOXtBS+&1qiTWVE?w^vnaSnQ7KgkqDa%SOv?~v|PY66y zHa?Eryh0*UY?E?BAg_r`4&R`S3^fIooxB~u1$E`WVAt;}_H#Rk&{9#QirJ{*MxrVf ziBL%Nx3@{ECT74JuXExKR&N7&q03|h($QI#sLO}$(n7p-S&)FJ_kSdofkD9h)B8&@ z^NP4IB}C2|^XY#0U{DWTUwvFTs{$#TG!bHfhgAg#VrgMPf8%;I8ioia zL}+q-Y9#Msqz(xEMKZVM2})?Q{Sx{Vqen=_Plhb;#?FKBpch;ybiDG2lHG4%>TLgY zUCOiMUm8_EomreeA@^OnsVxvl(JOfYK?#J2VTGk2&UZEvfedoYliz{mD7dUzcaicJ)L3|N^wc4@kW&C9e!lnxtgUC0Go zlLF~p6UyP00cqII?rHV2^(2KQcze`?$lPSLP3^~&O!sCNDM}P~_gnoAD4&w$cGr_T zr8tZU-!t!qnsPEDQJ@`2f`;;NrLnKqvy)%v4YP4w0j@Zt0JCab>176w#E`Q<3COO# z-Wl-dcbRqV?}Oc84JL8yH?vzt01^w&2h7@dm&~TiShDTI|ETmHPH%VgSL!_^mA@&X zMxN{u0zjKa4sqnK=C4!t5+m+7juIMLhiz{zP1A^z^9u?qvm^Ouol*dRg9F>N2y3P@ z*KA>o-1J!`enZB*3e786R+h2$)C92*$SHIrK^iJ}M;X{g4)p|??j=i|q*dqft~>^$ zqxrT7La*hTu#)OYK{!-%x0X5{vSQ^P7}3`{~d)v2E|2_Zxz5B?qjD_$T&6T)EzN&|FtJk3vF=2VT@Ph6zkF-Zy!LLQ%Y_viG zxMN_)bC|fa=^1?w2n)V#eDRK@pHvvjdXeyvyw>j7ON#8X@x`01KHPEBK?*L{Nm>_o z1+O8B9r4IeVeIMeb?MmNV%=)^L~et!998#f;pqYB3qhX>_2x|`g%46CWO;0u=bwPb z2pGr!4G!w~wcg@0?MPh$`)nb~k(@o#O%#Du$i5IM~?8z(YV{JEtdvNmW z>+6Eh+1}Ka1&x#6+>c`I?C0pfC5!LTo?|d+)CgNZ#BN35Pl>CSY;Fd~P7gJ9AD_4anpehm8l(NA{0H92P{I#+) zM255-FTNp7gu4ssL5Wj>s)zZG2=Iv-|2DG-u?uK0)4%&e){B9k{{V4X4u1FTbBe!m#19mDvPc~|y2|m))xz(yE2sHuM z8Ce22ZRJm}d^`8tY~BZeA$&wnC05pY9PX+ zXs><}w6as(#{Cs6jfEy9KT^1Xj&KpA&HJN$NR+AWvu6?xf2&`O7$u)|Tp!A*XW#f( zDRJSysaZB&k@6WR$T+4R*y16n1x=)Lb!wj9LqZr=%q|RYze9EnZzpt|+yYYN+pM2@ z$j*+KcK?al^IACao(nNm;B0!4UgZMKyhk^XLMdN>%w_4`^intxCIUE&d9O#_0q&u4 zNz0)x;SE%kek^ncJWt;}n9O#q1xpZ}>evqfd44Tbk-px4gN+US#)ueLex)Bn5<(P~ zLPfDZ_Hn4s=EZ)d70C}KTI&*~c4&vWkM{_lo{fBQtt!nou%fDmD$^b~!>~u@a0CW$ zq&;X2>hp|IO|t)jI4>pscJ~n@n8jyW>Z_C*6d$_w(xCYj;b(pb6Q5?LA}y>J^gh*S z<(q}8+R}b_PYi=|rD(mg4Kv*74^OAv$3SZ+T)7!MaD*KOb{uJpl9Xo$>3^{$%ixjc zcd8fKE1 z`^neE(hiTeth|Vy`X2R~^q2W{7XbU^-+n)i*@6DCE3v1Yf5Rj-6S{TFR*Bw!cg)`+ z1cz)X&J;V41?!w(IX?YKPMi%)?g~2Vhqg3G0yS5L_p+M*buG{^{|;6lX?FE3mN2** zS{puIW!kRcE5y-F?{^7+Puq4ca&KaADI8Vu%LBu&W|;H;SczUboflW)ojG2fT%ZAVN_(JZCez%A4~hBb8~{7{#WOr02^la=ShmR!+w zvY`QzU#7i`N0|&o`=pH^Y7YUum*?ULdZ)ckDJuJ=*ef=!k?MFBdD02z#>1u`D3B^f zXJ($ZSNn|^0cKR#2N(h@Ppty`m%9k5FC3e{D$5_pqlmM*38Fk%c0>c%q_v^>l;H1a zCY%Xo2tuF1(ntfAprN^7U7l{w%vGl;+Vq~7P`vWbFZTC;*!|u5e&>~THAmeFSQntv zJVQq(xY+{^3P6qqp|lIcqIT@H>w;F(8!hRowFtlY&N)U_W>~qo$7g^0L=R>T5|#># zAjvN+DIACBVzAkp6=K93NM{DMGX3Yb3H$i-T(Lc|sHtO!Y_T|>BbW=IqW7ZZp!doY zV>O2I-=Jc%9U)}mlkfu%e^L|TUcX$QEZl{0brMkD8NM^fywULF_9j?m_`)ysjBci} zy@#jp6&+ttmuH%mMIi+F9Rfx=p(w14`ww!1)rof8b^5olfqyJ-4Ch>!eae+jyeb(O zpQb|-$cZ3OXk(vkT~VW-olfBh#H5AN_sW!Yi-!A^nG!K5Qba!a7!I4Zz zm5RNj#7qGm69|_a z0*MFG2fw0HPDYj<;duI-EcN3Jwz&d-#F(m0`OfyrYyXVKHw_7>XZRhHj*zW&x4q93nT z#B`FRdRcil%7ki()|{L@md*EqlQ0|YhelBl>+O-+egZqvf+NwVbHorBD9g7B8jD=G z9GjEZnx`#ojr8J%+eiFmTHH>aCDh9X`zQ>~#XTJkIrif4@klh;6q<%|fpILT27K%R zfI1PbiT9`Xtwgd}OUY33Mz%l?GS&m4s>h*$;b7GC_4Q-+Ys3!Pvb$y=fsKEYAm>vx z>~7_40-`1=RBY&dY}JAraZLPd_4`Y$RaJraJ}4L8jC*HV-(7UuGc1rY$L&;#*zY-2 z8L7GLg#M;$Lh}_9feB~n;ufwzED1FXu4FVP`Nrt2JFnBvKzs&@Zu{%%tC)4s3d}sdZW2uwf_#=Sw18A>%H6K#&C2!DF0ppg= zrIj{=Z!bE@$jAinbEpHA^=sd^B?DXE``V?GB7ZAwd+8~lx{~-$E(vA(r`Kdcr8GL> z-d&HXExMYoi22Rl@{!-dO?15yG$k=Y3U_vvdS6`9XjXO)6dIaqN5XFK} zlV2WL!?kO>t|Zo6-ORKY3Dc6PG7;9^5x&w@UG>Fjt!Nb47s~1J%A#0+5}^Vpv};uD zx^h(Kh5ZS{6^@@HP69dVKqTUs;;;c5exxiKpW6wVYZI#L;vh?6uPdTfYjg9+((GCg z))Ne|fKTj&o>KI|rQe5`qKmF>8YJa=Il>|9q9v=0yr;H+)iH%3np6pb`h=n~~H)L@4=A`qGDSvzq1ryu`YKhJMCM;SN&p4GN6?Ns7%V_aU>Gee*{rj#HGV}{ z@eS3}RAEKH6C`}-Z;%YBbx1}Ef=#F2Qa)}iCBkFpgt@gS_mA(C&5{v|Eca;;oP8xLZ{fIpcC3J2oKMRbPgqiOGIBp&xaWBDS1 zgGbu~V)Wt6}o>zceX(1RPgMfhv1%d5n z?^>WOSBFvZ3=6N67Yzsx?wuQp*7QNF0=&#cFjS*+jmC@qPH-cw8Ch8M>@`-{UfQMn!61u( z!l|z9n$+4XW{;xyPBMahFkl{3b6?*zv~`LbeKD`7Qz13{r|iYImz3o+ccf>*GZX87 zysDQ#KI;GK>@B0B`rfeNGs7T^^q>M#gLF623?b4Y(vnh=N=px+fC>ylNuz|)-3>}N z(jZ7H-5~WIe*foP>-qfn$u+FAXYYOPyzcwDXY+2OTC#Q&CCs;f&|kL|+9xRT-8ux^ z?`E~r%-lB9QcosL8iKj@J~w#?7+s}XX;@u{hZfAxdY*hM)Fm~T_QHMqk~S-k>33$@ zN>p~)&^Mx6!N}jTP6FC$U@K7}RgfOAw2g*8=4_q=I(;v8gjB(stS z*8D5m-dUr=SrpIa9_@mNFy8#MpBvahGI1W!hXvx*}Eu8C^&w@jj{U3{8}mWIW#PnX}O0c5_vBeQ_Cm- zi-7-moq3*U$}R|@1#_({XjgIJOpc-F5c`j>5pGVwdGEripB&E|P^V1}+l68(v>&C| zg>L?4a3sBB@JK~`CP!Cl`EU8NBYZ5m92zNokc$SaLovSOTWByg+^`Pu5B19m)Rx!X zeslOjIO|sxmbeyVgPbuueDano7sJHu*0A@N;oKf$8RP-Fdn&03`S@9)2R{)g%_o3I z`+hz8ck>#IRDlLWzTPN(W!oYjwvX0G<%;2uW%@?@jWv{MtNay0u?}pDco<;YXjttZ z=iFYgT-jj$HiGdL9f719ey&@W51-#P;pk7n?%CcG%-TaQ{rmUHgN!A3?^>5aS(fxD zqi_8$L@Yt<8P?=+@>5UXGgzd< zmqM?{E)Sm~7fU#q#{21h9Ug9f2;gPND$E=sW*bOjL}>CM zi2{{yy6ndbzmC&>Lw_Pu;8`i)a<}|vszJb(^ZK2ka_98&0z>m-*?w}n=e25n9vgbA z4kTw1RMx`tzKB(~&%Xx$y(m=zYchXtBQIrBV;ATYQZ&A~5gV8ni2PCN9rOF6mMq!X zZlL=x%!@8Y6*X@aT54z+zJ3P9cdgSLw2>MkK|-20GAkg2_{gCAoL2WdtFk&bh3sIq zRIPVE`j}Gf6Z>BM+q-AE`+E9OTc`$Q{+Nf6CaQ4IYho$sj2^vrDy+B+35hHD!jP); zN3%yA8b;U~jlzx(d{)bdH`mS4lc3r6SIOoKI~g6kVnMjAh)kS#f|MTrHg+&n>}~-q zoe)~>k6uB@UE8(#l{$&7xv|kZik5Wpk56RE!Z^krtu{LU}q#9&8U0^>K4Zc~#!w_mgY;&kcodI*^g2{K$*%ZZSRXo|C zumj=kth~~N>1^GF8rjMs{rIlWGO~D4hWXFW7}~2S#o@GdoqVoCfy*#bQf{%1G* zcWs3r`&}%El#Di|g*#Yr!zn;KkoO%6oKBfa*PY#V3FMw-gAGi4CG!L}&d@gKA`Obt z50~k2cAp874+LO!+ul=rEpL9a)HhHX5)Bp!Xw_1#(=Mu?&T~3-$9Y9N8oVyWG6X!l zY>wes*C|X{V304IjUU5p%MpZqxPUM{j?R8V=6-XOWsDfkfKQghl)jv@m0Ov-v3?m_ zX&gaw&@AfpzjG$}jpg{PT0XvWQP1{WaOjE|#8RdC1#^M+3xo06?z_K9uIF(MoYo)j zqNbrrwMJTFe`nbhu9~!XYGI$SJDsl3BzIRyG5hF1- z|Ba{F5vLWW^lQ23qqpFM4&#na`zWtG-JYg&pWVy6f5r6;dSnz8Lir9ny~*Sl*ULX3 z2ly6gtBSsooQ=J}8<^>qStOp?azU(~YHj2I8F2TnrsNkeSce}}q za$1RVphmQ(Oz!Z*kedp1ZW%|Zc_1}QUKwaTjQsd)81q@XOinvC zrecGL_CM5-q*F#sPqGsPDK>F~C}B6AaeE$Y)4X+y*Jb0ihgMpkuJo?5%>;rXkcwAe&PgNz%}peNsoE~vmd zsr`Q#+HI5fyIyk5AAsok7`Lh6E4-+TRks@MW&%=afQbbSHmIoGM%E?kB`$#7Mt=_n zD6B8$jHu_jw|Bs1!07;wW7+5o?DNSN*Ipn=+M-duL7OW@=T!=WmW%5z)n_bODsMB- zb99cewdMsT!n-phmD`;rqI?Ee>2}CZdimHF5AeT`Ad5K7nXNA0{6VLCITauKrE1hY zxAF7lBRkM}n!@ox@1Vc*bsmM&iQrVfsbPR~b0pt|VkQ)^mH}Tk!2rP1TwU#WFeVEI zT(s9T1cW*d^INq3;AaL8?7rIt+xhjsf%QOgxvz*@pH!rqAppLdNEqvlgkFlDsJ7h| zDuODia=^ucA{~< z&V8&d*l5MHVR-Xa%)rjMkAHXcC=%rFOu1Syy;Neo8u@Jl5@Tw0qb#wfV8K~_N@@2< zj~Il(S=k`Y%sQsvSP5h#Wck~3K)H=c@sEaH2XgYYRXGxDzc7$~0QT)Ss&dC^ErVPUM%P2uM_`LMK7)Hm zO&j*du^y|#sd1IQ=PRm2JcJt%o%db?*U}{r0`?*sDW7eEurx2aMnl1~=QL+0njy8@ zYNpBCInfaQU|_#u-;+@1)J=!iCf7XIDWp>7J(%*v%cf}r1@%qfyHNcCG3!G2<{#7( zd&)TNIQVx-fpn}+319&Y!w~yuiTrVm|DI|eR7$Rqf)cn1{1WO?o9^sppC>DnR(D%% z%;JQR%UM3bAeD|R=F={xA#lFLa(Yrg?ZrbkuxW+H*WU9QEQlAK#MsH+*M;TX)yVOw z-%*~(|4`<0^5dAAhS+j#>(Ag>{k*@K=eIRRPK|DwcQqPW<5Fp9^Od|Mz&^dFWInAl z7Eu#zLiiAuPa;TLo8{9FZCN09#($-ZQ9S!15j6Ho1;%5%M=imP#~Q!PqdzN1*b}m1 zrMMOw-p9D@uB?q35N&iNcWyYT=4P!I`5z_n@?G4vUJ|5kNr7Y;>QITuhdz;gJmFt0 zac7WU=7o47{ep<4?blT!oaR{$j;Z+5CmHd`ukxOg+J#j&UA&qSl>8UBb8Z%pBnx3d zzmnBM`EPmP73K8Lc@h>dm%K_n)`DjZV6DYNNYXN9zYimfar*J6+P6L)Bhf zgRPb?1IC=k=1f-?-tC?C-D=YVr*XXxdb-CbSma_Lr_?UKS=-RV^lkZ$8!(&{Chfa_ zM?&5dBx~?~FeD$f8fdKp3u(qby7!L5{g-Am^OUsI#RC>fHvE_sBb3NUcdje<8APq^h zBpP45_kC1URQ_JL^L>I2dnY?xkOnCf@-7b?9rgr}C4_c?;9Wq&4I5&l&W`0042c&b zgs$Agbx0ElTtH*&M?|00?0V_cAMnupDpX#saGU1{v6@9Yr~AVtIYVaNN4Z52A?ow6 zmOcJ`o<0}YBxr&y;=^&i*YVHx5_EXS?JZxkZhsN9S$IP4Z{$N9M4V`<^#Oh$lXD=j zBgYbR{f9AXFwa4$QaPwosyblK6>R>0v3*mSFR#-we60^f=@QAws~}Mb(S6bg;@cndDIt|O zVLrH7+C0OWD3xyO5HvqT;m)9++Qy)4(Za^2ErToN-?`DnS4MQaskY?BtG!p$5p=hh ze+Ns+fX+RAbOq7QhZcHFio6F|1_uM4yKjG$P+*D3Iw){uHh%X)nRHKnHTvS`N+}C3 zBd6o!Hx%-BFtca00{AFcSq51LdS{q4&t{iYyf%fyGf`Lguc^Jvr2H3fs`t$8-{^jM zG=G(nW2&i9w|;o}z6pk7+g=hW?3G^Ev{!7fcRM`m+=mg2-|UD5~i;kiwS>V`(gA~OWYuj zOULlU^ZA@Ii%YL2%V_XynWO2m9qCHW-S^2AQGLSvjS*;XnN0N=Ng}>SuCCAf1L*1L zwRF;5OPG8wKJ*{$c#inL)%sBU`S#+(e{Fs7BWT)@gQg7+JPzcxrGC_aFDZi#Cba5! zs=W*ZtbBi+ckh?E&_4tLQ3f(cQ7XBn`;#f8UQIWlS9;8DAk*mC$N2nW|Kb)XpQ&@K z2wKKm7iC10F8O2kF2%?cchpC_tzGV{I)>`(RK0Kc#kE?6^|o)@xk#K44=XJaK8TU+qs$LcuG1}#yDXi z=vrtP3_o>OKo1!9a?pfiZK-6BA8D=dk0n}w;a6D4yO%iM*}$x<+R3B)j$G(l2jrJ@vK4;37S(-1rP4iyY@^j)oN`Nf z-)+NDr58?9Wi~da!%IscQ+W{|5T;zP9uOlKG-1r^p2T~Dm#tC=~x30;o| zdqBxljl)PB(U6@(AfdLgXPgP2Xe^rPqr?~c@ubkizOXKbFv)Q|vdfi?@&^TfVJLYC z7S-#=ncaKPyrSwJezXs~i~Sk&ORjLoOEyOwOq_?>wwt&!RNw~$ha(cf_3^li^x!xTSwT9_dSl`{Xit6u=+~Pg*y=#r z{E@)It^PNC;JX>$;3I&7XH)1sgdIa6=>6PtnMoWNu993uo{hT7r=oo zyeqW`w*XEMn9&?oJ{%~pGWzjHa4VVxEIJ>+!}3T%F2Sj9MoG?Z9C73TeH(YL7FqOj zcvs)7o9aQs$^`Fg5g2R0RnlQ3DHS>%?(kmh?qJ^CP*Oy*upnEv!-HlJH3+u zrxB}%ZlXzO%HEPm0vOPf>4e(Bq5&i%kRBdZN|xFPev#xf|0g<9fZE*U4i5{GyFW&s zhydvMOcgM7jnk5|gp*9x)(TUoMBKB|2Q;;IGbW?L_c?)N^INb1W~89&=!m(~rohB@ z8v#(FDu^S8BaT+L5Vb}v7(%gp13@Je_`sbf631mY;y_C^Y&rH1d=nQ6{1}aFOeK~= z0wPsqATs<~5W+uz?z(>%YYssT!^3JX-j5XnfGi6#NYM>oi?^Q5hR~w!d!rUCp#p*r z=f)+Yvfn^5^pl*c=XYE)00(Ks*HKV#`{DQC_`qqLFa9wAF>8xle=Q6Wtj(W-gHwMD zN7l~qfZsTBq=Z^{33Zu1gxSg^Si1qJtBMu9Uktn`3^a zGEKY$Ftk!gKKuB?y1clOELoSCIZu~(phZ9($GdtoTpTRxl1;s74s`Nl&N~wS^SO&f zHN2;Jryys?P=xaE@l|~lm+|{A6gl=rd}-K&&=>qTP@DgD{+2N`vU({%5_8-z_K-qU z9xzK3O1Hm1q$k1YoY9QMW_)alHsIAT@_x6>9MzmWwz%_U{VZTHNwz76rMd&|Ng3!< zs2j!d_qkYZ70$7uV8P(CMf<@d1nK=@NQ?B=f`fPN0`^LnxE?}VU+u*<6+FzL2KfqJ1OyRS39QQ#0sYd;G#0jQy5sRCR# z(q5$Hj|<@QK%x~7Pot{-c=e$HwA6?%PklzRra!Kkc5oOq(INAPF-Eyxdr$bj|Q#I=*~x+omNo-IZ!4(MwQ+{Mcd*pxIkYx zD46Em1Qe7!n1ZG_04$l);A-9hX%nOH zFrhD<0bHNbI#VS8N|Gfu01aD~>M+1?@;3HNLD6LV@1Sg20WF01vrldm3{7+M0oVy? z?pm~2lj)=|U*^MVLj(x0B4bSlv44mzxl$7`PBX&K^=RK(Tles^9NXXRi6#g{0qyWDcu?}E(JDvcKs6i8Cq=7;R zeZfHyQ%XQ$!FxZ&poc(%EM~R|(Nw1hj5HHc0AdV4~^h67Y7G z(az)m3R)KUKck;233R=4CPz_uUlQX%s9hZUt936#=0BGKl$r);!HDE(x6-LZMcWPlD}>rjpH zZX^?4#M5-wvYFp0_evXsF)#QJlOon=BOsz=oJg6w69qKsyhV#`D5-%4+x;f(LDMmI0ca-i0f z?nVcR`w5jYmCx>KR&{shej{7&M=Sb0NJ@D_&+4W2-`jhba{1zKWK(hcANb9tPc4>V zaC|h)(LY*ZXoK>9g2O+ACI0dU2rZiW6K-q25w~a-XrVeXY*7iznbex< z{Cq|JQR?`CJuJwZwcZE`A{$K}dfP-NS^{FM9>GpO!`M!~`}`$tuKwTG0TztFL@5Qn z)AD}OE3J3#Tw6Dr06$%*H(AIw%@2se{=Or|I@+7|ENucHueA$P0QPaR$7${<}^k?AOh{PP(BuOAmkq zLblc*-v3MAq#Mpg*F+k44!#OjU(}mJ?{SEI-A8u6FoG>Sg(CFNNITZNWz$MY zLabFC=t7Lcs^rA;Y$E_M^2Z~yJ>OW>XFe$YvJe+W|ZO~x$hZbN4%6{!VjybWXBAw>c2Ui7W` zVAJalDng<-MUw?z%|Y9`W>cHRw0+^}f3bbdYcUqu{O`x?J%Wsj+n`=yU7-Sm8v9D9 zWv7+?OWge>9#4xCzq11)DU_@)QQpdG*S}?p)16mJC(R316a2;6m?sY)dv zsPQVO^7CYU}IB3>@+OVFA7(*eC%< z5nTt7syprt_tnRj@Qg;jJ^W%=c+aE7;8jNycgiN2yHDy%K71QtetQ46DfS8pWxQw6 zHqE%z?yD514v=-;SHCtEz1f#Xre1WiZ0S!rV9)?h;*B*54B(}9-scxf3Tqw);MTrwfHY z2=G{(l4n(*UmO$$Gu1Ln-8oi5(_k>RpyGT#B8sjq@v4sr1&KDO`+fcZn{0X`N>c2J zRIU8cuqb@$5%deD^P|G_UvWJX@lKt;HJEcIZ@mOgS318`M>T53eZyK+*Mg)7_$@r( zEp-WD@heM~Wt0^;sjWhk3g`#R@4H%~lu$j|*&DoDl64KRSJPrWnV!s!9V_o9a=;kO zKpEdkziH|&D}w;_i$2o-juM8F}4?x!80lHPh17D%FXpl4*qQw;wq z+8^Vy#I#JDeErnaKRk=x)1cbf`F3?>rN4 zC3rOWVA5}gLaX!c%>PzHf3(C&s9$7Sju_|>=H!$)!=k_aL+$I|f5_eC+(@YCVP?`C z{U!EgSI)~a+sut{a^y(-g1Z+kS7N2IecB+S*GS~!SH?|UZ*fI)Ch`>nzT3G8C%sg2 zZhL$t<(3&9@FXRq3+~Vv-lb3Bs0j~?MNVpW!a8^D~oh5fPtmOsfdryJtHt@ifyTf_(eo6pfKenMrsICO`A) zal<-M%`q#f8J*0qZ681ki0bVQ({yIo9@&sHv*)Gcm5ybAzym?lhg!rvoy2>*6i znqIAVB7N^b@9&XMIx@)HT<=lvdq98|skJOr*eLHLSoVKeLC7y2Mn2X2spCqrREeC|#y0+~y(g*1b3K{Y z!MEH16J{h1_(b)SQHsTx_!zbP6=jCL z;rq+W+CN_kaXNpj7OGYxk0>;9pyK8+i4>pHN&i*G#E_r7m9jlE_Uk=;RAQQ?&w-e& zM_i{hBsz*{PRBr)^?PDkUhK^2X`?{n8h5>CtV;?@((^CYuBtGkF&IfAmp>v3RH9Qy zDMY4AO17u)o(g|iD;<1f*q)z%Zue=sO4nTM7paZ6?^Z+?hvR3Mr;QBHN6E)R(Ho2#f&r@aW%uV@Iek_p_cJvDXH}{j*-pHlv~fx3?ZpMzDbS zP{tikhYHD8bL}KxMszQj0&PD^H!5l-;XD#4(SM659he>3c($r5OHarE5p(pGqZ33{ z&%2iFPE;^BGIJqFYkIV;;~xuF6WK1IZ3#;+y*F+WDz@Rs@EI2BCf1vr(cxjq_*WJJ zKdI-wb3f+dNt3sXx5Uc2V`=JZ2bXV0OitWo zy@o@nycVH5trk=)%b>dVFZcEbywgwUPt-#vcdnA`gD=1kVBwr+^fov4I@#)bt)C>A4)X}5i%FMe)UaekGlYpM+m>$fI)7qMO>+^Le=V_gpD7`&&r z;_n|=DNWM8+VP4yns_Fh@ys7rbZ5H9C0lw&rLosKWXx4wS)&B5M5q3nyxt?{7S(=I z5i>GJ;s>Io=FLN@vDKx`6x+V&z09r&pNCHkOx}y=2hp}DHiuu*;e96E#MP3GAVrW` zF#db(rIOrQIos;H_CqlFdPt&WR?>VHiioUw1}14nQND zzKqH|VoB4={mFc_oxI#kIWh-m`=RJI>Qe;rT0RTU=>1MfRQX_(Y%AnBUm7)xY{j7a2sy z16;8nW6gAi@=oANZK4D(z)=ag+TCNc!yhCSQNQ*-sdt_GSl0JN?{EXfXZrj5*awaLf8*Y1m;h(YalBZo-ROK)6wat zp*HU`1IHIc0=^UULwH)*>Bj>-m1YQ19maog37fYjbF^;LZ%oKjOb`72e6savd%M2M zE_qer)w$FR-2?!14RiPBgGU7Mg*@2z<5al=!Z4rK?X44<0=JPnHxIEQ8}t1gyR7~V ztd+i?xcQ<^74SC)dP%Z(o-bD|c9uQ}wtvRQ&{_n;;}Pk3huCFsc$6S`cI;nik+g|6 zDITlMKyx*RUYh*05tM7mIRm#hHiWQnWK&jS+cS+cp~ zk(!a8j&_?Kg_1%2_`eC}k41++@;>*NnX5DwZ2GxDge3u-SdnC^d%7*0sd4s=q~sW^ zhr;~x^$oJa75b91JG)6WBJ!BGEL2renS8|ko^wJb%X>-vih@w!EBKm{$!-<-9rWn6 zG9i^2>-fD*#Odt>gPKX)@@m|y`LbE1=agO z8A|16yz1SL+2CQ$ptuSmlCZbudrEwHp1C;NIDG67dTwQ?RrfMyr*`WkpSCwi9ZVYE z@U4=3!i9$%dUcU3CW@ZbeKce0~ zMMN%ukRPYNNut>bEBzvvT24rJb=utwha?xaWM=(oeg`XeuPq2L!0H=p^3$yM zL4xuZhKFaowmuRSe*Fu8JWc8zJnn$YE6u@2sldsn`z^$b1b3DII9@bH5XDXS7=70qo&! zpekotVv}H%Udu@AH^}a@ul4(C#q*7t*@H&K!n&`LCpkPPa(!I8s=8?lMSs5$+nInf zL!K6exVIWYzu3NWXE(!0bnY~~VL1}hGTlC4@z_mXJzrEI_omtrJ|vP4G6nb6z6J2y>V&8%1 z=c0Ix2kSs8g5qsjW(ELe4E`MlyaNJ{}^(q^CxnF1my4uou$=9v% z``^3lrHdF;KGoz}w84!>D)CA%efHw_Ge+_J%?vK-Ey$O%v`Mb!7uE>0yvxid;xR3f z&4WABVMXw;thMiPWA^u-vqtO)YwP@duNdasY7sLNigUF z3kQV+)K6=^Jh+e%9GP>xBP`w7SznlhmWYLYubykG>|wL-5o9PiGhuIrY9f>cvcB7i zu$LMxV9+p2i?78IU=1)9|J_``iwWW-*Q{$)5SKbs(*r8kfgZE6 z%q)&8l{38KkqEv*qFl;Nx|VzDBw++Z>+M=9)JuWKHGHmk$PLZA zGE57Y#K;6IPZ!;r+i<=;2ijGa-*WKyD!jM#MQmEb=XT3y(v?er{S!EvURX1w@UdRy z@G)GK0u)q>7_W0C?biwIkPDXvu*+#xc9JNP@A*ijgD7=)q3|< zRH@=~$fUkY6f-!KP%iexRt>hU_O-E9fC`~fQc;YDd}&{*Rwm(#GpV_lE*|u!#{Lu)ch~5Co}=GULBs z+b0+*_;ZO^dnl9XwpsZZRn55K`S!F*Z2Ul;H3Kte(h3JSlfC2qbCd9*1bzOS=LU2A zKdopifhLjW{72T|;$pXr4n!}JsB-$mmXlw8Z*7A0QM~X2$C!YupP8ic8LCv6mL-g4WDT(0UV7BKn>LYaUP%2y3l)S$ijF2rhn z?}+(nk9@$?4j}!#!?NF9*8`{SxMqfcu{QwqPs?q002RH0>V#@yH*~pp^5iHiq{k0rjSGJ1%;J3r4= z-Maf3e7&&mCr$A~|6D32^rt}CSaRBsvZnlC2#$4PLJkNV2TuO&9f~)bRC%-SpWXy( zh&exo9eH)Y#~n9qmki}}tjX(+>+N3Q$j#|z8C%nUJI1((>b=wPV65{9mNor{k~^3D z+<4+F{cMWU%(gin6rI>5(o3+0fxv)4^z+_5J5~Ok6x_t=<_Wvq6{tGER*v5kAK!S{ zmMDkwyTNww(G)!F*vGCIrh1gh2!Vi=ni?*HyfR1Psx2niv~g`E#EP!MN*r`w9mxj; zM1bEvwMsTAu)w|Y^7fJ4mK`W?SD??9*WP5Q}>~(fcw=dkF?4~DSrn`HsB=^u)0H9 z4s@YD>ZEKCt3)gP>5SaI#3YCG$DUt}wgt||KVFRwrd4|r_OMJe9n(zS-ab&n2O$Ox z)#9(>gN|GKivW0#*!*m-kz|?F()|}RJN0@;4Ifz3xwp_SgIVBhzU#@D`s?ZXl~-4X zVy}3N#Ez#?r+)O!6CVb%8n>-<^9!hGYsE6Q0!RGk)#n9Q2pu?~H#_rFrVraIGLJVK zR7A2tGz`j-2qD|xdI9omNra3kHm{(wsc$Ms5|Ouc;`j4xiAT9O;wp-8?aUH(b1M(i ze%^vE9S2#$w|OtXQGU?lvJ;-+E-k~Ojh(A(S`k*{;ihlQ- zi|7DhR%i15W@*vU13%Hn20ckV`ayb;^JhEjQRg+vS{-|j<>FHG3UmJt>9!xXuPa9c5AVJc*~ut0(tH#QwF=({ul+ zk;&v4jG2mZj$uk9(_)Db@Rw?Ra_{E0WS%IzHy|Cp8kdP2V?_ok$M1i!%z;jbxS7X@?=d%QQxd_6@}1q2b=5zeKFx}_wLXUG?iwD27$&w2*yfoUk#v{`I;PPu`b--2g z-)2UsyYv^MPs9UeNiJ3>CYt7P8-L9Y^r>G<$mreJrzgziNZudUr*FAh|Ih}!o=}2x zjz?{p60}sTu(nUkc)t!1+G~=yEyl7hZh*)(M{{!eb+2(Umc(I&lQ~`EoM$Iuu=(@8 z^V_%cc~UZem|k$mw@HiXnwkD|P8i95dSXQN`^b7}d5OV4??w);SQ%_Ugz@!7)XB@> zXSMdV+{DXe@$b55k8&@41jpigH5*}BWXa|gUI?6 z(?sSjpKD^%foP-9OyA}*?9N_(Q~>XRa{^ToNx;#dz#xXG*_5$wQmUtk9zc_h4)w55c0_S>O10lsdT8Gng%g;X`Mk;0K;)2Xu}0O^H-4vq zYZJ+79C3OnPR2?fwF?S45&{>5d+}W@nJS*uV+p(b>C66PuxQ>N{}EMw5&}bMUw%35l(5v4FMYW~n_2I(CLCi76t6dVFXFzr`V)JYp3_kDZ$@W)JK;{rVaor$yq7 z4*rI%#C%$@!}wG@=0%a_WzW1_uwy`|IVLpB1m3Hx`*6d8D6{TyTFq@feY05eO!Bl%GmNM*^ zVqg}`IQ8sprKLPHvjH1ffzpeNxDYF~U(!ij)>jhi+uxuVk9-nu6$mE5G+n8b4~J*h zYe*hCr%YB_v>$M%X9@;*Z4H{Ur{ZFj{8WyE!(;{{nR3M)z@2wbDV8&~Zzv56k4)(; zxw;h%T|Qf;>^;Yxd;)(^k$1_^|3qq9bQ=qFZ-%n}d2{|&(06$h5B$(V6Fu6Go)F`iN)8;7dR!Xs=NMXw9Euu!rw)And`ITbl9BzJsQnQBRm5P5I*k$?Rvl>og=WxsT%} z3Wa857Ei^*qm3Sy`(~G=TYx|6*Gj1LK8tB%?^|6t1A~?+?wd+O9w6^}qBJh}TNe(fQ4$wUYHQA(xzE@+@()VOYl zPb!#ymEXi084!1*Y7I2g51;xD27Y%~M)?K1a)qz9GY6!3SlS-cX8pc$#w(g)#loC3 zuj1OfeI#{1Gi1lnMBU5eyjhFsf$}1maj~+gCJi~1zs*iLG`q)ADv#w+ClxTV%hM zN|y}>B_O`ywZCj)CjJ>}%on#68QcVgc`+Ypl(5lHSXxiMwf=S37p0OhWMAPhRWTV< zEMY31cwaQ{m0sy9Nmmm4k&9{PX=LxH)z4nm?lGM1wP|zE(Z%_ud4x}FCU7w`Zv7T3 zdn)en40{bu?#NG$iBvDnTt0W_^6GE5@K0EIlTzj`34k&Y$X+8+!gG2xc`NWEjO`U` z>yhDNv~Y=r$=d7vQ_KD0QRtQK{#vek@f6R(8yeML6T6~WxE|#jk=^#n4@5R5&uHlm zaJrr6qY>YE3(nQP#te?SY#tEKH>YHhu%>UIRD$ZS#O+wqbB%|b>6<#+-!1(zIT1}Y z+9)J5J!q+$P(J4=ZlqfQt?K{lzjs%rXb8}gKHEOn_zLvC0HFLxL!n5{Ea?9Om%;b5 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-opensource.svg b/_static/img/mascots/scylla-opensource.svg new file mode 100644 index 00000000000..299e9cb9955 --- /dev/null +++ b/_static/img/mascots/scylla-opensource.svg @@ -0,0 +1 @@ +Plan de travail 1 diff --git a/_static/img/mascots/scylla-operator.svg b/_static/img/mascots/scylla-operator.svg new file mode 100644 index 00000000000..655a450b2a4 --- /dev/null +++ b/_static/img/mascots/scylla-operator.svg @@ -0,0 +1 @@ +scylla-operator diff --git a/_static/img/mascots/scylla-plugin.png b/_static/img/mascots/scylla-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..b28dc857ccfefaf6b20f893ae11c51d827c70e0d GIT binary patch literal 52683 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-release-mascot.png b/_static/img/mascots/scylla-release-mascot.png new file mode 100644 index 0000000000000000000000000000000000000000..09342ac6875c5ac16477e7cddb811569e0eff483 GIT binary patch literal 31893 zcmeEu^;cA1)c()|3^3Boj8aMs4N4AD0y+qiN(d-OH;Cj6rSu@Fz)+${NP~oclG4&G zjg%l=?;Sqx``hoV$U~mY*Ynku2>~J5LE+vfK>8+7$j0qb3 zhb51^L7#h8x#Yp&+kVcM6X$;%r!T+$po|rgyA1*nBSA_Agyt&BV{FFI6V%ix3H+}) z<%M+cwX20>=uTcdGQ=7(pM+eJ`klFqaWIn}t;Z1Dd zpi(F_aEJr?e~Tn4fJPXJm3$S&oJTD>a>-wyRL4m!8=kgRj0ME%k=S_vfKL^WCE>6Wa->+N$nfWX)$U{HKNeBvtf-G(l&lJ>| zDEVe~F(SZj%I?zE52IO)%(h6H_K3_gG!ThF{K~r(T)eY)m~Q#mbL$}w*c6J!{J>X! zSp~_I-8u6Y)`6ptnV9;rPP$%6KO5S!TV2OEHE`7Kg@gKsS+RUU!K#AdgB`mT_?2bP z$(pmsAFsdMp-l2jG8dB^6*B)=A-%0IDwxmBPfJY@qyz@7-XOj`N_?-Jk1A7eFOesM z_QX1Za*F!(Ab(dnq`}pr>1pZbf4&FoS4!+M6QY|Dw1oCgjvI52DO)m$6-}BpLceDj zduUiG%e>0WWW;X_D}*D)m}(x&A~+;$PwS9#`e{w<@i}4>vk7ry%OcWm<5ofB=;nk$ zwSaqg{{?*}ZYCWbCKVR)1SQTHDp*a_$_FVaA#v>3c?~6pzcZYV1aFdn2;rby3F4Ry z>Yzc=k)+>#ap!@p&w98)*Eb1Vqq8N6uO8qA_pVb1^RPf~G?%y;aA+xAE3}AQ`VWlAIC?a*&p`ED~@wAUaXWE&m*ZcemXl+2$C z@?CA5C`O!QZCoIDo(Ph8y7j@1K-X=MlXJ2vr%?Wtef4D%9e4ANZW8v&N(qpVN)ly6 zybZ2d0)>P<<}1QsRLCRA!&)7un_Z|B2|zF?VNegO<{^)Skc2H^;j;M;C1xn~enmlX zUM{f;{?|$;A+T=c_($qem*X_yw6t`vQ-}?y=LRH;0Iw#7Dun7*@E#E*S!)Ld1?$ee zndrjrEcPzU;tDS=Lg0~?+nfeZ)YXk{P-O{{y+w3*pcdnaTVU)aW)JTnu54vXqFkt@ z!gJK=hB_c2T*0DzJoXGG+l`Kz`zb>UYkptB|9eQ5Hkd=fyNZjHfSxaWhHK_u+U7{9 zs^}|HJgnWgh?hDd7^W@zUuRKSD?u#oBLQXK_)+mN&n%I&uGCK8SBWb@FcUYA^<7KM z%eqnguIQ6OAdeqWFms34L*x6m2nG_=hKHG@+$st1;F(lLk^boTmNHS(vYaS{6sWhgN?Y}!QM&~&VW zffP@;)h!n2L#N8ut}hEVsM!66kiGav5w#p7wwj<_>S+M^iN3Rt4)J&~T z$5RMC-S(CQZ=G@&zt-J6hI-NU(F7ZuWH)2E9DPug3Y*jqPwh}a_*-$xQI|(}7$}KA zx(55r3nS20x#aAUm$x1@xF|3&1c|1q)j98*G)YD^v;MF=z@w|*nK{ZPvH%jz(&P{s zSOo*!g`ZN`u-HKy;aVE_wX!szzytixDF{oITP!BmJzd{D0aOI>h(~CFz6~Il1+O_q z?0V)hoE^QM{MFz6%te>r`-^XL%`c9g7o%*jd2>2ZGw zj3P^aQOR%IlzHHE8W-muidVsnj@W8kgg-h<0u4glax=qi2u1lg0csF%hsa|&l5qwHw++t>t%v) zkgAK+#i%S3$mo#v*6)ppWDCP>#vmX8BQc7sL`&2GBq{Xx%p!6%qBe8+DWS{hv+mQw zdr9S)2O;yFBUPp5&*~2kLNyoGFMibpwks6h3aY_Np~{>HtC84P>HgOr=^da-Rb2f0 zDWS&O8|jxD58%5y8ziR8+TzW5srn1Ok?bl+ za`l)D7b*HYq;>sIO$tcN67SycQ{%da3|(L7ovXKIn|F2baWxJ>mzlfl%9|f18xtsv z=#PwkY|c?XZr8gD4!zNUI=WNLi;suV7K@_w+b#d_qmbii<3uvU_GbpHf77 zC`0f33jc6F{FpX#A8A>{L=o6JOboz(?jCa@^hkZXNb2WGw^=h_h+%UB5|FX9kH@25 zmg42$D=<8!K$mGt{0iQ)ayBVwJL}nhtO2UMUI<_OQHsam^BB$>^j9u3XHL}2b_)^* zEyjO-&8)COF?>8Kzy1r?in(HlV=!8qmLw<^Y5AQz_rD*lQJ}Hg7iqULZ>Lg{gQl$s zZ{nap&?>RESh!StKPt6!0k;Dwxdi7DcetIqA;5jLk&7(E?8QkfEumt-iXj*c>L)Xn zzc&9FiM%4hKbHMR@02gU9e-_Fo?QfiPI#X)s6j%V{ctX9hP1%yLE@IEq&I{hTJlh7 zS_*tXesBBwO6jgKCLrOVqx zClX62=phS5H-G^0D?_zln)7D9hLfW~aVMxF5)pcZ&Cr(n#oTzJd5;*IYdEc3TLF;v zkSTEGehUm#!$6_#72dJ}m>D3d6H2t0=0B3*{ZD05~~1+8|MT=b6nW#ql~r0Mi>6&R=^^ zQ-GTB;&PU4yiXPYgUDr(z2792FIp_h?jM(IZSR}UZ%+Yb&%$G5+Hn_tz|X$8ds}JCifGgR`R* zRde=rKKlEAk@Kfl!oy}QQDGetsR3rgXNAAU(iza2R#qKVbe6r`Rm9itrO~MG`D;1hpuu>iOq0N~aztj`Ps&jH|K4qEnQNW-%8)O8ImCI! zD19!EoQv-XG-z*tro3fDyzVmg43J5T>sTPx$T;(>0Mf?L1FH@Q0FStGgip@l)@Z(E z+yYOX#?GDkHA!Tanhd+^(ueayP{NI1R0s~|2=Fsp94};BD-i9h*R3j?5!-aCX!&4T z;=M9<3E|zRA#z^U&}-_CL7j1VIq)#UqQ8XmV#S>JJvNnW>zxsObgFp-aupYVMTaN4|Yx-!9VgvQZFRI*(q zH(DZe7l|fTIbbF9>Ucp)9vWudY1_a=VfvpLs#>!C`l8*2%uXAYYU?bM{iTbADT~;p z^mQ_I{bmBw6&9XKIvn*=DtN7=3$2fRIdH!`J^DiT;(58>q4(|>D^RF?>ND3w5DT8C zGd}Im&S3(txbEWvZv)dDKW$k$vbe_$S+Z%5^x|ycE;>+2zDknZ>LKb?rj-Tgd{EvSO69JGdy9SPqO^K67 zm*tB5vDPe@66E0^=GoBfPY+OQVP`XRO;|Bt)7Js?%|fiS-HI5&qBRy-NH& zbJ4t+H|SK$U+($aw({=Jw$so&9*4zs0wBBqzHZY}1rqZ8MUo1{78GhPmz4Kt&L&j^FWYF^>Wc+E+bm~0cVYInPZ?HY(+Cm7Db`%5 z0`azfB|`|Fj{Q0p-OIebV+3iU%NY_$cX&mJ&9+08$N3^$a)n;4M|yrCRk0(txi0KS zN#I`Q@yq4rxs(WW#C<8~AM1A>P?_^!&24h@gqEsJ(9asv3q9V84L7U3CQkobKfhtJ zm3Nw^ymC(3xr7Zb=evwwFl(vYSTlKcs(QKc9k) zeYI}Af6*N%cAWTk#{Fmf$oZWMGD8{-K2{`bVcD$F2go{kTkX&7J{DjI?MN3=V5|}$ zT8;HV=fRAf3aw;Yeu7nPs9wRus&t}F0)Kc?OqT_V@$HG0VWPqCFldJt^XL7UqJx<( z55?y{1MAGF8XVNtFE`2zQBE%uIZIRRBUdY)S|R=ajoX0TU@g=9dYmHFlo7ZvrV3B{5PCZJx`O^%rHI(;ev znQ6X8OC66A#_j02uj>zuY{nL7Mv+4<|1jpRbnCZ3wUf zlo= zamXOW%w;RXrm zZHh$kmh$!!^j3Sf*ueT9wugr+fa0f_$CXX`5`uQ`LU5uQ$yq{)<&@r1)fnnfF^7Dh z5(bAVadmyrIk+s6G)fQ=njbRbf0cP+CRP<7fP6D{eWMsrBW`naEG7223IfY%Av+ zRlNHlhP5D%2Vd9F4*G-ri@ap&JT*U2uf?#E=Bb_>i_?_em1qs&$!!gzc@%ikDuskY z4`)TUWpfsarq>fMj7usoN)(VqTF~0)G_}-fK)v9(=Fr1|0^ra>S!{e7*Yucvyn3;l z@)tUGif(;{WB&`O^)yiMqy==nC}y3L0-~Nsd$Rd&cT(V z!7h3@6rhsA=+-;;*KtzCe+vkd@L5K9rgdtmMC+~zogB|rM%oq|~&KrXUK(C0E=^8&Y zo9A)wBcdsM|2nsOAV+=4$!oviatGDQrqg4RdE>ztP`xFs(Ru%Fi88EFkQL5{n~nd0rU z{=kxt1C*G(8aF)U7(){)Zk&>^Ee2i=1^V4bGDWbe>ObFa{>v2IXjE>=IxqdVu4Vf4a>BWKW4~#O@(;v_8de9=qk-bT zIPcJv(eDSJavBEuoxhJy%29)N8`@lc+)$B(M|-6#^(gT=^8(GOf@8zfS6zen(Zy01 zfm0TocnX4EsSF9GYo8pZF}TqF+M}Uzr{-{_N&kJ|wADY^vc;XRvrSmC*Cd0Gi&n=& zHm)A%=ApwOn~LvOpRVuU519>OIoFy}t8jc(O?hE~%dhp>mk7srh35S(r)>Yp0+DzY zBS4nONd=!XfNoSWKpX-pH8~EExP$28h0QDp!F-`Nf+9fmSE`Z}dC%RDVo)Psujpds8`+C3SaMjEA11lY6jbvQ4?LNL-|1_ZG4chwQkT1q{i)OjS!Iq{%%y%FL6sy1Rk1h}bV^HmPF~7mzQX2r}*6Q0-yhrun@5rKGQO zdCf}zq8;|k8`TVu`lFBwQM%n+K`LCKb!vfx0IzjKl${@u{~&dpMohy|?`tleDvX3S zWzV4Q+>J-1tu~9Qz0zrEJdk_;Tfi%2gk%{AFvnSn@vczU)qA6yGIWw(cQrOI9SSc6 zTSaOgd02k56)mZ+;2CI$-t`fme!wr{!ajcXoKw3)erS_|M8vB&R|sHvC9{?+F9Dw| z@*xK(Nr70Ktb3W7)xtpV{ZAdSyKCkVkmTuB%e$$4 zi@qxWIh2<}OA%a;W#ZAv2)7RLqN%_)13DfvOE{4biD^FzoK)V7EfKrJE~A?--96av za#a7sK65K*#?u~00jMk2J-gX_gPgv-Ak(K}wrpDP6kb0VQU|NEAA zGZx=x$BthA`S7;!tu9}*S3_x|XyvS50ATcP|%SDsA_>z z>NP&f%0*W}f%2|5yxGX4IY{%)>IxGOW>apxm@O1> z?EIOj8nT%~Bky>ADC$T~Qxq6a#=7f|wex`_bh>9`ANMMgqJz^du!HP14L=yta2cv zy147)_DXTQ-5vh!yTB5Vaqs7TeNS$x;Cd9(G0o{tI3D7tiy3A)^-x=KqAS#BaDz=8 zNm}LL2ECu$cQ=%Wy#6CCBV-vuJHJG668qqD`HA1u301j&aRsL14pyAphHIX@XKg~Y z9}k&tCd?HR6pUiVV%ShGRKD~`Uq&Zd5FXg+0;9LjoGwTc6p3uuKlm}hrKJ@CU{*-y zptfn?7yEwoe*yFvm@*k4U?ov$f=rUBb4iI-lU~dZ7**Z88pjik6&HvO<)7{U>E3;Y zP1;#qE|S}cv*-1jruqXF8jW-Ox*)b zg?+tlEp;lh4qNA$B4Adq)Equ_&z8&5*_M)k5DvWs=AEDj^S|!lT3ax6)I}@%M9XPD zB{EmiaXRCT;);8p!#^}mC|_va5^eKKX(RxdlDkv zl87#WqGBPYx9Lx?^DNb6-UwGIHgTp-%YCU2pSqOyc~@w~9+UbS*zH_jUOr-LL0-A7 z1_nv0V1T65Utj-i`Hxrns~cTUExL0uxm<~#(|^^@Pr7DiVJvrv7ka&KF;sinD&e4- zL;ouk>F3ZZ*bqpYG$YlBY}lt1ZQaVhS`4iCfUaLFdp@`jhf z*LrTF$82N*+?z>9+5+rt#3g9=Z6E%F)ybek_usH>@E>-l??>LmIQm~EaZ z#hJQ2P7v-s1^cO(f(hYqXvC_%fKkWdTNKvN2>a9xYwxxP`Tk@1yY4tm;ho27F*cUt z{NT{PiqdVEDkwl+Im-Q=28a!8Mkm&ec5&I@a6>t)GfUt4cLBSqC1tA(NS;^Z#f9i` z5(2ORumKLS>HuT`%@=M^XV%s%nMR#J3$hjJ>t~0u5E!8n%_UIkWUVO8d6wRlm381LGEnS*Dr8qXqv)S{tQZWf(^itdVZIVk)Wr=@JWv1xS*YY=H+-`-h+9Wn( zr)>^{Uh3h!MMxdqtX~;IfIUYuB z58KfhZSqu;uU0l=VD;NL z#R(AyLp2bP{6?Uv;NLuVB&$>y>0HVtl`h{GWb)*L_QIeO@1$<&)NDyEuaYkskLR*( z#(LJk1@GcrZ6OPO1{gC%`+gz9hez@zZ@Uf@Ii)PKJy_uxPB)s81oh=9G_!tLHL|y4 zZZh;wJqN#EDU?)v2%t7oVUvYlhr)hjOAsUn1nWwp9>l-@de|Rxg7&-3EQn?wawNBr zj3y%cm7axvFXATnSuum0B9v8|*>j^KvUfykGuEar%}<8#`<4O{t5)w$)2$Y7&afsQ zi(+k8q*pYt6#=Lo4dXcU8uIj3^*e7eC$UdFzkqD2IpQ=DyTCZsx^K5a*;=cZjUd!G}$kdrJMVe}i8{b9>jXDeaHFg*}&Lv@*=W zdFBWDTCHb%v-@MUr09by$GfqRx{p&Z4*I_>|M_K)EVL6dV7bBNks-)-zIC|Wv6*=} z_JwYwQHsth*e7!Z;K;6Zn=2pIl84kfk@U&qSn6BWeq(gY*`8A8@zK|9iZCWeQ?nW1 z_FW-wl`~T1`cmJ`ra#2n^!kt`;;?A0R>^jU;)8v+>Q^VT{iJHqClda+9li&}UDJI< zoA14g{2dSa3IB#6Wy@}o*-|RQ?k!RU&R2AP0*l~b!H>4;mmO(&1w&r&cc_=??`Qin7r zcet^E?6be489l+j6m8a?Rg2W8SNpv{1N(7lA1Kw-SpReQYL<2Wi~WEmKeZzC@;tQt ztRd9cOzlNET;jxUc%T_gU27v@C-D_+bArT2(nAJPJCak}SF-G6xIU-U|b8B>N; znIH)zvf39{$+3=1EUNhR-$4Mq(zJPVQ#U?p2tql3(O}*+C+Q3_lQts+6c_ws1ldU3 z{8UVIi_gEvI)N##==C{Z!7Mn|%f-T%g$Z(>tTj`vc92U!mzL_B=wUoeA?cv%u|GkvNqrE-}kLo9P&6c9=F__#C9Y% zd~!afz6ttC+A3+!^{{%nG3AXeteegxSY`mKriK@qmK+e8{Am~e;OdC8;K3miVNj$p z=_%OVixEeT4^&Gb@E}DSre~*vXxuy{KOgAqdj;4kMY=Lte!lX_XFw!`TAkLDF~x`q zt9}TGj`#UBBqg33BG>^Lv^2ck<>x*DbBP)-=(B}l<2C%U*KR=uDUyyf9V~ohnJ7P2 zme;DvpY#uXJPuH7_R!B-9Fultz%S8H9a0ez!=L^$K{r=#XoO=uy?VMNhU-pz+O{t< zR*7Jd2>;ZoIItQaSch;9sJXU6n;(6oK!XNXqVuI|!Se%*zvY-*$pJebI!P)cBKZ&p za2pkkXGAXC*sJL9T$NVm_+=3B#^7u=xW_*s1K@!pSJ z)Jmdxiy1{tk>mE)7n|ZukJv_=w4qVWa|1bmZV8MPp@+cOl_43e6!D6r*+f+!0;-*# z*<}%bGA>?g%K`~`ApfP8G9)_nSo{%n;T#!dZpVfHI~8W}34Fp}1mLN)h*@UA2#d>d z#gFitS{p@4gy4^I?txWnN%>K`-XKKISC5y#DM{Gi%$AZI)1eGayu)eIOgm9o{^-<7 zHXK?Ej*07^rVMYfKdic-6Y~QTB;EfSTotDj5f!Fv(wr!2_xoJ~OF(%jm-TBKS36th zTO6`(AviG*JJM7Gb~h}o-#G4!^!~VaGnMrumx*+*bkVi$hsxUI0q0yZ zF|5ay(mlu>T+Tr%YY643j7^{a6>or|ejE4?Cs{jwDfRQWQmX&V{;x+;AH&FC78aKZ z2iJHp?tsJ^mQbK8Z?+q7T>3PUU$Fm4@5D0~@u)#;Lx@)LRQlJ3kRg$xN~Y4;fy+CH z((HF+aGwBCA4}^%Hmn*QuOp7Q)%Y<5A$*D&z%6xmS79m|;`Eru`kTL)EI|2k_kXY} zT1GV}6&z=4FdjgNzD%Vg?X^TK;Em-X13)<+4t){R>2zkAGThbdNYs78>sJsbm&%*A(vTs^nEWQ~opMJ!9q3^c-Uqay$|lN* ziCa{He&A^yWmHU3hj_aB{S>(aJ1{{myCXapN=^zqQgaQgP6r-x0zlStE?FvT>9LZ2 z66+uH4itB-B9s_ugje51?MIZ|1lMGRCmGXEWdMusPVG^OUwh49zg~&njY*&DAP2GF zy^0A1cnrJ(P-z~IM=ZN|{ED&|7YWjj$i{=~umTMddySVZr3F?5W2eHL_+@A(^}<<7 zE&{Z+N`j})(I-SU+7n(N4Hi63uM-3E$>@Z2tqQvXymY9clHy%8p*+-n24w~AZ>Zz< zvt$O0acfoB6Kj{`t1$6RvMe!vDf`|N_s!>@{WnLeSGUuPYOHV3+ynV4;h$H-8}CyJ zRT7TJ<0f?Z$x=MKmkIIjdlRRPf~sG|y5iuPUK7dd`B+Dl}UVB0Wu=ZBVk z(DUzl$}C|VV=9XFf+`8)y`c*Qh-Z%;-2R881-MxXJfAZ4v$1!8Zi^U+4(2oV+^=*8 z1j!dVarBWTvH>l!0lOd$0Vacf{J=(G)5p4Ut&SFK>J~^H(Ax{M^=t zgb8kX^$wnI`xAcHZr6Q&%4lcF>-0QyQh& z4eufEX3!DBaRMbB9Sa4?DZ(>4wadf;9zv(MVKY~|ToC%D-ic8u-)5DVG@#`t>`~@fGSdDf5W$2OBo&Moo&-212qgihAbWE^0Bge+V?ZBh zw-t2V;?knHA6Qn84OrGS*i~|Pg3DgauIQKbTKd-f#9($klK(FGufAeEpfhZAdcrH> zl~S<|0s#oItOIfy>@^v(#~nP>k^6Tp?qy<&W3@=tL8VPf)Ru>??_bP0T4{SCecuei zVJM#V=IsMKrdL{l*PddlqW4=@dPgqCfPrYLSL9t_ie9+>e9|=Eu1q>WahKfr$Di`I+FlxV00pY}uvBqiDj5-N`C<~uNMluf4P3-+^=U1C|JQPD z=1@F>apHJCKMQtw<@xN=fmgbYmq;dv-+Fc~MD^ez((H6YZ8P>Qla7%v#lPOg8lL>9 zY&<$jbCrR&4Bp@Nk@1{$2kvTAC??H|@lb5G?n@1i!BAb66yZM~rJF^NAV%TAyj&kDh3?#&o{nRhmh0 zcw4{?{SBOyiCgaC&Dc+aofp$Ftv(%MAux5g&&U9zko%`rI)~$gzV5&<@6_r;nKk_n zJOYaF-15C;Q4l%(cT$)In0`z=r=`Fyc}1w3nIOldZOb_%WM3frsR{k>c<#sx6aL0? zLzE;yiq~h9Qqa2NIS{8;I>}S;x-Lr<_rK2{2W%S_U2r~Ntw2Mt1QLX}Wdm~3u5Tc` zYHs)l*UZ~ojZ_+5DUmqw!P4;4 zuvJT1_n+ssfuB1AC_Y?Re&jz)j#*Dga(V7fNfU#K%0%!E1uC#`TkWNgTMkmEUHF4` z?|G*a6WKs%fo)NDfIQ#AVmI?Zw_){mPArgaJ{$-0ad-QH^BB&6vbglbuY;1AcQZ>6 zCpB(JndPka;lc8Cm>?dOnRo|A4oqLhwdL>;mObyvWw89sAB>=;CAAln&U(O7h0fP1 z2$mCL$u=;Suf{7bPE!=5 z?8pfGc~yRChm{kgg;cqa1S8B@8>%JcE_4%=Y+YphCz7MnsxbLNkd}D0B3_~)H8jHZ z)IoK8_Qjyt5H;bm+lT$omPm&kxnP8P7!B7&9l`KPA9{^E6go)zfQIsffVVG*XEdoymS^$IN2! z+kASQ+ryMAdmti+$FsRw>W_;nAQ76y+hhnE{Q<^o;^2O38q3#x*9Ez|SF~B_QWyE9 zf0y$0bgN-0(6q!l$q4*a4jSQa{o`H@VJ@t6YS&_?szZodemD0AzEv7vydH^4!D{BL zTzvW4GB=j~(tp3Kc| zuQV`lLk~D8>?q^4VeBQ<4icLxHWZyMEVY(We}SUl>3V^xn^Wdyu%I0k03+2OM>bkM zD1xxw3UN#N$SmMxRx*{#VItt9U>b~gPG$M6f+sOAM{JABOM|(7Es5mgkwW0^;-~K| zSrAFFC%0|`L&=K^WzaJjG?aX2`;Q$7ImQxc+0Pj8@$?Z1tWhZ?ryNX4l`7HPscYK~3e{t}di^V^NSUDyY)G`l28r>BDVqS>3E0tSM z|9&5DaNgBQehK7Jv=AK)t&RZXom~IZl0#w7UBAN2Cm%*W`}4==@DR?L{k2-K=_=Dt zwBikNnMn6`y=I}3lMN`=#!itZl$ak^1^o+T*D%DJZo3yrsZ`?eY#uB-&A@urBJ+|l z@3nj;H{a07dNjsuusKZBO|QCtS~j<-muCE??r{hmq(;&e!Gil=B65Z93g+u%=AM7y z?Y0}d{&P^*4y^M*0htMLaJBpvRS^u#`%j{+`LY^!2N@Uq(PjD`63?j#<5wG3jXN>A z|4MWRC}_cS6rmNN5kIXxyjC(CoN8#wJ@lO>WHb9?ikpQ5v=}Lt4uRJ58c(*anL`RN zy)?Q-aW~8FA}ghf1;Za>5T|5RW}#skq2XcLQqIAV3N#@+e*FtGF<}q;IR;nOPHV~S z{MY}mA_SQP50{;}%jz`5BmsI?QeLTZY9%1x`e+ zn+#YC=iUq$xecFBfDDi{oEyz{C6E7;yX7YFxPf;yd8=8_lmT~@QB{}Vbj&$u6wPynqCN9^KzX3P9E>;I} zqGv=5{hX!UR8di#yUBta_h;E^o0HBlegS9hIZ_g1myfzE`HlIyZ!hVz=nW-pezN-$ z6JRPy?l&lWzo}wGQ48@=1^AUkihsdw3yHcm=w+m?k)LSYC{r#8Lo^?}h3LhtdvTKQtm?4N<5v!fsn_1c#!M713CE?4)RrmTqz zdtE$-NAZz^m>T%#b^0U?o@HLS^lPsT+EWTn+~S*2J$-jGIPe%e?%J z9Bjd`h^g>nq7nSvseHgV`GAU0bfJU%UvL9JL_bM^uLm9n0qX;oQ4>&pl_98(f4Wdo zf@;@A;@5G3pYc(iN(~@ahDQAXJ>L*}EBl!a|6O)VM3)tUdiOeNht&F-`u!|2;KXNH zpuH9X$7;-r%fGz-fQ}mNrN$eZ;UGDw!osfk7r55s>eRxMa7~W1r4a$G%8Oaw$shgI zOqDL|L!i-^{F-G*|CmQF)#J4`a7>_&^Lxr0k+dH0Mhi8F(l79!%>Tc(CE zBZfK-j473DcuLv4Qzsfv02_?Mr`WiLJx87Lsr9 ziA4iYi`cU0m}y~OSdF{@?g789h}BAhD4g`OayrPuSGe;>{fg*U9L835Iv_JCJNhi2*psz)^sTvf?Kf!Rz4@gV!^iEIhQxx4Tq zW_opLXDSYE9{R51_Yz?ml-TxL>i4aw0X~7A6RS+Lun#_=cF%7RA055Y4%)jSd$ zpOO6asL2`ca}>W0Z5ez_gxRLV_G7EXW9x0;vw=i_HNeTKa+$7+cX|5(6|RXf4>B%e zIo4gJXc>|1_Vr5QnE!D@6$8e!` zTPE%Ly;7yJ5SYle*6~)sb zDyt7~kul*ke#!4gnS+6h@ti6GAJNqPk{%0Z&3jU1^P9u`3++SlP#0n73t<)x!`9$` zH&p~ukU&r7Aqyl^@#R0;oWt(nnaSwK@eT!_Kcm`Xs}E0IH^|rDZx9J&iuN@9jb@c8 zPL)!Ec(Y6n7Fks^& z4gcOT8x35czE5ho_@=Wql~=$P<>uyG7X<@49d0<3S@3ZJ6U2FgI_yU6tu-mn6YhOA zJ@+QA(ea74AGeS|(QJCuyU?_A_#l)=X#S6>cR{+7ahB70+f!i&^3IF<#=UIqy6{JP zB@cmb1yWusR%5C%nso?qQyN^(6I)!O*V=#^V2^eDc1(LopDwnJQ=bQBvhZUm+#bAC z>{c0i!;`Z{6Sg7rGr}$ntH!hX&SuEaJ+-vJfY?`yHe4|ABFJZIlnoTc_{Cg#t>l8QJCLT^9FfQC$Vzv4DI)Yu|Ad!rk^b=Xn7T<{gz`K zvbZ9O-7NOu`jnL$DVz$IGbWG%7i8%%Kv+9lzD|WC&406#cPkf+wgf)ri8mbvM(ho! znkU1+VGw9Bj`=BKDcRkjS2s$lzR(gbiN^g{ir@7~YWEz=%OR6?*e#*aQrAsrFIi5| zCGC>Yy1+dv0dP(ojyzz@PwX_td?3e6SUeLb*yj#*L#{088y@AwvgEmOqAbR0*4BWos#W)K<%hu67{ zXkX^vE?&43BJUjg($b|lyYC}U^{e=WTd(7k<;z4|HpSVjQdvzj2Jcb(u7M zuxcV(!4Jbnnl!W`tch^Vd&!+$EJiATAMdJ#0P%KDL#u!RY%Io_24RU078lc3Ine## zi59X{@9n}$8{e;+3+o$T^`e|mB1h}?UE7Ejqyj!-Ytfc^vg<8hywv+6yCyScyeLE*GV@Ko+s9o$HTluv2VlP5aqXGc|Vpl-sdQ_4_dM}zqc-~->G z3!`3`APZ2tz{NNLcW^x0UF7Q_2u8fjiW8sC^^a$4Q`@^$WaRQH1k(as_g;{WFn(-s zE3h|TXtF3w3GO(;FY-;_|DsD<%5;}7v>p}z>mG1Lhn5PH7W=2Giy~(s1do{MKT zGF)6$zbS_Lf-vG8K6$sN$PuKm zZ&1n)CTPsX<-OeYo$oh5Kw1*(J2P5af@IDIO)f`wmubgOtILla18;8pG4(o{{Th89 zkdZCa8wY5RBe(Hm<;^`EC$Zas8>gEWV$vkV=`vUdwc)Q9E8E zQ8(!JMHTuyfE{hK5oe&9AK&G6H+7xAdo2M<{2kdmIG7e`b!P5;UY%;tL}R>O+vi6~ zXnwQB+$!O2TOZ;9>e(3acNUj2c>i;x!Xeu@yKh&=#XIDz1P zKiXg97*~$;px@FXgQXq2ca87ek{*&`Yn?f2wd*}E@npiNiaHpD&fa27So$E()&_L+ z&$7H{0{vE|-Tlt*v7GEO6EAI-)Xzaz{-KPKX5|j9C8xJ|Upk*Y|+?>@4sn7?SLA?&p zL|#rvrSLP}G(&=wGL*)wzm zz)Q`>NfN+-S)?gF?kEqB0!JV~xA{Y*PX+VQXzG{2Mc=Y~)gakJdJ_cs;&#`%~JXZvJ&EfQhE zB9H%ZD>C)MF*?ua)W|WSSq#9m*8oo|4}($egSPMJD6Y}eeoRVt@}+FSu?xjjXFlpD zzSrN;Eq3>qg==Ex>4u`cv5A0?2m7dQV+=nebl1~{>$(NDlhRs{C0cuH82FwUhN;BU zAqY5R)86*6nLT&m*UFoio!AT~A&)e+_s%2vT$5{0UIYjz&+AB{T$@ij_gjGrk&-45 z9W6+=G)u!BOr8UrmI2u!@!|GHI|K57gBzO9gU~ePb#_xRV}>rh-K&s{*iFIi@NGWY zQE+w;qGH&+9)giFZS^_>^?_KpBgk_`I^|jLhSHD&d^kaY0fvZ=lmzQ76GoORm=M6} z_1JPYlvkJ2oEAhD%enO6lVG|&_Rj*j1F3TDh?smLlW&})Hgjc|0We9Exdvd$3NZGo zgd`!`35pLI_fU!Ad^~5T(guD9pMdk>ic?v(_Lsz2XOyb3H*@O9`E30+L$i$2IYWLK zh2I@qRVL&imND_5!GDM0IawPI_mjpjS zJkaJ}0ihK|fK>}#?7Rkd<3<-TnPjsI(&RGGsaYut;76e>fJ!$k2KnP4lcz+KXbYf+ zXKl{w21pm**+73~IY(d-2pg~$g;A5{TPak27%;aZPC>8^Ji$lDbphZo+7HF55!~Sh z-GfTl34ueDWVD&79MjidkW{>6__7@8j?esG|(0l7a^$7T`idAuOs7^kfaka= z08A|@8SG1%$x0FR2@BVAsVY33EFKJkV}K7IcnXm!M?+6R>SohHiEFJo_ zA&t3u368XMnrzYIdiSq23)3?3QSwE1=0B&`08%OvK>X6N?e$Qj*G$s+eFcxSfExB- z)8A13`1|bum=b%R%~hf{roviYEp-iT=`_)j#gM4PT;uaP;2U;HmKd4)Kiz$KJk;G6 z{}388BU9NEGg%VGmWmQHLy{%?Has$ttdT@1+bmMq(n6bE_9fZsNthBXk0nAXOGv3G zl(PQLXR7aCzrTNf{GQkAd0yso?>+aNbI(2Z+_3ul*Ma2ebgov(doya}JyeyjpktQ>mz`-LAaH zLr=m|i`;ZFR%32pqNg8p8zwOnvepUYN%Fa`45I##yslx2*mW{l=~7Klx;W19#FS%^ zNG-dW)`T@2=6gBayF6!qbEk=6+~~g7o1a}iB%FC)iP#WI#~l8TrRj!V%)Zx;jhXgC zJ<)uH)%*4C=)~u%TYZNzDLyL)yO1%Im&VCL&gM*!pP-N7wFh&{w5D{mbcntoAUnrr zGO~HcsV04Ls!Z6rMR}B3UDoiM2V_(pnl-<7f4t-l(}=H>e5p}>P80Kt(l&Q;|8gBy z)e4Z*seC9P>j*%QKI<$+u!5Oxng^AI*BC{Wgi|bOhkcekY48AwnoJ-S&G)A3?%tKb zbI;0tvR0O#U)?(K`PCW&ky{0%TtweN@)A1-#je#b*j{e8WWSEa-XzB}J0 ze-ncA&MMcNI-M)M`?`c8MHU>&zptXVH`%Z$KGE$y}R0dp1J<%+8+QqU9=yJpJdN zeXluP`TKvB4!yc_*yC5YmXlXY!(2mrd6&Cf6m1_~702AUc<92lFFwO5uL)!U#{1jq zOy#GGw<^oO_GDx}nQ54tjCTCFHI#nt@H$rLxM>AL zeBqvU!bQSSrSGEj?yU7_1tpUctfr;}I_%01f@JyF6`#45TyT zx&&OrA14;~L>?ho1C_Yv8(I~}YpC?|bKBb&#{L<2z2K0+XL-}6WzazSl!VAZoMM94 zk{;C=b5=xu*zQs>I4s}K7T9Wo@t3JJ@>2TWR}qDXR`H*$d-A&Q>2p&nU@@al68jtm zXANmh;T%F`Vl4h7Cbp-a>Qd^S)xTvvfu*|R`E;(ebBf^HKJSz){b@IuBsS6X%HqW5 zt-h}p%2uvCYML(h+s<0&e^m=3lE08WddSgSc&PsT)rHapRCPTvw}p3W?{FH$d%A&wQ$WwSOwaQ84Zvb91hO>+~4EL&J*W z{XxSpj(4+y^e0}C_5Lm$oinY1BjbZz`Q2By=D!?D60%;k`f*Kday{ZIbp>NDyynQm zT=eY!@bBvRsO~hp)L7e$UixO zQbKOYK;fv~O8iCx<>@K$gMUWup;cctwT8W~nn7Ph?_s8}lAeS`S#Wbms;txa4V=?e z68wYA_qx(sM?dj>xmkK=^`U(eDgviORX%+>5ropzTX7BjHQN_C823jNZOp7t7pHR$ z6;^LI=lfbn38i1UqxX|a9fmuCMIMD^P29$f0~vQMZu(4ph4jQTWAKK6UgJXN%xUAR z>5{4|RTebP$ZI&GGI4jQC}?^*_l+}eoRj=~nLd+)TmWkBqw(kKAOzky|wiZW^{ z>|i|4=YJT?H8XkoP~J!|mhxJjCuj4@V$)=h(+TfWGQ2si*DEJS*5;1QtaO%_?NsNx zlA;}OFXrpZ!PkPU7kc`0&*2tS7VZ!inS!&FxxtrNm&cZ`3tdA*0{n2eP^@?rI}gzB zPg1PEY&PoG92}ZhW?BZhFJ=j;-wJg~(9UbZqUb+nFEc(?T5sqwmIY|<7rGWDj^FCW zWJ8wit%x@hbDe+|P(h&Jkzg%zM+Po5+`mr~Dsv5g_i*jR^E0b%{2VY(Oiwaec{|eb@%peU|~L_i3HS z@zk^@FWOuhZtK(x9$1q-=w0DzC*=*VAv9ktxfgfpuD2$|<>&C(IlGpBNw3wGpEJTE zZ6F-^;5hf9bHiA#=+uh+@f&(M`wwVy&Q4h*W^}yToA&+T#{l$^p9}vMA}JC8dzTEg zF*xP*k@51wY^;bg?0t$dZ)1Kc_=ANCgpVQ~W$mJJg$+Z+zZavc-Eo_;(c&huK z?aEokSE!u$Hj4(;f3$tBbnHd%aAHV~ACH17wWacWGbzu+>+rAwO8^#~Vt6vhQrf{V z_EK?W(YL0kl=1Ip#!kAWPyIRzIa!&9B`!Hs?EAjmC!`g<&GU0!(R4OU;E!?&OZqK| zU4hKXNSQ357fv5PH*9@-O6-cN-)GBfshUsc23~7qdgR_r2!E@9yC%JrSS0S&a$rqn z!}yKe(5ve=!Bdp4%r#Tjb#EyfN4W|qfBIf0buvA0B646gn&rxi=TrCRKflaA3YnD( zIrntxc0V#W=O!VY*SXGA$r-NRKMl5PCVZ7^*^|4Ib)eATt}U&8bG?-WbXF5z#U$Tv z*WI3a{>KZ97yzviyP-9Cn7$FaCcT?Nz~xWOIQmwz)|rQHuXS2-Th9LWef5>py!r6! zYy2({%DQg+z>fW3woY)UkT|)Vk3e5r>GP$Yk3lgwUn{moK#hKan;@e;njUh#rAXi>T@w|;NZk%6L@RZrJF2AJdY8~XIoj#ryg^D;_Z zr{Gm6ZMO+krdPj*zJL*j5EY1uxF0!E$)-xVQ6|U=Z@!swfo3lB)W24f#D*K}{dx)!V&u#YWQg2ardG~0}Jy=8lwM4?$ z-eL;}Ykn5hZXN&(V$7v8O+SBNu2tTztq480oPHZ#kJFRLUR2s_@pbk256KGWD$7ZU zRt5i#c8hzgE9A>;&wVL;Y?Q^WXWSaqXVfFW^(`32*;>Y)6^64v z)^D2&$9DBqZK=yRvCe>Z?=Wy{@vGFq$zmpJw%J6*<=oh{7r5X@eC}Mp~1_|8|(P4wI^OcgL*NdY{z?PWqTN$fk}d`c1z* zV5TbawB0`Pfi{!eM=ogCMw!D=;f}~-beVx*K^vP0AI!l5)m@$k4EG(K|Icdk0$T2( z;t@ES?_5418M4VDOFH`q_1Ydus~kDN|DKAilBZ^!j`$UUW|B|bJcUcVQTJ~B(iut^ z5M|U@F@{xTctGMjVdi8tW6zZSh#&T_+bsk0N1nRE=Pn+~Q8dFSya7O`l!3&AIZlY0 z+ZJpq8J+^kCiQHp3*F*Jtl}#pUgx|8>8`oZ`^^4t`+9F))F+v`n^fkj_w6RnEO z+3@f#+v_5nSRB2OB^SIq$$$CIk8$mQx0C$!UzRV3V2^lz9kk3idb>z^d$({*W!3D< z!N89*$=?SaBP9hhg&>_~3Fr@rcrpbzE-fx||k5J8jJz@*d8RM9Kz=H-K8CI5&1Wo+_T&1ZGjDhhs zs*4iyQ0U^R70buktVtH9HA!5(FTP$keIlbfd3fJ7EE58dy9!VvH+pDOaORk7&v^yC0K5?t_ehW1^rxA`c{hR40Sf(py% z8V3X4eZyV4w$H^Nbg`g}kaiPXUOzP#V|XYzmY`#%c=FJ8oY*p3`-ag@FV&02|Df3v zjVg<4n$9}~QDq$g=rayiif@k?=g}G7HypIiih!!ZC0z6FDaO4Ym$hZ?%T;6^+AsSq zI^4xGkoINnic7%c=-g082&$~}t)b4$i?cr02~y&U7hre6!ZGgpATGAs8zzWw{#5vj zf#y}uyb?3Cn}pfHmnd)K(TXprywPfJ$FdJBCOH z_U3h7yfX=hYX&=nY*Rn4M;@qorH*d=Ms`|c8~gA#gttUFJS=Vr%2InIZv!61jWeXY zN2RZpC};O7ZLROu3%iR(MxBp)S@p`q_ZP13e%8?Imz}HNxfog5q@klo;hb1-`FCkU z0i2cZ3M{;=9nHL-sn#NQ$)bo@waSD&P_wB6}kn(_dyUv#xW>|USRYecqz~|WXw11 z*@qiiM;O+qJ4f(tDGP|QS()u9@1ESfcVV$ka;07Pt`jQSdq;A4{jDQ+bFUG+g%MbG zt1I5K+8YQ$cm@(n z4n9#zK{Jc*hgqdu+*T=z!Pw*tQGip_-@t3HULsT=b&+UK)1UnJz_3CeB3a7mWMFq&2Kxk_T}+VK#joZ zr78&I)$~Mef?X5#(jY8;l!hYj@5Fc+pNFhXfC~R6Vhj0z1bCxh>v?48ov;icc$Q1F z)O~xW7%%xq2gb|ocXdqx%0Bc9blH%vr)&TbNJEMK*@4M^gtRuHa|Ke`29Gty#XH~=y{!?h zauLZnx(Lxk_=w<5Il~%#ncn=v%22bzSOwjJ=m_#YFd({#5PSsW5Pr+d=`c7Ml*ebY zelr^YEDZ5Njl#Kq4TonC@Op|6(qcEX0CBw#nC%63E)%U7_@-;D5*MF^^cM_r8F?*@ zSzR9#doV|r6kkPt58`vd?2zFVX!lPkVH-xPcw|(tfpq#V)A1<}3@Ra*QG>v_8AGj; zgcEX(t4@Nt3Fp1}FF<}BAJqs+ziA~wN6u80xEqLGIT|1q#VUOd+jiMEL|0vhM-UmMTiX#~6d=2Wu;v9O zk{-gowj)$We3jBh1O!@yh&6-;eyu@-{fL@(BK-2~g~_4;hvPa4(8C8$Kz;H_Luxg7 zbtxekvrb@YnmR0{#vfDBji5*oBs{7l^dL4oh6E#_l>{xeLkmZw#RVq3j7F2`Z+wZG2FKqj1_ixRkU0~hVT8~R zPK1vFGztpo(i_j`2Z)kr-YPbEC-C@TPY$B6A8P^P%`*#g*CcfdQ{U=9x`uf|q4eWs zRL6QC^p!zyDu&VUhB^I4v2-Y^M5^R{f@GP1t9BZeH&dM}4U9*lNC0t25xOFdJ|I00 zAj~o{`5F(XARj=rN8nNi&orL;V&LvJshDf06xf|mtb`H2;tvmZJIURFm{TxnR1;(+5z0R<5hNkx!6Cl{kJm}PY( z>8U$r5je%q^T_Cj&_G7Zp=<>G2|h!NH!iLQUjeR(Y)-Rla{*-DAl$Cv z$)2E#`ykyTmP0bRU?Xk=ND&>k{AGye`{#cT+n>1?cb%U8wADn zuruJ?c!|e|rUNV6A0(=_T+#7&tg+g#ig9u^N|38t}|5c(1_Aet|YH&%# z3*c#d8JH`6y3QC0F!*WC%adRzett z4C`vJYO;}!A2uoQb=jJ-!CXkAw>MO@u*wnt&++n|iQtuEdhjsg8ogS|#@96uR|erp zYrB`{%WRp&#iq;kFiGO}aeK<{MUY*DO6@8(JPPgn#ijlS1Cp9FydPf^syF z7ngFfF1xk+Cut?35YZ7&Y34zJV8J&pmQr)vj@SG0qOwj0&pK5HPiTC9QrXoOne-z1 z`}?6-i@VFO_E}9z3NSOBiu~k$&j9|By#Ng~BF@!*X90j>UYJc9c&#^;8dg~5XpL%g z`jwnDF_j&7{$ZGGImK* z|7)2nxvZe;_mxMMrX$M)qAOf|vAgCzkFEBA85o_0Anu0UHC*#xxiA`~x}2!VkxT6z zcpnV+hQFr?=NkfVBxwB*yAoR(qxF}n(K*JjG6W!mO#ndxC;gk$1uhnnPzg@`aR08m zU)LhMBU2qOiH_V*-ydGz|2SN)Uzfz+$If$b;T#^pBt$A5M#qVibZ zU}RXR@=QO+>*mRcD3zs!B7)U=`woKq2wi7QHNK#rge^N5W%hY6kDNyq<@3$PNU?C9 zB1LTSp@p(nl2MEAcYkxKolN{x-fz8-F*xd?F=_xGLL~s^{ciUB0X@;<9uV4!uuXW$L&H*c|Bjj#v(aXs?@$uuU$g7FU=jUd^|7MlIj^WJk$dGuC^mh#)|8jOXMz zEv>bw#yh3a`r?xomsgL-uKcjHr(`PIC!4u`LD%_aCVi;=T*%v zVKZ$1VrQLP^&7H>&6tKyATG|i9 zH7wt0I3E}_v-L4_;qJ+_KY9V33l((QrI$G9&-|N}JP@(rDYQ;k>Q>W`S(RSaRj=uH5RVuNQX&}eOo?ebCHVYZk62_Px zzw9v)30AHa=2@@Uvfj%$9$S%PDj6$tklyBmmg_|_fO(l+ElJfAY z;cXgrZYS8tA=2XPE5FJUgH(Hb!C7S}4KyAeIG^*?aQ~`;ch6edAB`v7Ox#*tGCMtm zDBPM~6a8^a14iQM(>c;&_c8U^BC#R{*}{&3qlOz`UQ#o~A`01D!^bm|OJcKVXuB)H zq&H#z*?+t6IxueOUmPWKojsKK?}f7NP1UrYF%i9%#Y5j6e>FJ#E~4NJVY;ZYX$60} zlzhV-{1AIASf3(dolKcnU!s-s^=d1aAvS9o&zvLvEXZjjcz(#SBJuflhLG&|W3H(- z`-qvxzCwjc1!FK&)ygcdP5Q?7#De~Zt|EES@ifzr1*(V0YieN zF{5$1;=~D^ZfYh&ncGV?m<5NC6C_e>Kn>66LKUUeaz(#F6@5ftJ$(rMDqqk0pEe3k ziX>8jl?vzItgu15=ma4|GXDtfC#0K>7fRA>(8Exao6e4n3{YGrxBHHHM9Ix01Mz2; zQ7WOIBg{VE`=U0^qsr|paqqBFH`QH6yshP_<%8Qh(W&Z>&Nm4H?=?>iF8gg7tSip$S#m^_hBLqE?hVH|9Url5TiIMxO1M&lm) zCbJ*I_b7G7B)*y;C5Pf6BBG~{Yk+a5+Ih87#%m!?3Q!~?Qp+T8{ykVNHt4J-GE-Z+fE(oL1nhGEBRNw9s1xMrMv&;Zg0i-MRG@gdhk zPH#IX>KekW%g3!N19eBe+LWCR;mfSCL^Fgi&RZhUki=Sc$;9+%qRo7Xo_i2ZcoM1A z`1vBLXo(+EH>(%1NDbUe>W9nc>?K;>dNM8wm^sB3S`Sx*Pj*T-mP`X~Ftl`jT!-m{(vL>Hw zFwPy%aR7s3*}XD3ntPn+LEzmuXzHdP<}v=VH?mHG zX|{ir+nuhpjhCOw5}kDyr!o?z&s$~gIwX4f{kO-D-Mid&F8fRG{&`o&MUVHbZp3Jz z&X51vWwiu`O&xdf_Pwbx6*-VRS@->I^PNMft72-jUHM&>tlacv4HlNy`w~NjF5h`} zboy)WyEjk9HwySuiL5U-bfr`*4bq#%Z*?S%yEYULd39609i923=1bM3m=!{7yw~j? z*M(A(Kn0^Ssuz{(KAtHMqmI~7(vqm?87pj7*0@8ueb824qPC$Z>(>^RhI%!AB0~R= z8~=`_j+fMe1ZDJjTQuF;muPo-jZiV>2n?*R9i_mS$Wrd6I(1h|X530$r!P0Gu2;G)M*1bY@(5quqQCAiX zovNGx1B854EMUXnA7%LxADMpB(>eL`$;Tc0qUX1;I^?U9n<6KR8OLp~l0|pK4dxOk z-icJSg-bEJS-iE2R@W8w^U31OKcfEcz14d-Z)@L*?s)TUe|2(6A;TR{jl7a^{_>N~ zm)3O)q2rXuw)FVRvMXU=0&Uq(T%KIWzjZ)<>g1>TqhBlng9xKxDqHj$o@qKouIJN0 z6V(sx)}4O&kzj{?^7PwO=@kmidihrK$l$LOnu&uQMFUL-UlMHX&@|qlACb#+IZHE9 zs|8Ppqe@6uCqJ;|znCfZ;xJ-?(KM660*23kX*YE~RK=RViNL33gZ+rL*YNQrMr2|b z6turFN#4H5z2S(0FR^gI6d@lIP{7VL7X7SHoqVYPgyEfmHrJHXT1t&bxd+GhZ%nvo za5{M20@Fy~d!HrtLeySE#h3VxQt{CF_S0eW7J~4-$O`LoUO8 z=V2;4OFe%XNiXz>=a;Lfs`s5k$RrxmB-r zU3Ib$_e(^USmpb%uG`ZW1C4IzPN=3`r?pBUy3P#jraleC!F1)EJlymSS_E})<&idy zq3Ng=5rnL;t52vn>#yA`Y@oYz3k8adxFxpc(*{%#!Q!oHH-{3jD)T;yiEj;1y;S`* zVd{L{k))Z{v&tsV4pKygGFpPw7~9R^D`d=ugj}i)ntDAb>-bOY>zLdiFdiNzKJ6?m zZH;}hjLMl7OECI>YTu5LcglR=k~(IM-39%f#j0l{*{*~sf%kF!{A$Imy5bAM6j*?Q zFMYv|q7^bZI^#=!W=8=t@y!vdA&bf%^QG@{)BRU^vv5?vP7V(!SKpU@%#I>pMDlO@ zC}(L=?5_I&`MkEghx2;C@y(u4-DG7bHzk#%Dx+0>^W{)tHa(nt*^DbBF}wJQkCIYM zTpx|3`b_Nnmi96|!-IGy78R{J$@%4^`{Rp8pY+*{wGUiKH^$#QRd&Kr$t2fH5C&0* zd_}vC*^zG8JM(WopdmnC6P?MLd zzqC5ag$_QL@8{SdHGKw6!)<^`7{b2Rs{0%N*~o6zF`t}rNNn;D;q_5D({q=ZaXpdq z>D-@B6* zcSK7cQP_w?QW|KUi4HH4-v1WTwvAd{UcV`1?uYHkbi2WFecbvpH@A(RR`IC=JwqVU zk*nwnyfV9tNP1xt-Zy?OM-_6v7u-X>KYVbx+Yb9o`RBW>g9&4Dmb!Kzjkm>RL~8NU zmz?^*mCJQMZtZyfed>z+*HPh&c*i!iT_#ASw=~lIkN@2sd4Hh)0rb^qTpOF(-tukg z^p?=UP{%hxExT$fa_xzU5 z#tv71`EbL!+hI|k`{ojR5&oWMNr!LvBmI1)L?rmg(jLzAc^!MaQ{z0%$p+D1rh1Pr zk<9N`jVCzn+Q@@Kf!zPE{{v#85bySX`44qq4YHd=p`3qK%7Lr%su@pTEu$hcVDAdi z3o6{t#&vG+`==mfdn!lT93M@Sm zmS9;yG<@!irC4vo{#7_C!RO+;d2da=RB3)FnuAam*0>jWh<8j#LgG;1YYS}dz$sSg zK@110+az~^J`CZvFA=!Kc#6c+*0BldVv^p;BSdI;mVEd94my!?OKA|6}$B} z%WgRc6U+_2OIh^mT$XXCVY2~|As%6wSDYKG!}2fjn`M6;u0TZYQs21!k3h+(T$Xu{ zAsYl7wKWD|s$xh95`Z!5E}lt$K^jn5B6=KkbvLxQ>0=?5Mf#G zx%{6+qGcS_+f)~2P=bh?Yk-_Xz#rdFsyaj&*>Nd8`Q1U$emIIq(#61lMXq^x6d6d) zB6oc?H->G90P(pgQoS|g4+Got5sIGrTn2`Nkx^`Hj2(tZ2}fn(xec3;{+S&F&pPBM z4^kpQK%7gA8IXiM)h}CQO7#UJBw-^U&Gi<~wSgq)@eFr)q&^Ii_9cQ1T;(oldDaDD z9(d|X0peG>cOv4zPg(9yZ7ps?6Ih_Y%vAm~%!Pv(FteAx8_sc8!JQisJ!zt|AS#7% z-WQMXiSN(B@Is_Aifkf)IScN5HwlMR9fb-P0^-H;F}w-=AJNf@ zU+#{_7&bp#YChiRgLfAtsAdC)aFYRhf(OrDTIZ*4UW%LIyclgi3JsB?efbeZVT^&4_#{d1Abh zN>c}m2+68IoWDBxmJ&-FP9u^;3_EsIMdt!tbvUU=GM{pMOz2pRA$IKYB_6jy7hX_C z&q6#tn@B^;dxsy;5{P+V4LA3;*g{ic?j~Sx8_?TUjsMUwyL=D_kr$r#l@->RMQ!B; z9yb7wLe+ThrdfR`ybEibY9af%DbdpyI8k8ZTVY???Hz8QDG(zKEd1!E)@0)=`R(zo z=~T3*C5cZ=qdriANuCs;x?6Qq)$;MdlJJKJRP;C4V#&@_viN(yu@VXik`Rd|n zXyn*GSFn#)f7Q(Asoxs0EX71!w?*@Kg@6Z@J@=AU z*XuKCNPG_AiH00>VSH-xWM&B~ES84e;)1cqyL(}XjlA8Q(@LyYR{T6-nRs4RGKrO| z%2q~K;Mw@hO%OPWaNJ-@DBGanUu@QTGdLo&14VY5kUq<@E5ht3(Ne(EHYl@3%DPR7 zeBN=iK4A=9y?}udvPSbrWs6ZsaD2e$4F=P}TdnaAhF%Hn#FSVlk`b@?jcd>T>{aeNU<%JZg|F{8UvD%fQ6m8Vxg8qbA~dyV=eG!=u2D$h8|*0zhpN`&K3$UvP1Zr0_BrNB55tT9CLyKaux7FGht zw+=*-2V2euzGSS>JmE&9k_>7ej8x`kASYvu-3Ok%V=FYWEM$MTLi@qgm`w(GY<-Dm zL3!c8Lu)jxPKR9q+px@WXoM?ZBi7#vL1(gLb&x)0_zh5x2eGbNV}0U)J0fs*(0BNU z2M97RRZ}LWrYj_tiQ)C!Pvnz`ySQ35f_rkrF;ik)hxw1AqO@R%fWy=m3pZjZ zb!RIvkyR4RGt&Ive#q&t3~8fxfZ<56P;eX!heq0HM-W|rh+4HVmRZIY$WlgwgVC6^ z);Sl`!{HHz=mS>eXtUViA>U#0YA6Omjj^zltSVx!+Q2FzAdR;QJ*0GVc!d7czH2(B3wR*mOHVqQ9EdkPBpmx2YbHCN0_ z`_FIM#@PCD_Ej8bRWtr{>tT7MzW`XdXY0g%oW}2m;aB@*&IdtP<}-TVGg{vWPt=A`2|uq>iLF|$DuivM6w zY5eIwd^cwA1#go1iT@GEp{Kc$%tP=+-0GgXP;Nys_y1e&j(Vs8+n^2t#ILZ5NOXg^ zE!7$^6djo5h%$MEAGZ0@TbOX32>e8s`O^0?gVz1lq^l;*rIfu9_gj;w8VPoeccEB~ z4tg_815jS$^M@7RXnimK5O)?{6(JV>+q2;?`d-Q8d}ukpe5M-`_zD(ZPt9u|)-jA!tFy z$;1mz-P&k%Lw{HyG+FC7l5QOPtA^;&Gs8Mw1?*#gWeL~DK+wDOe|qkC4IEhb4sZX< z0nT_hwmRtI|2U}J0MUmdcE?{1JoPXKO4*V~5F}UB8&TWu%MD4+%;zB@?c1~8sEq2)_&@mLbX5QV literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-repair.png b/_static/img/mascots/scylla-repair.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4c613e702e46802b3a2921f81f339d3c153bb6 GIT binary patch literal 21261 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 Bgz*3X literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-server.png b/_static/img/mascots/scylla-server.png new file mode 100644 index 0000000000000000000000000000000000000000..96dc785298bdb82ffdac74c64e6d360f12dfccff GIT binary patch literal 48529 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

kp; z?~7^cKyq*4vFWy*x|44fU3h*)xe%?%HVVPGqIkH{li&+~TAP=*gB-4m*U913zc*fX z7KF@iwR-N?8Oj-T_u#;NaO$ZBR)wolEeyguP;J7sZ<8fCwaPq{L$;W>llUj*5PQs$ zaSc4JoMf2^Da4zYM$P5-9}F(~j}jk6pRYsLRXm^d4qFEC8E1AHWY@nes|Q}9n-Ep^ ztgI^819g%a0>UFU)Rk6w!j|rK}9LU$TVcV=2eh)}qgq_ztL^ogqV z7`xSvz-z;)>A`e1oEAm9%fD!*uZH(OuVz*t3hdNrVdeS51s*8OB#-Q39Oi^kYw z^MbyP(?=yYl(rxwUwssB^p4EIG+zvO_`VL8;ur6&V!ds7smZWlc$c-co+sI0;9e|T z!fjxYb&a|*H%g&iW31Qk!iiOPDgKa*ab0rs=xkH1pL{lcgABll734*}laS(yt{PLX z$BCFm4@aGvfQn{sPCv(*)F&R0=d8nTe!RVSRr(ji9Q|HBs(UAB2ZZ~Ug&cr{#`ZeA zy_Z$RLR;xJFPJKp6vp)rV+I>a{NB0rjg4>ZNuT7$PG)~75gkWB@>%ZtG(|h$(2uU7 zMn*0^y?AGZk`w4nEw?C6==I#4cE~;zI*jQ`)fkIyQH_~6bTZ_Fn4d$kCE}a-`vf{V zz!5s*A#M}br~+!QMco@W*V~>V-$W>zgY=Oarx{w$-uGl?ax#&Va^2;k+wVxqK{0Nh zjPX&XqO$+@hxOn_TKz|LWrs_d(^2)rfw>jtFZntMHnOtbr4X-eaR-EZY^c3ZkyVW) zKQu8CWtD{Fg3e0{|A?W!Xt==6*|aF(k^0waT80AKj>|Fbf#0isJ^zsUaB`2sg4M#T z#Hg&t-LwAT{;TF!FY;XW1NQoJAJsjk5I$`TpT^~-Rz1w0{5W;Ob$Lbk{V5iG2#A-^ zS&5pO{6<27RXg`&2{qvy{=91}r(#Q2`&qd2G#G@XiF)-1=3r$JTn=Na}b5*h{_PfnoH2?sz|KqJ6@b4|{ z4eUd;w~Ds6@459$oFCXcv9gGbS!Ipk*e7WHussn?0NcJl%lNjxdEDz_YpzVJGL1|6 z#_CjC%18HHJjUiPdh=b*n7s)%rlz21dPS$V|<5?_(>_4A?TY>l3* zf@g_>+OJkMuU2ZUlv_xDF+E)b4~@%NO} z?ELIw{JAb`OKwD=d|m|J$n^hfHfcl0Z0>ERyw^b zv@5zWN`339pV-Cs^STN3Tyv}usVQ~R7N3{vdPil&J*&)ZgL5d>k=d;L>Q{(4D})P$CM0>;G`$oF4i5G}OQ?LK8SrC%N8NwfZ5JAPf&< zdLB!JGFEyQtL2!NaKsSapV9HqSZmbOIjPd;I$+$V#zD2mcf=>%7;0y+K$8Pm`{~ys z%Y?4{?sydLPEs4+GLBl*jOhdY@XV0&VTJ(|n*XVf#xR4iWaH;$pqiy+mbsGYQj|OHesy8<-A7T2=#zXqiLjM z`gu=*e;GOuFE3*-VcvbF16=67r$STCBeVs7`9LZnkkqAxrNr#wm6F@8#P6G3#W2RS z934>FRr`u4oJkWgIwFW=6kpaK;5S;Dj~fbo5GjwbpZ%>R^NJJ08y*o(#;BahF6Z)U zj=L$`GxFapqaqxuqUdFLGat2!`+6x!%=t0m6kpwK+;Cw$q=ZU>$G_1S7q z+9^oni6~OoACcv4XTPQE#GQ7Tg5|J^FG$(6Y|i(O)J}xEwHSjW((3J@Aiv!W*3{7x zjZ+^r&TSECg0iJR{BvO+}kOx zX$mzGzwGi_(yj_$K^gvF(Q>VROd?D43|piDqeMkoy%xZ zg7_59IlhN8yD4{dJgu(6<(o7issg1XL@s_9#=*bTecAKiQn;Gb<|W>(kyE8(wqz;j zF8fz6Ne9H}DH|-AO%$*Y$zOo-MfD#_W_^5gYUrtH`Jgw}9n*cKA)SxEOm z!Mc~bL)3|%6VduEM#OT&8OX!@%0A5FocIKkrK7`@De2%}>Li$V>_UP~)Sbxyw9nX3kR)LqOt@bHuQV#g6hyW!gF3!kAt4l{Oi z{`g*9#kq=ERI%}V!`e{d>c(Vr>z`30_b~bGR?~fkaJs2S@4dwB$65|Jes#z}!}omM z^D=Oevy_Ocjk>u=QDfSOJtGJJr=9DVPX5^j_1n0`!nVwj%wHxYF0U`s%Ds{+F*uBz zsB4EP7VfBXCz+`tWdeuWrss%huC{_4`j_b(8% z<}CQ9cw)B(vRp4dIrUaIY3;OlOd{4(=eoCf%M9GKZ!XhXktW_*$mhW{8W>All=h5G zY;FGDdpPYC%y1ORK1zb6d*Tva1i(GEH<0PG6I-|zI_ zs1ulWs|Nry-$*F8do(aWlsk~yE4{DKz<_>gGCa+5r9Z0gd5sdUv_IMBc^U=b*l;dm zgHfcInR)eR9Qaah2Cf`iPIhe=79c#(7<5=$jGBrW7*iGA{#7fz#v|&)O6yOUUIPTU7=!QwaPR4qGC|_)GW9wt2{-N^*qeRdiT;=7Yn6K)(ot$ zzKrN9<8=V1%#{&Bpg!O=n2*DlRwIpdyO`p!Ls2#H!Gy<;%E)v59Jbq3uMc1`uF=)z zUm@eGYY`s@&daZxlkNW4y?znI#mC)p)v`hw%L8c*pGRev4Q@l6|a~$i#?Xpp3>Z#c9 zHgGFfJaz0Z!>u2j1*RC+G3oj_!A660$LB7-Zo5(9*-k!^t#}liL7MwJ3)^3)hI(~0 zfdB-}MRM%Zw?CLrs{yphy6gSrRk8R@>yy6Md#xF27tu?!<&r0Q4$YXCCG)2X%74=Z z$)pULoz@A5NY*`_p64jv=d)o}F@Yi&HTR`$@_%jUbEk2e$^efwn`VlsI}lr!a%fKZ zAs)jEmvLLHBk?^2pkxMn>yXcg*#@a@Y<<8u9vt3MtM-+rPCTz@8`Qzh&QZE1 zj7gQFI7RYt(XZ}MRSBH-)u1>92RU_a=V9D_40(IXP44IIS`tEdS+l>>bvxrmVz#59 zrOe7|tPx%6%_6zR_oN)mSa-amdXCG2$N_iT++jCn?dYeSE`~f*j@{~3o()*X79-F8 zd_B9@pTQ`wrCfjuzoIy@LB_}i4#WpwWrMu?7)!V0!i-zg&z zEf)k;n*elIR^y_gdg?TiRuue8x|hUmGgDFS?XbVtMx>9^!8PRY4T$-O%^d(PXhGsn zEV_p&MV(h=d=obxnJJbztduzEIK3w_Ptz7KIrgebIEu>~Sa;v!)%lDk5~`z*MMJfm zpcm9)0LsF=pM+!oBt z`052DLbO#JMLw3IHW$XVd^SpH`gk2C%niCiijF)rhJk|XJshu<8}aYxzIHD`eKza4 z<4oV{3(6%$ld!#*pkGzuijzpc{Rc@0TnvTcX~IHJX6EiVZT;*fZ*`d#y)hqr`xe0X z7xf z^A7||jSEq%<_7Oz1w@R0U`^)wpDL?SGlr~sn8$r`L-fD)(d4KK3@z1{u?-i?kv010 zWjhtg)9{&=)ltyvej`A9RTUo`ax)Ia%QN4;oTsVU z?7oR^|MbS?aK$H5UtCf$v-h{~q;$QXL%%h(2-B15QBbq{LM$-N`SBh$19N1Ew_0kv zN!6Z7S9G7UXjH)_&U7&!53%$lvq)@xd~Z*NDYN%6QUBLT34^jA0(#`AustbAM#<)V zm$`XFFQUSx!&_$%Oq+K_Ur7fiR5RF8Zt}6~bN|jqJY>kt6ST&#*&_}zcqDH90S_4w zN}h&{bvs*EIx*9JAmUx^7pH~%SJ&>+jAV@)yj3*M%LyWDwF|<(GcyNc=Ef%S9`X=( zESKMB&1o`V)0P!%DzWF(owXCWF7eg&iZIjpPm^jtt%6gF)g3xW)$7LWJ$3d>zJ5CR zE>8XT;M6UFNO4(tJKKJSvEqYPCk2=4mBGdBRbjY`O8A={yg^?ck``S{dJ&Z5ui8 z;>*a|K$#_^pDn-<8jTkohqS&KS{m*!7{yDwgU&u057mrPNYH9v|7qE~w$1TGOdj8W zZM}Fz^o~J3nz!&eq@ShHx~znNx(U&`W~oPPeJXvv83%8*+051Cak&E4x9P~&Re(Wt zW2}JJcsI|-TNnv|q1j^J;g9{RBE)aY6QI`&Ljvt}jlbWrWHuR8xLzPfBs9KBn(#I? ztxObiIXRX$^rfoap_ZkjLw2}Q53Wz}*pht7d^&9KxV#u71*+am zVy8skM0^=|ngcZC45wbp%}s4UV$yY#T|F@`PZJZK;@DtLy8O}hb<%|41d%lvfVETa zD@&R00c{{F-qYM9&NRLUYVG;@vYUNxn7d;7wh?2v8#JS}Z(0<06Km_)7)kB~)yn6! zN+*gT|KcH}-P{uCvRy;@^NXgt?&3XduM1Y6uQFt(zD3Zgsen%ps+6xOhb(Mta7Bvc zu5e9fxQ2$lx^($%lHXuCOIQh%OGx_bDFIYzQB?kF=7Px}u8e*+F*pA+E7 zx`T=Q49gEVFy#G*`zBLVZsoz>qi>cbKpFHy!B*Vifrp17hc@rrOb_@+&6JmQNQ9N! z>nt_*f%DVMN7E$3K_^X$D25ed%mRBVm{#N76KCl_dR)o3v%NiXosANqcYOfVi0RsH zqn9I*hN!8rv-O%;uU04B^#c;9^5F-QTNRPe-8(}9hTmLyX^Z>cjxLZr_175A8lPw3 zZF#b$t=*DsmDx{+bTi40c#`NQ1%Rc#)(yA@uITCDEc`3WJ{G+Ara(^vXdBjaDGlEI z$kZ4bOfvrkyRwwj*BC()`|vHGjSK7Ox~n~4n{)TnSLYOBLF2`X+hno_w1M|0^U)ys zds#=;@e`_*%j1h$nSh>hr`-uzw#9$*re!IBa)2}@M&tHxys6w-y}`Sg-hcyZ#!(a8 zi)#-+Z*wrL3C@y61rCxyJyaxV(AU=>dU(~daKw{`O13~sy68>OgnaqNs+ZHo>9Dy& z><;6=Qv!<7aIUT*5at8Y^jd5WKD*!>Sf;K4EdMk9>eH#2@y%pWDg#k_4gXFMCoM4^ zrsK-#!)@ZN<1J5rK6D#;LpM}2#US&|R+#Zb|1p)p*PwxTG^9Tk?16?NZw-l8yyu3y zxy>rIG{u>5Qs9D=I(GM|04`jftZ_O>e*`pT7JpEQ_7aLS|$x9-@G%keRk5dw5}B!NHtH;C`%( zTt!t$3D_jwv*Ez3NXdal~)RqHdioU4*bIUvZk3NPnL8=}d z;1&WWmOwxegy@NF2?Z}&+6%7N3-~Xdll@=Ly1@ZOwy7A<) z^qZzyw(-4B$Bz}Sy&_yWmXT{Iy<=0Sye#mW`*AMxlX}F$j$p|I{*s!a3(!pPU}pAO z(hHZD<%C@Lh=7^7RceXZ9XjCf=19;Jr$ZHb%DgyG4oTEo*&-PyXY zJ%Gujo!NixfmG962LFRlAd@*FG>w(Go#dtded^g3k?bbAwn$=8X~OyPtk(@PF0aA95{fnme?N1sy5GCLt!oqH zU0uKa7N=evHlI#>lH15$R3e2>2Un67r9?pMU^MqLEKA;t)F73${x`nhN@v6LH$&p-468mw`(lzP|gCG>}h*#;bQtT0oHm_k`5We zEij}a^-TgsF4+9WN4b?zg~{aVIo|=KaHg-HLq2+E3J5eFBlG6|6~K?;7aQnb&+j1j z@v&}UdcmN&pK43+?gAwugwN|XMF1iK$)(4!^aQ@R-FMWEl}?tbOlmtDj+`D`h}i0J z{MVHxa9$rV7|}YYJrLZAE~ntaLv&r~oVNB79(9f+phWt@#Jdi!SJvVNI>HC3DKNK= zMu}k_gfKb_X0r^HRGq#jneik+QHku&bOyec(xnhVQfS_^)NPh>Jy9hXBPVP=f3VCU ztZxbk7_;TqXKU~acw(nCO z^=!0NTvz@JQlLcZ>tyKAs=C=%?SJi?W zo;ihm|4arAWsXg|u&@&`?jwsIwTTnS7EY%e^dg08sYj-xQt0&rZNkPEQTv`aqR`O; z+L~uT5&psqRytXC0QYVUFm+t{Q|RZwWN?_tH!tqq6)LPDl`1@OLQ}1Wgcu2LAL3`~ zYh8nj;?y4mtIQpxS&~R)_>jHqzP--g6Z4yvba;SHv+U$_${L1)WPG4x&zgoC2r9@A zcgo1n#N$k%+P=LelJ$Q3E=SR&)J&gdfdjS;`ObU<D|^&lT95{2{JnPq4IlEi)y!XWPlpT18^Sr*27;m6wcz z510o+Kn~2*M#84~=+`;k0rYL10|5ov$zeL!a0od;gkARbxIOm9Y3E}rm+#!mS6&EO zy?rDl4smTu)r{A^p(1|(2`y60*3^Mr;Ld=dGC2-!?-zL7CJDrqqT_nA1|e&EK$qd+ z^}52lNFH3Q>Cq8yl*=Z+nzXYMdq)br4gzm-#*o%VQkZL(#PwFE_fN&H$(G9+_;;VX zAHTkwG*5jatMY9FS>~UkYZXEz9r@l2YOsVRX>92(?F_z}A&W>nZ{RJO>#w36xt+gG`;sk#&Zoi`ZO%{nYRK>8vySO7?s|4<57G<7JKsz&HBTX z;Cv#|$)IyJFz$5>1gD0HPo4xbFOeXi6Q(9xHHoX&_{?ZTfbRIyV!r)7VO%UJqV#O^0(M(xjcyvQWzb%-Np&R23tihn=8ui>RY= zu!XnQ-FGkPAtcX-+e5K3Q24@RdRhw{V3<$Za-#TT7{2ELx_c0R2P-ab*&Te}uy1)i;6Q6| za$^Wqdu~Vu=>scD#kpVPx=<(Ul=1?8)gr*~U{_Z%=|-QJwZ=j;2k7vFVDt2+gWkWc zIMkJyO&gXJrVO}qUkK7dtt^y4S_`#Rh29`NrVm$17>IYI!{rse${5$7S)EK#8H!_j z(Uhbtl!-`-sYn1V2o@7o-&7qMBbQ$?#z_wXIJNK>2d<4-{mXa_xdQWetay`tM)sNj ziPu%bl7*ehTFl&wPFz4k_;;kWK&QAx>XRAzeyJZ)8gi;`*4@FhvA2AZ(s7fI4MD(U ze1OVR0!^G#_=twqgwlsQG&T}hGE-UUs;$SFuepT$-ULd+=Bs;IEhKM1%(uF3;-dea zvc$A zw$z_lWkYKLa6_*0vy_0Y7_>hVq1IPNZlkLi=y@4Ii)pJwn%;V3D>5bCsmcKUGFJ^& z4YJ`5idy9q7J?>mVwC%wi8XrX$JQMV&Tzn^k=sKz>e6D=gR&H462(U3{k_l8Wu_c{ zxcd2Nv-D-pWGS(77e~;zaacIWigFs1N0NUcL>avnV=nGRdID$&9!Koknm(ZImjd%; zX5zA%=*aL80ioIzRyI_iM{+j}C-8gXiqdBM?G+s?^JLAp8cGWC%$Oo>sd!wv+-kcv z`7O6;{?fSPnk95MW0r8!`p0{%Ye3tW?8g#Fb>||;>=)|3>r4(UtKoZ~LfKA*8fnYG z!)j1ZC72b;&||AE3nZKejVBd^WDk>sC(@DDN9pO?0WnzG5Qw;Ei4D&>iOmQ1LdgB+ zmS>Q{v#2XK=D^{B8h#z_Iez5(lj1H2b;O8S>omk`yf`-$+`ywaaBKtq84-c(`?yw} zzZ|=8PQJODHOF#N9+t>#NrE`(v%;D{EkZ%Lcw3;M7a&?HeW0hsvivhLhc6}$@toWGl8aVa&c$X^-+P7=Bf?*D78 z4t;IN9aVgTH`=Bz0UE!%w(l)n9s3ul3DVzA;Z~H%9%w?EafcevK$fY!Es2@C7bOmQ zsi9)LeZG(oB69R$Q8KO9M>sBZ*Re=v76{GGQSo2n7XYnkw}*PIxWLmB!D$eiq0&37 zKDce_;04SfdYJ)VoNh|c{&E%oYt17=`CCNBsYmeiNl>W`(xET!@FLRq7Q?=WD*&v5 zWvmvH0nW`+ziUd+SFsM3(YLq64$h~nON=i?kh$+>yaHtaXTl0n@DJS-K%n$3RdIWp zrbGmAokEjXeXbYik@6M9M+fG6DqlOJkfDsF9_@6+RW&xwvljw6FO4P0Ie=-|!;Nel z>^`b6-c!+ioHah`Us*d@_L4e~b8==@K%xd?7^g; zV|(q6&S~yE)7a;V+EB#kQ#&F+_62x1>DpXYpY+i$AKc)jgk-gUV&t=5YN?ntGlWcn z+7pzqQ8|FDRnWQ)SA{jTt^EY=|H|5*nQ33Q+JQfQ-qJLchmn1=CIcS8JT8T%gc+0Q zk@fCB@1V$#9d)P;e?LU8x5uibHU0*xj%k<@|AhG|z_8y~lNu0*b&b`uV(%t3)2ot! zGJ{tatrjH8x(%-4SBbvCyOY*IID~1mG7`^eqJxhK?EDShW-$jLq9X_x&aXC6;?!%@ z3i5D}1y+K#$F~}W#X$Z^6lLCrj?mC=m?Ff8MjBf0;ScbS{Pc7zi=L63Y&INt-JYOm zX2aUwc&deewai^}4 zw121FFB%HYV$DI*f<6!!PE4-z9bBQ;haz$+FB^lRvG4&T7(_fkC9WByojg0cCw8fN zw3QIrq0(lytlq)n4n>m`hpD*m3LpRw`_7S}Yk5L~qPFhLm%E4sevuRHe|d%)j;yg4YXpRtC#J0B>1e`qcPRHC}DX8;4WU*)D>_uyV2+msV4w)~YCt zo+HF~zefiL@+QEF*tv}8^|G5uz8_**vfe?K@@kM{RE#B_%0Qx%6{b#OPyjT1jz@5c zK@Nl+9mX!}$&Bm&vmdX`rp) ztuQU5PYBR`IzGbC*2kUVW&o#n%`cf-H?5upH%L(F&3*(qc7HwlN*ZMC@Kk7>o#kz} zA(-E-p&}#OsQ^z4UCM_dR36xx!h;z<`JH8lhOZdb+w#OA;rG5YToO)_HKs4fqv-6Ojk0-P~~l7A2B2$ zJ|ZLrBwS*11SoY5(_4U3!k0g@!OO2D7iNP0ZOiU_MFpBTxP%~ zXa%MN9NNN#p>zU7!35pMiS%#bZ1vyk&_89vINwOw=?E=6{v?BjL@;yXOl~7m>IM5S zx~N&$w`q&yqg)Lj0D7R2&dLm+_aGYNz{3op1Ya(xS=WC=E*OqX>})*xFd}k~j-N*O zh!#F)p)mwH&c6DPfhgPhynXbkoK3}631yzv@NMb<#oN3H#;&3&UlPAW!HTJAj7o*W z+t%bQaRLe(>}50#ru=kB5Im}uP!~f05zMz~3dk*d;9ixK(A?vN&PY8HR=dh8pJGqxatLdw=iw zOF3sw?7j9{Yd`y0&#t#~OYYxl(x^f<=ovW0#a^As!5-97Nn_+el(TSVEAZUzVIqfY z1>`_~Q_r5<)W{3*v;(mF6H}U42b-6V#l0MdgEw1`Th`|XYe+J>SWd5(ExckqHd(|- z)@|S>yY@wT92hN^j4E$AGbZsJ>GtkkP%~uf=bvu@pY=)74P%_J2UpdVED`6rH& zYp>fA7=vvu3ZjCoM5bA8&aNbg>t+Q0n;L7CaP4Dula5#USDqUCfBLIHM zy?zbv?W@;O7*;S7V=%`*KTYu`*)rjOC=O=fMSKCBbMB)qeqd?ky(Ebt^Lxnyure%6 z7A2Ix@y)i_W)wktmn+jr*O@Mq7GVWY^A#LLjNmUd4x z*IK*>q7;$we(+@+}Pci+->_owAxN1+Hz{d?`ss+mp~>!LHu+N4Gv1j4UrR%bkA?>nPky79DS_OTG3 z>1T0vB2V@$io&MVyr*&S3A0nxw<98>>kELnDE)bh@%p_*V(E`J@*yR`SO`S zY1*(0-nL=)!(yj?mTcXNUwaqN@_K8Re6HC+Pk~{6uKL0RuKd)*eE!XsJ{)PYy@Fmt zQ=WBMN?2DR+0PGoGuYhUxTg(81eaf$&l!0{WIlT()JE|AzMfg~$ytA0kRU#!T*K;| zr#DtWxiyl@A!CU7SghH(jjcO%ZFg8LN5teXrky-f>-4Ajv1o~Kw{v_hdB-Dz`ft~C znHWoU&H#_=xSP`v1m}7t_P&l5P}5;_I3J8stiBA9Dw%F>wG^+s>++pnT^O%*^eD=M z1-6jkG{}*#5`%3($ai!uYug6b-d&G6`SDqZ*}yC?WEhv=lw_QupwIpPBp>iv5!LK={LtgX{92yx>$iWbw6N!UcX`A z8*~7;JDBPlTplVNSWGAS{OlGB&#f~o>%-%#6HZ5faSkfv<@6lys(~Ul&{x={9T6hP zx7T4%>5l@l&8^+zXw#EQj^N_w7QKjiS4xM9aW0cfz6AM5q&+MASR&vZQ|nQFcZ#%P zl~Sy3QmOAXKKSkZ$1@F>JU2fl0so;0`2&IMp0|V~EBmOy!xM?A6$-_(jmI39(*{`P zU+zK*Cc0Tob1;Vs>waS|my`P!D?OhpHo7~_Xt6ZK5*;+?K>bxBdfJegCqA{OeWh5h zlJ$%a#*d(Lm%};+e`^RUrj~EbCEhDlT`Kq#_>JoNu_`xSs;2B&hs4IX;>&u9CCuf6 zJ(pIDwKg&9oy@D$kh|R-81;b;f{4Kd`NIXw73{+2T_C6g_X7qKvT*UYprtI|I+;{g z*cQMdLIqBgOB@A%4Dk#LBb_J(YuUR$y&p(pi9(c?R|G(AvW7iRq*9Y0(#BVgFKr@! zC7bmFI>7Z-n>cm0`U(NbGN4Y(aTN!*8~2oC`IbMWXC+j_dCNseX_Ido*@)4 zSQR|b9u5HoT+cuum*!zQ&C6xc?~JD)9iHS5&f^!D@J#Eo5=HE^x+!p(4iCEqqeu>^ z6jsI~fau0=5;FTw&5jC{y9|o)aePdxX1#c9B?TV^9|vxv#I?>2d74c3>!_3=nJLzA z^|~2CavsPh+{8qjZ!v3Oo)(c|C_spMzTjJSb2nEo&*B-!{fvi9{X>+}_musg$XaT< zWxW_KwKllEZUuEPNEHU3vZTnopCMM8^R3RPH>-mm zTO95xVdJw;KAnDfq$2Z+W_+sBYDdp+%5gYFDQNJ6g^`rV;@rw56#K%?AKtfaf~;Y1 z1q`zS^_$ui0=p9%Y5u`i0m)63Z?{+=BUU)YqK!P$Nwa#w!*I@WcXa~4dLR2b=@+0p zm>Y1lvRCmEOgnHKd>Ct1eC$#9A+Fl4;+L1i*$|~{v;IcCT#lMAd&`Nm_b04B{So() z+|VnzH8;UW*tA{cof;|u z9bHK(m1=dR1*J<*&o7#JQ@!|-1i9|(6K0?JCv74-cd%2Ckb}#I?aeOHP0t40u+fL1 zM6rZ>cBCzGybX)~${0?(R)9(Q`P9B>Yy4uf&n?;#AM|8a9S#zP^|mFM5gS0(#sgo) zmf2r$gi|8;<}FnOR7<{sq8G;#Nw|(!lNq9V1oAuHc%yl4r(%Kb+qe%Bp5l1Q=T3^e zgJ;Rzl=>@Rk7Wv;267tTqi`h!Vo+|99Z&g9>aPaEj>P+Vt46w^&=2E+X9HN@pO!(g zc4}&L*BKy8T(wG^#gY=3iOmI*vcMB|cQV`^3)cdtcyke!gL{hX5eNT@w1Q0+v8klU zsYU&-S6+O*)bkmN^}vo@)W@@tTkh&$7bU6DZh{p_po6iGw~r$-FxH^NnuoREVyn(9 z%{|yBW(JdL4n62`S2_JInlZ=&@J7Ojv`twm|NG~;iCb{<^@~=Qd{7T40 z{pTCkc#^{HK3rL*8_lsgtp@01${V$1&0E3iXZ^$oM8Z@yh`V*j8yXIaIF&B44Ksg5 z$saY{3a^$d@S8I26;>xn_yr-~!ZI^1GFDyFL(izLjy`JYgi}Gs%{?!9slkpxf(Qo$ zYHs^AB{9eQf>AMdBcLUj{Rv^p@q(Q6_4Ghwh?V+I(0KhHRy*z3OcnMjvxo(LR|Uo9 zBoWI9w>B@D&Xek;&;iMI`Tl4=rti!6O3?-3J-zNPBGqf|waw4p$py~})0{0PPbR%t z5Cuvhjw@QN1$b>fCrItHPqfdWld-Q%sQvV^Z7$DAb0j)(AZ&8x>WaF8tvXKuDfWEw zBHLt#Fg-vNM~Zq1L;v6)JBQ+U3;sZkjd=2-Eken>p~K(9~=6ehz_h1@%b z{1Lg?YWs~^5uquv+pw9rJ*o!bJZ1c*2F4lyvAZ`!;luwgvZJ$o4 zt|@#|6;WLGGU5Qo48OX7>W&k|5ZTuLep@kKaHQDQbi2Ch3Yc20nFQcV~eBP%rzuVX*8r@8Ip7r!6h%8*dIK-jS>=Sl9QR zX$#d;L@-fY!veZbwdV7t{nE!56mJ=k*L>N&YHqm`BWfy;Ad%;&-Y9wv3;PbA5?45< z2qkB(I6HJTiQP$dyBLnzJ}9aqfFu_A z&O6GLhws#kFe^}Ap4SE89li1pwkE@~(Kr_A$4919P8Nno`BkaQ9)|d*&I^{6^Nf1j zO*~u$WHYI4OBJM048^63gcnN2y%9RY=ezA0t3t__?vM)#E?HK8uc2aqw8)^)mN|5y0Z>ov=>c>vtPcYCz4X z!HIMNDPj~L*Gf*2fV|Wel`lMF3GT`el|NZPn~*;_M~+PMHS>3Et1sK+Yl)u}*g3JL z|DNn~_XjANO;@M8;2cTu7J0e7`5-Xlw#g=-t$tc{>R<3QUpUkdP7TooQXhA374(Oo z*ej`G#(-pjnIkmjKNGv`K+3kX?WNW1lWtNIz->u?Wl5^S* zo36+UvvrWyBRYY3@IRU?*bDO{8zo`4pP9X|z$uT6Qjgj_pCbZ-J;FnHmNXNJ4=)`! zq3%zylfQ9K2ynZ}-nthYyy7EEc#k)sWW-47cFvm!sI5z9L;FeC461iQsa+SO#?RJX zyPmRI{5X{0+Ps6F1lpmX%=LI{J3x3&1Xqc9*an?(y7-O0-~)Of@v-qi8U1HJD+pj{ zy0Th%#|luZdURRlBHTROSaVhL?0gyJJkv5yrD8m`L|T%rc#-w#71e9)Hz-i|$+(fv z^GQryVNqmeB&83BGEeYmI4U<7d%H0>JYiVb@ zl2pNbSLW{mtq>Gn_2_oC;Apl0yZi=h?}CVorwExNr zQg->N3DnOz{8P&x%f+C$|C@o+6%yn^#!U6XgQ8NTSuE2tk8sKrJf-LBjz?+g*A<>x zSzVa_Hi5D;-&Lg>5HsT}PUmCo^9J=0nZN3IMz+LK$&jLQvGPb~qh`-0FS-d_hz#}z zI0851D{le9D(h+eIZ}1Z^R((tDs17qsZT|SprUh>>?wk4SEN_o+_gMZAza{IDH4$K z&;&+H1)uNxssAo`j{#U0SwNL<Dd_K~!!MS`{71lJ?5A zNHd{|W7g;Nep5CN_LEfC%D4 zj!Vj*#EK3BZS-2avRuFT@L~5+yuj_Yh$KlmyrrbC!#P z&&cQCA5m&7+iW}($1H!PZz|bYJ{Z*#fc2tE4T?#4<-0F4=41YOkw%DJIbt`M15xD4gt8C0Cx=}sYuFojx+GqpTGQ+7S zkJJ2H zR{q^CwqNR{NSaB1I-LV+{}l=K+R}yNpMu=YIqlrC-X~jIcP@|}*naY%r4yin5du5sNkcMEZj4FNkGk_9`zv6O;Azj^!`aHa$KT|DuH38ZezUC@hHE+ z5H%oF5q>;>2U^oq32HTHAk-h=dG3=SQMH+i5+sjqR@qQluwJ|KRHWBZxL5vHf#|IX z9^X*L$q=4|UpayTy8u?F8Fx1r_5D0e27kOQrgy229Uas~wKl?WHp)2Jy0Mcm*<6VJ zHBoYv^@hK#v-9PyUIWKXS)i1se3UPFCtI}H=b_hujEJzVST0?^b!mQZTarkNF9ti) z%(&LrCp(OadlP1nxJvhMx`#!YWtQ!S8e`(8AphRB^1>6<4x5tn%9%`BYijCENDFg%UT{hcDu=6I(T8 zkPuee;D+k;zpou8q0P;k0m5rodzE zjzzk7?*opafKb?gfu3YihG<>p>dZ~8*ed?_N7fgp#m4@<6X|Zbq%aQ$LLV=Q9J|5; zA7+#8pnVVJGWgR3$3Q0k{2qI+MMhWOpo^UInRaHYjO&mP$bhx5dP7+=X-$6f=MX_3 z`po!?;-Nb$uTy@={p9R632!}{R}xGj^rGMA-zZK^Noh3k3d@O3K3@7GRLXO)&f~bK z*vk4qSWohGhWjip>gwq1VA?|qUr_wtW9o}DKrsuA+?W-|3v54w7;K$P4H z%Ff0ejEwy^ltJfkO$9NXh6rYc1Vx}$&4=k4-`y=ooZrh5k0+~14?@1ijwv)mH5gB< z4(FVuLg_D9L`9=53x(uPca65)ley5Zjjh`6Vxo4=OJpkup7q#&>mF_^n7B7*tP%H! z7W3`snV#fb8oN*HdTnh(7*dE*yshAAN30;i9Gje4WWBNStH|#5o|0(N(v}x*jP5p| zto&~8^D4_ys(oREUtb15Si#e z(DYlJdF0c$d&Cq^znto~P-6x}5MpEdUZX{H|2^M$^Tip2LZO^hW!p;FflwuEhGK)* z3O*jTouBgn<=_~c!vJpSYEQL8S6FtW_l(7Dso(IGN{rO8P z+*u7Z(HV+*e*fV?nj@JyHr5u`mB zG$3C4wY6rq1+bqMjZ20wtNu56t*HLGeLTY+)2ZdcR6Y7unJP$V*X)Jz^JL0Z*Uq~K>K z9`zC|c=Jx(r=dGu?uG=A@;{&b1o0mcwKhU#H$7QUtqQ)?MX6%9;iFv(&W_h4(r3#D ze2E{LS-w7{oB!JOfg5_2aDUS0NcL4g&Y1}>ygo_EdvJc^#>CTja(nE`d*@g89TFT! zYVX{USvqf#*}of9R+Q;5TeVzW(>evkXiT}IMH-%6=aGhdB`twsWV9>lE*<(mq8lMv zTcMP&SW1-60dcEg+YJ%&ODp`TkG=8K*sDOKPSnIlMtHaP#cB6YkT14%NdMBlIQ^hO zlM6+@FFBcqRCDy}_`;yHZmFD;$$i=WgAAzymR-?KrIzz^@58TMJ|c9?5Suqs*1krE zN0|qw2VZ&DlJ2`!=T+_*Ao@9EW*;0R?LgI*L_OH&o1G)-bPBj{(jIPP<_f;D?DW5; z>Ms)wpg#7Eefx}v@;LProidm|Gc<-G$Y1I3DKE3uyiYY>w`^2y49FQ21# zMP1T33#?_)4Cpes!uwvY1GW(5EH{Og&IU?qU8qy_1@np2+AD<ZOEeT;TI#DrLL3`aC#tW$0;UoN}GYNclpe4sj&%$g=MRJn) zq19b=GFZJ(u>E$`aQsE(_5-H&+uEs(e2(A&Mvp#TAF1OR@0U}A2i+7@4&+BFW$Fp* zMx2&EmMiEQ)=69%GJMGOA%kv(mwcuap5MEN{YLV!>7sH!(EY{|SC!D>PoUp-chyks zUd8L|7q070#ZJj|cjh^3V^MQULhD{3H&6Bh~$X8 zeBN%DF^tdDV_ZzKKAkOVzJ7GCOJ}<&-qnP5W=7cYUU*IanI+;_i+Irf;pe>ZlWC@> z$e_i;)*@-Jfq?togOLf8%H@MN&uo4=t^MC08LWDnI8fTF?6kRK&EDO9$NrfbzY~A| zFm!lx#gm}%K!n8!DLy>gyx>2ze=7;Yca|3J4hgw2y%~lodU1S@^r7<9O%qS}yUy|N z0jIC6R8Acb9paJCHO>0%Zprc~T@(C(ZcQNfJk@B^`RzgZ5e26n>1IDWeU0+%rO<^a zg=u=vKkpZM>aJ9jBs*X|*Z;jxZsj~NH>lo=RrR-OfLzhIkm;&+s=k0wHJfa0QSTsK zQ?KdU1e4VvU(T*Wr~yqEqtfW2D)lHH#etDMZY%QQ$$km4t2ruK(84i%t@?8dSjlD+rZ z%r8(>HGawdcTzY1C*qCkiIF7(SF)E)`{>3pZgO|D=y%O@b4cRF%I(cH?)aYsR$}1t zpB1p21w4*)@H%ff2qeX?j|5INa~!3^J01?)XpU!_Trt$W{x?!x+Kc+bf$+mJ zxBfyEUuHsd+C!O_Zp+>rT{8Yk)i{pyE5(ZLjnpc_yqA}uk6u@|EE4&Jqwi@>kTX!} zR_7Eb;1DYW|%||5wtf!H&O60iV2WE?zpw}IE^@y z^=fY#cWDPpMzANJ(T;pl&YU#KF*ZC;4<`Q5DAg*w|K4$QbrjWOC(Va1-64l+(V(&? zI_KuQy7H@4aqP=Fo{6aMTV`UmaX$tA!+mj*=CW!3Hzw8G?w%g%nT?i9V&SV=_bhog zM48&KyFc|!-g|0Fd}(wHf5a?QQR0mzQw<}5=hJ%3h~tQXr_;c_J@DZBQD*fs2QL({F8+6t$Fy zLfkd}G#Kd$H+)J}mieFuB5r;Tc=QX>HBS#B2+DRn&bUu+JD|Um3o}X!eT}2?y}=74 z%$mdd8gg*HFXnt!@%%i6Tf4AV4w_Dc5B#4(?pQCgQcITeEW-O~gR`ar?ng?;_%gWP zblK;`bWM}szHW&U_lOXtnaLQO@;hK6veJ$qS18$F1?EBZ&h4_%^FP`cam$d9;QRZ3 zBE-if`i}1pXU%;QbDOZ-kTS<9n>3O?Zm2*qb})%1s`|0^n5Ea@L!RUsQP8C{aL#5} zk?+&pK0+c!dYK`~^U(e`2WKA)+dtT_813&k50}lBJ82L@lwJ+8`p*5-pE`bvI%MZ5 zcID2E^Y2jN@qsLHPxKh|%5R%7Y6_?R)Ea9aRWcg-Ak*p;CsU7<@Fs+WR9B8~=;{Z% za~7lTiR3!@c%&W%m%t&!S4-5i))FF{VpON^y+bvb|8%?BAqOvT6qKh1++i-XOq?I$ zvv?$)WwXJY5*4Ut#H>79PMZvL5pMAHizS58|FHTTKu;t9U$Ni<_>^$rX*leMPVZ4+ z4B>%+Ara-zUgnVZqn6WLA7*93l|I)etJYXUNOSzOi-uu5Nx zkU)q*AkxkAzJSK$v+fe23uN$C{nik##8ZSXLD+;2gU;jiFL{PP!@rd*Ea69RKevGl z==f5uiCVSiRT?-k8V5mcP~76s{;0`j&p@#pz90yJtk}U=6$_>jbQ4H9xPPDrb}2ve zI^>H6wH}o<)gz@eLxb%gdFW|5!dYJe1mJ43V*FD!pEJCd$8+)eg6}=(-(3B1vZC#3 z^|1{W^yYLq)zwt!TqntI3(>yYB2Zd5Qde9bo&|pR!{obJNlnduOE&7lKg;}5+^tKV z6}sCPOF(wAO|4AqpQ;XW0jl3+4ORM#7srdmP6!L=Ofb>w1CXA5z6ya%78idgb#!fH zuR;WDTyz_6$a)_!?aShlbtS=iZ6~-JH-6(LlwB-2BF(tB9TxNnNGd}hdo(c(0Dw$X3QDrXA zh;h8@a^kft8N9%1K>Sro);La~7R-OTa@peA6bIPTnnDK$Vq4_BCV7%(pX!(j8{_PxVQr#a!agF>!J{&$75Y`Q)E z*TLHn9^Ci$Qq7l(>}wq1FBsDm#;!~_n;GkLm*o|P`hE0X+MU{nz_v54NSnSQ+FkNp z)+JU1H6OSBJn%!&_{8jgk`(erq|CxWUi@qJR>{Yxzhrofhck>Zo>%7mY-czM1oHk3 zX=LBVOWNtBzBBTM*Jd)VL-tF71s}Wj26SNTv%6w}$h4-%^1%WY6=}%1~ z&fQ^C&KfV3A7{>;nC2>4m$s*MNGwYKL~3Ckh;{|B+lH^dc+BK|$=U&8-;7?|7(e^^ zA6hEWqFPmk*G81+{vi`*mqM4<;ID zMhx7LrHyixEF>$+;lsh6D!bMf@3YR<=^kZJZ0@|t^aL*%Js=Pa-!p?U^kom<;o4*k zsM4Oteq|>2k9(lB1I8HL13DO60fV&HNzI54G=h1wf5EpT8o@Z~<-*^~s*0AYIz9v*%DQ&NZtSg3 zPIR{C7C;K?_?B`1N;yl?#7MCM5u%}_YZ$^ zx9B0jb*oWB(ivOVTp)$>)l1?e>on6`->4#ddA{bzR<)kfl5zy{j}3O&>g)|*Sth5% zbEO4TRrb76jDK1mXK-&hCr3x)g1}E6v%&fs%C6^%E_MG;&g{K=azv# z71y}7EMJx);yV2&_c?)nS6h;LVWNX8gF{b0P4Qg4*dz=1BM_Kc`K7r--ph*O=)kJf zyHHjB;8WS6%Imaq>;c2{J-Z|h=E=TP!Jpe1HvPgrPl3os#!Dm6ZdaQGKi%OHDQH9Q zG|$^8TqoI>5@dAiJiC2}_Ae~8$5v`(Y0}zZPagS{RLwV}5M0?0Stvo-l6VuFh2#{g zWJpI}Oczc~J6zrD_cZgQ_se!}|M6yyDUp#zM$(`2nzjZO#AeD(FAaqE)d{G``z3%Q zeS2*@yqYlBDUDgjo{Vug_O0Y)*7LDjzCQN}_O3Ynz4k5Uw{4auJzSSoehx3NYA9({ z#iEmmIWnIedZSgm2qmMkj6E-NjeZ!I{2LY2t?uhwc9<1tcHVHCc6A-b2uIXq?ZHC* zNuJOQ@l930!|1z`Prsj<97u*ztW{yo>C}J_rPXrn6-da-m$FSl8)ysJr@~ck7c;2K zr9jSyf2!UQsXTF%sapF6$_A$*0ByOL-4}FGQb{f`G-{o42fx_ z$xlAKd%O(*$IWcTsi7wBaYR^41PEYqUmDtS4*gkN&nJYATEgp%**=-OG>a7t`}$eI@)&=}xTf5A=x?b4!y>vK9!_DA z4>@KN+X(&~hT@ForsZs{Kv{~*<)Zw@do$&;Yg^LD%C6Y>%LlgpMmeKd5kVi++!N%a zv*NkB-nU+6CPBXCsY2)!vbpS^@9yQmXg#m;PE{@41%ZT{vMn`myJ>(+Qu%ezoz|S} zmE16i+_(|gO}mo1wNVoK$HgDpu~s}pO%RZV2)4WKYfO0?nfRAv*8*NPWG_KW$3i}} zatk(r`V!7%U$ZFOllPE$lM*D7de6We5*P5Tn)S86CPo$vwk#;+KJ`xtv1SGL!S)9SO->&bXM^3agl58%h03=jk7{ixo5eF!zYxGK2ccuvBh$uJQ-*SB*A;wP{=RB@IDXFk6J}h~%4`mNrkh@BS@qTi}|__` z7M@Omy_kMSldtHylSe2k--j0%W~#xHtDfOPYZ-ofc2aozPkzozKP!hpCf&D8$op|U z<6BI8MqMNGpT;wt)0if+@A&_@ObOg=<30>^_cKcP>L`>1@m{Rx^B4)3d=9=XgY}<{ zSd!d(Lwr}J#oJBj*<1f1PuES`L^YS-3SY|J_@kH@DmvR3F9-7OCa@!foIq(s@2Nbt zx~Q{f`1DNPs5WSL&Uea9|0eZ_;;8TbNYgdc2!}3jw~T5Em(7g$c&is$VfYNsmvG7p zE|acZeGx^3V%-+Z=i;2}k3VvW@6j}{hy`)K^wkBveSWnl?erV&nVo4`9 zFeNwV7T+Ke{R)HE`p}1fK%VfRC!*re$=DzbEiEKEKA$p#tk~H^-}q4~eP!RKCQ@)k zZMgl>nUd}p_liH)2)4OykzZqC4nys;KsB-05CKOBNUdR5*R!UY!Dx*zC(j2|9_=X2dsq# z7IK}Fj$SfNk0@SdjfH=e+fsXa{!|zE*{_Pm{~4uS*G&jhc^MF8rWk4K^?_PA-{s zu|{s}2&(2{_sj@A7Zo?34Y{dXAAn_&-$;PCMn-m1C z6T12GXO2}}H?h{A8oHrR)T}*kH{(G+l&n1Oe2$j)?g4;TAo<5Xf}R{Q*DLG%=1au9du_P#*L!*REPr^KfoM zW_nfI;qtTBLWY_XR4mdMq9Q^qn5S74wZHmDMEOkdmtG^~ZA0jMD_i0Y~$_i_sWVzFwizPF@avy77 zy~@72EobyC%J{Bbr0U{OLo}fy2@;KoP^(*tYcB<3&dGV>5n8^`3-xMsf>fP%+)VoM zF-RcFPqIc;cTbo=x?kACfaEh3GIHfv^kO;lFpm@vTd8_b8@;qCLb3KMW*I;wSDru7 zDvj|7g}<0p;FwJ+Z5Yr_&E2+Z^>iTR>4LZNm!;6N89eZSBG%I#5BK7%3<>aJzb2G6 z86Qdmlq#3H;I*LgBbHYAqH(a;IB|y5^xAE$g6VgK-q3@c&YkZ{=y^BdHO^7`9J0ijheDZHW zU_d!el0<5B@3iOYF#XoLkjd^;&;=Qq9k;}(Q*z4)_$41~@WwW#%X(3SZo6~j8^0qW zR@_$Gi^;Hc*1ORf1CYv0`XOLIkVgc5U~Xk!B5{qkz+Q{Uy(ES1wXtVOHj!#!&p-vn zuj4gLR`lZ%wgsIuY(Cq}keTd(zH-0|G0=PB+l&J?RSo6Fm= z>hgol{D1xqnJSM^Q$PG9pnlMK?|M&X?m3Z#Qb2c>_a*0n9T^6|6Er*Ko#(f(Q z-}QODX3$_JUh28PgxIi^j82_27Ha@|C_$FU*8m_;9}ZKiaPIjIee>j{@HzdqOCq66 zDZ)D`gJ(_&yj#fL=99gh$#TY#R|D~a%&;PJg(BHNF>nST3iI4qGI~e(XQG|3Ji!lDOe!C3nT~}z9-Dxa1?H%LyD|Q$UE-Ebpca$`#ve>* zD`ugCg`Ms4755LmngJ_08(+i_xNi%&Rez373Q<_xND>nM#_SvKrqFP-;S$;b)>X=Y zJH5vFp?Sk0_|q#KSPEe?#%ulVTYhl5f|vfSTylc*G0oQ&weSkn#q)TqjubcyOin zh?{<=N&?=F6?Ot&?uNwwN`f$2r>o@v6W+?P-hvF0wbU^nv0F3F0D+{IShR=pg5+#Q zer1Y^)JSQH!Ej{p-X*Zd;QjAn_Qg)y=H1}dHUUDXCh`Ez1j93RlP$Q11TJ)Wud9l5EIVD&zgG*{vUm_T)S-?I18rf~o-Q~?O7nLrt|M`%gkOX{J!1%GHG%96WV_(R|V?&F4<_Kji&t*p4;PG?`o zP^WryC9hETGMOOD&x2Gg|Kwi@bRJ9;Q7<$iax}bw&W1i2m$f$csyFbOl932JtY{eo zhQg+uaO5(dH}qx8CzTsu<7#(gK+NHmoo>4`3?yuB=A4D?-sThPio1a7}P@<&KHb9FVBt0T|?398l{ z0K-EpND=4F#E`Fcg|cyy7)s=0$~Bz3`%a9*xPXbYgGp#K>!`Jl%Bd&5pEt;>8ovtr zK$N02Q;&f6sRqVrN_e& ztW`rG4>hIQLqn{7hYYhIN|_GL6AX$lDCO3k(5-jTJ?*HdBXm z2?6dQL`usm;HxeeY(8!L4QjY`U0knx#m}R}`F@2@O>+#iU`zvRp@`(zWhjWmdCZbr z0!Vx_5ldSX4#-z~_%N+B4c!EQ{H~q$;)R_x&Rn{;;*qGi{h&3AzQAkmxulx$AU#hE zoGE1SAT}|PktL-^;f(u!L&+tplWo}_iJ6j~%~R;#`;XZidab*#d4<&3{Kx79fDa&9 z`)5UlPPmr={*J`FzrxZ+;J;S%7H35Pey{%p9-Q3*$f^X)P5F90FD)OoKim6yAm9DmN`dq2g)gr{@#^( zqSO2|$ zijK-5U}Ke91+VH-vV3V`L&Pqbhe)Q@JTQ62|2X2%b21~j5O3~$p@B39F$fJg9Vlsp1zKP=2 z$U;^paaTNG9ia+NJoM+rEQKWGNFY(6((}T=Ex%L(6a(A^vxh-`qGys5l<6mrrC;zA zJ@a~N_MdYh4+sxlWQ}=6)Y~UYZ;lDo00bm^J z-3+XZY|NH5zcMC5{f#NpP9U?t8r-GX^?4`1Y#K@EsYmYVVgCW=g+iz|GFIfs@3lXj zX)uz8GMoXj<0o7HB%pEjFMws>fRhUytnrH#d&~2!iHGg>+bvE~w+Ij1B|vIa_wNZW zTn5XTUVFVWMDQRnY$csO_vKpT4NTL=c0!LYdsgtusQxwB>H8|~lf1C2LqZp-C6mKV zjdkKqJynnVn2Ewd6xbQQNABG+&CR0XiSwu8zuVU(YyOtE9`br%LJ%QZP^J_TAzy|c5!Q6?z!PUF-=zC7G zw6!)jIeZ^Yhb=<|GB-(lc+?yuO{8Mve&5Qz7WDuSlEfo%oo^#c(zDerTO8}jJbW=2 zm=umk?*9XAH%o$JFGj5`H(Pjj>W1tn&jl#7rHIobpX|%XdSwq#|Mh#1ck9lk;8;$c zXzLeEr=uK;ZeWT9=E01zIU(6%Ams*|;DDn(iEHSbvVR}N3+9j@R!EBpQ)T^2B{z9g z2Qj3`edu#?b){i#fU-aIVf>dJP>)7@il`IYnJZtu(P~=qaSDjAft!8fDj3f4iSfHg z6DVy!6nx%-b*=4KZvXSnS>G0O}%z9c*C0cl-y?Pc&H zO2xe+KJfV2qFc|Z%*rBl|LgbXUx)mE|0W0T1FrpR%p#+I%^d^^zpr>%xK)_{C02+4 zBd|J;u)I?{d!_hX=WHL3dyjA*uKnmV$-*SV14wSEP&G@6k!&w6F>eo8lb zsnImJTzkb)3~!zl_oCkn0cL`mPt^Fk7c^=sp_QYCk{rO`Aua=e%Jb_)kgwltza2ge z!U*HTo?Wv1`zodYjZ~+7&ovF!u%frv+e;CIo=@>`)*IrM=&}uMM-}0Wyz^1&rYm{@^cnZBK*Rn;k#SIJ_I%pfHmKzaoW-6HB$c@-~XkT)`rk z2swO_l?36ee2)K}i69l^Mw!)PG0Tw;D=$N+Jw~N;Sw^i_U(5zcOpldazBx_qRgDNM znlcGEyeCnzc9VxRM4wS=$Dyz`Y^t7ko6^_Pf3;3JF915yPL3D&;h(vK{W5&ew|rjy zO?Ajzk8VNV^`bz!REri zw4eUCo8NfRWpPZP9MSp?zcK76E^DNl+EKR0&6^%6eC5Qy@HXxf{p3IbA*7#1fX{(S z{iKy0WBhEme#<`MA=@JqQ0C$FT}Qj^r&0jw%Lf2$HqL9?Urq$g<(Y~RUC z9{~%WV<8+!qfk>&om%~1!f*XUm+ZrU{P5OG17)gxsIE&u)8LumZ8TI@;m=wF@M(DS zRN|4ULyvd=7@(ewb$P8Gn+5-2aTz}jx(|b1Ec`@e;aO<9;5$b3EU_=2fymeE%>xg^<}dDf=bmRiqdQl|~TG(qi> ze5iONj{U0UJ|=HH9#(FUX~9W#kg3mQBK9DN_y4r_-H%ki;rr*`^m6gr0$tENmJA|xbZ!*uZJ_kCUWbzjfZ z%*HBi`#Apkx&*Ef(37re59IGgk!&TX9sAbPOaZN_p7zv=R`YN9Xw=^+&CfRqK>#F| z3g>%Nos52QU!4WmGE12f_TlT7+VWtURP(%N0uOBpOg`aTT_X-CAY@7CN; zK@{xT#ptK=zh7*q01lTbNO2c|w?C4vc)f(z({ywv81Kt^CIw)<}iD9gnC zOn1lA;e-}34?=TXc_8vjP39w&V#QJXuD2k8m9v{(4}cKsPq)zrne=zvw7oz7)Ce$k z!9ISJE3j)&BqZ~C!JqVi6>#Tud0$O5{*t0*WIRh@@;8pwd$Jr#N{s7pH<*Vl1}XdtiRDibX+{zgR@e!LOAc zSyO%K1rmp)6v0w&?Ngx$H&blm?g}k~xCJt=&=)fii%nYr;K}sY;rcV?A=)>%DZbk> zQ8WOTQIm@{mD_!}dZXhMqB?*FkpfDHLx8i9! z$L>w>1;jP~*x7*0BU4hv*)H;RWfxeVV$ue0Lb+GKkSR#i5JS}MN4 zl5i{JeI>!$qD}C)#+pMp6ucfB`pE-w=l3dYqwQbFmQX(P@P>3W`%N*8+kiwuFn)l48U_c}X$*H0BWMU>@b_EhT6bC*JP>6~ppByc4o7e`$ z(MwqEKWe^@((--DxWSw_?hLW^05J((1N&s@W$^6{_S?^+>F9rEr`;f30`%fYX#-S} zu9Lf)w~tTh{0^_;EX_Dj58k{lZ%*XW9au9S7g~b)|9pDsUng;wm?X3g z+c)aJYg7+6$rW46wtrYwG_ZNDZ`UtF512=A@$C`HE~*lMmbIb4Ye(R(FC>rFXI2L)5p`D5~S>MqfN6O`}`F)dU_j^zm&YUR#bf8OyXX$ zfA(NYs^i|sEkH>q0+2N}f7ZNlc@Qt*dU8S;APZ*Cglnx64Rj52Z|d510<0w?}09_`JLp zU<7C!g$Cz#kSvwbLpA~0{#x@U!yXxMnIL+jl-jUAuJCxY$@iJv<gO*Lnxo#z%XvpM*){fq`+reXOjaYEg4V ze$!v3>;@VQgq_UO&-JbXWL8k8dX>=mo7n4o-ICbDKzQ(f zJV3PWuLp1+mcd>tN1zQ3WDHRe{`81T?Y$2%xJDsqvy&6Sv(|gqH;9PL^@aH0y)XH9 zc7)*t#+mIHw|Z?5w`@VD$e|<$j6$qj($jXrG8yH@?txYMwlYlZIDoQqV;q;+sd37Y z+SKx@*N?H!l^{b#@(png{B+*5s^scB7TN}8_{)vy<6Awe% z7BvAPcVDm-`BZHm?&hLr#by$=pjzBm_CW@Oe@TK$r8u#h7Y0=2rRuh*b5?YN^N2y` z5AX)k4$!%BqTG(d`JKYfCT*j==S~1)A*Ac{gI{MH`{F_6^5}h?mTq~kuRK%^FyZN6 zl9M}5^UM`XTg#?OfH`;q?BjGE$?h`#*ZLX3Rrda5_ZCpZU|eeFW+eH8JnIwIfos{N)J ziGwg3+=&=2UBImG1&Hidd%H~zNo|zJvgP9>vzrUK zqT<7EQxLiM#|Rc5=AFxq=W?>12koT`H;f4W$3VvLo7=r-AYX9j1DQo3?^1ZICWMUJ z&EC35N#8cn%ugj<%Ef3Cr9vq);|x1Bt|G3-hc;>5ALAU@B)j>jN2>4BK4fg11bUGL z${`EyKynHIKGttRUHV;TN`}pTt}f6N8@yIOT39B%=fVe|tjbSOTYUF4E_8%}lYMqq zlQw*UwAd z^EF5z9dlp|dcJ0sZ(%(BQ)~{qSBEb>F5Ws`^Ds%z#`=gk)x|Du;~cbt;{9ET4AmLKcY$Y_7}Wb zYMwA`OvdSmC5ivDpWsC?qu2O7gG2z=@xt#&qH$J;rhGfUiVmghVuIS4@!VQ=$U=pT zyWso^q5A+KGX|YsK$+T2RdN*U0%bLH7UvW=%N}aWPZY?K&gIzQMK1X^YgreuLS!~k z7+T2v?SY0@_40F?0zWb~#G!My0CJzw^*fsW_jo6Asqtl7N&{)DlOk#W#AD_q#`h=X zrM=}T_eHUH0{)WR5M^99OH_1b1RnO&`jGw$pc$;9AftQC{T3e>Uz7RW95w~`jz{ms zjxpB2gT3Bv2v(&&hRUf5IsUv$Ey@T+TcntLaH82={u%)%kH`>|Y`{teT%y58yVjk2 z5gzEseQCaPPcKuNbRxBjz#Y{tg`O1gd# zZl)nuYXC^1>g@8$!P8~;L8$SXb-CfYu4meM>*5Z7wEWV|_s#WkYDTBE2m4QBTy7V? zW+(1mb)&tp(!rUY*fHG1b0A#bF2f&diz+W2jLY7-)3^Gl4IaqIe$$ng&eIp_xb)sl zxTq`NEUOL`VMzEOi}w#dlI_D&3sp#9h=YE$5#th=B2AE(sEDHXZ2oqpcVD}BZ6Iyc zKXakC2GB(>Kqo%wPxWo-A1s!46V#6`jM73k!Z?1=TV=A`TWY+U%YEZgudEjKPeC|N zF+=~0vDp_;hj{iaj?*|YOeniZ^o|hc7iQr{uC|a-eR*?JB5BBxE`E%gh+zc3Hs~E8 zCxM=XXoJEFl$G+do#Liv?mx|Sv@jB*^WTK$ppeXUn|zQ(2+;f^rCxiM+PHr6aFs?9 zSy=kh8;VR4Kej7Uk}e85Vtd0mb@iIe5xq7XFC5bsc@Fp=IrcRf{OCbYz!RWdMoI(7 z?Yqd7(jE6*-rao_k4y<0_$ast=nzo!CFjj?4kTuMtKNELMAy0goQPVL|3Xydc8fAS zGUm=rommPxcK=&ZI@m4gfCqI!s}1*eQlW9T#((edK1c6Ktu2^~OZd%qOpT{eR)eh1 zhGw-Us{%w0m5w^vaBNNFLQK>k-+2=^H>U`#WmR90=R~=Id<6>J5I}Mnea|~91z9i( zgZ%u5-N&D&mx*N~^aXrbKIg_f9x7e_gRb*QZZKmP%gz@u=2q~z;L`2C2z?s4wSI(i zu<>7Q%qS74U``Bj8u-rlKqdLaitw2HXkw8=`9BJcIcw%7x^pika(QPsai+u2r5~dR zEJ9Sizs3fCfaMM6C!OOzS&ukr%KjlyuOt7|oqrp!0L%?S1yi*SH|g zhn}}v4b`u0Gjjy<=Ary;#vcsTwszGW2m5_88;pyWw^Z=x36@M_ya&3TMo}OwREp7u z^X+8}W4eG6G_J%*ujx{&!z)aVa~n~BT>DNzF8fM5Z96lsVi+agqGLZ4?`!_*+ z>8R{#C5sNIeKy^R+z1*9QKB5Nxw+|zMfc{2C$)mcw^#gGtf@ku6GF`Bz5$tmoZQnq z+RmY#xmqIIwQSZZlnAR*umWg!Ls(M@(JYA$PQxVVqsKMhs(*SlVu3*kDAh0|6Zhrf zZzh1~-0vXUEA&x4+UOOH+&U@VJep6m$!!@Xo>=!I(pUkzFtpS~%92F|u&&?V5sH_( zGT<0R$A1x1-slGg7+{x-Z^dkldbspq9W374O|_q*O)7GvElmK&uzUw)B+{37uXz6M zt95tRf?yJ(JsKf5JjtLzGYBO3AlXzlJkaDd==PH0$SO6y|K=!Hz}5Frh-}tI3+^%k zlmnN~lN_A9KLs*E0bD!#fi+_;iIt{-sn+enuaww{nEsfNDLL8BXHRy=oJ3Rw3PIl2 zcTC8XjR7pAfu6e|Z6|-lG*jOPJQi~Hq4!{am(kbW2pmu-QgE7G#>-k+LI)8c{YT}+ z2mV3tc_>SiT@V;6e8TlM92#0%mf$*ZKyPtqMuuQSS^}K;&zt}LAT91wBk?A&1}cT@ z0OIDRA|X?h+#uoFEZ!Z<8C}}TlSroYA^ZX{qe)ronAUx;C z?dLYUn}gUl)GZfaFMbN?kJP`8D|UvjDQtv*4KSZDkk+p8J!V4n!2#NTZ9@nj+0tk#u7a-giO^-}p1AE!pP zPObLrO|S9o@H;VmU6GV@(E5W)SKS1lPv$$c>9gm{qdn5uUgm1J41qjz>jDVYAP`BQ zbJhT4*O|3lyq;r;7Wsnn@59bVZVZzAK~WT`(1K>)$D`oTxSL4LAN60aX`-oH_>Pot zQspNdO5@#MsWr$CSu?ssxMyL-U+R%2=vj2`|AsA+A8Xk&NOObQuO2MyP-8DyKn&s; z&yrIjMl6#9ZXz4#x(Z9-FgbeAb#^|0tiQaVPQ4`;=9v3Tq7JC5wdUVYov4DK1rm$x z=r=X5NsCgDD_H!{@LHA;&}2a)%d${{>CgNVFJ{eSMUkb^p~&R|Mw z;ypiGi+wdFCcoTpW$;G3^?l0{3(@jJ^EP3fJl=u3$^_x`{;XJ^Q@r_(g!n zv*dH!wbM1vpng6tB^>BL03wo|VV#Fho}I|N&fu>@vD(dLNw^P zQ@L}v&#~;>j_5nYN~=L)@_jG_;kV}Kd{bBh+5Y319nGMS9Az%F)AT*ih`t(eyqhFJ z=FloU^p~52$~$87F!fYh{`g)V?32#H9a1?CJ&SIlXz+u^ZzSF{pd8R>yY z!Lhc>6EN420<;^jyzFup8K`u|4^%e3^omwXoTPm=$~_z06jT0qD($Q$yt78}je~OO zFH4|#A&^IbBt&Q5u0xEO(2voOX&Hm5;V>M z1QY`j34lV&3JV|Uk(Q#GmP@X5H@SK)l)O@n4aHB@@~aBd%GVS@UDZtmu=LOqx^nedNO@`MH!d5ERS^7r|0~Db87AiXwg;9UVtHR| z>7{zvu+gU#TKdSq;Qxv!k)%&sf=!I{XwV-;$WCPA@zF~=926sO+`nmowy(Bn!>$NN z76nk!wtYMRUBgi@jn(M*#ww;oR&n+NAg_Xmpo5ANAUX!I>`d|gw7r9pT#tr?Bt-oF zYO;Xsp+;47qhA4XUIHMv(EZPM0}PZ5&b%$Ozx^02)CY=ljhz<^QQp+5MlEtaOl_v6 ze1UvKRh290UI8f}V157nNw{}(HdWswQwHn`LD0{)y)#i%9hrs7PJ4|?LI7ta?_4p#+}ofc?N-;KJOHLFl^7^wT-^2KJ=)&} z%lo^6EUB?*Ac;ViL`n8tO81bYhzAWZT{gwmadm$V?Hh3qfUI`L?WUFd{STmyf>wpF zya@n}nCekWe)GU+?6?$?aM&Hvc2?f=-ud$Up~_Gv!y=`nMGs)BZdyh!Ke|N<51kXB z_wqfw*iTq?#-?Wo&V-%Y7#M_jl;A1UvARo*VU6>;zLKXrdhUSHb$6ssCn@L^#zPpoQ!l}rYEBnP{-#vnFOyDY{_5dpY1vn6IkmNnD`0D3vF6qTIm^&g zhbCC&Z+>Cy==?uFBdxNTD&{YzGM7-?sOuQA>mgXEg355R`bn9YSzQCfzzvsOyl+ts^4efxoj{=M6PR zU1k3cC$Ud{Yw$8Yxi9KqeU_W?P(NSi2^DY4_w?)?2xLJ;Y~sR;br3FE&}r}(sHaaH)ztm!{YoMPV8a?30!!k_uxh=A>YpxP&$q z(0ne~F@EV5aur34Zr7T|&Cl%{T!-BAHpTD>AzEaEveo)tZ+!~lx)^KL3=$RXBCVSO z86C3frd#<&IbTJn3k^5O>4|p5m@gS!1Tqvo`v#mzb-B3IzO(vC*>t5bz5q(VGK)o# zZCJ)BXfb2*79xVuTIt?-tK+!)Y!SP)3iFqqI2gKz$)~=}^ZJ%xo>Px|U}v?|)FI_Q zcZ~6W6lLX$g}6dpzt5#)gPSggxHGu!b@+n4{Y>Da>bDoR({MlxvS(R5p5{=FflhQ7 zENGW!r2%Q!_f2})Q8=IZQfPQYAkA)Tq3Mt?|2`YZbKfHypFuR3TxyQ-PC6WdLX^8B zO|jLAd+shr{%jJ#LP!G;glix#sLM=v0T4K@nOR79aHNm0+K=vrS>vITe!l zOL@<#v>+Hr+P1|9%B>t*dWf7PTo!Xu!Y)!Xl=#~j$DJq=PHzBCrgGGZ>{!X^@0eZS zBwZFEA08Cwo2&KXhQ^uiFb7zpt# zdmT|lSKq;Itz*E>Ps?g@F@f&8T=U{AvV|%A&#&xl9CyhYwBujhZtSzx0*?EVRC7wg zG00?}IzfKY%hB?=t>>hu!iYhZ#8`v3FI(0w4H(r&9;cf{!9es@(Nb;%S^@KYM zyz68te)iyj3`ed!E7jzk?<+Y@`@yhSiRMl{!O^0`1v@7jP7f1f_al#~$eKpm-_8y? zaR@W#x8B#;?RFdcR#z>V3Uc2d^j=4`mClney$K z@2ra#cAI93yk({H?*Z-R*RO9#q#zxEU$THis(+{7K+yzP|CxrolO;oP3%_{M(ykQv zC|&favETM%(|`a%0rs^RwQkw#Y+W9wPosO>t_opAL{p;;_=Q{6F&mrO9DJ#D@#BJ0^WUt%0y1i7ENj`Ik%Z|J=dOa3-JzQ3Z z4as@-O-%UGpnG~0~b{3-`DvB!D>E`USo-OlVC zSC&W8Sb1C}YCl=V)N~k@+IPT!45fRD49%sSmDdW>Xp|!EI~AHSTb_)06zavsvQ2=s zLtgOgXbER)Kk2DMoCW*!PO|gasQ%$mx!2g%M#@0$S5h%Z__T-Ngv;TDpy8;`uK!!t z>MHnjy7?Rjj{9eEsPP~7M;^5lN)J?j^|p3(=>@#1jot3)G#TYex>Ks|QJi$y2cKIU zBYKYeA!1&$U9_p0Y}1c>QQtB2?wdS?(S>sp-+jzPWX82 z(aOW^V_mMXiZ$Nk_82cncz7a%&uA~NgI9qN4O{k$K?%d4vxVH$jg;aJf#8@tq1^B3pPmHZRN(AHBX-e*>#Y7JK+QW$BR6j+&>|CO? z1X$nDfUA}a50v8h1H0Wz-@$Dlt)ZE-W+_2^Bv}_&@q2|aK{XZJ zl(o7eP-aWZ{3siL=FPN#H{K($1SoJQW{A6m+fW$xtcXOZ) zD6iiCL=&Gze}hv4%#7#gx_w|4&0G?xX^pnUae2Rsq8(6Qc)y?PEhCYa)~KDv-uv%I z^GG%*bMrw<)}<1-U2SfQuX?@>SWa?ED^LAwjdC%(`%4@u%?1zT;r_ZSTq7;3=*?2x zAJgFh`Qoju)KeO*&#RAWCRj|;?IhsF~gsYAD4%F^q{1$pR zDdOhlMl8eg9`~>khgv#Hq|ZZJW%l*CvyFb$FV?Tw4wqdH@C}M{WQ8HS5$MAKCMN=m z!Wgc~B9E4*riHyf+Zh$C2&MEfQ!BpnVj=E?d`z;(u33vxm`gUw`NHy89=8Fj*FIzk z7|xdC%iE|oYuB!6GX?hvz9pIUx?e1tj8(ajwu8?UaHTlRM_mmtjGHiL8>>bFc1uI< z+Q+KU+{n7{pFK&L(eq5Z)3QCH!@>}x04hhHD~`SWn}gaB>~2ZJuu$(oqmglyGGf*; z_E;yrxIy5fT;lP*+W-tcf1cX|yIj9Mv69ECD)nJxJ7oaFgY*pwv#;aKcN+|jird;2 zC`O^of6cBgqJN5+E_ggb<5mGBT=Wx{Yp|i-PY^pP*f%mN-)4A#8 zlleg@;Bpn*v(A&UCiOm(QdDroD~9gTWfEw62PTue| zecLV#IYPAYS2~*%I)2J?3Yp|vkRsXj6R#lhV^x|LtqNeHo)MS>Zf3f(`=`NQN@*EJ ztuEbDa(Vh!@=|3Q5MP1cHImJE$`pw0#}29)G~@y*kZnc|jD)Ck?SZgX4&(n^XDRm`OZ$aq|d)Pohu|-l>if#ve!+0rx;xx zE(r6)pgl*3T6=9GL%XQ7-$4vTU*@M?fA*{}(Y%FC-znYhOqR{nm*u89F+{*@)Shd_ z9@)g4z<1YunY;dVg;DKqL>A9^f!9n_@XK)lAxYBub>XHMS*1{#-ul;z@VKA2m}b$h z#ZD+ge;hWNRFM|s`SjXxGq-5E!;Gx!&NG$cb?JbJKJ6O`2E}9rYbkasPIhC{;iZD7 z1(Rk0ZFy>Kr)?$$vYlc0#>5XuRO(qZFD7e0^TUWoUM|qSA5-BOct9{UN?M;Ho)xad1e5wWT4UT3^S58yMwT(%k1L$f%!U=CBwJm{+)RMT!V%15K_TdsZnp5_Blzw1 z3a$xD($0E2V6c=&CDmO|<*L`NHkF6{o07_jb?gD*yARSFrDY=dyjoodv95%3mEcdE z?J$npC=uMQaB5L_bp`9)=jnsKX|nBr{`tCD)wML54Ol4Pv&u%*5P0mY;e5agx7o5c zr8NO!RC}p4sfAEttMj(#Y|VNNK&dRW|WT(RZ;vY z#)J^LmEihP+bbQ^f^YE}MOHAQIp|loW}hQyO}wbXS&Nn&M;T-~eI9bG)3G4V5&o8@ zgEmQ65HdSI)`>T|eT3-ly2*4|*Gj{|`EYn7E0b>;L6n7ex8(@=yc)$wW@%- zJAGcwFvi^nw5fi-M|?3-M;>PO`Gy-+hvrX@qJ7KVK9E4nuo{PA@DzjxEt>yp?7)~9~NCJ-go&)<|*d6Ku08(N|*{ZailEUIc%ry zpUwVs)k5YJA-iV%CS6K_a@Vcci zLtw`FFw$+#!=p1NaNw@u*<%qms$y+lYQz<~X>>0^&-{FVT`Mz9_OPDT`SHhuIp@`1 z3a__T>nQD{Kl)U>svLjR!j(o*E;{9{0-6NPc=xNt0wPSOUTkviGl+Fq6lS3i+^PG2KeODUq+% z-XRU8rohWZoUZR?9LzfzcT@U%R#@&n&Hs7&<~2JGv0 zGR;nDNfWpAgRtb}3aY>H2r1a~e=ngb+Ji|Q5f1COGh)4XSYd1M5jl1DUreOKOycNP z)R6~+%bS(Phc=YXeKi^sti1}q-rh`ANnq+)1lZw|7!jIWWF`$h2H>e?x|$|{LWR<*0t%L z+ssqJG~D5T3@shIzIL3(U1UF=sT*}B5fyABx__=0$-7e4p0Wdopvo+pGjD5pK`)Eq zz{|h%bKzELyp@N!*L5Y5c2Rf*mGn6j|9oz4cz8;)S-r97r3-Te3xrQ1>d~{5%MsG>olRvj=ZSyAyU`sir;axXLb^kLNbrN#19^Qqlzms~^5D<~kB i|NlR*0;8x}2sR|8bK#G8f}GLKl018&p;WG57W_YueU_2{ literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-sleeping.png b/_static/img/mascots/scylla-sleeping.png new file mode 100644 index 0000000000000000000000000000000000000000..f88598e05ad61c07b8fd4dd2df25db2c3b331ec5 GIT binary patch literal 12942 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 UO=AtOBHIEKWK^W9B;N=AKL$v=ApigX literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-tall-measure.png b/_static/img/mascots/scylla-tall-measure.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0ca146c0d4a9ca231919e5a38d26cecb176fd3 GIT binary patch literal 18996 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

7V#U-M2EVk_UGHzyn=t98lh6Suk{M*aQ=9*yn^ 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 v$lNm9so>ZzZN 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 literal 0 HcmV?d00001 diff --git a/_static/img/menu.svg b/_static/img/menu.svg new file mode 100644 index 00000000000..30ea1d901e1 --- /dev/null +++ b/_static/img/menu.svg @@ -0,0 +1,3 @@ + + + diff --git a/_static/jquery-3.5.1.js b/_static/jquery-3.5.1.js new file mode 100644 index 00000000000..50937333b99 --- /dev/null +++ b/_static/jquery-3.5.1.js @@ -0,0 +1,10872 @@ +/*! + * jQuery JavaScript Library v3.5.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2020-05-04T22:49Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.5.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.5 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2020-03-14 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +}; +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the master Deferred + master = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + master.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( master.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return master.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); + } + + return master.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + return result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + + which: function( event ) { + var button = event.button; + + // Add which for key events + if ( event.which == null && rkeyEvent.test( event.type ) ) { + return event.charCode != null ? event.charCode : event.keyCode; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { + if ( button & 1 ) { + return 1; + } + + if ( button & 2 ) { + return 3; + } + + if ( button & 4 ) { + return 2; + } + + return 0; + } + + return event.which; + } +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px"; + tr.style.height = "1px"; + trChild.style.height = "9px"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = parseInt( trStyle.height ) > 3; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( + dataPriv.get( cur, "events" ) || Object.create( null ) + )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) { + xml = undefined; + } + + if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script + if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Contributing to Scylla Operator

+
+

Prerequisites

+

To develop on scylla-operator, your environment must have the following:

+
    +
  1. Go 1.13

    +
      +
    • Make sure GOPATH is set to GOPATH=$HOME/go.

    • +
    +
  2. +
  3. Kustomize v3.1.0

  4. +
  5. kubebuilder v2.3.1

  6. +
  7. Docker

  8. +
  9. Git client installed

  10. +
  11. Github account

  12. +
+

To install all dependencies (Go, kustomize, kubebuilder, dep), simply run:

+
./install-dependencies.sh
+
+
+
+
+

Initial Setup

+
+

Create a Fork

+

From your browser navigate to http://github.com/scylladb/scylla-operator and click the “Fork” button.

+
+
+

Clone Your Fork

+

Open a console window and do the following:

+
# Create the scylla operator repo path
+mkdir -p $GOPATH/src/github.com/scylladb
+
+# Navigate to the local repo path and clone your fork
+cd $GOPATH/src/github.com/scylladb
+
+# Clone your fork, where <user> is your GitHub account name
+git clone https://github.com/<user>/scylla-operator.git
+
+
+
+
+

Add Upstream Remote

+

First you will need to add the upstream remote to your local git:

+
# Add 'upstream' to the list of remotes
+git remote add upstream https://github.com/scylladb/scylla-operator.git
+
+# Verify the remote was added
+git remote -v
+
+
+

Now you should have at least origin and upstream remotes. You can also add other remotes to collaborate with other contributors.

+
+
+
+

Development

+

To add a feature or to make a bug fix, you will need to create a branch in your fork and then submit a pull request (PR) from the branch.

+
+

Building the project

+

You can build the project using the Makefile commands:

+
    +
  • Open the Makefile and change the IMG environment variable to a repository you have access to.

  • +
  • Run make docker-push and wait for the image to be built and uploaded in your repo.

  • +
+
+
+

Create a Branch

+

From a console, create a new branch based on your fork and start working on it:

+
# Ensure all your remotes are up to date with the latest
+git fetch --all
+
+# Create a new branch that is based off upstream master.  Give it a simple, but descriptive name.
+# Generally it will be two to three words separated by dashes and without numbers.
+git checkout -b feature-name upstream/master
+
+
+

Now you are ready to make the changes and commit to your branch.

+
+
+

Updating Your Fork

+

During the development lifecycle, you will need to keep up-to-date with the latest upstream master. As others on the team push changes, you will need to rebase your commits on top of the latest. This avoids unnecessary merge commits and keeps the commit history clean.

+

Whenever you need to update your local repository, you never want to merge. You always will rebase. Otherwise you will end up with merge commits in the git history. If you have any modified files, you will first have to stash them (git stash save -u "<some description>").

+
git fetch --all
+git rebase upstream/master
+
+
+

Rebasing is a very powerful feature of Git. You need to understand how it works or else you will risk losing your work. Read about it in the Git documentation, it will be well worth it. In a nutshell, rebasing does the following:

+
    +
  • “Unwinds” your local commits. Your local commits are removed temporarily from the history.

  • +
  • The latest changes from upstream are added to the history

  • +
  • Your local commits are re-applied one by one

  • +
  • If there are merge conflicts, you will be prompted to fix them before continuing. Read the output closely. It will tell you how to complete the rebase.

  • +
  • When done rebasing, you will see all of your commits in the history.

  • +
+
+
+
+

Submitting a Pull Request

+

Once you have implemented the feature or bug fix in your branch, you will open a PR to the upstream repo. Before opening the PR ensure you have added unit tests, are passing the integration tests, cleaned your commit history, and have rebased on the latest upstream.

+

In order to open a pull request (PR) it is required to be up to date with the latest changes upstream. If other commits are pushed upstream before your PR is merged, you will also need to rebase again before it will be merged.

+
+

Commit History

+

To prepare your branch to open a PR, you will need to have the minimal number of logical commits so we can maintain +a clean commit history. Most commonly a PR will include a single commit where all changes are squashed, although +sometimes there will be multiple logical commits.

+
# Inspect your commit history to determine if you need to squash commits
+git log
+
+# Rebase the commits and edit, squash, or even reorder them as you determine will keep the history clean.
+# In this example, the last 5 commits will be opened in the git rebase tool.
+git rebase -i HEAD~5
+
+
+

Once your commit history is clean, ensure you have based on the latest upstream before you open the PR.

+
+
+

Commit messages

+

Please make the first line of your commit message a summary of the change that a user (not a developer) of Operator would like to read, +and prefix it with the most relevant directory of the change followed by a colon. +The changelog gets made by looking at just these first lines so make it good!

+

If you have more to say about the commit, then enter a blank line and carry on the description. +Remember to say why the change was needed - the commit itself shows what was changed.

+

Writing more is better than less. Comparing the behaviour before the change to that after the change is very useful. +Imagine you are writing to yourself in 12 months time when you’ve forgotten everything about what you just did, and you need to get up to speed quickly.

+

If the change fixes an issue then write Fixes #1234 in the commit message. +This can be on the subject line if it will fit. If you don’t want to close the associated issue just put #1234 and the change will get linked into the issue.

+

Here is an example of a short commit message:

+
sidecar: log on reconcile loop - fixes #1234
+
+
+

And here is an example of a longer one:

+

+api: now supports host networking (#1234)
+
+The operator CRD now has a "network" property that can be used to
+select host networking as well as setting the apropriate DNS policy.
+
+Fixes #1234
+
+
+
+
+

Submitting

+

Go to the Scylla Operator github to open the PR. If you have pushed recently, you should see an obvious link to open the PR. If you have not pushed recently, go to the Pull Request tab and select your fork and branch for the PR.

+

After the PR is open, you can make changes simply by pushing new commits. Your PR will track the changes in your fork and update automatically.

+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/eks.html b/master/eks.html new file mode 100644 index 00000000000..9a02de3a0e2 --- /dev/null +++ b/master/eks.html @@ -0,0 +1,710 @@ + + + + + + + + + + + + + Deploying Scylla on EKS | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying Scylla on EKS

+

This guide is focused on deploying Scylla on EKS with improved performance. +Performance tricks used by the script won’t work with different machine tiers. +It sets up the kubelets on EKS nodes to run with static cpu policy and uses local sdd disks in RAID0 for maximum performance.

+

Most of the commands used to setup the Scylla cluster are the same for all environments +As such we have tried to keep them separate in the general guide.

+
+

TL;DR;

+

If you don’t want to run the commands step-by-step, you can just run a script that will set everything up for you:

+
# Edit according to your preference
+EKS_REGION=us-east-1
+EKS_ZONES=us-east-1a,us-east-1b,us-east-1c
+
+# From inside the examples/eks folder
+cd examples/eks
+./eks.sh -z "$EKS_ZONES" -r "$EKS_REGION"
+
+
+

After you deploy, see how you can benchmark your cluster with cassandra-stress.

+
+
+

Walkthrough

+
+

EKS Setup

+
+

Configure environment variables

+

First of all, we export all the configuration options as environment variables. +Edit according to your own environment.

+
EKS_REGION=us-east-1
+EKS_ZONES=us-east-1a,us-east-1b,us-east-1c
+CLUSTER_NAME=scylla-demo
+
+
+
+
+

Creating an EKS cluster

+

For this guide, we’ll create an EKS cluster with the following:

+
    +
  • A NodeGroup of 3 i3-2xlarge Nodes, where the Scylla Pods will be deployed. These nodes will only accept pods having scylla-clusters toleration.

  • +
+
  - name: scylla-pool
+    instanceType: i3.2xlarge
+    desiredCapacity: 3
+    labels:
+      scylla.scylladb.com/node-type: scylla
+    taints:
+      role: "scylla-clusters:NoSchedule"
+    ssh:
+      allow: true
+    kubeletExtraConfig:
+      cpuManagerPolicy: static
+
+
+
    +
  • A NodeGroup of 4 c4.2xlarge Nodes to deploy cassandra-stress later on. These nodes will only accept pods having cassandra-stress toleration.

  • +
+
  - name: cassandra-stress-pool
+    instanceType: c4.2xlarge
+    desiredCapacity: 4
+    labels:
+      pool: "cassandra-stress-pool"
+    taints:
+      role: "cassandra-stress:NoSchedule"
+    ssh:
+      allow: true
+
+
+
    +
  • A NodeGroup of 1 i3.large Node, where the monitoring stack and operator will be deployed.

  • +
+
  - name: monitoring-pool
+    instanceType: i3.large
+    desiredCapacity: 1
+    labels:
+      pool: "monitoring-pool"
+    ssh:
+      allow: true
+
+
+
+
+
+

Prerequisites

+
+

Installing script third party dependencies

+

Script requires several dependencies:

+
    +
  • eksctl - See: https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html

  • +
  • kubectl - See: https://kubernetes.io/docs/tasks/tools/install-kubectl/

  • +
+
+
+
+

Deploying ScyllaDB Operator

+

Refer to Deploying Scylla on a Kubernetes Cluster in the ScyllaDB Operator documentation to deploy the ScyllaDB Operator and its prerequisites.

+
+

Setting up nodes for ScyllaDB

+

ScyllaDB, except when in developer mode, requires storage with XFS filesystem. The local NVMes from the cloud provider usually come as individual devices. To use their full capacity together, you’ll first need to form a RAID array from those disks. +NodeConfig performs the necessary RAID configuration and XFS filesystem creation, as well as it optimizes the nodes. You can read more about it in Performance tuning section of ScyllaDB Operator’s documentation.

+

Deploy NodeConfig to let it take care of the above operations:

+
kubectl apply --server-side -f examples/eks/nodeconfig-alpha.yaml
+
+
+
+
+

Deploying Local Volume Provisioner

+

Afterwards, deploy ScyllaDB’s Local Volume Provisioner, capable of dynamically provisioning PersistentVolumes for your ScyllaDB clusters on mounted XFS filesystems, earlier created over the configured RAID0 arrays.

+
kubectl -n local-csi-driver apply --server-side -f examples/common/local-volume-provisioner/local-csi-driver/
+kubectl apply --server-side -f examples/common/local-volume-provisioner/storageclass_xfs.yaml
+
+
+
+
+
+

Deploying ScyllaDB

+

Now you can follow the steps described in Deploying Scylla on a Kubernetes Cluster to launch your ScyllaDB cluster in a highly performant environment.

+
+

Accessing the database

+

Instructions on how to access the database can also be found in the generic guide.

+
+
+
+

Deleting an EKS cluster

+

Once you are done with your experiments delete your cluster using the following command:

+
eksctl delete cluster "${CLUSTER_NAME}"
+
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/exposing.html b/master/exposing.html new file mode 100644 index 00000000000..6fa2f9c787c --- /dev/null +++ b/master/exposing.html @@ -0,0 +1,818 @@ + + + + + + + + + + + + + Exposing ScyllaCluster | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Exposing ScyllaCluster

+

This document explains how ScyllaDB Operator exposes ScyllaClusters in different network setups. +A ScyllaCluster can be exposed in various network configurations, independently to clients and nodes.

+

ScyllaClusters can be only exposed when the ScyllaDB version used version is >=2023.1 ScyllaDB Enterprise or >=5.2 ScyllaDB Open Source.

+
+

Expose Options

+

exposeOptions specifies configuration options for exposing ScyllaCluster’s. +A ScyllaCluster created without any exposeOptions is equivalent to the following:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+     type: ClusterIP
+    broadcastOptions:
+      clients:
+        type: ServiceClusterIP
+      nodes:
+        type: ServiceClusterIP
+
+
+

The following sections cover what every field controls and what the configuration options are.

+
+

Node Service Template

+

nodeService serves as a template for a node-dedicated Service managed by the Scylla Operator for each node within a ScyllaCluster. +The properties of the Services depend on the selected type. +Additionally, there’s an option to define custom annotations, incorporated into each node’s Service, +which might be useful for further tweaking the Service properties or related objects.

+
+

Headless Type

+

For Headless type, Scylla Operator creates a Headless Service with a selector pointing to the particular node in the ScyllaCluster. +Such Service doesn’t provide any additional IP addresses, and the internal DNS record resolves to the PodIP of a node.

+

This type of Service is useful when ScyllaCluster nodes broadcast PodIPs to clients and other nodes.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+     type: Headless
+
+
+
+
+

ClusterIP Type

+

For ClusterIP type, Scylla Operator creates a ClusterIP Service backed by a specific node in the ScyllaCluster.

+

These IP addresses are only routable within the same Kubernetes cluster, so it’s a good fit, if you don’t want to expose them to other networks.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+     type: ClusterIP
+
+
+
+
+

LoadBalancer Type

+

For the LoadBalancer type, Scylla Operator generates a LoadBalancer Service that directs traffic to a specific node within the ScyllaCluster. +On platforms with support for external load balancers, this Service provisions one. +The accessibility of this load balancer’s address depends on the platform and any customizations made; in some cases it may be reachable from the internal network or public Internet.

+

LoadBalancer Service is a superset of ClusterIP Service, implying that each LoadBalancer Service also contains an allocated ClusterIP. +They can be configured using the following fields, which propagate to every node Service:

+
    +
  • externalTrafficPolicy

  • +
  • internalTrafficPolicy

  • +
  • loadBalancerClass

  • +
  • allocateLoadBalancerNodePorts

  • +
+

Check Kubernetes Service documentation to learn more about these options.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+     type: LoadBalancer
+     loadBalancerClass: my-custom-load-balancer-class
+
+
+
+
+
+
+

Broadcast Options

+

Broadcast options control what is the source of the address being broadcasted to clients and nodes. +It’s configured independently for clients and nodes because you may want to expose these two types of traffic on different networks. +Using different networks can help manage costs, reliability, latency, security policies or other metrics you care about.

+
+

PodIP Type

+

Address broadcasted to clients/nodes is taken from Pod. +By default, the address is taken from Pod’s status.PodIP field. +Because a Pod can use multiple address, you may want to provide source options by specifying podIP.source.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    broadcastOptions:
+       clients:
+         type: PodIP
+         podIP:
+           source: Status
+
+
+
+
+

ServiceClusterIP Type

+

Address broadcasted to clients or nodes is taken from spec.ClusterIP field of a node’s dedicated Service.

+

In order to configure it, the nodeService template must specify a Service having a ClusterIP assigned.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    broadcastOptions:
+       clients:
+         type: ServiceClusterIP
+
+
+
+
+

ServiceLoadBalancerIngress Type

+

Address broadcasted to clients/nodes is taken from the node dedicated Service, from status.ingress[0].ipAddress or status.ingress[0].hostname field.

+

In order to configure it, the nodeService template must specify the LoadBalancer Service.

+

Example:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    broadcastOptions:
+       clients:
+         type: ServiceLoadBalancerIngress
+         podIP:
+           source: Status
+
+
+
+
+
+
+

Deployment Examples

+

The following section contains several specific examples of various network scenarios and explains how nodes and clients communicate with one another.

+
+

In-cluster only

+

ScyllaCluster definition:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+      type: ClusterIP
+    broadcastOptions:
+      clients:
+        type: ServiceClusterIP
+      nodes:
+        type: ServiceClusterIP
+
+
+

Both client and nodes are deployed within the same Kubernetes cluster. +They talk through ClusterIP addresses taken from the Service. +Because ClusterIP Services are only routable within the same Kubernetes cluster, this cluster won’t be reachable from outside.

+

ClusterIPs

+
+
+

In-cluster node-to-node, VPC clients-to-nodes

+

ScyllaCluster definition:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+      type: ClusterIP
+    broadcastOptions:
+      clients:
+        type: PodIP
+      nodes:
+        type: ServiceClusterIP
+
+
+

In this scenario, we assume that the Pod IP subnet is routable within a VPC. +Clients within the VPC network can communicate directly with ScyllaCluster nodes using PodIPs. +Nodes communicate with each other exclusively within the same Kubernetes cluster.

+

PodIPs

+
+
+

Multi VPC

+

ScyllaCluster definition:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+      type: Headless
+    broadcastOptions:
+      clients:
+        type: PodIP
+      nodes:
+        type: PodIP
+
+
+

In this scenario, we set up two separate Kubernetes clusters in distinct VPCs. +These VPCs are interconnected to facilitate inter-VPC connectivity. +We operate on the assumption that the Pod IP subnet is routable within each VPC.

+

Both ScyllaClusters use the same exposeOptions, nodes broadcast their Pod IP addresses, enabling them to establish connections with one another. +****Check other documentation pages to know how to connect two ScyllaClusters into one logical cluster.

+

Clients, whether deployed within the same Kubernetes cluster or within a VPC, have the capability to reach nodes using their Pod IPs. +Since there is no requirement for any address other than the Pod IP, the Headless service type is sufficient.

+

MultiVPC

+
+
+

Internet

+

ScyllaCluster definition:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+      type: LoadBalancer
+    broadcastOptions:
+      clients:
+        type: ServiceLoadBalancerIngress
+      nodes:
+        type: ClusterIP 
+
+
+

We assume that a Kubernetes cluster has been deployed in a cloud provider environment that supports external load balancers. +By specifying the LoadBalancer type in the nodeService template, the Scylla Operator generates a dedicated LB Service for each node. +The cloud provider then establishes an external load balancer with an internet-accessible address. +ScyllaDB nodes broadcast this external address to clients, enabling drivers to connect and discover other nodes. +Since all ScyllaDB nodes reside within the same Kubernetes cluster, there is no need to route traffic through the internet. +Consequently, the nodes are configured to communicate via ClusterIP, which is also accessible within LoadBalancer Services.

+

Internet

+
+

Other more complex scenarios can be built upon these simple ones.

+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/generic.html b/master/generic.html new file mode 100644 index 00000000000..760e504b7f6 --- /dev/null +++ b/master/generic.html @@ -0,0 +1,927 @@ + + + + + + + + + + + + + Deploying Scylla on a Kubernetes Cluster | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying Scylla on a Kubernetes Cluster

+

This is a guide to deploy a Scylla Cluster in a generic Kubernetes environment, meaning that Scylla will not be deployed with the ideal performance. +Scylla performs the best when it has fast disks and direct access to the cpu. +This requires some extra setup, which is platform-specific. +For specific configuration and setup, check for details about your particular environment:

+ +
+

Prerequisites

+ +
+
+

Running locally

+

Running kubernetes locally is a daunting and error prone task. +Fortunately there are ways to make life easier and Minikube makes it a breeze.

+

We need to give minikube a little bit more resources than default so start minikube like this:

+
minikube start --cpus=6
+
+
+

Then make kubectl aware of this local installation like this:

+
eval $(minikube docker-env)
+
+
+
+
+

Download Scylla Operator

+

In this guide you will be using the examples and manifests from Scylla Operator repository, so start off by cloning it to your local machine.

+
git clone git@github.com:scylladb/scylla-operator.git
+cd scylla-operator
+
+
+
+
+

Deploy Cert Manager

+

First deploy Cert Manager, you can either follow upsteam instructions or use following command:

+
kubectl apply -f examples/common/cert-manager.yaml
+
+
+

This will install Cert Manager to provision a self-signed certificate.

+

Once it’s deployed, wait until Cert Manager is ready:

+
kubectl wait --for condition=established crd/certificates.cert-manager.io crd/issuers.cert-manager.io
+kubectl -n cert-manager rollout status deployment.apps/cert-manager-webhook
+
+
+
+
+

Deploy Scylla Operator

+

Deploy the Scylla Operator using the following commands:

+
kubectl apply -f examples/common/operator.yaml
+
+
+

This will install the operator in namespace scylla-operator. +Wait until it’s ready:

+
kubectl wait --for condition=established crd/scyllaclusters.scylla.scylladb.com
+kubectl -n scylla-operator rollout status deployment.apps/scylla-operator
+
+
+

If you want to check the logs of the operator you can do so with:

+
kubectl -n scylla-operator logs deployment.apps/scylla-operator
+
+
+
+
+

Create and Initialize a Scylla Cluster

+

Now that the operator is running, we can create an instance of a Scylla cluster by creating an instance of the clusters.scylla.scylladb.com resource. +Some of that resource’s values are configurable, so feel free to browse cluster.yaml and tweak the settings to your liking. +Full details for all the configuration options can be found in the Scylla Cluster CRD documentation.

+

When you are ready to create a Scylla cluster, simply run:

+
kubectl create -f examples/generic/cluster.yaml
+
+
+

We can verify that a Kubernetes object has been created that represents our new Scylla cluster with the command below. +This is important because it shows that has successfully extended Kubernetes to make Scylla clusters a first class citizen in the Kubernetes cloud-native environment.

+
kubectl -n scylla get ScyllaCluster
+
+
+

Checking the pods that are created is as easy as:

+
kubectl -n scylla get pods
+
+
+

The output should be something like:

+
NAME                                    READY   STATUS    RESTARTS   AGE
+simple-cluster-us-east-1-us-east-1a-0   2/2     Running   0          9m49s
+simple-cluster-us-east-1-us-east-1a-1   2/2     Running   0          7m43s
+simple-cluster-us-east-1-us-east-1a-2   2/2     Running   0          6m46s
+
+
+

It is important to note that the operator creates these instances according to a pattern. +This pattern is as follows: CLUSTER_NAME-DATACENTER_NAME-RACK_NAME-INSTANCE_NUMBER as specified in cluster.yaml.

+

In the above example we have the following properties:

+
    +
  • CLUSTER_NAME: simple-cluster

  • +
  • DATACENTER_NAME: us-east-1

  • +
  • RACK_NAME: us-east-1a

  • +
  • INSTANCE_NUMBER: An automatically generated number attached to the pod name.

  • +
+

We picked the names to resemble something you can find in a cloud service but this is inconsequential, they can be set to anything you want.

+

To check if all the desired members are running, you should see the same number of entries from the following command as the number of members that was specified in cluster.yaml:

+
kubectl -n scylla get pod -l app=scylla
+
+
+

You can also track the state of a Scylla cluster from its status. To check the current status of a Cluster, run:

+
kubectl -n scylla describe ScyllaCluster simple-cluster
+
+
+

Checking the logs of the running scylla instances can be done like this:

+
kubectl -n scylla logs simple-cluster-us-east-1-us-east-1a-0 scylla
+
+
+
+

Configure host networking

+

To squeeze the most out of your deployment it is sometimes necessary to employ host networking. +To enable this the CRD allows for specifying a network parameter as such:

+
version: 4.0.0
+  agentVersion: 2.0.2
+  cpuset: true
+  network:
+    hostNetworking: true
+
+
+

This will result in hosts network to be used for the Scylla Stateful Set deployment.

+
+
+

Configure container kernel parameters

+

Sometimes it is necessary to run the container with different kernel parameters. +In order to support this, the Scylla Operator defines a cluster property sysctls that is a list of the desired key-value pairs to set.

+

For example: To increase the number events available for asynchronous IO processing in the Linux kernel to N set sysctls tofs.aio-max-nr=N.

+
spec:
+  sysctls:
+  - "fs.aio-max-nr=2097152"
+
+
+
+
+

Deploying Alternator

+

The operator is also capable of deploying Alternator instead of the regular Scylla. +This requires a small change in the cluster definition. +Change the cluster.yaml file from this:

+
spec:
+  version: 4.0.0
+  agentVersion: 2.0.2
+  developerMode: true
+  datacenter:
+    name: us-east-1
+
+
+

to this:

+
spec:
+  version: 4.0.0
+  alternator:
+    port: 8000
+    writeIsolation: only_rmw_uses_lwt
+  agentVersion: 2.0.2
+  developerMode: true
+  datacenter:
+    name: us-east-1
+
+
+

You can specify whichever port you want.

+

You must provide desired write isolation, supported values are: “always”, “forbid_rmw”, “only_rmw_uses_lwt”. +Difference between those isolation levels can be found in Scylla Alternator documentation.

+

Once this is done the regular CQL ports will no longer be available, the cluster is a pure Alternator cluster.

+
+
+
+

Accessing the Database

+
    +
  • From kubectl:

  • +
+

To get a cqlsh shell in your new Cluster:

+
kubectl exec -n scylla -it simple-cluster-us-east-1-us-east-1a-0 -- cqlsh
+> DESCRIBE KEYSPACES;
+
+
+
    +
  • From inside a Pod:

  • +
+

When you create a new Cluster, automatically creates a Service for the clients to use in order to access the Cluster. +The service’s name follows the convention <cluster-name>-client. +You can see this Service in your cluster by running:

+
kubectl -n scylla describe service simple-cluster-client
+
+
+

Pods running inside the Kubernetes cluster can use this Service to connect to Scylla. +Here’s an example using the Python Driver:

+
from cassandra.cluster import Cluster
+
+cluster = Cluster(['simple-cluster-client.scylla.svc'])
+session = cluster.connect()
+
+
+

If you are running the Alternator you can access the API on the port you specified using plain http.

+
+
+

Configure Scylla

+

The operator can take a ConfigMap and apply it to the scylla.yaml configuration file. +This is done by adding a ConfigMap to Kubernetes and refering to this in the Rack specification. +The ConfigMap is just a file called scylla.yaml that has the properties you want to change in it. +The operator will take the default properties for the rest of the configuration.

+
    +
  • Create a ConfigMap the default name that the operator uses is scylla-config:

  • +
+
kubectl create configmap scylla-config -n scylla --from-file=/path/to/scylla.yaml
+
+
+
    +
  • Wait for the mount to propagate and then restart the cluster:

  • +
+
kubectl rollout restart -n scylla statefulset/simple-cluster-us-east-1-us-east-1a
+
+
+
    +
  • The new config should be applied automatically by the operator, check the logs to be sure.

  • +
+

Configuring cassandra-rackdc.properties is done by adding the file to the same mount as scylla.yaml.

+
kubectl create configmap scylla-config -n scylla --from-file=/tmp/scylla.yaml --from-file=/tmp/cassandra-rackdc.properties -o yaml --dry-run | kubectl replace -f -
+
+
+

The operator will then apply the overridable properties prefer_local and dc_suffix if they are available in the provided mounted file.

+
+

Note

+

If you want to enable authentication, you first need to adjust system_auth keyspace replication factor to the number of nodes in the datacenter via cqlsh. It allows you to ensure that the user’s information is kept highly available for the cluster. If system_auth is not equal to the number of nodes and a node fails, the user whose information is on that node will be denied access. +For production environments only use NetworkTopologyStrategy.

+
kubectl -n scylla exec -it pods/simple-cluster-us-east-1-us-east-1a-0 -c scylla -- cqlsh -e "ALTER KEYSPACE system_auth WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'us-east-1' : <replication_factor>};"
+
+
+

You can read more about enabling authentication in the Enable authentication section of ScyllaDB’s documentation.

+
+
+
+

Configure Scylla Manager Agent

+

The operator creates a second container for each scylla instance that runs Scylla Manager Agent. +This container serves as a sidecar and it’s the main endpoint for interacting with Scylla API. +The Scylla Manager Agent can be configured with various things such as the security token used to allow access to Scylla API and storage providers for backups.

+

To configure the agent you just create a new secret called scylla-agent-config-secret and populate it with the contents in the scylla-manager-agent.yaml file like this:

+
kubectl create secret -n scylla generic scylla-agent-config-secret --from-file scylla-manager-agent.yaml
+
+
+

See Scylla Manager Agent configuration for a complete reference of the Scylla Manager agent config file.

+
+

Scylla Manager Agent auth token

+

Operator provisions Agent auth token by copying value from user provided config secret or auto generates it if it’s empty. +To check which value is being used, decode content of <cluster-name>-auth-token secret. +To change it simply remove the secret. Operator will create a new one. To pick up the change in the cluster, initiate a rolling restart.

+
+
+
+

Set up monitoring

+

To set up monitoring using Prometheus and Grafana follow this guide.

+
+
+

Scale a ScyllaCluster

+

The operator supports adding new nodes to existing racks, adding new racks to the cluster, as well as removing both single nodes and entire racks. To introduce the changes, edit the cluster with:

+
kubectl -n scylla edit scyllaclusters.scylla.scylladb.com/simple-cluster
+
+
+
    +
  • To modify the number of nodes in a rack, update the members field of the selected rack to a desired value.

  • +
  • To add a new rack, append it to the .spec.datacenter.racks list. Remember to choose a unique rack name for the new rack.

  • +
  • To remove a rack, first scale it down to zero nodes, and then remove it from .spec.datacenter.racks list.

  • +
+

Having edited and saved the yaml, you can check your cluster’s Status and Events to retrieve information about what’s happening:

+
kubectl -n scylla describe scyllaclusters.scylla.scylladb.com/simple-cluster
+
+
+
+

Note

+

If you have configured ScyllaDB with authenticator set to PasswordAuthenticator, you need to manually configure the replication factor of the system_auth keyspace with every scaling operation.

+
kubectl -n scylla exec -it pods/simple-cluster-us-east-1-us-east-1a-0 -c scylla -- cqlsh -u <username> -p <password> -e "ALTER KEYSPACE system_auth WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'us-east-1' : <new_replication_factor>};"
+
+
+

It is recommended to set system_auth replication factor to the number of nodes in each datacenter.

+
+
+
+

Benchmark with cassandra-stress

+

After deploying our cluster along with the monitoring, we can benchmark it using cassandra-stress and see its performance in Grafana. We have a mini cli that generates Kubernetes Jobs that run cassandra-stress against a cluster.

+
+

Because cassandra-stress doesn’t scale well to multiple cores, we use multiple jobs with a small core count for each

+
+
# Run a benchmark with 10 jobs, with 6 cpus and 50.000.000 operations each.
+# Each Job will throttle throughput to 30.000 ops/sec for a total of 300.000 ops/sec.
+hack/cass-stress-gen.py --num-jobs=10 --cpu=6 --memory=20G --ops=50000000 --limit=30000
+kubectl apply -f scripts/cassandra-stress.yaml
+
+
+

Make sure you set the proper arguments in case you have altered things such as name or namespace.

+
./hack/cass-stress-gen.py -h
+usage: cass-stress-gen.py [-h] [--num-jobs NUM_JOBS] [--name NAME] [--namespace NAMESPACE] [--scylla-version SCYLLA_VERSION] [--host HOST] [--cpu CPU] [--memory MEMORY] [--ops OPS] [--threads THREADS] [--limit LIMIT]
+                          [--connections-per-host CONNECTIONS_PER_HOST] [--print-to-stdout] [--nodeselector NODESELECTOR]
+
+Generate cassandra-stress job templates for Kubernetes.
+
+optional arguments:
+  -h, --help            show this help message and exit
+  --num-jobs NUM_JOBS   number of Kubernetes jobs to generate - defaults to 1
+  --name NAME           name of the generated yaml file - defaults to cassandra-stress
+  --namespace NAMESPACE
+                        namespace of the cassandra-stress jobs - defaults to "default"
+  --scylla-version SCYLLA_VERSION
+                        version of scylla server to use for cassandra-stress - defaults to 4.0.0
+  --host HOST           ip or dns name of host to connect to - defaults to scylla-cluster-client.scylla.svc
+  --cpu CPU             number of cpus that will be used for each job - defaults to 1
+  --memory MEMORY       memory that will be used for each job in GB, ie 2G - defaults to 2G * cpu
+  --ops OPS             number of operations for each job - defaults to 10000000
+  --threads THREADS     number of threads used for each job - defaults to 50 * cpu
+  --limit LIMIT         rate limit for each job - defaults to no rate-limiting
+  --connections-per-host CONNECTIONS_PER_HOST
+                        number of connections per host - defaults to number of cpus
+  --print-to-stdout     print to stdout instead of writing to a file
+  --nodeselector NODESELECTOR
+                        nodeselector limits cassandra-stress pods to certain nodes. Use as a label selector, eg. --nodeselector role=scylla
+
+
+

While the benchmark is running, open up Grafana and take a look at the monitoring metrics.

+

After the Jobs finish, clean them up with:

+
kubectl delete -f scripts/cassandra-stress.yaml
+
+
+
+
+

Clean Up

+

To clean up all resources associated with this walk-through, you can run the commands below.

+

NOTE: this will destroy your database and delete all of its associated data.

+
kubectl delete -f examples/generic/cluster.yaml
+kubectl delete -f examples/common/operator.yaml
+kubectl delete -f examples/common/cert-manager.yaml
+
+
+
+
+

Troubleshooting

+

If the cluster does not come up, the first step would be to examine the operator’s logs:

+
kubectl -n scylla-operator logs deployment.apps/scylla-operator
+
+
+

If everything looks OK in the operator logs, you can also look in the logs for one of the Scylla instances:

+
kubectl -n scylla logs simple-cluster-us-east-1-us-east-1a-0
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/genindex.html b/master/genindex.html new file mode 100644 index 00000000000..65721c291b9 --- /dev/null +++ b/master/genindex.html @@ -0,0 +1,532 @@ + + + + + + + + + + + + + Index | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ + + +
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/gke.html b/master/gke.html new file mode 100644 index 00000000000..33962bf1b8b --- /dev/null +++ b/master/gke.html @@ -0,0 +1,746 @@ + + + + + + + + + + + + + Deploying Scylla on GKE | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying Scylla on GKE

+

This guide is focused on deploying Scylla on GKE with maximum performance (without any persistence guarantees). +It sets up the kubelets on GKE nodes to run with static cpu policy and uses local sdd disks in RAID0 for maximum performance.

+

Most of the commands used to setup the Scylla cluster are the same for all environments +As such we have tried to keep them separate in the general guide.

+
+

TL;DR;

+

If you don’t want to run the commands step-by-step, you can just run a script that will set everything up for you:

+
# Edit according to your preference
+GCP_USER=$(gcloud config list account --format "value(core.account)")
+GCP_PROJECT=$(gcloud config list project --format "value(core.project)")
+GCP_ZONE=us-west1-b
+
+# From inside the examples/gke folder
+cd examples/gke
+./gke.sh -u "$GCP_USER" -p "$GCP_PROJECT" -z "$GCP_ZONE"
+
+# Example:
+# ./gke.sh -u yanniszark@arrikto.com -p gke-demo-226716 -z us-west1-b
+
+
+

:warning: Make sure to pass a ZONE (ex.: us-west1-b) and not a REGION (ex.: us-west1) or it will deploy nodes in each ZONE available in the region.

+

After you deploy, see how you can benchmark your cluster with cassandra-stress.

+
+
+

Walkthrough

+
+

Google Kubernetes Engine Setup

+
+

Configure environment variables

+

First of all, we export all the configuration options as environment variables. +Edit according to your own environment.

+
GCP_USER=$( gcloud config list account --format "value(core.account)" )
+GCP_PROJECT=$( gcloud config list project --format "value(core.project)" )
+GCP_REGION=us-west1
+GCP_ZONE=us-west1-b
+CLUSTER_NAME=scylla-demo
+CLUSTER_VERSION=$( gcloud container get-server-config --zone ${GCP_ZONE} --format "value(validMasterVersions[0])" )
+
+
+
+
+

Creating a GKE cluster

+

First we need to change kubelet CPU Manager policy to static by providing a config file. Create file called systemconfig.yaml with the following content:

+
kubeletConfig:
+  cpuManagerPolicy: static
+
+
+

Then we’ll create a GKE cluster with the following:

+
    +
  1. A NodePool of 2 n1-standard-8 Nodes, where the operator and the monitoring stack will be deployed. These are generic Nodes and their free capacity can be used for other purposes.

    +
    gcloud container \
    +clusters create "${CLUSTER_NAME}" \
    +--cluster-version "${CLUSTER_VERSION}" \
    +--node-version "${CLUSTER_VERSION}" \
    +--machine-type "n1-standard-8" \
    +--num-nodes "2" \
    +--disk-type "pd-ssd" --disk-size "20" \
    +--image-type "UBUNTU_CONTAINERD" \
    +--system-config-from-file=systemconfig.yaml \
    +--enable-stackdriver-kubernetes \
    +--no-enable-autoupgrade \
    +--no-enable-autorepair
    +
    +
    +
  2. +
  3. A NodePool of 2 n1-standard-32 Nodes to deploy cassandra-stress later on.

    +
    gcloud container --project "${GCP_PROJECT}" \
    +node-pools create "cassandra-stress-pool" \
    +--cluster "${CLUSTER_NAME}" \
    +--zone "${GCP_ZONE}" \
    +--node-version "${CLUSTER_VERSION}" \
    +--machine-type "n1-standard-32" \
    +--num-nodes "2" \
    +--disk-type "pd-ssd" --disk-size "20" \
    +--node-taints role=cassandra-stress:NoSchedule \
    +--image-type "UBUNTU_CONTAINERD" \
    +--no-enable-autoupgrade \
    +--no-enable-autorepair
    +
    +
    +
  4. +
  5. A NodePool of 4 n1-standard-32 Nodes, where the Scylla Pods will be deployed. Each of these Nodes has 8 local NVMe SSDs attached, which are provided as raw block devices. It is important to disable autoupgrade and autorepair. Automatic cluster upgrade or node repair has a hard timeout after which it no longer respect PDBs and force deletes the Compute Engine instances, which also deletes all data on the local SSDs. At this point, it’s better to handle upgrades manually, with more control over the process and error handling.

    +
    gcloud container \
    +node-pools create "scylla-pool" \
    +--cluster "${CLUSTER_NAME}" \
    +--node-version "${CLUSTER_VERSION}" \
    +--machine-type "n1-standard-32" \
    +--num-nodes "4" \
    +--disk-type "pd-ssd" --disk-size "20" \
    +--local-nvme-ssd-block count="8" \
    +--node-taints role=scylla-clusters:NoSchedule \
    +--node-labels scylla.scylladb.com/node-type=scylla \
    +--image-type "UBUNTU_CONTAINERD" \
    +--no-enable-autoupgrade \
    +--no-enable-autorepair
    +
    +
    +
  6. +
+
+
+

Setting Yourself as cluster-admin

+
+

(By default GKE doesn’t give you the necessary RBAC permissions)

+
+

Get the credentials for your new cluster

+
gcloud container clusters get-credentials "${CLUSTER_NAME}" --zone="${GCP_ZONE}"
+
+
+

Create a ClusterRoleBinding for your user. +In order for this to work you need to have at least permission container.clusterRoleBindings.create. +The easiest way to obtain this permission is to enable the Kubernetes Engine Admin role for your user in the GCP IAM web interface.

+
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user "${GCP_USER}"
+
+
+
+
+
+

Prerequisites

+
+
+

Deploying ScyllaDB Operator

+

Refer to Deploying Scylla on a Kubernetes Cluster in the ScyllaDB Operator documentation to deploy the ScyllaDB Operator and its prerequisites.

+
+

Setting up nodes for ScyllaDB

+

ScyllaDB, except when in developer mode, requires storage with XFS filesystem. The local NVMes from the cloud provider usually come as individual devices. To use their full capacity together, you’ll first need to form a RAID array from those disks. +NodeConfig performs the necessary RAID configuration and XFS filesystem creation, as well as it optimizes the nodes. You can read more about it in Performance tuning section of ScyllaDB Operator’s documentation.

+

Deploy NodeConfig to let it take care of the above operations:

+
kubectl apply --server-side -f examples/gke/nodeconfig-alpha.yaml
+
+
+
+
+

Deploying Local Volume Provisioner

+

Afterwards, deploy ScyllaDB’s Local Volume Provisioner, capable of dynamically provisioning PersistentVolumes for your ScyllaDB clusters on mounted XFS filesystems, earlier created over the configured RAID0 arrays.

+
kubectl -n local-csi-driver apply --server-side -f examples/common/local-volume-provisioner/local-csi-driver/
+kubectl apply --server-side -f examples/common/local-volume-provisioner/storageclass_xfs.yaml
+
+
+
+
+
+

Deploy Scylla cluster

+

In order for the example to work you need to modify the cluster definition in the following way:

+
sed -i "s/<gcp_region>/${GCP_REGION}/g;s/<gcp_zone>/${GCP_ZONE}/g" examples/gke/cluster.yaml
+
+
+

This will inject your region and zone into the cluster definition so that it matches the kubernetes cluster you just created.

+
+
+

Deploying ScyllaDB

+

Now you can follow the steps described in Deploying Scylla on a Kubernetes Cluster to launch your ScyllaDB cluster in a highly performant environment.

+
+

Accessing the database

+

Instructions on how to access the database can also be found in the generic guide.

+
+
+
+

Deleting a GKE cluster

+

Once you are done with your experiments delete your cluster using the following command:

+
gcloud container --project "${GCP_PROJECT}" clusters delete --zone "${GCP_ZONE}" "${CLUSTER_NAME}"
+
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/helm.html b/master/helm.html new file mode 100644 index 00000000000..906fd0b0a7b --- /dev/null +++ b/master/helm.html @@ -0,0 +1,897 @@ + + + + + + + + + + + + + Deploying Scylla stack using Helm Charts | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying Scylla stack using Helm Charts

+

In this example we will install Scylla stack on Kubernetes. This includes the following components:

+
    +
  • Scylla Operator

  • +
  • Scylla Manager

  • +
  • Scylla

  • +
+

We will use Minikube K8s cluster, but this could be any K8s cluster supported by the Scylla Operator.

+
+

Prerequisites

+
    +
  • Kubernetes 1.16+

  • +
  • Helm 3+

  • +
+
+
+

TL;DR

+
helm repo add scylla https://scylla-operator-charts.storage.googleapis.com/stable
+helm repo update
+kubectl apply -f examples/common/cert-manager.yaml 
+helm install scylla-operator scylla/scylla-operator --create-namespace --namespace scylla-operator
+helm install scylla-manager scylla/scylla-manager --create-namespace --namespace scylla-manager
+helm install scylla scylla/scylla --create-namespace --namespace scylla
+
+
+
+
+

Deploy Cert Manager

+

This step is optional if you want to use your own certificate. +If you don’t have one, make sure to not disable autogeneration using Scylla Operator Helm Chart.

+

First deploy Cert Manager, you can either follow upsteam instructions or use following command:

+
kubectl apply -f examples/common/cert-manager.yaml
+
+
+

Once it’s deployed, wait until all Cert Manager pods will enter into Running state:

+
kubectl wait -n cert-manager --for=condition=ready pod -l app=cert-manager --timeout=60s
+
+
+
+
+

Helm Chart repository

+

To install Scylla Helm Chart repository execute the following commands:

+
helm repo add scylla https://scylla-operator-charts.storage.googleapis.com/stable
+helm repo update
+
+
+

Then you can search through repository, it should contain at least three Helm charts:

+
helm search repo scylla
+NAME                   CHART VERSION   APP VERSION     DESCRIPTION                                       
+scylla/scylla          1.0.1           v1.0.1          Scylla is a close-to-the-hardware rewrite of Ca...
+scylla/scylla-manager  1.0.1           v1.0.1          Scylla Manager automates database operations.     
+scylla/scylla-operator 1.0.1           v1.0.1          Scylla Operator is a Kubernetes Operator for ma...
+
+
+

All these charts should be installable without any need of customizing (defaults are provided). +Although Helm is used for this particular reason, so lets customize them a bit.

+
+
+

Scylla Operator Chart

+

This chart is very simple, most interesting customizable fields are image, resources and webhook. +All others can be looked up in Chart source in Scylla Operator repository.

+
+

image

+

Image allows to define which Scylla Operator image will be used. By default it downloads the image from main +Docker Hub repository, using version defined in Helm Chart. +You can also change pullPolicy if default one does not +fullfill your needs. In Kubernetes documentation you +can read more about different pull policies.

+

Image URL will be composed based on these fields in follwing pattern: +repository/scylla-operator:tag

+
image:
+  repository: scylladb
+  pullPolicy: IfNotPresent
+  tag: ""
+
+
+
+
+

resources

+

You can customize how much resources will be allocated for Operator pods via resource field:

+
resources:
+  limits:
+    cpu: 100m
+    memory: 128Mi
+  requests:
+    cpu: 100m
+    memory: 32Mi
+
+
+

To read more about resource specification, follow Kubernetes documentation.

+
+
+

webhook

+

Webhook field allows to decide whether you want to use autogenerated self-signed certificate using Cert Manager or +whether you want to provide your own certificate.

+

createSelfSignedCertificate specifies whether a self-signed certificate should be created using Cert Manager +certificateSecretName: name of a secret containing custom certificate.

+
webhook:
+  createSelfSignedCertificate: true
+  certificateSecretName: ""
+
+
+
+
+

Customization

+

You can customize all these fields and others by providing file containing desired values. +Content of this file will overwrite default values.

+

You can find an example in Scylla Operator repository under examples/helm/values.operator.yaml

+
+
+

Installation

+

To deploy Scylla Operator using customized values file execute the following:

+
helm install scylla-operator scylla/scylla-operator --values examples/helm/values.operator.yaml --create-namespace --namespace scylla-operator
+
+
+
+
+
+

Scylla Helm Chart

+

Scylla Chart allows to customize and deploy Scylla cluster. +By default Scylla Helm charts deploys working Scylla cluster, but of course we can customize it.

+
+

Customization

+

Versions of images used in the cluster can be set via scyllaImage and agentImage

+
scyllaImage:
+  repository: scylladb/scylla
+  tag: 4.3.0
+
+agentImage:
+  repository: scylladb/scylla-manager-agent
+  tag: 2.2.1
+
+
+

A minimal Scylla cluster can be expressed as:

+
datacenter: us-east-1
+racks:
+- name: us-east-1b
+  members: 2
+  storage:
+    capacity: 5G
+  resources:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+
+
+

Above cluster will use 4.3.0 Scylla, 2.2.1 Scylla Manager Agent sidecar and will have a single rack having 2 nodes. +Each node will have a single CPU and 1 GiB of memory.

+

For other customizable fields, please refer to ScyllaCluster CRD definition. +CRD Rack Spec and Helm Chart Rack should have the same fields.

+
+
+

Installation

+

To deploy Scylla cluster using customzied values file execute the following command:

+
helm install scylla scylla/scylla --values examples/helm/values.cluster.yaml --create-namespace --namespace scylla
+
+
+

Scylla Operator will provision this cluster on your K8s environment.

+
+
+
+

Scylla Manager Helm Chart

+

Scylla Manager Chart allows to customize and deploy Scylla Manager in K8s environment. +Scylla Manager consist of two applications (Scylla Manager itself and Scylla Manager Controller) and additional Scylla cluster.

+

To read more about Scylla Manager see Manager guide.

+
+

Scylla Manager

+

To set version of used Scylla Manager you can use image field:

+
image:
+  repository: scylladb
+  pullPolicy: IfNotPresent
+  tag: 2.2.1
+
+
+

To control how many resources are allocated for Scylla Manager use resource field:

+
resources:
+  limits:
+    cpu: 500m
+    memory: 500Mi
+  requests:
+    cpu: 500m
+    memory: 500Mi
+
+
+
+
+

Scylla Manager Controller

+

Similarly Scylla Manager Controller image can be customized:

+
controllerImage:
+  repository: scylladb
+  pullPolicy: IfNotPresent
+  tag: ""
+
+
+

And allocated resources:

+
controllerResources:
+  limits:
+    cpu: 100m
+    memory: 30Mi
+  requests:
+    cpu: 100m
+    memory: 20Mi
+
+
+
+
+

Scylla

+

To customize internal Scylla instance dedicated to Scylla Manager, see guide above customizing Scylla Helm Chart. +It’s definition should land as a scylla field.

+
+
+

Customization

+

All others customizable fields can be looked up in Chart source in Scylla Operator repository.

+
+
+

Installation

+

To deploy Scylla Manager using customized values file execute the following command:

+
helm install scylla-manager scylla/scylla-manager --values examples/helm/values.manager.yaml --create-namespace --namespace scylla-manager
+
+
+
+
+
+

Results

+

Scylla need some time to bootstrap all nodes, but after some time you should be ready to roll. It was simple isn’t it? +You can validate if everything was set up correctly by looking at the all resources created in used namespaces.

+

Scylla Operator:

+
$ kubectl -n scylla-operator get all
+
+NAME                                   READY   STATUS    RESTARTS   AGE
+pod/scylla-operator-5dbcb54f5c-vjm4m   1/1     Running   0          51s
+pod/scylla-operator-5dbcb54f5c-wfjbw   1/1     Running   0          51s
+
+NAME                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
+service/scylla-operator-webhook   ClusterIP   10.105.207.130   <none>        443/TCP   51s
+
+NAME                              READY   UP-TO-DATE   AVAILABLE   AGE
+deployment.apps/scylla-operator   2/2     2            2           51s
+
+NAME                                         DESIRED   CURRENT   READY   AGE
+replicaset.apps/scylla-operator-5dbcb54f5c   2         2         2       51s
+
+
+

Operator is running!

+

Scylla Manager:

+
$ kubectl -n scylla-manager get all 
+
+NAME                                             READY   STATUS    RESTARTS   AGE
+pod/scylla-manager-669db64dd-bcm4v               1/1     Running   0          89s
+pod/scylla-manager-controller-844ccc56c4-drbth   1/1     Running   0          89s
+pod/scylla-manager-controller-844ccc56c4-rhwqx   1/1     Running   0          89s
+
+NAME                            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
+service/scylla-manager          ClusterIP   10.105.231.53   <none>        80/TCP,5090/TCP     89s
+service/scylla-manager-client   ClusterIP   None            <none>        9180/TCP,5090/TCP   89s
+
+NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
+deployment.apps/scylla-manager              1/1     1            1           89s
+deployment.apps/scylla-manager-controller   2/2     2            2           89s
+
+NAME                                                   DESIRED   CURRENT   READY   AGE
+replicaset.apps/scylla-manager-669db64dd               1         1         1       89s
+replicaset.apps/scylla-manager-controller-844ccc56c4   2         2         2       89s
+
+
+

Good to go, ready to serve!

+

Scylla itself:

+
$ kubectl -n scylla get all        
+
+NAME                                READY   STATUS    RESTARTS   AGE
+pod/scylla-us-east-1-us-east-1b-0   2/2     Running   0          5m58s
+pod/scylla-us-east-1-us-east-1b-1   2/2     Running   0          4m29s
+
+NAME                                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                                                           AGE
+service/scylla-client                   ClusterIP   None           <none>        9180/TCP,5090/TCP                                                 5m59s
+service/scylla-us-east-1-us-east-1b-0   ClusterIP   10.43.149.92   <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   5m58s
+service/scylla-us-east-1-us-east-1b-1   ClusterIP   10.43.49.0     <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   4m29s
+
+NAME                                           READY   AGE
+statefulset.apps/scylla-us-east-1-us-east-1b   2/2     5m59s
+
+
+

Two running nodes, exactly what we were asking for.

+
+
+

Monitoring

+

To spin up a Prometheus monitoring refer to monitoring guide.

+

Helm charts can create ServiceMonitors needed to observe Scylla Managger and Scylla. +Both of these Helm Charts allows to specify whether you want to create a ServiceMonitor:

+
serviceMonitor:
+  create: false
+
+
+

Change create to true and update your current deployment using:

+
helm upgrade --install scylla --namespace scylla scylla/scylla -f examples/helm/values.cluster.yaml
+
+
+

Helm should notice the difference, install the ServiceMonitor, and then Prometheous will be able to scrape metrics.

+
+
+

Cleanup

+

To remove these applications you can simply uninstall them using Helm CLI:

+
helm uninstall scylla -n scylla
+helm uninstall scylla-manager -n scylla-manager
+helm uninstall scylla-operator -n scylla-operator
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/index.html b/master/index.html new file mode 100644 index 00000000000..89818ed74f6 --- /dev/null +++ b/master/index.html @@ -0,0 +1,577 @@ + + + + + + + + + + + + + Scylla Operator Documentation | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Scylla Operator Documentation

+
+
+

Scylla Operator is an open source project which helps users of Scylla Open Source and Scylla Enterprise run Scylla on Kubernetes (K8s) +The Scylla operator manages Scylla clusters deployed to Kubernetes and automates tasks related to operating a Scylla cluster, like installation, out and downscale, rolling upgrades.

+_images/logo.png +

For the latest status of the project, and reports issue, see the Github Project. Also check out the K8s Operator lesson on Scylla University.

+

scylla-operator is a Kubernetes Operator for managing Scylla clusters.

+

Currently it supports:

+
    +
  • Deploying multi-zone clusters

  • +
  • Scaling up or adding new racks

  • +
  • Scaling down

  • +
  • Monitoring with Prometheus and Grafana

  • +
  • Integration with Scylla Manager

  • +
  • Dead node replacement

  • +
  • Version Upgrade

  • +
  • Backup

  • +
  • Repairs

  • +
  • Autohealing

  • +
+

Choose a topic to begin:

+ +
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/known-issues.html b/master/known-issues.html new file mode 100644 index 00000000000..c9f446b5bfe --- /dev/null +++ b/master/known-issues.html @@ -0,0 +1,573 @@ + + + + + + + + + + + + + Known issues | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Known issues

+
+

Scylla Manager does not boot up on Minikube

+

If your Scylla Manager is failing to apply 8th migration (008_*), then apply fix for TRUNCATE queries.

+
+
+

TRUNCATE queries does not work on Minikube

+

The TRUNCATE queries requires hairpinning to be enabled. On minikube this is disabled by default.

+

To fix it execute the following command:

+
minikube ssh sudo ip link set docker0 promisc on
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/manager.html b/master/manager.html new file mode 100644 index 00000000000..235d4000670 --- /dev/null +++ b/master/manager.html @@ -0,0 +1,784 @@ + + + + + + + + + + + + + Deploying Scylla Manager on a Kubernetes Cluster | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying Scylla Manager on a Kubernetes Cluster

+

Scylla Manager is a product for database operations automation, +it can schedule tasks such as repairs and backups. +Scylla Manager can manage multiple Scylla clusters and run cluster-wide tasks +in a controlled and predictable way.

+

Scylla Manager is available for Scylla Enterprise customers and Scylla Open Source users. +With Scylla Open Source, Scylla Manager is limited to 5 nodes. +See the Scylla Manager Proprietary Software License Agreement for details.

+
+

Prerequisites

+ +
+
+

Architecture

+

Scylla Manager in K8s consist of:

+
    +
  • Dedicated Scylla Cluster

    +

    Scylla Manager persists its state to a Scylla cluster. +Additional small single node cluster is spawned in the Manager namespace.

    +
  • +
  • Scylla Manager Controller

    +

    Main mission of Controller is to watch changes of Scylla Clusters, and synchronize three states.

    +
      +
    1. What user wants - task definition in CRD.

    2. +
    3. What Controller registered - Task name to Task ID mapping - CRD status.

    4. +
    5. Scylla Manager task listing - internal state of Scylla Manager.

    6. +
    +

    When Scylla Cluster CRD is being deployed Controller will register it in Scylla Manager once cluster reaches desired node count. +Once Cluster is fully up and running it will schedule all tasks defined in Cluster CRD. +Controller also supports task updates and unscheduling.

    +
  • +
  • Scylla Manager

    +

    Regular Scylla Manager, the same used in cloud and bare metal deployments.

    +
  • +
+
+
+

Deploy Scylla Manager

+

Deploy the Scylla Manager using the following commands:

+
kubectl apply -f examples/common/manager.yaml
+
+
+

This will install the Scylla Manager in the scylla-manager namespace. +You can check if the Scylla Manager is up and running with:

+
kubectl -n scylla-manager get pods
+NAME                                               READY   STATUS    RESTARTS   AGE
+scylla-manager-cluster-manager-dc-manager-rack-0   2/2     Running   0          37m
+scylla-manager-controller-0                        1/1     Running   0          28m
+scylla-manager-scylla-manager-7bd9f968b9-w25jw     1/1     Running   0          37m
+
+
+

As you can see there are three pods:

+
    +
  • scylla-manager-cluster-manager-dc-manager-rack-0 - is a single node Scylla cluster.

  • +
  • scylla-manager-controller-0 - Scylla Manager Controller.

  • +
  • scylla-manager-scylla-manager-7bd9f968b9-w25jw - Scylla Manager.

  • +
+

To see if Scylla Manager is fully up and running we can check their logs. +To do this, execute following command:

+
kubectl -n scylla-manager logs scylla-manager-controller-0
+
+
+

The output should be something like:

+
{"L":"INFO","T":"2020-09-23T11:25:27.882Z","M":"Scylla Manager Controller started","version":"","build_date":"","commit":"","built_by":"","go_version":"","options":{"Name":"scylla-manager-controller-0","Namespace":"scylla-manager","LogLevel":"debug","ApiAddress":"http://127.0.0.1:5080/api/v1"},"_trace_id":"LQEJV3kDR5Gx9M3XQ2YnnQ"}
+{"L":"INFO","T":"2020-09-23T11:25:28.435Z","M":"Registering Components.","_trace_id":"LQEJV3kDR5Gx9M3XQ2YnnQ"}
+
+
+

To check logs of Scylla Manager itself, use following command:

+
kubectl -n scylla-manager logs scylla-manager-scylla-manager-7bd9f968b9-w25jw
+
+
+

The output should be something like:

+
{"L":"INFO","T":"2020-09-23T11:26:53.238Z","M":"Scylla Manager Server","version":"2.1.2-0.20200816.76cc4dcc","pid":1,"_trace_id":"xQhkJ0OuR8e6iMDEpM62Hg"}
+{"L":"INFO","T":"2020-09-23T11:26:54.519Z","M":"Using config","config":{"HTTP":"127.0.0.1:5080","HTTPS":"","TLSCertFile":"/var/lib/scylla-manager/scylla_manager.crt","TLSKeyFile":"/var/lib/scylla-manager/scylla_manager.key","TLSCAFile":"","Prometheus":":56090","PrometheusScrapeInterval":5000000000,"debug":"127.0.0.1:56112","Logger":{"Mode":"stderr","Level":"info","Development":false},"Database":{"Hosts":["scylla-manager-cluster-manager-dc-manager-rack-0.scylla-manager.svc"],"SSL":false,"User":"","Password":"","LocalDC":"","Keyspace":"scylla_manager","MigrateDir":"/etc/scylla-manager/cql","MigrateTimeout":30000000000,"MigrateMaxWaitSchemaAgreement":300000000000,"ReplicationFactor":1,"Timeout":600000000,"TokenAware":true},"SSL":{"CertFile":"","Validate":true,"UserCertFile":"","UserKeyFile":""},"Healthcheck":{"Timeout":250000000,"SSLTimeout":750000000},"Backup":{"DiskSpaceFreeMinPercent":10,"AgeMax":43200000000000},"Repair":{"SegmentsPerRepair":1,"ShardParallelMax":0,"ShardFailedSegmentsMax":100,"PollInterval":200000000,"ErrorBackoff":300000000000,"AgeMax":0,"ShardingIgnoreMsbBits":12}},"config_files":["/mnt/etc/scylla-manager/scylla-manager.yaml"],"_trace_id":"xQhkJ0OuR8e6iMDEpM62Hg"}
+{"L":"INFO","T":"2020-09-23T11:26:54.519Z","M":"Checking database connectivity...","_trace_id":"xQhkJ0OuR8e6iMDEpM62Hg"}
+
+
+

If there are no errors in the logs, let’s spin a Scylla Cluster.

+
+
+

Cluster registration

+

When the Scylla Manager is fully up and running, lets create a regular instance of Scylla cluster.

+

See generic tutorial to spawn your cluster.

+

Note: If you already have some Scylla Clusters, after installing Manager they should be +automatically registered in Scylla Manager.

+

Once cluster reaches desired node count, cluster status will be updated with ID under which it was registered in Manager.

+
kubectl -n scylla describe Cluster
+
+[...]
+Status:
+ Manager Id:  d1d532cd-49f2-4c97-9263-25126532803b
+ Racks:
+   us-east-1a:
+     Members:        3
+     Ready Members:  3
+     Version:        4.0.0
+
+
+

You can use this ID to talk to Scylla Manager using sctool CLI installed in Scylla Manager Pod. +You can also use Cluster name in namespace/cluster-name format.

+
kubectl -n scylla-manager exec -ti scylla-manager-scylla-manager-7bd9f968b9-w25jw -- sctool task list
+
+Cluster: scylla/simple-cluster (d1d532cd-49f2-4c97-9263-25126532803b)
+╭─────────────────────────────────────────────────────────────┬──────────────────────────────────────┬────────────────────────────────┬────────╮
+│ Task                                                        │ Arguments                            │ Next run                       │ Status │
+├─────────────────────────────────────────────────────────────┼──────────────────────────────────────┼────────────────────────────────┼────────┤
+│ healthcheck/400b2723-eec5-422a-b7f3-236a0e10575b            │                                      │ 23 Sep 20 14:28:42 CEST (+15s) │ DONE   │
+│ healthcheck_rest/28169610-a969-4c20-9d11-ab7568b8a1bd       │                                      │ 23 Sep 20 14:29:57 CEST (+1m)  │ NEW    │
+╰─────────────────────────────────────────────────────────────┴──────────────────────────────────────┴────────────────────────────────┴────────╯
+
+
+

Scylla Manager by default registers recurring healhcheck tasks for Agent and for each of the enabled frontends (CQL, Alternator).

+

In this task listing we can see CQL and REST healthchecks.

+
+
+

Task scheduling

+

You can either define tasks prior Cluster creation, or for existing Cluster. +Let’s edit already running cluster definition to add repair and backup task.

+
kubectl -n scylla edit Cluster simple-cluster
+
+
+

Add following task definition to Cluster spec:

+
  repairs:
+    - name: "users repair"
+      keyspace: ["users"]
+      interval: "1d"
+  backups:
+    - name: "weekly backup"
+      location: ["s3:cluster-backups"]
+      retention: 3
+      interval: "7d"
+    - name: "daily backup"
+      location: ["s3:cluster-backups"]
+      retention: 7
+      interval: "1d"
+
+
+

For full task definition configuration consult Scylla Cluster CRD.

+

Note: Scylla Manager Agent must have access to above bucket prior the update in order to schedule backup task. +Consult Scylla Manager documentation for details on how to set it up.

+

Scylla Manager Controller will spot this change and will schedule tasks in Scylla Manager.

+
kubectl -n scylla-manager exec -ti scylla-manager-scylla-manager-7bd9f968b9-w25jw -- sctool task list
+
+Cluster: scylla/simple-cluster (d1d532cd-49f2-4c97-9263-25126532803b)
+╭─────────────────────────────────────────────────────────────┬──────────────────────────────────────┬────────────────────────────────┬────────╮
+│ Task                                                        │ Arguments                            │ Next run                       │ Status │
+├─────────────────────────────────────────────────────────────┼──────────────────────────────────────┼────────────────────────────────┼────────┤
+│ healthcheck/400b2723-eec5-422a-b7f3-236a0e10575b            │                                      │ 23 Sep 20 14:28:42 CEST (+15s) │ DONE   │
+│ backup/275aae7f-c436-4fc8-bcec-479e65fb8372                 │ -L s3:cluster-backups  --retention 3 │ 23 Sep 20 14:28:58 CEST (+7d)  │ NEW    │
+│ healthcheck_rest/28169610-a969-4c20-9d11-ab7568b8a1bd       │                                      │ 23 Sep 20 14:29:57 CEST (+1m)  │ NEW    │
+│ repair/d4946360-c29d-4bb4-8b9d-619ada495c2a                 │                                      │ 23 Sep 20 14:38:42 CEST        │ NEW    │
+╰─────────────────────────────────────────────────────────────┴──────────────────────────────────────┴────────────────────────────────┴────────╯
+
+
+

As you can see, we have two new tasks, weekly recurring backup, and one repair which should start shortly.

+

To check progress of run you can use following command:

+
kubectl -n scylla-manager exec -ti scylla-manager-scylla-manager-7bd9f968b9-w25jw -- sctool task progress --cluster d1d532cd-49f2-4c97-9263-25126532803b repair/d4946360-c29d-4bb4-8b9d-619ada495c2a
+Status:         RUNNING
+Start time:     23 Sep 20 14:38:42 UTC
+Duration:       13s
+Progress:       2.69%
+Datacenters:
+  - us-east-1
++--------------------+-------+
+| system_auth        | 8.06% |
+| system_distributed | 0.00% |
+| system_traces      | 0.00% |
++--------------------+-------+
+
+
+

Other tasks can be also tracked using the same command, but using different task ID. +Task IDs are present in Cluster Status as well as in task listing.

+
+
+

Clean Up

+

To clean up all resources associated with Scylla Manager, you can run the commands below.

+

NOTE: this will destroy your Scylla Manager database and delete all of its associated data.

+
kubectl delete -f examples/common/manager.yaml
+
+
+
+
+

Troubleshooting

+

Manager is not running

+

If the Scylla Manager does not come up, the first step would be to examine the Manager and Controller logs:

+
kubectl -n scylla-manager logs -f scylla-manager-controller-0 scylla-manager-controller
+kubectl -n scylla-manager logs -f scylla-manager-controller-0 scylla-manager-scylla-manager-7bd9f968b9-w25jw
+
+
+

My task wasn’t scheduled

+

If your task wasn’t scheduled, Cluster status will be updated with error messages for each failed task. +You can also consult Scylla Manager logs.

+

Example:

+

Following status describes error when backup task cannot be scheduled, due to lack of access to bucket:

+
Status:
+  Backups:
+    Error:     create backup target: location is not accessible: 10.100.16.62: giving up after 2 attempts: after 15s: timeout - make sure the location is correct and credentials are set, to debug SSH to 10.100.16.62 and run "scylla-manager-agent check-location -L s3:manager-test --debug"; 10.107.193.33: giving up after 2 attempts: after 15s: timeout - make sure the location is correct and credentials are set, to debug SSH to 10.107.193.33 and run "scylla-manager-agent check-location -L s3:manager-test --debug"; 10.109.197.60: giving up after 2 attempts: after 15s: timeout - make sure the location is correct and credentials are set, to debug SSH to 10.109.197.60 and run "scylla-manager-agent check-location -L s3:manager-test --debug"
+    Id:        00000000-0000-0000-0000-000000000000
+    Interval:  0
+    Location:
+      s3:manager-test
+    Name:         adhoc backup
+    Num Retries:  3
+    Retention:    3
+    Start Date:   now
+  Manager Id:     2b9dbe8c-9daa-4703-a66d-c29f63a917c8
+  Racks:
+    us-east-1a:
+      Members:        3
+      Ready Members:  3
+      Version:        4.0.0
+
+
+

Because Controller is infinitely retrying to schedule each defined task, once permission issues will be resolved, +task should appear in task listing and Cluster status.

+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/migration.html b/master/migration.html new file mode 100644 index 00000000000..139522308ff --- /dev/null +++ b/master/migration.html @@ -0,0 +1,719 @@ + + + + + + + + + + + + + Version migrations | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Version migrations

+
+

v0.3.0 -> v1.0.0 migration

+

v0.3.0 used a very common name as a CRD kind (Cluster). In v1.0.0 this issue was solved by using less common kind +which is easier to disambiguate (ScyllaCluster). +This change is backward incompatible, which means manual migration is needed.

+

This procedure involves having two CRDs registered at the same time. We will detach Scylla Pods +from Scylla Operator for a short period to ensure that nothing is garbage collected when Scylla Operator is upgraded. +Compared to the upgrade guide where full deletion is requested, this procedure shouldn’t cause downtimes. +Although detaching resources from their controller is considered hacky. This means that you shouldn’t run procedure +out of the box on production. Make sure this procedure works well multiple times on your staging environment first.

+

Read the whole procedure and make sure you understand what is going on before executing any of the commands!

+

In case of any issues or questions regarding this procedure, you’re welcomed on our Scylla Users Slack +on #kubernetes channel.

+
+
+

Procedure

+
    +
  1. Execute this whole procedure for each cluster sequentially. To get a list of existing clusters execute the following

    +
    kubectl -n scylla get cluster.scylla.scylladb.com
    +
    +NAME             AGE
    +simple-cluster   30m
    +
    +
    +

    All below commands will use scylla namespace and simple-cluster as a cluster name.

    +
  2. +
  3. Make sure you’re using v1.0.0 tag:

    +
    git checkout v1.0.0
    +
    +
    +
  4. +
  5. Upgrade your cert-manager to v1.0.0. If you installed it from a static file from this repo, simply execute the following:

    +
     kubectl apply -f examples/common/cert-manager.yaml
    +
    +
    +

    If your cert-manager was installed in another way, follow official instructions on cert-manager website.

    +
  6. +
  7. examples/common/operator.yaml file contains multiple resources. Extract only CustomResourceDefinition to separate file.

  8. +
  9. Install v1.0.0 CRD definition from file created in the previous step:

    +
    kubectl apply -f examples/common/crd.yaml
    +
    +
    +
  10. +
  11. Save your existing simple-cluster Cluster definition to a file:

    +
    kubectl -n scylla get cluster.scylla.scylladb.com simple-cluster -o yaml > existing-cluster.yaml
    +
    +
    +
  12. +
  13. Migrate Kind and ApiVersion to new values using:

    +
    sed -i 's/scylla.scylladb.com\/v1alpha1/scylla.scylladb.com\/v1/g' existing-cluster.yaml
    +sed -i 's/kind: Cluster/kind: ScyllaCluster/g' existing-cluster.yaml
    +
    +
    +
  14. +
  15. Install migrated CRD instance

    +
    kubectl apply -f existing-cluster.yaml
    +
    +
    +

    At this point, we should have two CRDs describing your Scylla cluster, although the new one is not controlled by the Operator.

    +
  16. +
  17. Get UUID of newly created ScyllaCluster resource:

    +
    kubectl -n scylla get ScyllaCluster simple-cluster --template="{{ .metadata.uid }}"
    +
    +12a3678d-8511-4c9c-8a48-fa78d3992694
    +
    +
    +

    Save output UUID somewhere, it will be referred as <new-cluster-uid> in commands below.

    +

    Depending on your shell, you might get additional ‘%’ sign at the end of UUID, make sure to remove it!

    +
  18. +
  19. Upgrade ClusterRole attached to each of the Scylla nodes to grant them permission to lookup Scylla clusters:

    +
    kubectl patch ClusterRole simple-cluster-member --type "json" -p '[{"op":"add","path":"/rules/-","value":{"apiGroups":["scylla.scylladb.com"],"resources":["scyllaclusters"],"verbs":["get"]}}]'
    +
    +
    +

    Amend role name according to your cluster name, it should look like <scylla-cluster-name>-member.

    +
  20. +
  21. Get a list of all Services associated with your cluster. First get list of all services:

    +
     kubectl -n scylla get svc -l "scylla/cluster=simple-cluster"
    +
    + NAME                                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                                                           AGE
    + simple-cluster-client                   ClusterIP   None           <none>        9180/TCP                                                          109m
    + simple-cluster-us-east-1-us-east-1a-0   ClusterIP   10.43.23.96    <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   109m
    + simple-cluster-us-east-1-us-east-1a-1   ClusterIP   10.43.66.22    <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   108m
    + simple-cluster-us-east-1-us-east-1a-2   ClusterIP   10.43.246.25   <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   106m
    +
    +
    +
  22. +
  23. For each service, change its ownerReference to point to new CRD instance:

    +
     kubectl -n scylla patch svc <cluster-svc-name> --type='json' -p='[{"op": "replace", "path": "/metadata/ownerReferences/0/apiVersion", "value":"scylla.scylladb.com/v1"}, {"op": "replace", "path": "/metadata/ownerReferences/0/kind", "value":"ScyllaCluster"}, {"op": "replace", "path": "/metadata/ownerReferences/0/uid", "value":"<new-cluster-uid>"}]'
    +
    +
    +

    Replace <cluster-svc-name> with Service name, and <new-cluster-uid> with saved UUID from one of the previous steps.

    +
  24. +
  25. Get a list of all Services again to see if none was deleted. Check also “Age” column, it shouldn’t be lower than previous result.

    +
     kubectl -n scylla get svc -l "scylla/cluster=simple-cluster"
    +
    + NAME                                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                                                           AGE
    + simple-cluster-client                   ClusterIP   None           <none>        9180/TCP                                                          110m
    + simple-cluster-us-east-1-us-east-1a-0   ClusterIP   10.43.23.96    <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   110m
    + simple-cluster-us-east-1-us-east-1a-1   ClusterIP   10.43.66.22    <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   109m
    + simple-cluster-us-east-1-us-east-1a-2   ClusterIP   10.43.246.25   <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   107m
    +
    +
    +
  26. +
  27. Get a list of StatefulSets associated with your cluster:

    +
    kubectl -n scylla get sts -l "scylla/cluster=simple-cluster"
    +
    +NAME                                  READY   AGE
    +simple-cluster-us-east-1-us-east-1a   3/3     104m
    +
    +
    +
  28. +
  29. For each StatefulSet from previous step, change its ownerReference to point to new CRD instance.

    +
     kubectl -n scylla patch sts <cluster-sts-name> --type='json' -p='[{"op": "replace", "path": "/metadata/ownerReferences/0/apiVersion", "value":"scylla.scylladb.com/v1"}, {"op": "replace", "path": "/metadata/ownerReferences/0/kind", "value":"ScyllaCluster"}, {"op": "replace", "path": "/metadata/ownerReferences/0/uid", "value":"<new-cluster-uid>"}]'
    +
    +
    +

    Replace <cluster-sts-name> with StatefulSet name, and <new-cluster-uid> with saved UUID from one of the previous steps.

    +
  30. +
  31. Now when all k8s resources bound to Scylla are attached to new CRD, we can remove 0.3.0 Operator and old CRD definition. +Checkout v0.3.0 version, and remove Scylla Operator, and old CRD:

    +
     git checkout v0.3.0
    + kubectl delete -f examples/generic/operator.yaml
    +
    +
    +
  32. +
  33. Checkout v1.0.0, and install upgraded Scylla Operator:

    +
     git checkout v1.0.0
    + kubectl apply -f examples/common/operator.yaml
    +
    +
    +
  34. +
  35. Wait until Scylla Operator boots up:

    +
     kubectl -n scylla-operator-system wait --for=condition=ready pod --all --timeout=600s
    +
    +
    +
  36. +
  37. Get a list of StatefulSets associated with your cluster:

    +
    kubectl -n scylla get sts -l "scylla/cluster=simple-cluster"
    +
    +NAME                                  READY   AGE
    +simple-cluster-us-east-1-us-east-1a   3/3     104m
    +
    +
    +
  38. +
  39. For each StatefulSet from previous step, change its sidecar container image to v1.0.0, and wait until change will be propagated. This step will initiate a rolling restart of pods one by one.

    +
    kubectl -n scylla patch sts <cluster-sts> --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/initContainers/0/image", "value":"scylladb/scylla-operator:v1.0.0"}]'
    +kubectl -n scylla rollout status sts <cluster-sts>
    +
    +
    +

    Replace <cluster-sts-name> with StatefulSet name.

    +
  40. +
  41. If you’re using Scylla Manager, bump Scylla Manager Controller image to v1.0.0

    +
     kubectl -n scylla-manager-system patch sts scylla-manager-controller --type='json' -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"scylladb/scylla-operator:v1.0.0"}]'
    +
    +
    +
  42. +
  43. Your Scylla cluster is now migrated to v1.0.0.

  44. +
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/monitoring.html b/master/monitoring.html new file mode 100644 index 00000000000..7ff30cc3e4f --- /dev/null +++ b/master/monitoring.html @@ -0,0 +1,766 @@ + + + + + + + + + + + + + Monitoring | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Monitoring

+

Scylla Operator 1.8 introduced a new API resource ScyllaDBMonitoring, allowing users to deploy a managed monitoring +setup for their Scylla Clusters.

+
apiVersion: scylla.scylladb.com/v1alpha1
+kind: ScyllaDBMonitoring
+metadata:
+  name: example
+spec:
+  type: Platform
+  endpointsSelector:
+    matchLabels:
+      app.kubernetes.io/name: scylla
+      scylla-operator.scylladb.com/scylla-service-type: identity
+      scylla/cluster: replace-with-your-scyllacluster-name
+  components:
+    prometheus:
+      storage:
+        volumeClaimTemplate:
+          spec:
+            resources:
+              requests:
+                storage: 1Gi
+    grafana:
+      exposeOptions:
+        webInterface:
+          ingress:
+            ingressClassName: haproxy
+            dnsDomains:
+            - test-grafana.test.svc.cluster.local
+            annotations:
+              haproxy-ingress.github.io/ssl-passthrough: "true"
+
+
+

For details, refer to the below command:

+
$ kubectl explain scylladbmonitorings.scylla.scylladb.com/v1alpha1
+
+
+
+

Deploy managed monitoring

+

Note: as of v1.8, ScyllaDBMonitoring is experimental. The API is currently in version v1alpha1 and may change in future versions.

+
+

Requirements

+

Before you can set up your ScyllaDB monitoring, you need Scylla Operator already installed in your Kubernetes cluster. +For more information on how to deploy Scylla Operator, see:

+ +

The above example of the monitoring setup also makes use of HAProxy Ingress and Prometheus Operator. +You can deploy them in your Kubernetes cluster using the provided third party examples. If you already have them deployed +in your cluster, you can skip the below steps.

+
+

Deploy Prometheus Operator

+

Deploy Prometheus Operator using kubectl:

+
$ kubectl -n prometheus-operator apply --server-side -f ./examples/third-party/prometheus-operator
+
+
+
+
Wait for Prometheus Operator to roll out
+
$ kubectl -n prometheus-operator rollout status --timeout=5m deployments.apps/prometheus-operator
+deployment "prometheus-operator" successfully rolled out
+
+
+
+
+
+

Deploy HAProxy Ingress

+

Deploy HAProxy Ingress using kubectl:

+
$ kubectl -n haproxy-ingress apply --server-side -f ./examples/third-party/haproxy-ingress
+
+
+
+
Wait for HAProxy Ingress to roll out
+
$ kubectl -n haproxy-ingress rollout status --timeout=5m deployments.apps/haproxy-ingress
+deployment "haproxy-ingress" successfully rolled out
+
+
+
+
+
+
+

Deploy ScyllaDBMonitoring

+

First, update the endpointsSelector in examples/monitoring/v1alpha1/scylladbmonitoring.yaml with a label +matching your ScyllaCluster instance name.

+

Deploy the monitoring setup using kubectl:

+
$ kubectl -n scylla apply --server-side -f ./examples/monitoring/v1alpha1/scylladbmonitoring.yaml
+
+
+

Scylla Operator will notice the new ScyllaDBMonitoring object, and it will reconcile all necessary resources.

+
+

Wait for ScyllaDBMonitoring to roll out

+
$ kubectl wait --for='condition=Progressing=False' scylladbmonitorings.scylla.scylladb.com/example
+scylladbmonitoring.scylla.scylladb.com/example condition met
+
+$ kubectl wait --for='condition=Degraded=False' scylladbmonitorings.scylla.scylladb.com/example
+scylladbmonitoring.scylla.scylladb.com/example condition met
+
+$ kubectl wait --for='condition=Available=True' scylladbmonitorings.scylla.scylladb.com/example
+scylladbmonitoring.scylla.scylladb.com/example condition met
+
+
+
+
+

Wait for Prometheus to roll out

+
$ kubectl rollout status --timeout=5m statefulset.apps/prometheus-example
+statefulset rolling update complete 1 pods at revision prometheus-example-65b89d55bb...
+
+
+
+
+

Wait for Grafana to roll out

+
$ kubectl rollout status --timeout=5m deployments.apps/example-grafana
+deployment "example-grafana" successfully rolled out
+
+
+
+
+
+

Accessing Grafana

+

For accessing Grafana service from outside the Kubernetes cluster we recommend using an Ingress, although there are many other ways to do so. +When using Ingress, what matters is to direct your packets to the ingress controller Service/Pods and have the correct TLS SNI field set by the caller when reaching out to the service, so it is routed properly, and your client can successfully validate the grafana serving certificate. +This is easier when you are using a real DNS domain that resolves to your Ingress controller’s IP address but most clients and tools allow setting the SNI field manually.

+
+
+

Prerequisites

+

To access Grafana, you first need to collect the serving CA and the credentials.

+
$ GRAFANA_SERVING_CERT="$( kubectl -n scylla get secret/example-grafana-serving-ca --template '{{ index .data "tls.crt" }}' | base64 -d )"
+$ GRAFANA_USER="$( kubectl -n scylla get secret/example-grafana-admin-credentials --template '{{ index .data "username" }}' | base64 -d )"
+$ GRAFANA_PASSWORD="$( kubectl -n scylla get secret/example-grafana-admin-credentials --template '{{ index .data "password" }}' | base64 -d )"
+
+
+
+
+

Connecting through Ingress using a resolvable domain

+

In production clusters, the Ingress controller and appropriate DNS records should be set up already. Often there is already a generic wildcard record like *.app.mydomain pointing to the Ingress controller’s external IP. For custom service domains, it is usually a CNAME pointing to the Ingress controller’s A record.

+

Note: The ScyllaDBMonitoring example creates an Ingress object with test-grafana.test.svc.cluster.local DNS domain that you should adjust to your domain. Below examples use example-grafana.apps.mydomain.

+

Note: To test a resolvable domain from your machine without creating DNS records, you can adjust /etc/hosts or similar.

+
$ curl --fail -s -o /dev/null -w '%{http_code}' -L --cacert <( echo "${GRAFANA_SERVING_CERT}" ) "https://example-grafana.apps.mydomain" --user "${GRAFANA_USER}:${GRAFANA_PASSWORD}"
+200
+
+
+
+
+

Connecting through Ingress using an unresolvable domain

+

To connect to an Ingress without a resolvable domain you first need to find out your Ingress controller’s IP that can be resolved externally. Again, there are many ways to do so beyond the below examples.

+

Unless stated otherwise, we assume your Ingress is running on port 443.

+
$ INGRESS_PORT=443
+
+
+
+

Variants

+
+
Ingress ExternalIP
+

When you are running in a real cluster there is usually a cloud LoadBalancer or a bare metal alternative providing you with an externally reachable IP address.

+
$ INGRESS_IP="$( kubectl -n=haproxy-ingress get service/haproxy-ingress --template='{{ ( index .status.loadBalancer.ingress 0 ).ip }}' )"
+
+
+
+
+
Ingress NodePort
+

NodePort is slightly less convenient, but it’s available in development clusters as well.

+
$ INGRESS_IP="$( kubectl get nodes --template='{{ $internal_ip := "" }}{{ $external_ip := "" }}{{ range ( index .items 0 ).status.addresses }}{{ if eq .type "InternalIP" }}{{ $internal_ip = .address }}{{ else if eq .type "ExternalIP" }}{{ $external_ip = .address }}{{ end }}{{ end }}{{ if $external_ip }}{{ $external_ip }}{{ else }}{{ $internal_ip }}{{ end }}' )"
+$ INGRESS_PORT="$( kubectl -n=haproxy-ingress get services/haproxy-ingress --template='{{ range .spec.ports }}{{ if eq .port 443 }}{{ .nodePort }}{{ end }}{{ end }}' )"
+
+
+
+
+
Connection
+
$ curl --fail -s -o /dev/null -w '%{http_code}' -L --cacert <( echo "${GRAFANA_SERVING_CERT}" ) "https://test-grafana.test.svc.cluster.local:${INGRESS_PORT}" --resolve "test-grafana.test.svc.cluster.local:${INGRESS_PORT}:${INGRESS_IP}" --user "${GRAFANA_USER}:${GRAFANA_PASSWORD}"
+200
+
+
+
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/multidc/eks.html b/master/multidc/eks.html new file mode 100644 index 00000000000..27424162255 --- /dev/null +++ b/master/multidc/eks.html @@ -0,0 +1,751 @@ + + + + + + + + + + + + + Build multiple Amazon EKS clusters with inter-Kubernetes networking | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Build multiple Amazon EKS clusters with inter-Kubernetes networking

+

This document describes the process of creating multiple Amazon EKS clusters in different regions, using separate VPCs, and explains the steps necessary for configuring inter-Kubernetes networking between the clusters. +The interconnected clusters can serve as a platform for deploying a multi-datacenter ScyllaDB cluster.

+

This guide will walk you through the process of creating and configuring EKS clusters in two distinct regions. Although it is only an example setup, it can easily be built upon to create infrastructure tailored to your specific needs. +For simplicity, several predefined values are used throughout the document. The values are only exemplary and can be adjusted to your preference.

+
+

Prerequisites

+

To follow the below guide, you first need to install and configure the tools that you will need to create and manage AWS and Kubernetes resources:

+
    +
  • eksctl – A command line tool for working with EKS clusters.

  • +
  • kubectl – A command line tool for working with Kubernetes clusters.

  • +
+

For more information see Getting started with Amazon EKS – eksctl in AWS documentation.

+
+
+

Create EKS clusters

+
+

Create the first EKS cluster

+

Below is the required specification for the first cluster.

+
apiVersion: eksctl.io/v1alpha5
+kind: ClusterConfig
+
+metadata:
+  name: scylladb-us-east-1
+  region: us-east-1
+
+availabilityZones:
+- us-east-1a
+- us-east-1b
+- us-east-1c
+
+vpc:
+  cidr: 10.0.0.0/16
+
+nodeGroups:
+  ...
+
+
+

Specify the first cluster’s configuration file and save it as cluster-us-east-1.yaml. +Refer to Creating an EKS cluster section of ScyllaDB Operator documentation for the reference of the configuration of node groups.

+

To deploy the first cluster, use the below command:

+
eksctl create cluster -f=cluster-us-east-1.yaml
+
+
+

Run the following command to learn the status and VPC ID of the cluster:

+
eksctl get cluster --name=scylladb-us-east-1 --region=us-east-1
+
+
+

You will need to get the cluster’s context for future operations. To do so, use the below command:

+
kubectl config current-context
+
+
+

For any kubectl commands that you will want to run against this cluster, use the --context flag with the value returned by the above command.

+
+

Deploy ScyllaDB Operator

+

Once the cluster is ready, refer to Deploying Scylla on a Kubernetes Cluster to deploy the ScyllaDB Operator and its prerequisites.

+
+
+

Prepare nodes for running ScyllaDB

+

Then, prepare the nodes for running ScyllaDB workloads and deploy a volume provisioner following the steps described in Deploying Scylla on EKS in ScyllaDB Operator documentation.

+
+
+
+

Create the second EKS cluster

+

Below is the required specification for the second cluster. As was the case with the first cluster, the provided values are only exemplary and can be adjusted according to your needs.

+
+

Caution

+

It is required that the VPCs of the two EKS clusters have non-overlapping IPv4 network ranges.

+
+
apiVersion: eksctl.io/v1alpha5
+kind: ClusterConfig
+
+metadata:
+  name: scylladb-us-east-2
+  region: us-east-2
+
+availabilityZones:
+- us-east-2a
+- us-east-2b
+- us-east-2c
+
+vpc:
+  cidr: 172.16.0.0/16
+
+nodeGroups:
+  ...
+
+
+

Follow analogous steps to create the second EKS cluster and prepare it for running ScyllaDB.

+
+
+
+

Configure the network

+

The prepared Kubernetes clusters each have a dedicated VPC network. +To be able to route the traffic between the two VPC networks, you need to create a networking connection between them, otherwise known as VPC peering.

+
+

Create VPC peering

+

Refer to Create a VPC peering connection in AWS documentation for instructions on creating a VPC peering connection between the two earlier created VPCs.

+

In this example, the ID of the created VPC peering connection is pcx-08077dcc008fbbab6.

+
+
+

Update route tables

+

To enable private IPv4 traffic between the instances in the VPC peered network, you need to establish a communication channel by adding a route to the route tables associated with all the subnets associated with the instances for both VPCs. +The destination of the new route in a given route table is the CIDR of the VPC of the other cluster and the target is the ID of the VPC peering connection.

+

The following is an example of the route tables that enable communication of instances in two peered VPCs. Each table has a local route and the added route which sends traffic targeted at the other VPC to the peered network connection. The other preconfigured routes are omitted for readability.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Route tableDestinationTarget
eksctl-scylladb-us-east-1-cluster/PublicRouteTable10.0.0.0/16local
172.16.0.0/16pcx-08077dcc008fbbab6
eksctl-scylladb-us-east-2-cluster/PublicRouteTable172.16.0.0/16local
10.0.0.0/16pcx-08077dcc008fbbab6

Refer to Update your route tables for a VPC peering connection in AWS documentation for more information.

+
+
+

Update security groups

+

To allow traffic to flow to and from instances associated with security groups in the peered VPC, you need to update the inbound rules of the VPCs’ shared security groups.

+

Below is an example of the inbound rules that to be added to the corresponding security groups of the two VPCs.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Security group nameTypeProtocolPort rangeSource
eksctl-scylladb-us-east-1-cluster-ClusterSharedNodeSecurityGroup-TD05V9EVU3B8All trafficAllAllCustom 172.16.0.0/16
eksctl-scylladb-us-east-2-cluster-ClusterSharedNodeSecurityGroup-1FR9YDLU0VE7MAll trafficAllAllCustom 10.0.0.0/16

The names of the shared security groups of your VPCs should be similar to the ones presented in the example.

+
+

Having followed the above steps, you should now have a platform prepared for deploying a multi-datacenter ScyllaDB cluster. +Refer to Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters in ScyllaDB Operator documentation for guidance.

+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/multidc/gke.html b/master/multidc/gke.html new file mode 100644 index 00000000000..ceb307ae0d9 --- /dev/null +++ b/master/multidc/gke.html @@ -0,0 +1,720 @@ + + + + + + + + + + + + + Build multiple GKE clusters with inter-Kubernetes networking | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Build multiple GKE clusters with inter-Kubernetes networking

+

This document describes the process of creating multiple GKE clusters in a shared VPC and explains the steps necessary for configuring inter-Kubernetes networking between clusters in different regions. +The interconnected clusters can serve as a platform for deploying a Multi Datacenter ScyllaDB cluster.

+

This guide will walk you through the process of creating and configuring GKE clusters in two distinct regions. Although it is only an example setup, it can easily be built upon to create infrastructure tailored to your specific needs. +For simplicity, several predefined values are used throughout the document. The values are only exemplary and can be adjusted to your preference.

+
+

Prerequisites

+

To follow the below guide, you first need to install and configure the following tools that you will need to create and manage GCP and Kubernetes resources:

+
    +
  • gcloud CLI - Google Cloud Command Line Interface, a command line tool for working with Google Cloud resources and services directly.

  • +
  • kubectl – A command line tool for working with Kubernetes clusters.

  • +
+

See Install the Google Cloud CLI in GCP documentation and Install Tools in Kubernetes documentation for reference.

+
+
+

Create and configure a VPC network

+

For the clusters to have inter-Kubernetes networking, you will create a virtual network shared between all the instances, with dedicated subnets for each of the clusters. +To create the subnets manually, create the network in custom subnet mode.

+
+

Create the VPC network

+

Run the below command to create the network:

+
gcloud compute networks create scylladb --subnet-mode=custom
+
+
+

With the VPC network created, create a dedicated subnet with secondary CIDR ranges for their Pod and Service pools in each region which the clusters will reside in.

+
+
+

Create VPC network subnets

+

To create a subnet for the first cluster in region us-east1, run the below command:

+
gcloud compute networks subnets create scylladb-us-east1 \
+    --region=us-east1 \
+    --network=scylladb \
+    --range=10.0.0.0/20 \
+    --secondary-range='cluster=10.1.0.0/16,services=10.2.0.0/20'
+
+
+

To create a subnet for the second cluster in region us-west1, run the below command:

+
gcloud compute networks subnets create scylladb-us-west1 \
+    --region=us-west1 \
+    --network=scylladb \
+    --range=172.16.0.0/20 \
+    --secondary-range='cluster=172.17.0.0/16,services=172.18.0.0/20'
+
+
+
+

Caution

+

It is required that the IPv4 address ranges of the subnets allocated for the GKE clusters do not overlap.

+
+

Refer to Create a VPC-native cluster and Alias IP ranges in GKE documentation for more information about VPC native clusters and alias IP ranges.

+
+
+
+

Create GKE clusters

+

With the VPC network created, you will now create two VPC native GKE clusters in dedicated regions.

+
+

Create the first GKE cluster

+

Run the following command to create the first GKE cluster in the us-east1 region:

+
gcloud container clusters create scylladb-us-east1 \
+    --location=us-east1-b \
+    --node-locations='us-east1-b,us-east1-c' \
+    --machine-type=n1-standard-8 \
+    --num-nodes=1 \
+    --disk-type=pd-ssd \
+    --disk-size=20 \
+    --image-type=UBUNTU_CONTAINERD \
+    --no-enable-autoupgrade \
+    --no-enable-autorepair \
+    --enable-ip-alias \
+    --network=scylladb \
+    --subnetwork=scylladb-us-east1 \
+    --cluster-secondary-range-name=cluster \
+    --services-secondary-range-name=services
+
+
+

Refer to Creating a GKE cluster section of ScyllaDB Operator documentation for more information regarding the configuration and deployment of additional node pools, including the one dedicated for ScyllaDB nodes.

+

You will need to get the cluster’s context for future operations. To do so, use the below command:

+
kubectl config current-context
+
+
+

For any kubectl commands that you will want to run against this cluster, use the --context flag with the value returned by the above command.

+
+

Deploy ScyllaDB Operator

+

Once the cluster is ready, refer to Deploying Scylla on a Kubernetes Cluster to deploy the ScyllaDB Operator and its prerequisites.

+
+
+

Prepare nodes for running ScyllaDB

+

Then, prepare the nodes for running ScyllaDB workloads and deploy a volume provisioner following the steps described in Deploying Scylla on GKE page of the documentation.

+
+
+
+

Create the second GKE cluster

+

Run the following command to create the second GKE cluster in the us-west1 region:

+
gcloud container clusters create scylladb-us-west1 \
+    --location=us-west1-b \
+    --node-locations='us-west1-b,us-west1-c' \
+    --machine-type=n1-standard-8 \
+    --num-nodes=1 \
+    --disk-type=pd-ssd \
+    --disk-size=20 \
+    --image-type=UBUNTU_CONTAINERD \
+    --no-enable-autoupgrade \
+    --no-enable-autorepair \
+    --enable-ip-alias \
+    --network=scylladb \
+    --subnetwork=scylladb-us-west1 \
+    --cluster-secondary-range-name=cluster \
+    --services-secondary-range-name=services
+
+
+

Follow analogous steps to create the second GKE cluster and prepare it for running ScyllaDB.

+
+
+
+

Configure the firewall rules

+

When creating a cluster, GKE creates several ingress firewall rules that enable the instances to communicate with each other. +To establish interconnectivity between the two created Kubernetes clusters, you will now add the allocated IPv4 address ranges to their corresponding source address ranges.

+

First, retrieve the name of the firewall rule associated with the first cluster, which permits traffic between all Pods on a cluster, as required by the Kubernetes networking model. +The rule name is in the following format: gke-[cluster-name]-[cluster-hash]-all.

+

To retrieve it, run the below command:

+
gcloud compute firewall-rules list --filter='name~gke-scylladb-us-east1-.*-all'
+
+
+

The output should resemble the following:

+
NAME                                NETWORK   DIRECTION  PRIORITY  ALLOW                     DENY  DISABLED
+gke-scylladb-us-east1-f17db261-all  scylladb  INGRESS    1000      udp,icmp,esp,ah,sctp,tcp        False
+
+
+

Modify the rule by updating the rule’s source ranges with the allocated Pod IPv4 address ranges of both clusters:

+
gcloud compute firewall-rules update gke-scylladb-us-east1-f17db261-all --source-ranges='10.1.0.0/16,172.17.0.0/16'
+
+
+

Follow the analogous steps for the other cluster. In this example, its corresponding firewall rule name is gke-scylladb-us-west1-0bb60902-all. To update it, you would run:

+
gcloud compute firewall-rules update gke-scylladb-us-west1-0bb60902-all --source-ranges='10.1.0.0/16,172.17.0.0/16'
+
+
+

Refer to Automatically created firewall rules in GKE documentation for more information.

+
+

Having followed the above steps, you should now have a platform prepared for deploying a multi-datacenter ScyllaDB cluster. +Refer to Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters in ScyllaDB Operator documentation for guidance.

+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/multidc/index.html b/master/multidc/index.html new file mode 100644 index 00000000000..aec6f6620ce --- /dev/null +++ b/master/multidc/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + Deploying multi-datacenter ScyllaDB clusters in Kubernetes | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploying multi-datacenter ScyllaDB clusters in Kubernetes

+

Prepare a platform for a multi datacenter ScyllaDB cluster deployment:

+
+
+ +

Deploy a multi-datacenter ScyllaDB cluster in Kubernetes:

+
+
+ +
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/multidc/multidc.html b/master/multidc/multidc.html new file mode 100644 index 00000000000..ee1ac710b9c --- /dev/null +++ b/master/multidc/multidc.html @@ -0,0 +1,1118 @@ + + + + + + + + + + + + + Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters

+

This document describes the process of deploying a Multi Datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters.

+

This guide will walk you through the example procedure of deploying two datacenters in distinct regions of a selected cloud provider.

+
+

Note

+

This guide is dedicated to deploying multi-datacenter ScyllaDB clusters and does not discuss unrelated configuration options. +For details of ScyllaDB cluster deployments and their configuration, refer to Deploying Scylla on a Kubernetes Cluster in ScyllaDB Operator documentation.

+
+
+

Prerequisites

+

As this document describes the procedure of deploying a Multi Datacenter ScyllaDB cluster, you are expected to have the required infrastructure prepared. +Let’s assume two interconnected Kubernetes clusters, capable of communicating with each other over PodIPs, with each cluster meeting the following requirements:

+
    +
  • a node pool dedicated to ScyllaDB nodes composed of at least 3 nodes running in different zones (with unique topology.kubernetes.io/zone label), configured to run ScyllaDB, each labeled with scylla.scylladb.com/node-type: scylla

  • +
  • running ScyllaDB Operator and its prerequisites

  • +
  • running a storage provisioner capable of provisioning XFS volumes of StorageClass scylladb-local-xfs in each of the nodes dedicated to ScyllaDB instances

  • +
+

You can refer to one of our guides describing the process of preparing such infrastructure:

+ +

Additionally, to follow the below guide, you need to install and configure the following tools that you will need to manage Kubernetes resources:

+
    +
  • kubectl – A command line tool for working with Kubernetes clusters.

  • +
+

See Install Tools in Kubernetes documentation for reference.

+
+
+

Multi Datacenter ScyllaDB Cluster

+

In v1.11, ScyllaDB Operator introduced support for manual multi-datacenter ScyllaDB cluster deployments.

+
+

Warning

+

ScyllaDB Operator only supports manual configuration of multi-datacenter ScyllaDB clusters. +In other words, although ScyllaCluster API exposes the machinery necessary for setting up multi-datacenter ScylaDB clusters, the ScyllaDB Operator only automates operations for a single datacenter.

+

Operations related to multiple datacenters may require manual intervention of a human operator. +Most notably, destroying one of the Kubernetes clusters or ScyllaDB datacenters is going to leave DN nodes behind in other datacenters, and their removal has to be carried out manually.

+
+

The main mechanism used to set up a manual multi-datacenter ScyllaDB cluster is a field in ScyllaCluster’s specification - externalSeeds.

+
+

External seeds

+

The externalSeeds field in ScyllaCluster’s specification enables control over external seeds that are propagated to ScyllaDB binary as --seed-provider-parameters seeds=<external-seeds>. +In this context, external should be understood as “external to the datacenter being specified by the API”. +The provided seeds are used by the nodes as initial points of contact, which allows them to discover the cluster ring topology when joining it.

+

Refer to Scylla Seed Nodes in ScyllaDB documentation for more information regarding the function of seed nodes in ScyllaDB. +For more details regarding the function and implementation of external seeds, refer to the original enhancement proposal.

+
+
+

Networking

+

Since this guide assumes interconnectivity over PodIPs of the Kubernetes clusters, you are going to configure the ScyllaDB cluster’s nodes to communicate over PodIPs. +This is enabled by a subset of exposeOptions specified in ScyllaCluster API, introduced in v1.11.

+

For this particular setup, define the ScyllaClusers as follows:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+spec:
+  exposeOptions:
+    nodeService:
+      type: Headless
+    broadcastOptions:
+      clients:
+        type: PodIP
+      nodes:
+        type: PodIP
+
+
+

However, other configuration options allow for the manual deployment of multi-datacenter ScyllaDB clusters in different network setups. For details, refer to Exposing ScyllaClusters in ScyllaDB Operator documentation.

+
+

Deploy a multi-datacenter ScyllaDB Cluster

+
+
+

Using context

+

Let’s specify contexts for kubectl commands used throughout the guide. +To retrieve the context of your current cluster, run:

+
kubectl config current-context
+
+
+

Save the contexts of the two clusters, which you are going to deploy the datacenters in, as CONTEXT_DC1 and CONTEXT_DC2 environment variables correspondingly.

+
+
+

Deploy the first datacenter

+

First, run the below command to create a dedicated ‘scylla’ namespace:

+
kubectl --context="${CONTEXT_DC1}" create ns scylla
+
+
+

For this guide, let’s assume that your cluster is running in us-east-1 region and the nodes dedicated to running ScyllaDB nodes are running in zones us-east-1a, us-east-1b and us-east-1c correspondingly. If that is not the case, adjust the manifest accordingly.

+
+

Caution

+

The .spec.name field of the ScyllaCluster objects represents the ScyllaDB cluster name and has to be consistent across all datacenters of this ScyllaDB cluster. +The names of the datacenters, specified in .spec.datacenter.name, have to be unique across the entire multi-datacenter cluster.

+

For more information see Create a ScyllaDB Cluster - Multi Data Centers (DC) in ScyllaDB documentation.

+
+

Save the ScyllaCluster manifest in dc1.yaml:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+metadata:
+  name: scylla-cluster
+  namespace: scylla
+spec:
+  version: 5.2.7
+  agentVersion: 3.1.2
+  cpuset: true
+  sysctls:
+  - "fs.aio-max-nr=2097152"
+  automaticOrphanedNodeCleanup: true
+  exposeOptions:
+    broadcastOptions:
+      clients:
+        type: PodIP
+      nodes:
+        type: PodIP
+    nodeService:
+      type: Headless
+  datacenter:
+    name: us-east-1
+    racks:
+    - name: a
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-1a
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+    - name: b
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-1b
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+    - name: c
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-1c
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+
+
+

Apply the manifest:

+
kubectl --context="${CONTEXT_DC1}" apply --server-side -f=dc1.yaml
+
+
+

Wait for the cluster to be fully rolled out:

+
kubectl --context="${CONTEXT_DC1}" -n=scylla wait --for='condition=Progressing=False' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+
kubectl --context="${CONTEXT_DC1}" -n=scylla wait --for='condition=Degraded=False' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+
kubectl --context="${CONTEXT_DC1}" -n=scylla wait --for='condition=Available=True' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+

You can now verify that all the nodes of your cluster are in UN state:

+
kubectl --context="${CONTEXT_DC1}" -n=scylla exec -it pod/scylla-cluster-us-east-1-a-0 -c=scylla -- nodetool status
+
+
+

The expected output should look similar to the below:

+
Datacenter: us-east-1
+=====================
+Status=Up/Down
+|/ State=Normal/Leaving/Joining/Moving
+--  Address      Load       Tokens       Owns    Host ID                               Rack
+UN  10.0.70.195  290 KB     256          ?       494277b9-121c-4af9-bd63-3d0a7b9305f7  c
+UN  10.0.59.24   559 KB     256          ?       a3a98e08-0dfd-4a25-a96a-c5ab2f47eb37  b
+UN  10.0.19.237  107 KB     256          ?       64b6292a-327f-4128-852a-6004039f402e  a
+
+
+
+
Retrieve PodIPs of ScyllaDB nodes for use as external seeds
+
+

Warning

+

Due to the ephemeral nature of PodIPs, it is ill-advised to use them as seeds in production environments. +This is because there is a high likelihood that the Pods of your ScyllaDB clusters will change their IPs during the cluster’s lifecycle, and so the provided seeds will no longer point to the ScyllaDB nodes. +It is undesired, as the seeds provided on node’s startup may serve as fallback contact points when all of the node’s peers are unreachable. +In production environments, it is recommended that you use domain names or non-ephemeral IP addresses as external seeds. +PodIPs are being used in this example for the sheer simplicity of this setup.

+
+

Use the below commands and their expected outputs as a reference for retrieving the PodIPs used by the cluster for inter-node communication.

+
kubectl --context="${CONTEXT_DC1}" -n=scylla get pod/scylla-cluster-us-east-1-a-0 --template='{{ .status.podIP }}'
+
+
+
10.0.19.237
+
+
+
kubectl --context="${CONTEXT_DC1}" -n=scylla get pod/scylla-cluster-us-east-1-b-0 --template='{{ .status.podIP }}'
+
+
+
10.0.59.24
+
+
+
kubectl --context="${CONTEXT_DC1}" -n=scylla get pod/scylla-cluster-us-east-1-c-0 --template='{{ .status.podIP }}'
+
+
+
10.0.70.195
+
+
+

You are going to utilize the retrieved addresses as seeds for the other datacenter.

+
+
+
+

Deploy the second datacenter

+

To deploy the second datacenter, you will follow similar steps.

+

First, create a dedicated ‘scylla’ namespace:

+
kubectl --context="${CONTEXT_DC2}" create ns scylla
+
+
+

Replace the values in .spec.externalSeeds of the below manifest with the Pod IP addresses that you retrieved earlier. +The provided values are going to serve as initial contact points for the joining nodes of the second datacenter.

+

For this guide, let’s assume that the second cluster is running in us-east-2 region and the nodes dedicated for running ScyllaDB nodes are running in zones us-east-2a, us-east-2b and us-east-2c correspondingly. If that is not the case, adjust the manifest accordingly. +Having configured it, save the manifest as dc2.yaml:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+metadata:
+  name: scylla-cluster
+  namespace: scylla
+spec:
+  version: 5.2.7
+  agentVersion: 3.1.2
+  cpuset: true
+  sysctls:
+  - "fs.aio-max-nr=2097152"
+  automaticOrphanedNodeCleanup: true
+  exposeOptions:
+    broadcastOptions:
+      clients:
+        type: PodIP
+      nodes:
+        type: PodIP
+    nodeService:
+      type: Headless
+  externalSeeds:
+  - 10.0.19.237
+  - 10.0.59.24
+  - 10.0.70.195
+  datacenter:
+    name: us-east-2
+    racks:
+    - name: a
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-2a
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+    - name: b
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-2b
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+    - name: c
+      members: 1
+      storage:
+        storageClassName: scylladb-local-xfs
+        capacity: 1800G
+      agentResources:
+        requests:
+          cpu: 100m
+          memory: 250M
+        limits:
+          cpu: 100m
+          memory: 250M
+      resources:
+        requests:
+          cpu: 7
+          memory: 56G
+        limits:
+          cpu: 7
+          memory: 56G
+      placement:
+        podAntiAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+          - topologyKey: kubernetes.io/hostname
+            labelSelector:
+              matchLabels:
+                app.kubernetes.io/name: scylla
+                scylla/cluster: scylla-cluster
+        nodeAffinity:
+          requiredDuringSchedulingIgnoredDuringExecution:
+            nodeSelectorTerms:
+            - matchExpressions:
+              - key: topology.kubernetes.io/zone
+                operator: In
+                values:
+                - us-east-2c
+              - key: scylla.scylladb.com/node-type
+                operator: In
+                values:
+                - scylla
+        tolerations:
+        - key: role
+          operator: Equal
+          value: scylla-clusters
+          effect: NoSchedule
+
+
+

To apply the manifest, run:

+
kubectl --context="${CONTEXT_DC2}" -n=scylla apply --server-side -f=dc2.yaml
+
+
+

Wait for the second datacenter to roll out:

+
kubectl --context="${CONTEXT_DC2}" -n=scylla wait --for='condition=Progressing=False' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+
kubectl --context="${CONTEXT_DC2}" -n=scylla wait --for='condition=Degraded=False' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+
kubectl --context="${CONTEXT_DC2}" -n=scylla wait --for='condition=Available=True' scyllaclusters.scylla.scylladb.com/scylla-cluster
+
+
+
scyllacluster.scylla.scylladb.com/scylla-cluster condition met
+
+
+

You can verify that the nodes have joined the existing cluster and that you are now running a multi-datacenter ScyllaDB cluster by running nodetool status with the below command:

+
kubectl --context="${CONTEXT_DC2}" -n=scylla exec -it pod/scylla-cluster-us-east-2-a-0 -c=scylla -- nodetool status
+
+
+
Datacenter: us-east-1
+=====================
+Status=Up/Down
+|/ State=Normal/Leaving/Joining/Moving
+--  Address        Load       Tokens       Owns    Host ID                               Rack
+UN  10.0.70.195    705 KB     256          ?       494277b9-121c-4af9-bd63-3d0a7b9305f7  c
+UN  10.0.59.24     764 KB     256          ?       a3a98e08-0dfd-4a25-a96a-c5ab2f47eb37  b
+UN  10.0.19.237    634 KB     256          ?       64b6292a-327f-4128-852a-6004039f402e  a
+Datacenter: us-east-2
+=====================
+Status=Up/Down
+|/ State=Normal/Leaving/Joining/Moving
+--  Address        Load       Tokens       Owns    Host ID                               Rack
+UN  172.16.39.209  336 KB     256          ?       7c30ea55-7a4f-4d93-86f7-c881772ebe62  b
+UN  172.16.25.18   759 KB     256          ?       665dde7e-e420-4db3-8c54-ca71efd39b2e  a
+UN  172.16.87.27   503 KB     256          ?       c19c89cb-e24c-4062-9df4-2aa90ab29a99  c
+
+
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/automatic-cleanup.html b/master/nodeoperations/automatic-cleanup.html new file mode 100644 index 00000000000..dc84446450e --- /dev/null +++ b/master/nodeoperations/automatic-cleanup.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + Automatic cleanup and replacement in case when k8s node is lost | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Automatic cleanup and replacement in case when k8s node is lost

+

In case when your k8s cluster loses one of the nodes due to incident or explicit removal, Scylla Pods may become unschedulable due to PVC node affinity.

+

When automaticOrphanedNodeCleanup flag is enabled in your ScyllaCluster, Scylla Operator will perform automatic +node replacement of a Pod which lost his bound resources.

+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/index.html b/master/nodeoperations/index.html new file mode 100644 index 00000000000..fe819963198 --- /dev/null +++ b/master/nodeoperations/index.html @@ -0,0 +1,558 @@ + + + + + + + + + + + + + Node operations using Scylla Operator | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Node operations using Scylla Operator

+
+
+

Choose a topic:

+ +
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/maintenance-mode.html b/master/nodeoperations/maintenance-mode.html new file mode 100644 index 00000000000..2bf44976f58 --- /dev/null +++ b/master/nodeoperations/maintenance-mode.html @@ -0,0 +1,567 @@ + + + + + + + + + + + + + Maintenance mode | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + + + +
+

Maintenance mode

+

When maintenance mode is enabled, readiness probe of Scylla Pod will always return failure and liveness probe will always succeed. This causes that Pod under maintenance +is being removed from K8s Load Balancer and DNS registry but Pod itself stays alive.

+

This allows the Scylla Operator to interact with Scylla and Scylla dependencies inside the Pod. +For example user may turn off Scylla process, do something with the filesystem and bring the process back again.

+

To enable maintenance mode add scylla/node-maintenance label to service in front of Scylla Pod.

+
kubectl -n scylla label svc simple-cluster-us-east1-b-us-east1-2 scylla/node-maintenance=""
+
+
+

To disable, simply remove this label from service.

+
kubectl -n scylla label svc simple-cluster-us-east1-b-us-east1-2 scylla/node-maintenance-
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/replace-node.html b/master/nodeoperations/replace-node.html new file mode 100644 index 00000000000..51677416251 --- /dev/null +++ b/master/nodeoperations/replace-node.html @@ -0,0 +1,641 @@ + + + + + + + + + + + + + Replacing a Scylla node | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + + + +
+

Replacing a Scylla node

+
+

Replacing a dead node

+

In the case of a host failure, it may not be possible to bring back the node to life.

+

Replace dead node operation will cause the other nodes in the cluster to stream data to the node that was replaced. +This operation can take some time (depending on the data size and network bandwidth).

+

This procedure is for replacing one dead node. To replace more than one dead node, run the full procedure to completion one node at a time

+

Procedure

+
    +
  1. Verify the status of the node using nodetool status command, the node with status DN is down and need to be replaced

    +
    kubectl -n scylla exec -ti simple-cluster-us-east-1-us-east-1a-0 -c scylla -- nodetool status
    +Datacenter: us-east-1
    +=====================
    +Status=Up/Down
    +|/ State=Normal/Leaving/Joining/Moving
    +--  Address        Load       Tokens       Owns    Host ID                               Rack
    +UN  10.43.125.110  74.63 KB   256          ?       8ebd6114-969c-44af-a978-87a4a6c65c3e  us-east-1a
    +UN  10.43.231.189  91.03 KB   256          ?       35d0cb19-35ef-482b-92a4-b63eee4527e5  us-east-1a
    +DN  10.43.43.51    74.77 KB   256          ?       1ffa7a82-c41c-4706-8f5f-4d45a39c7003  us-east-1a
    +
    +
    +
  2. +
  3. Identify service which is bound to down node by checking IP address

    +
    kubectl -n scylla get svc
    +NAME                                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                           AGE
    +simple-cluster-client                   ClusterIP   None            <none>        9180/TCP                                                          3h12m
    +simple-cluster-us-east-1-us-east-1a-0   ClusterIP   10.43.231.189   <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   3h12m
    +simple-cluster-us-east-1-us-east-1a-1   ClusterIP   10.43.125.110   <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   3h11m
    +simple-cluster-us-east-1-us-east-1a-2   ClusterIP   10.43.43.51     <none>        7000/TCP,7001/TCP,7199/TCP,10001/TCP,9042/TCP,9142/TCP,9160/TCP   3h5m
    +
    +
    +
  4. +
  5. Drain node which we would like to replace using. This command may delete your data from local disks attached to given node!

    +
    kubectl drain gke-scylla-demo-default-pool-b4b390a1-6j12 --ignore-daemonsets --delete-local-data
    +
    +
    +

    Pod which will be replaced should enter the Pending state

    +
    kubectl -n scylla get pods
    +NAME                                    READY   STATUS    RESTARTS   AGE
    +simple-cluster-us-east-1-us-east-1a-0   2/2     Running   0          3h21m
    +simple-cluster-us-east-1-us-east-1a-1   2/2     Running   0          3h19m
    +simple-cluster-us-east-1-us-east-1a-2   0/2     Pending   0          8m14s
    +
    +
    +
  6. +
  7. To being node replacing, add scylla/replace="" label to service bound to pod we are replacing.

    +
    kubectl -n scylla label svc simple-cluster-us-east-1-us-east-1a-2 scylla/replace=""
    +
    +
    +

    Your failed Pod should be recreated on available k8s node

    +
    kubectl -n scylla get pods
    +NAME                                    READY   STATUS    RESTARTS   AGE
    +simple-cluster-us-east-1-us-east-1a-0   2/2     Running   0          3h27m
    +simple-cluster-us-east-1-us-east-1a-1   2/2     Running   0          3h25m
    +simple-cluster-us-east-1-us-east-1a-2   1/2     Running   0          9s
    +
    +
    +

    Because other nodes in cluster must stream data to new node this operation might take some time depending on how much data your cluster stores. +After bootstraping is over, your new Pod should be ready to go. +Old one shouldn’t be no longer visible in nodetool status

    +
    kubectl -n scylla exec -ti simple-cluster-us-east-1-us-east-1a-0 -c scylla -- nodetool status
    +Datacenter: us-east-1
    +=====================
    +Status=Up/Down
    +|/ State=Normal/Leaving/Joining/Moving
    +--  Address        Load       Tokens       Owns    Host ID                               Rack
    +UN  10.43.125.110  74.62 KB   256          ?       8ebd6114-969c-44af-a978-87a4a6c65c3e  us-east-1a
    +UN  10.43.231.189  91.03 KB   256          ?       35d0cb19-35ef-482b-92a4-b63eee4527e5  us-east-1a
    +UN  10.43.191.172  74.77 KB   256          ?       1ffa7a82-c41c-4706-8f5f-4d45a39c7003  us-east-1a
    +
    +
    +
  8. +
  9. Run the repair on the cluster to make sure that the data is synced with the other nodes in the cluster. +You can use Scylla Manager to run the repair.

  10. +
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/restore.html b/master/nodeoperations/restore.html new file mode 100644 index 00000000000..14192a89e42 --- /dev/null +++ b/master/nodeoperations/restore.html @@ -0,0 +1,629 @@ + + + + + + + + + + + + + Restore from backup | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + + + +
+

Restore from backup

+

This procedure will describe how to restore from backup taken using Scylla Manager to a fresh empty cluster of any size.

+

First identify to which snapshot you want to restore. To get list of available snapshot execute following command on Scylla Manager Pod.

+
sctool backup list -c <CLUSTER_ID> --all-clusters -L <BACKUP_LOCATION>
+
+
+

Where:

+
    +
  • CLUSTER_ID - is a name of a cluster or ID under which ScyllaCluster was registered. You can find it in ScyllaCluster Status.

  • +
  • BACKUP_LOCATION - is a location where backup is stored. For example, for bucket called backups stored in AWS S3, location is s3:backups.

  • +
+
sctool backup list -c simple-cluster --all-clusters -L s3:backups
+Snapshots:
+  - sm_20201227144037UTC (409MiB)
+  - sm_20201228145917UTC (434MiB)
+Keyspaces:
+  - users (9 tables)
+  - system_auth (2 tables)
+  - system_distributed (3 tables)
+  - system_schema (13 tables)
+  - system_traces (5 tables)
+
+
+

To get the list of files use:

+
sctool backup files -c <CLUSTER_ID> -L <BACKUP_LOCATION> -T <SNAPSHOT_TAG>
+
+
+

Where:

+
    +
  • SNAPSHOT_TAG - name of snapshot you want to restore.

  • +
+

Before we start restoring the data, we have to restore the schema. +The first output line is a path to schemas archive, for example:

+
s3://backups/backup/schema/cluster/ed63b474-2c05-4f4f-b084-94541dd86e7a/task_287791d9-c257-4850-aef5-7537d6e69d90_tag_sm_20201228145917UTC_schema.tar.gz      ./
+
+
+

To download this archive you can use AWS CLI tool aws s3 cp.

+

This archive contains a single CQL file for each keyspace in the backup.

+
tar -ztvf task_287791d9-c257-4850-aef5-7537d6e69d90_tag_sm_20201228145917UTC_schema.tar.gz
+-rw------- 0/0           12671 2020-12-28 13:17 users.cql
+-rw------- 0/0            2216 2020-12-28 13:17 system_auth.cql
+-rw------- 0/0             921 2020-12-28 13:17 system_distributed.cql
+-rw------- 0/0           12567 2020-12-28 13:17 system_schema.cql
+-rw------- 0/0            4113 2020-12-28 13:17 system_traces.cql
+
+
+

Extract this archive and copy each schema file to one of the cluster Pods by:

+
kubectl -n scylla cp users.cql simple-cluster-us-east-1-us-east-1a-0:/tmp/users.cql -c scylla
+
+
+

To import schema simply execute:

+
kubectl -n scylla exec simple-cluster-us-east-1-us-east-1a-0 -c scylla -- cqlsh -f /tmp/users.cql
+
+
+

Once the schema is recreated we can proceed to downloading data files.

+

First let’s save a list of snapshot files to file called backup_files.out:

+
kubectl -n scylla-manager exec deployment.apps/scylla-manager-controller -- sctool backup files -c simple-cluster -L s3:backups -T sm_20201228145917UTC > backup_files.out
+
+
+

We will be using sstableloader to restore data. sstableloader needs a specific directory structure to work namely: <keyspace>/<table>/<contents> +To create this directory structure and download all the files execute these commands:

+
mkdir snapshot
+cd snapshot
+# Create temporary directory structure.
+cat ../backup_files.out | awk '{print $2}' | xargs mkdir -p
+# Download snapshot files.
+cat ../backup_files.out | xargs -n2 aws s3 cp
+
+
+

To load data into cluster pass cluster address to sstableloader together with path to data files and credentials:

+
sstableloader -d 'simple-cluster-us-east-1-us-east-1a-0.scylla.svc,simple-cluster-us-east-1-us-east-1a-1.scylla.svc,simple-cluster-us-east-1-us-east-1a-2.scylla.svc' ./users/data_0 --username scylla --password <password>
+
+
+

Depending on how big is your data set, this operation may take some time. +Once it finishes, data from the snapshot is restored and you may clean up the host.

+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/nodeoperations/scylla-upgrade.html b/master/nodeoperations/scylla-upgrade.html new file mode 100644 index 00000000000..4b41a571620 --- /dev/null +++ b/master/nodeoperations/scylla-upgrade.html @@ -0,0 +1,640 @@ + + + + + + + + + + + + + Upgrading version of Scylla | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Upgrading version of Scylla

+

To upgrade Scylla version using Operator user have to modify existing ScyllaCluster definition.

+

In this example cluster will be upgraded to version 4.4.5.

+
kubectl -n scylla patch ScyllaCluster simple-cluster  -p '{"spec":{"version": "4.4.5"}}' --type=merge
+
+
+

Operator supports two types of version upgrades:

+
    +
  1. Patch upgrade

  2. +
  3. Generic upgrade

  4. +
+

Patch upgrade

+

Patch upgrade is executed when only patch version change is detected according to semantic versioning format. +Procedure simply rolls out a restart of whole cluster and upgrades Scylla container image for each node one by one.

+

Example: 4.0.0 -> 4.0.1

+

Generic upgrade

+

Generic upgrades are executed for the non patch version changes.

+

Example: 4.0.0 -> 2020.1.0 or 4.0.0 -> 4.1.0 or even 4.0.0 -> nightly

+

User can observe current state of upgrade in ScyllaCluster status.

+
kubectl -n scylla describe ScyllaCluster simple-cluster
+[...]
+Status:
+  Racks:
+    us-east-1a:
+      Members:        3
+      Ready Members:  3
+      Version:        4.1.9
+  Upgrade:
+    Current Node:         simple-cluster-us-east-1-us-east-1a-2
+    Current Rack:         us-east-1a
+    Data Snapshot Tag:    so_data_20201228135002UTC
+    From Version:         4.1.9
+    State:                validate_upgrade
+    System Snapshot Tag:  so_system_20201228135002UTC
+    To Version:           4.2.2
+
+
+

Each upgrade begins with taking a snapshot of system and system_schema keyspaces on all nodes in parallel. +Name of this snapshot tag is saved in upgrade status under System Snapshot Tag.

+

Before nodes in rack are upgraded, underlying StatefulSet is changed to use OnDelete UpgradeStrategy. +This allows Operator have a full control over when Pod image is changed.

+

When a node is being upgraded, maintenance mode is enabled, then the node is drained and snapshot of all data keyspaces is taken. +Snapshot tag is saved under Data Snapshot Tag and is the same for all nodes during the procedure. +Once everything is set up, maintenance mode is disabled and Scylla Pod is deleted. Underlying StatefulSet will bring up a new +Pod with upgraded version. +Once Pod will become ready, data snapshot from this particular node is removed, and Operator moves to next node.

+

Once every rack is upgraded, system snapshot is removed from all nodes in parallel and previous StatefulSet UpgradeStrategy is restored. +At this point, all your nodes should be already in desired version.

+

Current state of upgrade can be traced using Current Node, Current Rack and State status fields.

+
    +
  • Current Node shows which node is being upgraded.

  • +
  • Current Rack displays which rack is being upgraded.

  • +
  • State contain information at which stage upgrade is.

  • +
+

State can have following values:

+
    +
  • begin_upgrade - upgrade is starting

  • +
  • check_schema_agreement - Operator waits until all nodes reach schema agreement. It waits for it for 1 minute, prints an error log message and check is retried.

  • +
  • create_system_backup - system keyspaces snapshot is being taken

  • +
  • find_next_rack - Operator finds out which rack must be upgraded next, decision is saved in Current Rack

  • +
  • upgrade_image_in_pod_spec - Image and UpgradeStrategy is upgraded in underlying StatefulSet

  • +
  • find_next_node - Operator finds out which node must be upgraded next, decision is saved in Current Node

  • +
  • enable_maintenance_mode - maintenance mode is being enabled

  • +
  • drain_node - node is being drained

  • +
  • backup_data - snapshot of data keyspaces is being taken

  • +
  • disable_maintenance_mode - maintenance mode is being disabled

  • +
  • delete_pod - Scylla Pod is being deleted

  • +
  • validate_upgrade - Operator validates if new pod enters Ready state and if Scylla version is upgraded

  • +
  • clear_data_backup - snapshot of data keyspaces is being removed

  • +
  • clear_system_backup - snapshot of system keyspaces is being removed

  • +
  • restore_upgrade_strategy - restore UpgradeStrategy in underlying StatefulSet

  • +
  • finish_upgrade - upgrade cleanup

  • +
+

Recovering from upgrade failure

+

Upgrade may get stuck on validate_upgrade stage. This happens when Scylla Pod refuses to properly boot up.

+

To continue with upgrade, first turn off operator by scaling Operator replicas to zero:

+
kubectl -n scylla-operator scale deployment.apps/scylla-operator --replicas=0
+
+
+

Then user have to manually resolve issue with Scylla by checking what is the root cause of a failure in Scylla container logs. +If needed data and system keyspaces SSTable snapshots are available on the node. You can check ScyllaCluster status for their names.

+

Once issue is resolved and Scylla Pod is up and running (Pod is in Ready state), scale Operator back to two replicas:

+
kubectl -n scylla-operator scale deployment.apps/scylla-operator --replicas=2
+
+
+

Operator should continue upgrade process from where it left off.

+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/objects.inv b/master/objects.inv new file mode 100644 index 00000000000..e6232eaef80 --- /dev/null +++ b/master/objects.inv @@ -0,0 +1,6 @@ +# Sphinx inventory version 2 +# Project: Scylla Operator +# Version: +# The remainder of this file is compressed using zlib. +xڝUn0+j[[bma5w[(RRr(Z\bq8Rkþ2IqԚUii$~g 5"F*. 1a읒x}E6J]f,znEt\q (t_ {P h\u[`dr1PMmG'qѩ=__Lc:Ӻ令{/)*E-7HEp0 + + + + + + + + + + Performance tuning | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Performance tuning

+

Scylla Operator 1.6 introduces a new experimental feature allowing users to optimize Kubernetes nodes.

+
+

Node tuning

+

Starting from Operator 1.6, a new CRD called NodeConfig is available, allowing users to target Nodes which should be tuned. +When a Node is supposed to be optimized, the Scylla Operator creates a DaemonSet covering these Nodes. +Nodes matching the provided placement conditions will be subject to tuning.

+

Below example NodeConfig tunes nodes having scylla.scylladb.com/node-type=scylla label:

+
apiVersion: scylla.scylladb.com/v1alpha1
+kind: NodeConfig
+metadata:
+ name: cluster
+spec:
+ placement:
+   nodeSelector:
+     scylla.scylladb.com/node-type: scylla
+
+
+

For more details about new CRD use:

+
kubectl explain nodeconfigs.scylla.scylladb.com/v1alpha1
+
+
+

For all optimizations we use a Python script available in the Scylla image called perftune. +Perftune executes the performance optmizations like tuning the kernel, network, disk devices, spreading IRQs across CPUs and more.

+

Tuning consists of two separate optimizations: common node tuning, and tuning based on Scylla Pods and their resource assignment. +Node tuning is executed immediately. Pod tuning is executed when Scylla Pod lands on the same Node.

+

Scylla works most efficently when it’s pinned to CPU and not interrupted. +One of the most common causes of context-switching are network interrupts. Packets coming to a node need to be processed, +and this requires CPU shares.

+

On K8s we always have at least a couple of processes running on the node: kubelet, kubernetes provider applications, daemons etc. +These processes require CPU shares, so we cannot dedicate entire node processing power to Scylla, we need to leave space for others.
We take advantage of it, and we pin IRQs to CPUs not used by any Scylla Pods exclusively.

+

Tuning resources are created in a special namespace called scylla-operator-node-tuning.

+

The tuning is applied only to pods with Guaranteed QoS class. Please double check your ScyllaCluster resource specification +to see if it meets all conditions.

+
+
+

Kubernetes tuning

+

By default, the kubelet uses the CFS quota to enforce pod CPU limits.
When the node runs many CPU-bound pods, the workload can move around different CPU cores depending on whether the pod +is throttled and which CPU cores are available. +However, kubelet may be configured to assign CPUs exclusively, by setting the CPU manager policy to static.

+

Setting up kubelet configuration is provider specific. Please check the docs for your distribution or talk to your +provider.

+

Only pods within the Guaranteed QoS class) can take advantage of this option. +When such pod lands on a Node, kubelet will pin them to specific CPUs, and those won’t be part of the shared pool.

+

In our case there are two requirements each ScyllaCluster must fulfill to receive a Guaranteed QoS class:

+
    +
  • resource request and limits must be equal or only limits have to be provided

  • +
  • agentResources must be provided and their requests and limits must be equal, or only limits have to be provided

  • +
+

An example of such a ScyllaCluster that receives a Guaranteed QoS class is below:

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+metadata:
+  name: guaranteed-cluster
+  namespace: scylla
+spec:
+  version: 4.5.1
+  agentVersion: 2.5.2
+  datacenter:
+    name: us-east-1
+    racks:
+    - name: us-east-1a
+      members: 3
+      storage:
+        capacity: 500Gi
+      agentResources:
+        requests:
+          cpu: 1
+          memory: 1G
+        limits:
+          cpu: 1
+          memory: 1G
+      resources:
+        requests:
+          cpu: 4
+          memory: 16G
+        limits:
+          cpu: 4
+          memory: 16G
+
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/releases.html b/master/releases.html new file mode 100644 index 00000000000..8d1358a6e80 --- /dev/null +++ b/master/releases.html @@ -0,0 +1,821 @@ + + + + + + + + + + + + + Releases | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Releases

+
+

Schedule

+

We are aiming to ship a new release approximately every 6 weeks. The following release schedule is only advisory, there are no commitments made to hitting these dates.

+ + + + + + + + + + + + + + + +
ReleaseCode freezeGeneral availability
1.112023-10-022023-10-16
+
+

Supported releases

+

We support the latest 2 releases of the operator to give everyone time to upgrade.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ReleaseGeneral availabilitySupport ends
1.102023-08-25Release of 1.12
1.92023-07-04Release of 1.11
1.82023-01-252023-08-25
1.72022-01-272023-07-04
1.62021-12-032023-01-25
1.52021-09-162022-01-27
1.42021-08-102021-12-03
1.32021-06-172021-09-16
1.22021-05-062021-08-10
1.12021-03-222021-06-17
1.02021-01-212021-05-06
+

Backport policy

+

Usually, only important bug fixes are eligible for being backported. +This may depend on the situation and assessment of the maintainers.

+
+
+
+

CI/CD

+

We use GitHub actions for our CI/CD. Every merge to a supported branch, or a creation of a tag will automatically trigger a job to build, test and publish the container image and other artifacts like helm charts. Before we publish any image, it must pass the e2e suite.

+
+

Automated promotions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Git referenceTypeContainer image
masterbranchdocker.io/scylladb/scylla-operator:latest
vX.Ybranchdocker.io/scylladb/scylla-operator:X.Y
vX.Y.Ztagdocker.io/scylladb/scylla-operator:X.Y.Z
vX.Y.Z-alpha.Ntagdocker.io/scylladb/scylla-operator:X.Y.Z-alpha.N
vX.Y.Z-beta.Ntagdocker.io/scylladb/scylla-operator:X.Y.Z-beta.N
vX.Y.Z-rc.Ntagdocker.io/scylladb/scylla-operator:X.Y.Z-rc.N
+
+

Generally available

+

GA images aren’t build from scratch but rather promoted from an existing release candidates. When we decide a release candidate has the acceptable quality and QA sings it off, the release candidate is promoted to become the GA release. This makes sure the image has exactly the same content and SHA as the tested release candidate.

+
+
+
+

Support matrix

+

Support matrix table shows the version requirements for a particular scylla-operator version. Be sure to match these requirements, otherwise some functionality will not work.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
v1.10v1.9v1.8v1.7v1.6v1.5v1.4v1.3v1.2v1.1v1.0
Kubernetes>=1.21>=1.21>=1.21>=1.20 && <1.25>=1.19.10 && <1.25>=1.19.10>=1.19.10>=1.19>=1.19>=1.11>=1.11
CRI APIv1v1v1alpha2v1alpha2v1alpha2
Scylla OS>=5.0>=5.0>=5.0>=4.3>=4.3>=4.3>=4.3>=4.2>=4.2>=4.0>=4.0
Scylla Enterprise>=2021.1>=2021.1>=2021.1>=2021.1>=2021.1>=2021.1>=2021.1>=2020.1>=2020.1>=2020.1>=2020.1
Scylla Manager>=2.6>=2.6>=2.6>=2.2>=2.2>=2.2>=2.2>=2.2>=2.2>=2.2>=2.2
Scylla Monitoring>=4.0>=4.0>=4.0>=3.0>=3.0>=1.0>=1.0>=1.0>=1.0>=1.0>=1.0
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/scylla-cluster-crd.html b/master/scylla-cluster-crd.html new file mode 100644 index 00000000000..681faa2a2ab --- /dev/null +++ b/master/scylla-cluster-crd.html @@ -0,0 +1,781 @@ + + + + + + + + + + + + + Scylla Cluster CRD | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Scylla Cluster CRD

+

Scylla database clusters can be created and configured using the clusters.scylla.scylladb.com custom resource definition (CRD).

+

Please refer to the the user guide walk-through for deployment instructions. +This page will explain all the available configuration options on the Scylla CRD.

+
+

Sample

+
apiVersion: scylla.scylladb.com/v1
+kind: ScyllaCluster
+metadata:
+  name: simple-cluster
+  namespace: scylla
+spec:
+  version: 2.3.1
+  repository: scylladb/scylla
+  developerMode: true
+  cpuset: false
+  automaticOrphanedNodeCleanup: true
+  repairs:
+  - name: "weekly us-east-1 repair"
+    intensity: "2"
+    interval: "7d"
+    dc: ["us-east-1"]
+  backups:
+  - name: "daily users backup"
+    rateLimit: ["50"]
+    location: ["s3:cluster-backups"]
+    interval: "1d"
+    keyspace: ["users"]
+  - name: "weekly full cluster backup"
+    rateLimit: ["50"]
+    location: ["s3:cluster-backups"]
+    interval: "7d"
+  datacenter:
+    name: us-east-1
+    racks:
+      - name: us-east-1a
+        members: 3
+        storage:
+          capacity: 500G
+          storageClassName: local-raid-disks
+        resources:
+          requests:
+            cpu: 8
+            memory: 32Gi
+          limits:
+            cpu: 8
+            memory: 32Gi
+        placement:
+          nodeAffinity:
+            requiredDuringSchedulingIgnoredDuringExecution:
+              nodeSelectorTerms:
+                - matchExpressions:
+                  - key: failure-domain.beta.kubernetes.io/region
+                    operator: In
+                    values:
+                      - us-east-1
+                  - key: failure-domain.beta.kubernetes.io/zone
+                    operator: In
+                    values:
+                      - us-east-1a
+          tolerations:
+            - key: role
+              operator: Equal
+              value: scylla-clusters
+              effect: NoSchedule
+
+
+
+
+

Settings Explanation

+
+

Cluster Settings

+
    +
  • version: The version of Scylla to use. It is used as the image tag to pull.

  • +
  • agentVersion: The version of Scylla Manager Agent to use. It is used as the image tag to pull.

  • +
  • repository: Optional field. Specifies a custom image repo. If left unset, the official docker hub repo is used (scylladb/scylla).

  • +
  • agentRepository: Optional field. Specifies a custom Scylla Manager Agent image repo. If left unset, the official docker hub repo is used (scylladb/scylla).

  • +
  • developerMode: Optional field. If it’s true, then Scylla is started in developer mode. This setting is for shared test/dev environments.

  • +
  • cpuset: Optional field. If it’s true, then the operator will start Scylla with cpu pinning for maximum performance. For this to work, you need to set the kubelet to use the static cpu policy and only specify limits in resources.

  • +
  • automaticOrphanedNodeCleanup: Optional field. Controls if automatic orphan node cleanup should be performed.

  • +
  • alternator: Optional field. Defines Alternator configuration.

    +
      +
    • port: Port on which to bind to Alternator API.

    • +
    • writeIsolation: required Desired write isolation.

    • +
    +
  • +
  • genericUpgrade: Optional field. Defines GenericUpgrade configuration.

    +
      +
    • failureStrategy: specifies which logic is executed when upgrade failure happens. Currently only Retry is supported.

    • +
    • pollInterval: specifies how often upgrade logic polls on state updates. +Increasing this value should lower number of requests sent to the kube-apiserver, but it may affect +overall time spent during upgrade.

    • +
    +
  • +
  • datacenter: Datacenter definition.

  • +
  • sysctls: Optional field. Sysctl properties to be applied during initialization.

  • +
  • scyllaArgs: Optional field. Command line argument passed to Scylla container image. Note: not all Scylla versions support it.

  • +
  • network: Optional field. Allows to customize network parameters.

    +
      +
    • hostNetworking: controls if host networking should be enabled.

    • +
    • dnsPolicy: controls Scylla Pod DNS Policy. See details.

    • +
    +
  • +
  • repairs: Optional field. Repair tasks definitions. See Scylla Manager settings for details.

  • +
  • backups: Optional field. Repair tasks definitions. See Scylla Manager settings for details.

  • +
+

In the Scylla model, each cluster contains datacenters and each datacenter contains racks. At the moment, the operator only supports single datacenter setups.

+
+
+

Scylla Manager settings

+

Tasks are scheduled only when Scylla Manager is deployed in K8s cluster.

+

Repairs:

+
    +
  • name - required - human readable name of the task. It must be unique across all tasks.

  • +
  • startDate - specifies the task start date expressed in the RFC3339 format or now[+duration], e.g. now+3d2h10m, +valid units are d, h, m, s (default “now”).

  • +
  • interval - Optional field. Task schedule interval e.g. 3d2h10m, valid units are d, h, m, s (default “0”).

  • +
  • numRetries - Optional field. The number of times a scheduled task will retry to run before failing (default 3).

  • +
  • dc - Optional field. A list of datacenter glob patterns, e.g. ["dc1", "!otherdc*"] used to specify the DCs to include or exclude from backup.

  • +
  • failFast - Optional field. Stop repair on first error.

  • +
  • intensity - Optional field. Specifies how many token ranges (per shard) to repair in a single Scylla repair job. By default this is 1. +If you set it to 0 the number of token ranges is adjusted to the maximum supported by node (see max_repair_ranges_in_parallel in Scylla logs). +Valid values are 0 and integers >= 1. Higher values will result in increased cluster load and slightly faster repairs. +Changing the intensity impacts repair granularity if you need to resume it, the higher the value the more work on resume. +For Scylla clusters that do not support row-level repair, intensity can be a decimal between (0,1). +In that case it specifies percent of shards that can be repaired in parallel on a repair master node. +For Scylla clusters that are row-level repair enabled, setting intensity below 1 has the same effect as setting intensity 1. +Intensity is a number passed as string due to lack of support for float values in k8s controller runtime

  • +
  • parallel - Optional field. Specifies the maximum number of Scylla repair jobs that can run at the same time (on different token ranges and replicas). +Each node can take part in at most one repair at any given moment. By default the maximum possible parallelism is used. +The effective parallelism depends on a keyspace replication factor (RF) and the number of nodes. +The formula to calculate it is as follows: number of nodes / RF, ex. for 6 node cluster with RF=3 the maximum parallelism is 2.

  • +
  • keyspace - Optional field. A list of keyspace/tables glob patterns, e.g. ["keyspace", "!keyspace.table_prefix_*"] +used to include or exclude keyspaces from repair.

  • +
  • smallTableThreshold - Optional field. Enable small table optimization for tables of size lower than given threshold. +Supported units [B, MiB, GiB, TiB] (default "1GiB").

  • +
+

Backups:

+
    +
  • name - required - human readable name of the task. It must be unique across all tasks.

  • +
  • startDate - Optional field. Specifies the task start date expressed in the RFC3339 format or now[+duration], e.g. now+3d2h10m, +valid units are d, h, m, s (default “now”).

  • +
  • interval - Optional field. task schedule interval e.g. 3d2h10m, valid units are d, h, m, s (default “0”).

  • +
  • numRetries - Optional field. the number of times a scheduled task will retry to run before failing (default 3).

  • +
  • dc - Optional field. A list of datacenter glob patterns, e.g. ["dc1","!otherdc*"] used to specify the DCs to include or exclude from backup.

  • +
  • keyspace - Optional field. A list of keyspace/tables glob patterns, e.g. ["keyspace","!keyspace.table_prefix_*"] used to include or exclude keyspaces from backup.

  • +
  • location - Optional field. A list of backup locations in the format [<dc>:]<provider>:<name> ex. s3:my-bucket. +The <dc>: part is optional and is only needed when different datacenters are being used to upload data to different locations. +<name> Optional field. must be an alphanumeric string and may contain a dash and or a dot, but other characters are forbidden. +The only supported storage at the moment are s3 and gcs.

  • +
  • rateLimit - Optional field. A list of megabytes (MiB) per second rate limits expressed in the format [<dc>:]<limit>. +The <dc>: part is optional and only needed when different datacenters need different upload limits. +Set to 0 for no limit (default 100).

  • +
  • retention - Optional field. The number of backups which are to be stored (default 3).

  • +
  • snapshotParallel - Optional field. A list of snapshot parallelism limits in the format [<dc>:]<limit>. +The <dc>: part is optional and allows for specifying different limits in selected datacenters. +If The <dc>: part is not set, the limit is global (e.g. ["dc1:2,5"]) the runs are parallel in n nodes (2 in dc1) +and n nodes in all the other datacenters.

  • +
  • uploadParallel - Optional field. A list of upload parallelism limits in the format [<dc>:]<limit>. +The <dc>: part is optional and allows for specifying different limits in selected datacenters. +If The <dc>: part is not set the limit is global (e.g. ["dc1:2,5"]) the runs are parallel in n nodes (2 in dc1) +and n nodes in all the other datacenters.

  • +
+
+
+

Datacenter Settings

+
    +
  • name: Name of the datacenter. Usually, a datacenter corresponds to a region.

  • +
  • racks: List of racks for the specific datacenter.

  • +
+
+
+

Rack Settings

+
    +
  • name: Name of the rack. Usually, a rack corresponds to an availability zone.

  • +
  • members: Number of Scylla members for the specific rack. (In Scylla documentation, they are called nodes. We don’t call them nodes to avoid confusion as a Scylla Node corresponds to a Kubernetes Pod, not a Kubernetes Node).

  • +
  • storage: Defines the specs of the underlying storage.

    +
      +
    • capacity: Capacity of the PersistentVolume to request.

    • +
    • storageClassName: Optional field. StorageClass of PersistentVolume to request.

    • +
    +
  • +
  • resources: Defines the CPU and RAM resources for the Scylla Pods.

    +
      +
    • requests: The minimum amount of resources needed to run a Scylla container.

      +
        +
      • cpu: CPU requests.

      • +
      • memory: RAM requests.

      • +
      +
    • +
    • limits: The maximum amount of resources that can be used by a Scylla container.

      +
        +
      • cpu: CPU limits.

      • +
      • memory: RAM limits.

      • +
      +
    • +
    +
  • +
  • agentResources: Optional field. Defines the CPU and RAM resources for the Scylla Manager Agent container. See resources for details.

  • +
  • volumes: Optional field. Defines volumes available in Scylla Pod. See details.

  • +
  • volumeMounts: Optional field. Defines which volumes will be attached to Scylla container.

  • +
  • agentVolumeMounts: Optional field. Defines which volumes will be attached to Agent container.

  • +
  • scyllaConfig: Optional field. name of custom config map which will be merged with Scylla config.

  • +
  • scyllaAgentConfig: Optional field. name of custom secret which will be merged with Scylla Manager Agent config.

  • +
  • placement: Optional field. Defines the placement of Scylla Pods. Has the following subfields:

    + +
  • +
+
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/search.html b/master/search.html new file mode 100644 index 00000000000..2dcdae302cd --- /dev/null +++ b/master/search.html @@ -0,0 +1,535 @@ + + + + + + + + + + + + + Search | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ + + +
+ + + + + +
+ + +
+ +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file diff --git a/master/searchindex.js b/master/searchindex.js new file mode 100644 index 00000000000..93ef75f1c4a --- /dev/null +++ b/master/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["contributing","eks","exposing","generic","gke","helm","index","known-issues","manager","migration","monitoring","multidc/eks","multidc/gke","multidc/index","multidc/multidc","nodeoperations/automatic-cleanup","nodeoperations/index","nodeoperations/maintenance-mode","nodeoperations/replace-node","nodeoperations/restore","nodeoperations/scylla-upgrade","performance","releases","scylla-cluster-crd","upgrade"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.todo":2,sphinx:56},filenames:["contributing.md","eks.md","exposing.md","generic.md","gke.md","helm.md","index.rst","known-issues.md","manager.md","migration.md","monitoring.md","multidc/eks.md","multidc/gke.md","multidc/index.rst","multidc/multidc.md","nodeoperations/automatic-cleanup.md","nodeoperations/index.rst","nodeoperations/maintenance-mode.md","nodeoperations/replace-node.md","nodeoperations/restore.md","nodeoperations/scylla-upgrade.md","performance.md","releases.md","scylla-cluster-crd.md","upgrade.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[0,2,3,4,5,8,10,11,12,14,18,19,20,22,23],"00":8,"000":3,"0000":8,"00000000":8,"000000000000":8,"008":7,"01":22,"02":22,"03":[18,22],"04":22,"05":22,"06":[8,22],"07":22,"08":22,"08077dcc008fbbab6":11,"09":[8,22],"0bb60902":12,"0dfd":14,"1":[0,1,2,3,5,8,9,10,11,12,14,18,19,20,21,22,23],"10":[3,5,8,9,11,12,14,18,22],"100":[8,23],"1000":12,"10000000":3,"10001":[5,9,18],"100m":[5,14],"104m":9,"105":5,"106m":9,"107":[8,14],"107m":9,"108m":9,"109":8,"109m":9,"11":[14,22],"110":18,"110m":9,"12":[0,8,19,22],"121c":14,"1234":0,"125":18,"12567":19,"12671":19,"127":8,"128mi":5,"12a3678d":9,"13":[0,8,19],"130":5,"14":8,"149":5,"15":8,"16":[5,8,11,12,14,22],"16g":21,"17":[12,19,22],"172":[11,12,14,18],"18":[12,14],"1800g":14,"189":18,"19":[14,22],"191":18,"193":8,"195":14,"197":8,"1a":[1,3,8,9,11,14,18,19,20,21,23],"1b":[1,5,11,14],"1c":[1,11,14],"1d":[8,23],"1ffa7a82":18,"1fr9ydlu0ve7m":11,"1g":21,"1gi":[5,10],"1gib":23,"1m":8,"2":[2,3,4,5,8,9,11,12,14,17,18,19,20,21,22,23],"20":[4,8,12,22],"200":10,"200000000":8,"2020":[8,19,20,22],"20200816":8,"2021":22,"2022":22,"2023":[2,22],"207":5,"209":14,"2097152":[3,14],"20g":3,"20mi":5,"21":22,"22":[9,22],"2216":19,"226716":4,"23":[8,9],"231":[5,18],"236a0e10575b":8,"237":14,"238z":8,"23t11":8,"24":14,"246":9,"25":[8,9,14,22],"250000000":8,"250m":14,"25126532803b":8,"256":[14,18],"26":8,"27":[8,14,22],"275aae7f":8,"28":[8,19],"28169610":8,"28m":8,"29":8,"290":14,"2a":[11,14],"2aa90ab29a99":14,"2b":[11,14],"2b9dbe8c":8,"2c":[11,14],"2c05":19,"2g":3,"2xlarg":1,"3":[0,1,3,5,8,14,19,20,21,22,23],"30":3,"300":3,"30000":3,"30000000000":8,"300000000000":8,"30m":[9,24],"30mi":5,"32":4,"327f":14,"32gi":23,"32mi":5,"33":8,"336":14,"35d0cb19":18,"35ef":18,"37m":8,"38":8,"39":14,"3d0a7b9305f7":14,"3d2h10m":23,"3h11m":18,"3h12m":18,"3h19m":18,"3h21m":18,"3h25m":18,"3h27m":18,"3h5m":18,"4":[1,3,4,5,8,20,21,22],"400b2723":8,"4062":14,"409mib":19,"4113":19,"4128":14,"42":8,"422a":8,"43":[5,9,18],"43200000000000":8,"434mib":19,"435z":8,"443":[5,10],"44af":18,"4703":8,"4706":18,"479e65fb8372":8,"482b":18,"4850":19,"49":5,"494277b9":14,"49f2":8,"4a25":14,"4af9":14,"4bb4":8,"4c20":8,"4c97":8,"4c9c":9,"4d45a39c7003":18,"4d93":14,"4db3":14,"4f4f":19,"4fc8":8,"4m29":5,"5":[0,2,8,14,19,20,21,22,23],"50":[3,23],"50000000":3,"5000000000":8,"500g":23,"500gi":21,"500m":5,"500mi":5,"503":14,"5080":8,"5090":5,"51":[5,18],"519z":8,"53":[5,8],"54":8,"559":14,"56090":8,"56112":8,"56g":14,"57":8,"58":8,"5871":24,"59":14,"5dbcb54f5c":5,"5g":5,"5m":10,"5m58":5,"5m59":5,"6":[3,21,22,23],"60":[5,8],"600":9,"600000000":8,"6004039f402e":14,"619ada495c2a":8,"62":[8,18],"63":18,"634":14,"64b6292a":14,"65b89d55bb":10,"66":9,"665dde7e":14,"669db64dd":5,"69":8,"6j12":18,"6m46":3,"7":[8,14,22],"70":14,"7000":[5,9,18],"7001":[5,9,18],"705":14,"7199":[5,9,18],"74":18,"750000000":8,"7537d6e69d90_tag_sm_20201228145917utc_schema":19,"759":14,"764":14,"76cc4dcc":8,"77":18,"7735":24,"7a4f":14,"7bd9f968b9":8,"7c30ea55":14,"7d":[8,23],"7m43":3,"8":[4,8,10,12,22,23],"80":5,"8000":3,"8080":24,"844ccc56c4":5,"8511":9,"852a":14,"86f7":14,"87":14,"87a4a6c65c3":18,"882z":8,"89":5,"8a48":9,"8b9d":8,"8c54":14,"8ebd6114":18,"8f5f":18,"8m14":18,"8th":7,"9":[19,20,22,24],"9042":[5,9,18],"91":18,"9142":[5,9,18],"9160":[5,9,18],"9180":[5,9,18],"92":5,"921":19,"9263":8,"92a4":18,"94541dd86e7a":19,"95m":24,"96":9,"969c":18,"9d11":8,"9daa":8,"9df4":14,"9m49":3,"9s":18,"case":[2,3,9,11,14,18,21,23,24],"class":[2,3,21],"default":[2,3,4,5,7,8,18,21,23],"do":[0,3,8,10,11,12,17,23,24],"export":[1,4],"float":23,"function":[14,22],"import":[3,4,19,22],"new":[0,3,4,6,8,9,10,11,18,20,21,22,24],"null":10,"public":2,"return":[11,12,17],"short":[0,9],"static":[1,4,9,21,23],"switch":21,"true":[1,3,5,8,10,14,23,24],"var":8,"while":3,A:[1,2,3,4,5,10,11,12,14,23,24],And:[0,5],As:[0,1,4,8,11,14],At:[4,9,20,23],Be:22,By:[2,4,5,21,23],For:[1,2,3,5,6,8,9,10,11,12,14,17,19,21,23],If:[0,1,3,4,5,7,8,9,10,14,20,23],In:[0,3,4,5,8,9,10,11,12,14,15,18,20,21,23,24],It:[0,1,2,3,4,5,11,12,14,20,23],On:[2,7,21],One:21,Such:2,TO:5,The:[0,1,2,3,4,6,7,8,10,11,12,14,19,21,22,23],Then:[3,4,5,11,12,20],There:24,These:[1,2,4,21,24],To:[0,1,3,4,5,7,8,9,10,11,12,14,17,18,19,20,24],WITH:3,With:[8,12],_:[3,7,23],_trace_id:8,a3a98e08:14,a66d:8,a969:8,a96a:14,a978:18,ab7568b8a1bd:8,abl:[5,11],about:[0,1,2,3,4,5,12,21],abov:[1,3,4,5,8,10,11,12,24],accept:[1,22],access:[0,2,8],accord:[1,3,4,9,11,20],accordingli:14,account:[0,4],across:[14,21,23],action:22,ad:[0,3,6,11],add:[3,5,8,9,12,17,18,24],addit:[2,5,8,9,12,24],addition:[2,14],address:[2,10,12,14,18,19],adhoc:8,adjust:[3,10,11,12,14,23],admin:10,advantag:21,advis:14,advisori:22,aef5:19,affect:23,affin:15,after:[0,1,3,4,5,8,18],afterward:[1,4],ag:[3,5,8,9,18,24],again:[0,9,10,17],against:[3,11,12],agemax:8,agent:[5,8,23],agentimag:5,agentrepositori:23,agentresourc:[14,21,23],agentvers:[3,14,21,23],agentvolumemount:23,agreement:[8,20],ah:12,aim:22,aio:[3,14],alia:12,aliv:17,all:[0,1,2,3,4,5,8,9,10,11,12,14,19,20,21,23],alloc:[2,5,12],allocateloadbalancernodeport:2,allow:[1,3,5,10,11,12,14,17,20,21,23],along:3,alpha:[1,4,22],alphanumer:23,alreadi:[8,10,20],also:[0,1,2,3,4,5,6,8,9,10],alter:3,altern:[8,10,23],although:[0,5,9,10,11,12,14],alwai:[0,3,17,21],amazon:[1,13,14],amend:9,amount:23,amp:22,an:[0,2,3,5,6,11,12,20,21,22,23,24],analog:[11,12],ani:[0,2,4,5,9,11,12,19,21,22,23],annot:[2,10],anoth:[2,9],anyth:3,api:[0,3,8,10,14,22,23],apiaddress:8,apigroup:9,apiserv:23,apivers:[2,9,10,11,14,21,23,24],app:[3,5,10,14,19,20,24],appear:8,append:3,appli:[0,1,3,4,5,7,8,9,10,14,21,23,24],applic:[5,21],appropri:10,approxim:22,apropri:0,ar:[0,1,2,3,4,5,8,9,10,11,12,14,18,20,21,22,23,24],archiv:19,aren:22,argument:[3,8,23],around:21,arrai:[1,4],arrikto:4,artifact:22,ask:5,assess:22,assign:[2,21],associ:[0,3,8,9,11,12],assum:[2,10,14],assumpt:2,asynchron:3,attach:[3,4,9,18,23],attempt:8,authent:3,auto:3,autogener:5,autoh:6,autom:[5,6,8,14,24],automat:[0,3,4,8,12,16,22,23,24],automaticorphanednodecleanup:[14,15,23],autorepair:[4,12],autoupgrad:[4,12],avail:[3,4,5,8,10,14,18,19,20,21,23,24],availabilityzon:11,avoid:[0,23],aw:[1,11,19],awar:3,awk:19,b084:19,b4b390a1:18,b63eee4527e5:18,b7f3:8,b:[0,4,12,14,17,23],back:[2,17,18,20],backup:[3,6,8,16,23,24],backup_data:20,backup_fil:19,backup_loc:19,backward:[9,24],balanc:[2,17],bandwidth:18,bare:[8,10],base64:10,base:[0,5,21],bcec:8,bcm4v:5,bd63:14,becaus:[2,3,8,14,18],becom:[15,20,22],been:[2,3],befor:[0,9,10,19,20,22,23,24],begin:[6,20],begin_upgrad:20,behaviour:0,behind:14,being:[2,3,8,14,17,18,20,22,23],below:[3,8,9,10,11,12,14,21,23],benchmark:[1,4],best:3,beta:[22,23],better:[0,4],between:[3,11,12,23],beyond:10,big:19,binari:14,bind:[4,23],bit:[3,5],blank:0,block:4,boot:[9,20],bootstrap:[5,18],both:[2,3,5,11,12],bound:[9,15,18,21],box:9,branch:[22,24],breez:3,bring:[17,18,20,24],broadcastopt:[2,14],brought:24,brows:3,browser:0,bucket:[8,19,23],bug:[0,22],build:[13,14,22],build_dat:8,built:[0,2,11,12],built_bi:8,bump:9,button:0,c19c89cb:14,c257:19,c29d:8,c29f63a917c8:8,c41c:18,c436:8,c4:1,c5ab2f47eb37:14,c881772ebe62:14,c:[3,12,14,18,19],ca71efd39b2:14,ca:[5,10],cacert:10,calcul:23,call:[3,4,19,21,23,24],caller:10,can:[0,1,2,3,4,5,8,9,10,11,12,14,18,19,20,21,23],candid:22,cannot:[8,21],capabl:[1,2,3,4,14],capac:[1,4,5,14,21,23],care:[1,2,4],carri:[0,14],cass:3,cassandra:[1,4],cat:[19,24],caus:[9,17,18,20,21],cd:[0,1,3,4,19],center:14,cert:9,certain:3,certfil:8,certif:[3,5,10],certificatesecretnam:5,cest:8,cf:21,chang:[0,3,4,5,8,9,10,14,20,23,24],changelog:0,channel:[9,11],charact:23,chart:[6,10,22,24],check:[2,3,6,8,9,18,20,21,24],check_schema_agr:20,checkout:[0,9,24],choos:[3,6,16],cidr:[11,12],citizen:3,clean:[0,19],cleanup:[16,20,23],clear_data_backup:20,clear_system_backup:20,cli:[3,5,8,12,19],click:0,client:[0,3,5,9,10,14,18],clone:3,close:[0,5],cloud:[1,2,3,4,8,10,12,14],cluster:[5,6,9,10,15,17,18,19,20,21,24],cluster_id:19,cluster_nam:[1,3,4],cluster_vers:4,clusterconfig:11,clusterip:[5,9,18],clusterrol:[4,9],clusterrolebind:4,clustersharednodesecuritygroup:11,cname:10,code:[22,24],collabor:0,collect:[9,10],colon:0,column:9,com:[0,1,2,3,4,5,9,10,14,21,23,24],come:[1,3,4,8,21],command:[0,1,3,4,5,7,8,9,10,11,12,14,18,19,23],commit:[8,22],common:[1,3,4,5,8,9,21,24],commonli:0,commun:[2,11,12,14],compar:[0,9],complet:[0,3,10,18],complex:2,compon:[5,8,10],compos:[5,14],comput:[4,12],condit:[3,5,9,10,14,21,24],config:[3,4,8,11,12,14,23],config_fil:8,configmap:3,configur:[2,8,14,21,23,24],conflict:0,confus:23,connect:[2,3,8,11],connections_per_host:3,consequ:2,consid:9,consist:[5,8,14,21],consol:0,consult:8,contact:14,contain:[2,4,5,9,12,19,20,22,23,24],content:[3,4,5,19,22],context:[11,12,21],context_dc1:14,context_dc2:14,continu:[0,20],contribut:6,contributor:0,control:[2,4,8,9,10,14,19,20,23,24],controllerimag:5,controllerresourc:5,conveni:10,convent:3,copi:[3,19],core:[3,4,21],correct:[8,10],correctli:5,correspond:[11,12,23],correspondingli:14,cost:2,could:5,count:[3,4,8],coupl:21,cours:5,cover:[2,21],cp:19,cpu:[1,3,4,5,14,21,23],cpumanagerpolici:[1,4],cpuset:[3,14,23],cql:[3,8,19],cqlsh:[3,19],crd:[0,3,5,6,8,9,21,24],creat:[2,5,8,9,10,14,19,21,23,24],create_system_backup:20,createselfsignedcertif:5,creation:[1,4,8,22],credenti:[4,8,10,19],cri:22,crt:[8,10],csi:[1,4],curl:10,current:[3,5,6,10,11,12,14,20,23],custom:[2,6,8,10,11,12,23],customiz:5,customresourcedefinit:[9,24],customzi:5,d1d532cd:8,d4946360:8,d:[10,19,23,24],daemon:21,daemonset:[18,21],daili:[8,23],dash:[0,23],data:[3,4,8,10,14,18,19,20,23,24],data_0:19,databas:[5,8,23],datacent:[3,5,6,8,11,12,18,21],datacenter_nam:3,date:[0,5,8,22,23,24],daunt:3,dc1:[14,23],dc2:14,dc:[8,14,23],dc_suffix:3,dead:6,debug:8,decid:[5,22],decim:23,decis:20,decod:3,dedic:[2,5,8,11,12,14,21],defin:[2,3,5,8,14,23],definit:[2,3,4,5,6,8,9,20,23,24],degrad:[10,14],delet:[3,8,9,18,20,24],delete_pod:20,demo:[1,4,18],deni:[3,12],dep:0,depend:[0,2,9,17,18,19,21,22,23],deploi:[2,6,23,24],deploy:[3,5,8,10,12,13,14,19,20,23,24],describ:[1,3,4,8,9,11,12,14,19,20,24],descript:[0,5],desir:[3,5,8,20,23],desiredcapac:1,destin:11,destroi:[3,8,14],detach:9,detail:[3,8,10,14,21,23],detect:20,determin:0,dev:[10,23],develop:[1,4,8,10,23],developermod:[3,23],devic:[1,4,21],did:0,differ:[1,2,3,5,8,11,12,14,21,23],direct:[2,3,10,12],directli:[2,12],directori:[0,19,24],disabl:[4,5,7,12,17,20],disable_maintenance_mod:20,disambigu:[9,24],discov:[2,14],discuss:14,disk:[1,3,4,12,18,21,23],diskspacefreeminperc:8,displai:20,distinct:[2,11,12,14],distribut:21,dn:[0,2,3,10,14,17,18,23],dnsdomain:10,dnspolici:23,doc:[1,3,21],docker0:7,docker:[0,3,5,22,23,24],document:[0,1,2,3,4,5,8,11,12,14,23],doe:[0,3,5,8,14],doesn:[2,3,4,24],domain:[14,23],don:[0,1,2,4,5,23],done:[0,1,3,4,8],dot:23,doubl:21,down:[3,6,14,18],download:[5,19],downscal:6,downtim:9,drain:[18,20],drain_nod:20,drbth:5,driver:[1,2,3,4],dry:3,due:[8,14,15,23],durat:[8,23],dure:[0,14,20,23,24],dynam:[1,4],e24c:14,e2:22,e420:14,e:[3,23,24],each:[2,3,4,5,8,9,11,12,14,19,20,21,23,24],earlier:[1,4,11,14],easi:3,easier:[3,9,10,24],easiest:4,easili:[11,12],east1:[12,17],east:[1,3,5,8,9,11,14,18,19,20,21,23],echo:10,ed63b474:19,edit:[0,1,3,4,8],eec5:8,effect:[14,23],effic:21,eg:3,either:[3,5,8],ek:[6,13,14],eks_region:1,eks_zon:1,eksctl:[1,11],elig:22,els:[0,10],emploi:3,empti:[3,19],enabl:[2,3,4,7,8,11,12,14,15,17,20,23],enable_maintenance_mod:20,end:[0,9,10,22],endpoint:3,endpointsselector:10,enforc:21,enhanc:14,ensur:[0,3,9],enter:[0,5,18,20],enterpris:[2,6,8,22],entir:[3,14,21],entri:3,env:3,environ:[0,2,3,5,9,14,23],ephemer:14,eq:10,equal:[3,14,21,23],equival:2,error:[3,4,8,20,23],errorbackoff:8,esp:12,establish:[2,3,11,12,24],etc:[8,10,21],eval:3,even:[0,20],event:3,everi:[2,3,20,22],everyon:22,everyth:[0,1,3,4,5,20],ex:[4,23],exactli:[5,22],examin:[3,8],exampl:[0,1,3,4,5,8,9,10,11,12,14,17,19,20,21,24],except:[1,4],exclud:23,exclus:[2,21],exec:[3,8,14,18,19],execut:[5,7,8,9,19,20,21,23],exemplari:[11,12],exist:[3,8,9,14,20,22,24],exit:3,expect:[14,24],experi:[1,4],experiment:[6,10,21,24],explain:[2,10,11,12,21,23],explicit:15,expos:[6,14],exposeopt:[2,10,14],express:[5,23],extend:3,extern:[2,5,9,10,18],external_ip:10,externalse:14,externaltrafficpolici:2,extra:3,extract:[9,19],f17db261:12,f:[1,3,4,5,8,9,10,11,14,19,24],fa78d3992694:9,facilit:2,factor:[3,23],fail:[3,7,8,10,18,23],failfast:23,failur:[17,18,20,23],failurestrategi:23,fallback:14,fals:[5,8,10,12,14,23],fast:3,faster:23,featur:[0,21],feel:3,fetch:0,field:[2,3,5,10,14,20,23],file:[0,3,4,5,9,11,19,24],filesystem:[1,4,17],filter:12,find:[3,5,10,19,20,24],find_next_nod:20,find_next_rack:20,finish:[3,19],finish_upgrad:20,first:[0,1,3,4,5,8,9,10,19,20,23,24],fit:[0,2],fix:[0,7,22],flag:[11,12,15,24],flow:11,focus:[1,4],folder:[1,4],follow:[0,1,2,3,4,5,7,8,9,11,12,14,19,20,22,23,24],follw:5,forbid:3,forbidden:23,forc:4,forgotten:0,form:[1,4],format:[4,8,12,20,23],formula:23,fortun:3,found:[1,3,4],free:[3,4],freez:22,fresh:[19,24],from:[0,1,2,3,4,5,9,10,11,16,17,18,20,21,22,23,24],front:17,frontend:8,fs:[3,14],fulfil:21,full:[1,3,4,8,9,18,20,23],fullfil:5,fulli:[8,14],further:2,futur:[10,11,12],g:[4,9,23,24],ga:22,garbag:9,gb:3,gc:23,gcloud:[4,12],gcp:[4,12],gcp_project:4,gcp_region:4,gcp_user:4,gcp_zone:4,gen:3,gener:[0,1,2,3,4,8,9,10,20,24],genericupgrad:23,get:[0,1,3,4,5,8,9,10,11,12,14,18,19,20,24],gib:[5,23],git:[0,3,9,22,24],github:[0,3,6,10,22],give:[0,3,4,8,22],given:[11,18,23],gke:[3,6,13,14,18],glob:23,global:23,go:[0,3,5,9,14,18,24],go_vers:8,good:[0,2,5],googl:12,googleapi:[5,24],gopath:0,grafana:[3,6],grafana_password:10,grafana_serving_cert:10,grafana_us:10,grant:9,granular:23,gt:22,guarante:[4,21],guid:[1,3,4,5,8,9,11,12,14,23,24],guidanc:[11,12],gz:19,h:[3,23],ha:[0,2,3,4,11,14,22,23],hack:3,hacki:9,hairpin:7,handl:4,happen:[3,20,23],hard:4,hardwar:5,hash:12,have:[0,1,2,3,4,5,8,9,10,11,12,14,19,20,21,24],head:0,headless:14,healhcheck:8,healthcheck:8,healthcheck_rest:8,healthz:24,helm:[3,6,10,22],help:[2,3,6],here:[0,3,24],hi:15,high:14,higher:23,highli:[1,3,4],hit:22,home:0,host:[0,8,10,14,18,19,23],hostnam:[2,14],hostnetwork:[3,23],how:[0,1,2,4,5,8,10,18,19,23],howev:[14,21],html:1,http:[0,1,3,5,8,10,24],http_code:10,httpget:24,hub:[5,23],human:[14,23],i3:1,i:[0,4,9,24],iam:4,icmp:12,id:[8,11,14,18,19],ideal:3,ident:10,identifi:[18,19],ie:3,ifnotpres:5,ignor:18,ill:14,imag:[0,4,9,12,20,21,22,23,24],imagin:0,img:0,immedi:21,impact:23,implement:[0,14],impli:2,improv:1,inbound:11,incid:15,includ:[0,5,12,23],incompat:[9,24],inconsequenti:3,incorpor:2,increas:[3,23],independ:2,index:10,individu:[1,4],infinit:8,info:8,inform:[3,10,11,12,14,20],infrastructur:[11,12,14],ingress:[2,12],ingress_ip:10,ingress_port:10,ingressclassnam:10,initcontain:9,initi:[9,14,23],inject:4,insid:[1,3,4,17],inspect:0,instal:[0,3,6,8,9,10,11,12,14,24],instanc:[3,4,5,8,9,10,11,12,14],instance_numb:3,instancetyp:1,instead:3,instruct:[1,3,4,5,9,11,23],integ:23,integr:[0,6],intens:23,inter:[2,13,14],interact:[3,17],interconnect:[2,11,12,13],interest:5,interfac:[4,12],intern:[2,5,8],internal_ip:10,internalip:10,internaltrafficpolici:2,interrupt:21,interv:[8,23],intervent:14,introduc:[3,10,14,21],involv:9,io:[1,3,10,11,14,22,23,24],ip:[2,3,5,7,9,10,12,14,18],ipaddress:2,ipv4:[11,12],irq:21,isn:5,isol:[3,23],issu:[0,6,8,9,20,24],issuer:3,item:10,its:[1,3,4,8,9,11,12,14],itself:[0,5,8,17],job:[3,22,23],join:[14,18],json:9,just:[0,1,3,4],k8:[5,6,8,9,16,17,18,21,23],kb:[14,18],keep:[0,1,4],kei:[3,8,14,23],kept:3,kernel:21,keyspac:[3,8,19,20,23],kind:[2,9,10,11,14,21,23,24],know:2,known:[6,11],kube:23,kubebuild:0,kubectl:[1,3,4,5,8,9,10,11,12,14,17,18,19,20,21],kubelet:[1,4,21,23],kubeletconfig:4,kubeletextraconfig:1,kubernet:[1,2,5,6,9,10,22,23],kustom:0,l:[3,5,8,9,10,19],label:[1,3,4,10,14,17,18,21],labelselector:14,lack:[8,23],land:[5,21],larg:1,last:0,latenc:2,later:[1,4],latest:[0,1,6,22],launch:[1,4],lb:2,learn:[2,11],least:[0,4,5,14,21],leav:[14,18,21],left:[20,23],less:[0,9,10,24],lesson:6,let:[1,4,5,8,14,19],level:[3,8,23],lib:8,licens:8,life:[3,18],lifecycl:[0,14],like:[0,3,6,8,9,10,18,21,22],likelihood:14,limit:[3,5,8,14,21,23],line:[0,11,12,14,19,23],link:[0,7],linux:3,list:[0,3,4,8,9,12,19,23,24],littl:3,live:17,livenessprob:24,ll:[1,4],load:[2,14,17,18,19,23],loadbalanc:10,loadbalancerclass:2,local:[0,10,11,14,18,23],localdc:8,locat:[8,12,19,23],log:[0,3,8,20,23],logger:8,logic:[0,2,23],loglevel:8,longer:[0,3,4,14,18],look:[0,3,5,9,14],lookup:9,loop:0,lose:[0,15],lost:16,lot:24,lower:[9,23],lqejv3kdr5gx9m3xq2ynnq:8,lt:22,lwt:3,m:[8,23],ma:5,machin:[1,3,4,10,12],machineri:14,made:[0,2,22],mai:[2,10,14,15,17,18,19,20,21,22,23,24],main:[3,5,8,14],maintain:[0,22],mainten:[16,20],make:[0,3,4,5,8,9,10,18,22,24],makefil:0,manag:[2,4,6,9,11,12,14,18,19,21,22,24],managg:5,mani:[5,10,21,23],manifest:[3,14,24],manual:[3,4,9,10,12,14,20,24],map:[8,23],master:[0,22,23],match:[4,10,21,22],matchexpress:[14,23],matchlabel:[10,14],matter:10,max:[3,14,23],maximum:[1,4,23],mean:[3,9],mechan:14,meet:[14,21],megabyt:23,member:[3,5,8,9,14,20,21,23],memori:[3,5,14,21,23],merg:[0,20,22,23],messag:[3,8,20],met:[10,14],metadata:[9,10,11,14,21,23],metal:[8,10],metric:[2,3,5],mib:23,might:[2,9,18],migrat:[7,24],migratedir:8,migratemaxwaitschemaagr:8,migratetimeout:8,mini:3,minikub:[3,5],minim:[0,5],minimum:23,minor:24,minut:20,mission:8,mkdir:[0,19],mktemp:24,mnt:8,mode:[1,4,8,12,16,20,23],model:[12,23],modifi:[0,3,4,12,20],moment:23,monitor:[1,4,6,22],month:0,more:[0,1,2,3,4,5,10,11,12,14,18,21,23],most:[0,1,3,4,5,10,14,21,23],mount:[1,3,4],move:[14,18,20,21],much:[5,18],multi:[6,11,12],multipl:[0,2,3,8,9,13],must:[0,2,3,8,18,20,21,22,23,24],mutat:24,mutatingwebhookconfigur:24,my:[2,8,23],mydomain:10,n1:[4,12],n2:19,n:[1,3,4,5,8,9,10,14,17,18,19,20,22,23,24],name:[0,1,3,5,8,9,10,11,12,14,18,19,20,21,23,24],namespac:[3,5,8,9,14,21,23,24],nativ:[3,12],natur:14,navig:0,necessari:[1,3,4,10,11,12,14],need:[0,1,2,3,4,5,9,10,11,12,14,18,19,20,21,23,24],network:[0,2,6,13,18,21,23],networktopologystrategi:3,never:[0,24],new_replication_factor:3,newli:9,next:[8,20],nightli:20,node:[3,5,6,8,9,10,17,20,23],nodeaffin:[14,23],nodeconfig:[1,4,21],nodegroup:[1,11],nodepool:4,nodeselector:[3,21],nodeselectorterm:[14,23],nodeservic:[2,14],nodetool:[14,18],non:[11,14,20],none:[5,9,18],normal:[14,18],noschedul:[1,4,14,23],notabl:14,note:[3,8,10,23,24],noth:9,notic:[5,10],now:[0,1,3,4,8,9,11,12,14,23],nr:[3,14],ns:14,num:[3,4,8,12],num_job:3,number:[0,3,23,24],numretri:23,nutshel:0,nvme:[1,4],o:[3,9,10],object:[2,3,10,14,24],observ:[5,20],obtain:4,obviou:0,off:[0,3,17,20,22,24],offici:[9,23],often:[10,23],ok:3,old:[9,18,24],omit:11,onc:[0,1,3,4,5,8,11,12,19,20,24],ondelet:20,one:[0,2,3,5,8,9,12,14,15,18,19,20,23,24],ones:[2,11,24],onli:[1,3,9,11,12,14,20,21,22,23,24],only_rmw_uses_lwt:3,op:[3,9],open:[0,2,3,6,8],oper:[2,8,9,14,15,17,18,19,20,21,22,23],optim:[1,4,21,23],option:[1,3,4,5,8,14,21,23],optmiz:21,order:[0,2,3,4,8,24],origin:[0,14],orphan:23,os:22,other:[0,2,4,5,6,8,10,11,12,14,18,21,22,23],otherdc:23,otherwis:[0,10,11,22],our:[3,9,14,21,22,24],out:[3,6,9,14,19,20,24],output:[0,3,8,9,12,14,19],outsid:[2,10],over:[1,4,14,18,20],overal:23,overlap:[11,12],overrid:3,overwrit:5,own:[1,4,5,14,18],ownerrefer:9,p:[0,3,4,9,19,20,24],packet:[10,21],page:[2,12,23,24],pair:3,parallel:[20,23],paramet:[14,23],part:[21,23],parti:10,particular:[2,3,5,14,20,22],pass:[0,4,19,22,23],passthrough:10,password:[3,8,10,19],passwordauthent:3,patch:[9,20,24],path:[0,3,9,19,24],pattern:[3,5,23],pcx:11,pd:[4,12],pdb:4,peer:14,pend:18,per:[3,23],percent:23,perform:[1,3,4,6,15,23],perftun:21,period:9,permiss:[4,8,9],permit:12,persist:[4,8],persistentvolum:[1,3,4,23],pick:3,pid:8,pin:[21,23,24],placement:[14,21,23],plain:3,plane:24,platform:[2,3,10,11,12,13],pleas:[0,5,21,23,24],pod:[1,2,3,4,5,8,9,10,12,14,15,17,18,19,20,21,23],podaffin:23,podantiaffin:[14,23],point:[2,4,9,10,14,20],polici:[0,1,2,4,5,21,23],poll:23,pollinterv:[8,23],pool:[1,4,12,14,18,21],popul:3,port:[3,5,9,10,11,18,23,24],possibl:[18,23],power:[0,21],pr:0,preconfigur:11,predefin:[11,12],predict:8,prefer:[1,4,11,12],prefer_loc:3,prefix:0,prepar:[0,13,14],present:[8,11],preserv:24,previou:[9,20],print:[3,19,20],printf:24,prior:8,prioriti:12,privat:11,probe:[17,24],proce:19,procedur:[6,14,18,19,20,24],process:[3,4,11,12,14,17,20,21,24],product:[3,8,9,10,14],progress:[8,10,14],project:[4,6],prometh:5,prometheu:[3,5,6,8],prometheusscrapeinterv:8,promisc:7,prompt:0,prone:3,propag:[2,3,9,14],proper:3,properli:[10,20,24],properti:[0,2,3,23],propos:14,proprietari:8,protocol:11,provid:[1,2,3,4,5,10,11,14,21,23],provis:[1,2,3,4,5,14],provision:[11,12,14],publicroutet:11,publish:22,pull:[5,23,24],pullpolici:5,pure:3,purpos:4,push:0,put:0,pvc:15,py:3,python:[3,21],qa:22,qo:21,qualiti:22,question:9,quickli:0,quota:21,r:1,rack:[3,5,6,8,14,18,20,21],rack_nam:3,rackdc:3,raid0:[1,4],raid:[1,4,23],ram:23,rang:[10,11,12,23],rate:[3,23],ratelimit:23,rather:22,raw:4,rbac:4,rc:22,re:[0,9,24],reach:[2,8,10,20],reachabl:[2,10],read:[0,1,3,4,5,9],readabl:[11,23],readi:[0,3,5,8,9,11,12,17,18,20,24],readinessprob:24,readyz:24,real:10,reason:5,rebas:0,receiv:21,recent:0,recommend:[3,10,14,24],reconcil:[0,10],record:[2,10],recov:20,recreat:[18,19,24],recur:8,refer:[1,3,4,5,9,10,11,12,14,22,23,24],refus:20,regard:[9,12,14],region:[4,11,12,14,23],regist:[8,9,19],registri:17,regular:[3,8],relat:[2,6,14],releas:[6,24],release_nam:24,relev:0,reliabl:2,rememb:[0,3],remov:[0,3,5,9,14,15,17,20,24],reorder:0,repair:[4,6,8,18,23],replac:[3,6,9,10,14,16,24],replic:[3,23],replica:[20,23],replicaset:5,replication_factor:3,replicationfactor:8,repo:[0,5,9,23,24],report:6,repositori:[0,3,23,24],repres:[3,14],request:[5,9,10,14,21,23],requir:[0,1,2,3,4,7,11,12,14,21,22,23,24],requiredduringschedulingignoredduringexecut:[14,23],resembl:[3,12],resid:[2,12],resolv:[2,8,20],resourc:[3,6,8,9,10,11,12,14,15,21,23,24],respect:4,rest:[3,8],restart:[3,5,8,9,18,20,24],restor:[16,20,24],restore_upgrade_strategi:20,result:[3,9,23],resum:23,retainkei:24,retent:[8,23],retri:[8,20,23],retriev:[3,12],revis:10,rewrit:5,rf:23,rfc3339:23,rhwqx:5,ring:14,risk:0,rmw:3,role:[1,3,4,9,14,23],roll:[3,5,6,9,14,20,24],rollout:[3,9,10,24],root:20,rout:[2,10],routabl:2,row:23,rule:[9,11],run:[0,1,4,5,6,8,9,10,14,18,20,21,23,24],runtim:23,rw:19,s3:[8,19,23],s:[1,2,3,4,5,8,9,10,11,12,14,18,19,21,23,24],sai:0,same:[1,2,3,4,5,8,9,20,21,22,23],save:[0,3,9,11,14,19,20,24],scale:[6,20],scenario:2,schedul:23,schema:[19,20],scheme:24,scrape:5,scratch:[22,24],script:[3,4,21],sctool:[8,19],sctp:12,scyladb:14,scylla:[2,9,10,11,12,14,15,17,19,21,22],scylla_manag:8,scylla_vers:3,scyllaagentconfig:23,scyllaarg:23,scyllaclus:14,scyllaclust:[5,6,9,10,14,15,19,20,21,23,24],scyllaconfig:23,scylladb:[0,2,3,5,6,9,10,21,22,23,24],scyllaimag:5,sdd:[1,4],search:5,sec:3,second:[3,23],secondari:12,secret:[3,5,10,23],section:[1,2,3,4,11,12],secur:[2,3],sed:[4,9,24],see:[0,1,3,4,5,6,8,9,10,11,12,14,21,23],segmentsperrepair:8,select:[0,2,3,14,23],selector:[2,3,24],self:[3,5],semant:20,send:11,sent:23,sep:8,separ:[0,1,2,4,9,11,21],sequenti:9,serv:[2,3,5,10,11,12,14],server:[1,3,4,8,10,14,24],servic:[3,5,9,10,12,17,18],servicemonitor:5,session:3,set:[0,2,5,6,7,8,10,14,19,20,21],setup:[2,3,10,11,12,14,23],sever:[1,2,11,12],sh:[0,1,4],sha:22,shard:23,shardfailedsegmentsmax:8,shardingignoremsbbit:8,shardparallelmax:8,share:[11,12,21,23],sheer:14,shell:[3,9],ship:22,shortli:8,should:[0,3,5,8,9,10,11,12,14,18,20,21,23],shouldn:[9,18],show:[0,3,20,22],side:[1,4,10,14,24],sidecar:[0,3,5,9,24],sign:[3,5,9],similar:[10,11,14],similarli:5,simpl:[0,2,3,5,8,9,17,18,19,20,23,24],simpli:[0,3,5,9,17,19,20],simplic:[11,12,14],sinc:[2,14],sing:22,singl:[0,3,5,8,14,19,23],situat:22,size:[4,12,18,19,23],skip:10,slack:9,slightli:[10,23],sm_20201227144037utc:19,sm_20201228145917utc:19,small:[3,8,23],smalltablethreshold:23,snapshot:[19,20,23],snapshot_tag:19,snapshotparallel:23,sni:10,so:[0,2,3,4,5,10,11,12,14,21,24],so_data_20201228135002utc:20,so_system_20201228135002utc:20,softwar:8,solv:[9,24],some:[0,2,3,5,8,18,19,22],someth:[3,8,17],sometim:[0,3],somewher:9,sourc:[2,5,6,8,11,12,24],space:21,spawn:8,spec:[2,3,5,8,9,10,14,20,21,23,24],special:21,specif:[2,3,5,11,12,14,19,21,23,24],specifi:[2,3,5,11,14,23],speed:0,spent:23,spin:[5,8],spot:8,spread:21,squash:0,squeez:3,src:0,ssd:[4,12],ssh:[1,7,8],ssl:[8,10],ssltimeout:8,sstabl:20,sstableload:19,st:[9,24],stabl:[3,5,24],stack:[1,4,6,10],stackdriv:4,stage:[9,20],stai:17,standard:[4,12],start:[0,1,3,8,11,19,20,21,23],startdat:23,startup:14,stash:0,state:[3,5,8,10,14,18,20,23],statefulset:[3,5,9,10,20,24],statu:[2,3,5,6,8,9,10,11,14,18,19,20,24],stderr:8,stdout:3,step:[1,3,4,5,8,9,10,11,12,14,24],stop:23,storag:[1,3,4,5,10,14,21,23,24],storageclass:[14,23],storageclass_xf:[1,4],storageclassnam:[14,23],store:[18,19,23],stream:18,stress:[1,4],string:23,structur:19,stuck:20,subfield:23,subject:[0,21],subnet:[2,11],subnetwork:12,subset:14,succe:17,successfulli:[3,10],sudo:7,suffici:2,suit:22,summari:0,superset:2,support:[0,2,3,5,6,8,14,20,23,24],suppos:21,sure:[0,3,4,5,8,9,18,22,24],svc:[3,8,9,10,17,18,19],symlink:24,sync:18,synchron:8,sysctl:[3,14,23],system:[4,9,20,24],system_auth:[3,8,19],system_distribut:[8,19],system_schema:[19,20],system_trac:[8,19],systemconfig:4,t:[0,1,2,3,4,5,8,9,18,19,21,22,23,24],tab:0,tabl:[19,22,23],table_prefix_:23,tag:[5,9,20,22,23,24],tailor:[11,12],taint:[1,4],take:[1,3,4,18,19,20,21,23],taken:[2,19,20],talk:[2,8,21],tar:19,target:[8,11,21,24],task:[1,3,6,23],task_287791d9:19,tcp:[5,9,12,18],td05v9evu3b8:11,team:0,tell:0,templat:[3,9,10,14,24],temporari:19,temporarili:0,test:[0,8,10,22,23],than:[0,2,3,9,18,23],thei:[2,3,8,23],them:[0,1,2,3,4,5,9,10,11,14,21,23,24],thi:[0,1,2,3,4,5,7,8,9,10,11,12,14,17,18,19,20,21,22,23,24],thing:3,third:10,those:[1,3,4,21],thread:3,three:[0,5,8],threshold:23,throttl:[3,21],through:[2,3,5,11,12,14,23],throughout:[11,12,14],throughput:3,ti:[8,18],tib:23,tier:1,time:[0,5,8,9,18,19,22,23],timeout:[4,5,8,9,10],tl:10,tlscafil:8,tlscertfil:8,tlskeyfil:8,tmp:[3,19],tmpdir:24,togeth:[1,4,19],token:[14,18,23],tokenawar:8,toler:[1,14,23],tool:[0,1,10,11,12,14,19],top:0,topic:[6,16],topolog:14,topologykei:14,total:3,trace:20,track:[0,3,8],traffic:[2,11,12],tri:[1,4],trick:1,trigger:22,tune:[1,4,6],turn:[17,20,24],tutori:8,tweak:[2,3],two:[0,2,5,8,9,11,12,14,20,21,24],type:[1,4,5,9,10,11,12,14,18,20,21,22],u:[0,3,4],ubuntu_containerd:[4,12],udp:12,uid:9,un:[14,18],under:[5,8,17,19,20],underli:[20,23],understand:[0,9],understood:14,undesir:14,uninstal:5,uniqu:[3,14,23],unit:[0,23],univers:6,unless:10,unnecessari:0,unreach:14,unrel:14,unschedul:[8,15],unset:23,untar:24,untardir:24,until:[3,5,9,20,24],unwind:0,up:[0,2,5,6,9,10,14,18,19,20,21,24],updat:[3,5,8,10,12,23,24],upgrad:[4,5,6,9,16,22,23],upgrade_image_in_pod_spec:20,upgradestrategi:20,upload:[0,23],uploadparallel:23,upon:[2,11,12],upsteam:[3,5],url:5,us:[0,1,2,3,4,6,8,9,11,12,17,18,19,20,21,22,23,24],usag:3,user:[0,3,4,6,8,9,10,17,19,20,21,23,24],usercertfil:8,userguid:1,userkeyfil:8,usernam:[3,10,19],usual:[1,4,10,22,23],utc:8,util:14,uuid:9,v1:[2,5,8,10,14,21,22,23],v1alpha1:[9,10,21,24],v1alpha2:22,v1alpha5:11,v2:0,v3:0,v:0,valid:[5,8,10,20,23,24],validate_upgrad:20,validatingwebhookconfigur:24,validmastervers:4,valu:[3,4,5,9,11,12,14,20,23],variabl:[0,14],variou:[2,3],ve:0,verb:9,veri:[0,5,9,24],verifi:[0,3,14,18],version:[2,3,4,5,6,8,10,14,16,21,22,23,24],via:[2,3,5],virtual:12,visibl:18,vjm4m:5,volum:[11,12,14,23],volumeclaimtempl:10,volumemount:23,vx:22,w25jw:8,w:10,wa:[0,3,5,8,9,11,18,19,24],wai:[3,4,8,9,10],wait:[0,3,5,9,14,20,24],walk:[3,11,12,14,23],want:[0,1,2,3,4,5,8,11,12,19,24],warn:4,wasn:8,watch:8,we:[0,1,2,3,4,5,8,9,10,18,19,21,22,23,24],web:4,webhook:[3,24],webinterfac:10,websit:9,week:22,weekli:[8,23],welcom:9,well:[0,1,3,4,8,9,10],were:5,west1:[4,12],wfjbw:5,what:[0,2,3,5,8,9,10,20],when:[0,1,2,3,4,8,9,10,12,14,16,17,20,21,22,23],whenev:0,where:[0,1,4,9,19,20],whether:[2,5,21],which:[2,3,4,5,6,8,9,11,12,14,15,18,19,20,21,23,24],whichev:3,whole:[9,20],whose:3,why:0,wide:8,wildcard:10,window:0,within:[2,21],without:[0,2,4,5,10],won:[1,2,21],word:[0,14],work:[0,1,4,5,9,11,12,14,19,21,22,23],workload:[11,12,21],worth:0,would:[0,3,8,12,18],write:[0,3,23],writeisol:[3,23],x:22,xarg:[19,24],xf:[1,4,14],xqhkj0our8e6imdepm62hg:8,y:22,yaml:[1,3,4,5,8,9,10,11,14,24],yanniszark:4,you:[0,1,2,3,4,5,8,9,10,11,12,14,18,19,20,23,24],your:[1,3,4,5,7,8,9,10,11,12,14,15,18,19,20,21,24],yourself:0,z:[1,4,22],zero:[3,20],zone:[4,6,14,23],ztvf:19},titles:["Contributing to Scylla Operator","Deploying Scylla on EKS","Exposing ScyllaCluster","Deploying Scylla on a Kubernetes Cluster","Deploying Scylla on GKE","Deploying Scylla stack using Helm Charts","Scylla Operator Documentation","Known issues","Deploying Scylla Manager on a Kubernetes Cluster","Version migrations","Monitoring","Build multiple Amazon EKS clusters with inter-Kubernetes networking","Build multiple GKE clusters with inter-Kubernetes networking","Deploying multi-datacenter ScyllaDB clusters in Kubernetes","Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters","Automatic cleanup and replacement in case when k8s node is lost","Node operations using Scylla Operator","Maintenance mode","Replacing a Scylla node","Restore from backup","Upgrading version of Scylla","Performance tuning","Releases","Scylla Cluster CRD","Upgrade of Scylla Operator"],titleterms:{"0":[9,24],"1":24,"2":24,"3":[9,24],"case":15,In:2,access:[1,3,4,10],add:0,admin:4,agent:3,altern:3,amazon:11,an:[1,10],architectur:8,auth:3,autom:22,automat:15,avail:22,backport:22,backup:19,benchmark:3,boot:7,branch:0,broadcast:2,build:[0,11,12],cassandra:3,cd:22,cert:[3,5],chart:5,ci:22,clean:[3,8],cleanup:[5,15],client:2,clone:0,cluster:[1,2,3,4,8,11,12,13,14,23],clusterip:2,commit:0,configur:[1,3,4,11,12],connect:10,contain:3,context:14,contribut:0,control:5,crd:23,creat:[0,1,3,4,11,12],custom:5,databas:[1,3,4],datacent:[13,14,23],dead:18,delet:[1,4],depend:1,deploi:[1,3,4,5,8,10,11,12,13,14],deploy:2,develop:0,document:6,doe:7,domain:10,download:3,dr:[1,4,5],ek:[1,11],engin:4,environ:[1,4],exampl:2,explan:23,expos:2,extern:14,externalip:10,firewal:12,first:[11,12,14],fork:0,from:19,gener:22,gke:[4,12],googl:4,grafana:10,group:11,haproxi:10,headless:2,helm:[5,24],histori:0,host:3,imag:5,ingress:10,initi:[0,3],instal:[1,5],inter:[11,12],interconnect:14,internet:2,issu:7,k8:15,kernel:3,known:7,kubectl:24,kubernet:[3,4,8,11,12,13,14,21],loadbalanc:2,local:[1,3,4],lost:15,mainten:17,manag:[3,5,7,8,10,23],matrix:22,messag:0,migrat:9,minikub:7,mode:17,monitor:[3,5,10],multi:[2,13,14],multipl:[11,12,14],network:[3,11,12,14],node:[1,2,4,11,12,14,15,16,18,21],nodeport:10,onli:2,oper:[0,1,3,4,5,6,10,11,12,16,24],option:2,out:10,paramet:3,parti:1,peer:11,perform:21,podip:[2,14],polici:22,prepar:[11,12],prerequisit:[0,1,3,4,5,8,10,11,12,14],procedur:9,project:0,prometheu:10,promot:22,provision:[1,4],pull:0,queri:7,rack:23,registr:8,releas:22,remot:0,replac:[15,18],repositori:5,request:0,requir:10,resolv:10,resourc:5,restor:19,result:5,retriev:14,roll:10,rout:11,rule:12,run:[3,11,12],sampl:23,scale:3,schedul:[8,22],script:1,scylla:[0,1,3,4,5,6,7,8,16,18,20,23,24],scyllaclust:[2,3],scylladb:[1,4,11,12,13,14],scylladbmonitor:10,second:[11,12,14],secur:11,seed:14,servic:2,serviceclusterip:2,serviceloadbalanceringress:2,set:[1,3,4,23],setup:[0,1,4],stack:5,stress:3,submit:0,subnet:12,support:22,tabl:11,task:8,templat:2,third:1,through:10,tl:[1,4,5],token:3,troubleshoot:[3,8],truncat:7,tune:21,type:2,unresolv:10,up:[1,3,4,7,8],updat:[0,11],upgrad:[20,24],upstream:0,us:[5,10,14,16],v0:[9,24],v1:[9,24],variabl:[1,4],variant:10,version:[9,20],via:24,volum:[1,4],vpc:[2,11,12],wait:10,walkthrough:[1,4],webhook:5,when:15,work:7,your:0,yourself:4}}) \ No newline at end of file diff --git a/master/sitemap.xml b/master/sitemap.xml new file mode 100644 index 00000000000..f673e5bee37 --- /dev/null +++ b/master/sitemap.xml @@ -0,0 +1,2 @@ + +https://operator.docs.scylladb.com/stable/contributing.htmlhttps://operator.docs.scylladb.com/stable/eks.htmlhttps://operator.docs.scylladb.com/stable/exposing.htmlhttps://operator.docs.scylladb.com/stable/generic.htmlhttps://operator.docs.scylladb.com/stable/gke.htmlhttps://operator.docs.scylladb.com/stable/helm.htmlhttps://operator.docs.scylladb.com/stable/index.htmlhttps://operator.docs.scylladb.com/stable/known-issues.htmlhttps://operator.docs.scylladb.com/stable/manager.htmlhttps://operator.docs.scylladb.com/stable/migration.htmlhttps://operator.docs.scylladb.com/stable/monitoring.htmlhttps://operator.docs.scylladb.com/stable/multidc/eks.htmlhttps://operator.docs.scylladb.com/stable/multidc/gke.htmlhttps://operator.docs.scylladb.com/stable/multidc/index.htmlhttps://operator.docs.scylladb.com/stable/multidc/multidc.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/automatic-cleanup.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/index.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/maintenance-mode.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/replace-node.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/restore.htmlhttps://operator.docs.scylladb.com/stable/nodeoperations/scylla-upgrade.htmlhttps://operator.docs.scylladb.com/stable/performance.htmlhttps://operator.docs.scylladb.com/stable/releases.htmlhttps://operator.docs.scylladb.com/stable/scylla-cluster-crd.htmlhttps://operator.docs.scylladb.com/stable/upgrade.htmlhttps://operator.docs.scylladb.com/stable/genindex.htmlhttps://operator.docs.scylladb.com/stable/404.htmlhttps://operator.docs.scylladb.com/stable/search.html \ No newline at end of file diff --git a/master/upgrade.html b/master/upgrade.html new file mode 100644 index 00000000000..e866f0f0423 --- /dev/null +++ b/master/upgrade.html @@ -0,0 +1,768 @@ + + + + + + + + + + + + + Upgrade of Scylla Operator | ScyllaDB Docs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ Menu +
+
+
+
+
+ + + + +
+ +
+ +
+

Upgrade of Scylla Operator

+

This page describes Scylla Operator upgrade procedures.
There are two generic update procedures - via Helm and via kubectl. Before upgrading, please check this page to find out +if your target version requires additional upgrade steps.

+
+

Upgrade via Helm

+

Helm doesn’t support managing CustomResourceDefinition resources (#5871, #7735)
These are only created on first install and never updated. In order to update them, users have to do it manually.

+

Replace <release_name> with the name of your Helm release for Scylla Operator and replace <version> with the version number you want to install:

+
    +
  1. Make sure Helm chart repository is up-to-date:

    +
    helm repo add scylla-operator https://storage.googleapis.com/scylla-operator-charts/stable
    +helm repo update
    +
    +
    +
  2. +
  3. Update CRD resources. We recommend using --server-side flag for kubectl apply, if your version supports it.

    +
    tmpdir=$( mktemp -d ) \
    +  && helm pull scylla-operator/scylla-operator --version <version> --untar --untardir "${tmpdir}" \
    +  && find "${tmpdir}"/scylla-operator/crds/ -name '*.yaml' -printf '-f=%p ' \
    +  | xargs kubectl apply
    +
    +
    +
  4. +
  5. Update Scylla Operator

    +
    helm upgrade --version <version> <release_name> scylla-operator/scylla-operator
    +
    +
    +
  6. +
+
+
+

Upgrade via kubectl

+

Replace <version> with the version number you want to install:

+
    +
  1. Checkout source code of version you want to use:

    +
    git checkout <version>
    +
    +
    +
  2. +
  3. Manifests use rolling minor version tag, you may want to pin it to specific version:

    +
    find deploy/operator -name "*.yaml" | xargs sed --follow-symlinks -i -E "s^docker.io/scylladb/scylla-operator:[0-9]+\.[0-9]+^docker.io/scylladb/scylla-operator:<version>^g"
    +
    +
    +
  4. +
  5. Update Scylla Operator. We recommend using --server-side flag for kubectl apply, if your version supports it.

    +
    kubectl apply -f deploy/operator
    +
    +
    +
  6. +
+
+
+
+

v1.2.0 -> v1.3.0

+

Sidecar image is going to be upgraded automatically, so a rolling restart of your Scylla clusters is expected during the upgrade procedure.

+
    +
  1. Checkout source code of v1.3.0:

    +
    git checkout v1.3.0
    +
    +
    +
  2. +
  3. Update Scylla Operator from deploy directory:

    +
    kubectl -n scylla-operator apply -f deploy/operator
    +
    +
    +
  4. +
  5. Wait until Scylla Operator is up and running:

    +
    kubectl wait --for condition=established crd/scyllaclusters.scylla.scylladb.com
    +kubectl -n scylla-operator rollout status deployment.apps/scylla-operator
    +
    +
    +
  6. +
+
+
+

v1.1.0 -> v1.2.0

+

1.2.0 release brought a lot of changes to the Scylla Operator deployment process. +To properly update Scylla Operator one must delete old objects and install updated ones.

+

Sidecar image is going to be upgraded automatically, so a rolling restart of your Scylla clusters is expected during the upgrade procedure.

+
    +
  1. Checkout source code of v1.2.0:

    +
    git checkout v1.2.0
    +
    +
    +
  2. +
  3. Remove old scylla operator namespace - in our case it’s called scylla-operator-system:

    +
    kubectl delete namespace scylla-operator-system --wait=true
    +
    +
    +
  4. +
  5. Remove old webhooks:

    +
    kubectl delete MutatingWebhookConfiguration scylla-operator-mutating-webhook-configuration
    +kubectl delete ValidatingWebhookConfiguration scylla-operator-validating-webhook-configuration
    +
    +
    +
  6. +
  7. Install Scylla Operator from deploy directory:

    +
    kubectl -n scylla-operator apply -f deploy/operator
    +
    +
    +
  8. +
  9. Wait until Scylla Operator is up and running:

    +
    kubectl wait --for condition=established crd/scyllaclusters.scylla.scylladb.com
    +kubectl -n scylla-operator rollout status deployment.apps/scylla-operator
    +
    +
    +
  10. +
+
+
+

v1.0.0 -> v1.1.0

+

During this update we will change probes and image for Scylla Operator. +A new version brings an automation for upgrade of sidecar image, so a rolling restart of managed Scylla clusters is expected.

+
    +
  1. Get name of StatefulSet managing Scylla Operator

    +
    kubectl --namespace scylla-operator-system get sts --selector="control-plane=controller-manager"
    +
    +NAME                                 READY   AGE
    +scylla-operator-controller-manager   1/1     95m
    +
    +
    +
  2. +
  3. Change probes and used container image by applying following patch:

    +
    spec:
    +  template:
    +    spec:
    +      containers:
    +      - name: manager
    +        image: docker.io/scylladb/scylla-operator:1.1.0
    +        livenessProbe:
    +          httpGet:
    +            path: /healthz
    +            port: 8080
    +            scheme: HTTP
    +        readinessProbe:
    +          $retainKeys:
    +          - httpGet
    +          httpGet:
    +            path: /readyz
    +            port: 8080
    +            scheme: HTTP
    +
    +
    +

    To apply above patch save it to file (operator-patch.yaml for example) and apply to Operator StatefulSet:

    +
    kubectl -n scylla-operator-system patch sts scylla-operator-controller-manager --patch "$(cat operator-patch.yaml)"
    +
    +
    +
  4. +
+
+
+

v0.3.0 -> v1.0.0

+

Note: There’s an experimental migration procedure available here.

+

v0.3.0 used a very common name as a CRD kind (Cluster). In v1.0.0 this issue was solved by using less common +kind which is easier to disambiguate. (ScyllaCluster). +This change is backward incompatible, so Scylla cluster must be turned off and recreated from scratch. +In case you need to preserve your data, refer to backup and restore guide.

+
    +
  1. Get list of existing Scylla clusters

    +
    kubectl -n scylla get cluster.scylla.scylladb.com
    +
    +NAME             AGE
    +simple-cluster   30m
    +
    +
    +
  2. +
  3. Delete each one of them

    +
    kubectl -n scylla delete cluster.scylla.scylladb.com simple-cluster
    +
    +
    +
  4. +
  5. Make sure you’re on v0.3.0 branch

    +
    git checkout v0.3.0
    +
    +
    +
  6. +
  7. Delete existing CRD and Operator

    +
    kubectl delete -f examples/generic/operator.yaml
    +
    +
    +
  8. +
  9. Checkout v1.0.0 version

    +
    git checkout v1.0.0
    +
    +
    +
  10. +
  11. Install new CRD and Scylla Operator

    +
    kubectl apply -f examples/common/operator.yaml
    +
    +
    +
  12. +
  13. Migrate your existing Scylla Cluster definition. Change apiVersion and kind from:

    +
    apiVersion: scylla.scylladb.com/v1alpha1
    +kind: Cluster
    +
    +
    +

    to:

    +
    apiVersion: scylla.scylladb.com/v1
    +kind: ScyllaCluster
    +
    +
    +
  14. +
  15. Once your cluster definition is ready, use kubectl apply to install fresh Scylla cluster.

  16. +
+
+
+ + +
+ + + + + + + +
+ +
+ + + + +
+ + + + + + + \ No newline at end of file

RUv!t4p%Q@PuhN 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 Uw^v=a{-I|PR` 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 literal 0 HcmV?d00001 diff --git a/_static/img/mascots/scylla-with-computer-2.png b/_static/img/mascots/scylla-with-computer-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b8b2984f68bb49c050104f4f28ccdb4be4c234 GIT binary patch literal 18803 zcmcG#g;$hc)CM}VNC^o1Xrz@Aq#F?skWiHFZUiKUkZzDhI+X6N89IkjVx$J7d*}g% zxUb*$-TNP0)?xv}Ip;m^&gVRPpD0arC8EbPk3k?1k@DL&A3z|CE8zRvBV6E<*9mTK zfgjXg6m-96xmbVkGIO&6$yvIXTQMm+nb}xB^8fQ!Y4$5!%+lb2bVHf(hu>89IwmDy576$w^X5Bm zmwr^?f00*+t@jTM=Zt;6j@KuBA=x+}*;S0wC~wv7nnzuiVqY?_ii9!y{<516uYd?$ zaWOzac>T9Y`v$M?tA*d!ydn$4zl-_Xh3Eg5amx`4gh`@Cc^>ef8fcp;A~%*S@KpbL zQsvyghjG;&1j1&>WZt=}9JV72r@Y_NJg+KKn1vp#SBdq1D53#)sJ zu=GmTciijNY9yhCbJwA(`(bg05_l5qWM^|0^Z$n1g&LVd%O5!yrCrSv zP+`C3ea|T3?yFN>W_~l|1zDqCy!K4iGCf7drK|w^PN?0c^u)i3{E2{Q`x+CNybkpK3}(8-VLet}q9`$m zAz%a~7%J8DQ+l&r0g*C*EK~bnXrwuIKiqtXFnf3}dmHfb>CHtYH;C!@5tvmaNut9g zNaS!7RyV`7HUq^9nqu^|cQCF?|I{@XSlQ!G0(#`v5Naf~iX34+aD!;vO`)+wBn4j| zSdG`PKPLe_x$-4IH){S#|9K73#=VWLsOi`D`gjn*2o{K3+>V@YSv$w7CI|5 zMh9gYH>q8&PBa(@wN6=&VakJ8va1E`+8u9g}ui=%B2iFMqvuzpyTI9Db+t zxWHsR&T`RW9E<7r3Cj@#5veNO%#yQq(BRyesSxt|Jw0UU^7+Clam1XYvNy2IfBi;< z_n}neE;^@62b-$j&vAbiPI#jkyjjPeN>us)Udi0=|6Sy_D&obF+rVVUU9#n{yw$K1 zUyO9YV!$wqFo~w>ggL$nx!1rF*inWf{Wjac<#ggdnOudC(VezqKbJiUFEH|)7x)wzUAyQ%U`$sHjcn!RMyuP*^#L(a%KP# zKxqezw9zGN{YJdkBgoDSoRIieW=D=ly1=6Aj^vWgb-vE0sCD<(4gn=D;}5a3fc`p^ zm(u406i+U%E3|#rZN^P|x~ZQs{|?u3Cyu|r^+C2M#m@&Anw8M{C+2O%+`j8>gU>f7m%skdVbo2+ICP59 zViP1zz<+hV#%pF0(JJ3kkbBvIT>kcBw#x8A^(_>uJ6LH6!~Uz`rHe1JqjQDsw#loP z_q06yq1I*OVX9@rtHBNQsB?b}fsA_>CcjkR@P52gMSAjd;C@)cb1yE46kWUP)5f`7eTz+iV-&Y`ssfd`@2zHoF|B#Cf8zhuxbRtgsHjYvO)uMxqreq=d@^+PEy>!hI=?`)H3iVzR5)i10^)67(M zr>rg$RU&n-LDb*iT-J{D(q1c%&rE>btXKgX=g}O8g5g!P=46HE(iLF^3i5Z9DQYvLbQA;lk50_1JJp*-y+e z9x8?`*@*ww-?1twfz|0y-f5NByO-f~AkCNdq2%Ob1{7%xm>^7-MubPQuC;G&rO(%i z{2$tzP+cYlK>G%IR=%$(v9;Df;zQX6_pHLZ@t*(*6jgfZ9o;3ytgd{tUd_bYIT(NY z{h~#eR`ntRzaI4MYqfHHR^U;vi%<9;bk+kb@Z6WT^J@i0ejn%GBf^LMUpagk0UQ1^ zLs+Ig3C#%PIU)W2Mw-o_#8(NR zHGnn!rUQM3M<;xL7D!ToJq4lc{N)ReldlrM=r$7can2SCRn(UHH#+-5U5`$d$XPR} z;vRP~p|TKzSQe#stcwH@$@&OT>OiE|TlX;96;|sI7@1*)7iqj+u$@mNQ&Nd>j1@Dv@ziA_A#VTpi0JVt`L2tp{~aSeGya z7lS!2iKjGY^cMsqjA_B6TcAwNW3xgvOD`^=@orzdQkjKP1F|D+(*Z2O>0l9kq?XJV zF&o-^d=VbB_qLtx35bZ?I}nc84{Q_O6KlKJ5hIzR+bC}N(%Kh|XPbf3HRk=Q_4F>= z?rV4u1+Z02Mm-u1FNQPV4I-rB|E5!UKZJ0@{ant~R;9A7K$YHrZ!6D%kDqrXZHWKx zpYd}Y+^FFVag}vYJ0jX-@G%CaiAi&J=?oWN zyWvkBLMo~~Aip|%llDQiYgo?aVfnPw@HhKXSKTJzV1}h_0M8&sAb6eR{|g;Uy?#GD zJb!q2{UCD`DDzmz#lFcw%H2)lIPjPIi2}mgWT%}UwLxdHfs#4Zozcn^gtu%Ck&w6z z0NY`V&Dqx%kp!jp-(IQmft9?ZkpwqfJ@Cp#f``9Oi+zERXP;@R#LeyvUDmG8f&)d2 z&S#e=n2vcYOvQAbeId7*x#;d&K)EPLiR=$nIFXltUdZ=yJ(H1az4L%|T6FlV)TdA7 zEw?b)E;~~H`CxEa2_BX>pP4Hy3BMacUTfdJ)L}F2>6jEM=6G8jqV8r3o0I*sQd>@c z!gNI&D-Ujg@_xO^#wIa2&SJh?_(O|r%;qlec+Ncx6B8*t1NGAEzLY+;eZu0r{Bcug z*Lp)B@bH8YyAYwDF78crZu=>FM{-W8arW^fwHuZ5>(zoR(TaFH`u6Q~V8eIiZ2c>$ z8#@zJoy#bv;{dPI8QQhWURAkDrK1(+rGtYr5eanHbq>>e=kxX%9Qua%yVb40%lNC{ zz`;=0rhCHODHI4W@})J(kMZbQK+N>5`EMeR_BP74#NO)AYUcGl z_if00mOH}HWi(|3VZe8!b}muVd24@sbX9eDda??V(^5Qr6rVKVE2lgdspY zcdU$yjWCKmx@Ko5ZnK1B33Pozgw=Aat7%PKB5sj^1I; zYud+BX#uz8-I?jbGS~gnW&OsqS?S38tZvofP!%}2o&iEqzPBjp@QF8on}4ia28FxT z3O>P4+TSyu|0$<;;=5v3zeb^Ca&sbcUfsSG9Ut9}Pe1($evX%r_Gjf`HUbMC@ByZa zAZ$A{LJAdtgL~9gCOK%@gY?^W`VeP}g}Fs-YCdmQ?++U)Vkbp-1eq(0PPPSewkVC; zyV3n6H7H76UnQQEv*s#^&KmUVnm_&@8tbOpyk;{KT&F8`$DiamcL#e#I5>59a7M@* z)4&>V(GrMUVNFnw_L=~2D0|o0nqsHMzyeC@ z%C=D76Ca&-x5*RK3gcOMTKrCI5j_>bcZN9Z>e5z(5>?IC~sb9bZ$3yF78wpv7$^9fcIN-$f z?O4|_Rf~6?@wHMM*<~rJOcauI=6MTqN7Rte*O_nt_*HP^m(5A+$@;Qbi&DZuCZh5} z;r_ooH`^B;nRqT=CSTDsOA;!pV4P;pKzM3}Uv}L4#kq3t+ops;@BelLS6(^GAwMDY zkdWb~%IJ*I%mC@XU%NYcC=y+|TNv!r3<|pq){q`6y2_Cs7a4UHc^xhhXym!}Qr+0d z*j4>6@EjOU)9=HhIJyhniXGm+H?=G9!^!(BySmKe*0S7x%B`a*mclb%IT01N_m<;X zv}$p3mOiE9a`H~JtV4d&ROX+l%zN{TOw%}{ZnuQ);0Q&nnE(8A8BlGd+yC)uG1N%i zTRt&}D+K0~F{Jj)C+%7`A?^nrXjp%#WrzmFJbUBttOdgDlRB3p>iYYtA=*D7PiQ%4 za+|t%e2{MK7>ER=7t-|-U6BpCWX(Ss+S|7c)|}7c8!1UG5y>NQt2&k(^8_-*~VeKdgHer)~{LWgsc;vgH6jZ9o`wxV?3$+gId@ zd9go!c@T!I97m^?BB5ULm92q)`K0>>63MFy)HXugU01?CW{nhPhz3@VM*{FR2>C?k zO`z#EzZ5T<{lJSDsqrVN?JkuwI*8^(xupsUpG}VgC=yxT^=lq&wOWjajbI~y;_XZE zyS<0e*PN92lxgX{LBfTHj7H43j#{G#eqblIc%Y|owX(*`zki0lU*%h^1acjJ3||`* z&T^j{lkdN?_vKLD$#th)7wOw2Oq$rrB^H|j_F;B`RVOU^rS^Ecn{!f1G96dzBF)#X z1zVJv-IUv#ny@uQHj&az6CFLjy*f*9X)ClV;mtwU6-_NHM{K`Gt6QpEGwV7PWDDt; zj-BQ1z=}zh@dT;iWkcQ-IAzYmG7IfRbCkFDN(>Ei$AR-yD0YotceM>CTK*_ME6Q8$ zGbxsHN=&9>ir-W`0k z%_Ox#dXN(!xq`gpR(GXbl$LiK`BB=p^MaV?sp%$hxA)kpWr+l_x}hZc5DF1ACdn-G z+Sy`t+10pVAwDXP?A9!@{ARtSGvFNh`33@W6KUJptkX;v z-yy7DQ!^ut>Nw2gIS&_U8#tWKsLX13(Y~bD8F>B!4;%U#LBVs>zv9GP(%i5`>)1Jbw?FX=HvY?q3R1EWuwWjnI2l|+2BX7K7 zL}@F%2BeeO)1_L@6hbbJj@lV(Teq6(3RoxTS&#B+4P)?B;s*@Oj{&NPqY6bzzz`&2 z7Hwv1{1v<~OIyS(t>xm6kN%)K&9FnL%9B-HU*)~1n5qwCEeY=9l;Q7T6a9G7SBU<= z?Y2CkS^H%Z@U8N?`>Fmn-EH>f+L54WfjyRgTB`w(9X#HsqT?S)&Mx=0}as?vQoKT-Lw%IygeCdvQFf$Ts)k8SI;$Hj%_ z?YYQ19($vW<5kZh5Yy2`&z7ASz)ev;$~U9*bD<>Nzaba%N&40IEJ%a-w1Wo|sgLTG z*ZA&oZ#e0A$wcQ(0M)4|la+f?0KnN=I{ zDE{3#H*7GRK*rnk04afRjMdWOejZVTP2Xg9;>`wBWJ%*N#3Es zzC8e7zucn6@)>2^ac#KNSE;%<-b%h|t5z~N9W~7rusXF{KHOU?Z1Fgl#>G7)K+CUO zHKXz$YCnB?dwVg}WJ$|T9wEugPLf=CwX0*IH*3)KwE>Vq+j*wvvZ)e7JoWwf)Lc4b z0KiRM0m;?0&GG){*^?2Wcl##(qMzD+RR6SsuaHLirCq?;wYGWfL(0Yt!!TE16ri}@ z*mwzLldQ&1CTB<>GM{HfD110Z5B|W%wb501x`$N|2mfN@M>jc>HJuW!uWf$2!`-H_ zWXEw3b1#wzZ#Kq^p^bISH3vTA0Mc6Buvu-(kw*+k`|a-==SXtGSz>gCwXbD6>GG*5 zJKwL4*=)pGm6vyBPbV>upl zlH|QPf2Y?u+_4JFBM5~)R||eOx75MskH;Yy(yAI8qnH)Occ*vL<*<;SD)pK&zpORQ zQbcGk>pXw5F62x^k<3@>Y1iENX@7Nk$e%5j1iFUkVuzh8jl;P3p|xBu`6YwlV4Ys$ z%v|gjEiuu5@wOqMZeqYWNS_ejbL=y(%E6>@E0cEy_fG)d(MD8xHL$fjAwW>Ox)eCx zR#dk!yP9B5AAg@?|ClwCM7_25RdM-@ULx1-{mKtKf1y7rq(;M*(q_ZCR7LyOJS(Dj+1kCdbC%*rwr3X8f_QixMSzy*B_L>Jk=_Xqj!RcLiz%6xW)uo4Lw_+9A#4QlERpRzB(p(6MG|hL-5@+*$MkvhmL}s#gHWHRDsIn*_rhMw+ltz!|TWi128?}CzM#b`7HRr8o;_>ErRkoZ!4Gd&eqi{Vze!%fwpNrmO# zp9F4q0f?7zKOb90a^XC=ihg#a&(N13MSXoo;k9(`>(v?-Gl=-MxpnZSL*tac-o0o`KHw6>^2)q_0eck#ieM9HS6~#N}T}+peq0a^Ib{O{s4g!Y@ zA-E4ISIcF?ec;x?XFA@Lqx26O#!QG-GWNKjD7iC{mnrmxc$wEPeNP6*PX45}{2ljp z$*6X1oBfHmfyAP#SdueEQoVO>?LPo9Vjm)z_U=nVLg|0IwlVh}1OWyYl(%nGVQV@8 zZ4t?PtrU4*IKNfp9A44U-e>HQU<0OQEBu~PJ0;6FO_SpdLJ*t7CBeP&>M{1c(+KuG zkook4Z|89kAMW@&|B()^VSwr|&kMXFN_Cq@)K;QIJ4d1)5-sFE)vh%d98Vt7sdyYE zo0r}Hw>k<063HET6MlA`?Sx!}+0$@-%oPj*#7E&aS}K2YE~r+V3#D;pWkv2t@MLlV zO9DB*Cs3i#VbZZl=|JDtNYmL31a^~(-1VOoRf)1$LxQuUN#Bc6d~)O#x9b^V4KweN zcSl}u%Xzt7_TpI3Ebnaj?vGbMC?5Rh?fl0)LegIPfv0y-uZhZjt&~j!=h-yfZf$Y* zxzSfWBx^_>LQY{iCRDxJ<{JilP^KsE2ilXP?LM(y(EQngqYVAt69&@t}x+e>B;PzX!+gTlK5u4<0Sa3R9ptS-~l;yx~Q{iY%v(qx-4|HE2)#T+A zd0yR^*&FLjOs+cyo$6X#`LQdha(f|l7l0P44E}NG=0xPozO`eod`ti2YJ!wHBrnBc zh!|h}c5F9j7#X<1zdo*=z~}!9yetsAHkD@6S;puaXf;&T8CyEloxB2GFmN5JSIl9- zKi$^8N6zFdpM$H;w*4>u#zP|nT?4i1EgdYFxz5=BZ!lHJ(c^o8?iuQ%kUU7z7T@T$viCw`s) zNza}Ut)4$uBSQ(!bs%a01DYl% zO2xJ}bx(C56+VAqSxWi+L6ajWPx~B?*3Iw<^ewCN! zLN=v426?4@JDvxHdhYWkqHm)+XjzUHEZM5sTH3bHbdmhal&Vdu{&MO2Yx)naaSuCu zS1##3JMw>v2*V+6v;?VbCuLS|BgDOHqwi7%Sd_h|7rBc7K1%e^=962AZUBY0A54vL z)9lJq4d-6fmRebqFmA~Vt6^#xQ*61OD&t?Ry~62%OqOl!0z56=V8*rSkBecw(-x( zx(T1gPP^P{k8%nNsg>C$s{yX3rlU7HQXWQ2%Ypvzo5B9&F!61+Du1|`0DkA|mp##FXOyI}2-IhBXovUq@wZMiTHef~g9 z(^$adnn$UR1SxzDd*B?Pd4@|8_GG45hx>>}u2%2F;UOKY?N>6`oEElrWY>;of9^y* z*CE_ z7{`*tme!DlH`ufDe^0SCVgYH{V$Y~V@yG;t zm*%%1Oj14@pVq-3Ee{bWF`l=YwF*+Mog!%ZZJkTsN0Nf!-$epuuCkZbs#%+7A=`dj zWxR1pZ>oI^Y|XdgbhgEdGjLUDAN!%<8+TaSHzHSIf#-6e5LK~&To5Du$D_{tFS)%=F_M0}PguGXK71w}SVc)asGwU^fd_TV7irSL z1!2;kXCLNuFoWFK7)+F0H5%mXtJ(m|S5)u;bM&VSR`GuRSLcqp$<2fA+>KI!c3y;! z(#gjF`wUBJwC3x2)*ysG5Y;iIpH)17pHm?j<*^s|(owydmiLeN=s|8?%W>gb*Ytt= zC5uUKnftBeNU)cH=HA`6i?HHnUNt;sswb;x+Bx>-cdUB=a^h-g<=XDiM&`kV7~8XoUUPj&+1x=R9?V>}CJjazk3;1xqJV%hP z$~E?aSDUJn`}-Qw-ci6hjscA8idR?mKTG`L9F#zB{T$p*UG@i11Q*41MfI-NTr|)} zk@ev1QhwP`G+^XlH=04^2FrtdmOENsLa!DH@B8})#W@M250!ma>$s?Pyp9xjzN3!& z#QSS@DQr0fMyaO|Fn{6oaj*KJ*Cb%D>;oiiHg|xHZzC;%+$$$Ua(Pd`e+B~M2{h<| zP3LW<7t+jkN?z6YG08ope+`HRoM`Ze{j_j2qm$d4YVYLYChzL};(L{6fl$ZAmW0KC z(RThLpn?*4xZA|GB>Jjtd(t0`V*!o0Abyrr?oA5dyKCXZ7OOxio>RTi$!Idqu*c^& z0Ed+4QB>g8*DC!mn!%^ClyKztEQ7|T4gpW8H7w)t_6T%foC$92vn7B=QxzoBf5{mp zFhISUb&+W~8!*jKnWtY^^kQ zi}u7?8?rR`ZA-{>zBa)I+5kb7VlDK1YyTTHRF*p|Z)5MHNG4W-q;(dmIxSBfVEFcY zEYP@|J;dD=!&1oTZW4vVZ#>lXpw!6DH`>fK|1~ZBv0`}!74zfK8(eI5Mv2f!e6YFN zM|NH~K@c5O5SHO+zWO%x4;u1`{9Xn9?HTp0n`}90?@mzEPL!QAi&HbWuZ6WQUQaxh zl%-$}-1@<=e%?k&*2w6z{MR3#Mw8o%474rn5}KP+e+KNVnjuYy%w>jTs@t~58Lstv z`RyB6(*2V3E)`-r{s0H1X0{~+rCzTdUJ%~Se{!me zXWKZK=JLIldD4EWR&#z5JY1cRsKELuZ&CR!Z5$&cnv)o*Y?M(+d+|qpP`7>m6E?U> z)+Wl@ShQK;6uKSNCEs2A!X%d4cgL6Yt&3ih!23$wxz12&-nL5oVTXKFW znfQ1;SxHkcX~7Us4mB#w?WbSSm$*oqTnrF?9Mv%(RMX!sp=t=cp5LTc@=(gqVTmL$ zqSY9$!cPvHVO5apJXx;!GT?!fD-;Ss?8#&@pWB5Q0r*5Ao z@}+hQv3>)rP$Wq#ZVF*J29dt4W#=^vLgR5-pdk-tb{%YiH%P8Cv%@ z+|DW!;3s|@88#hO6Q?F-sLrISers-vuk^e~;VXwqMK7bAYumRVYb66s$>R6bW7n6s zB4l3dLqQ?}X#d(hDi66;5isdb&MqmpSXIpI+O1EQKe^GZfBXpWi!05gEN4xQV(xks z2*i^xWHPm#?vn4}+;LxKTCKO@7>R^stO||K_-Su9DZXH;I`t?KrT0jYJfoF3DQw-r zSd(UbRf1RNb0N1v#V2i1>8m&D`)FVvW-CkHG@{vI6h`u~FOR)idh2d7^Ju)iAcMcg zm2-<>I^EP`r26_bZ2fI*$Tzhd@AudYOm#S5v(;u9fNy-l*xaZl#9Tnse_26-_mCbY zv)wr#w9_I!71d(wC+A4l#kRHv8~|}1(le0vo4K#`msS33#`CqGkB6=u@w2&xu-S~a zaQ=`yy6R#1QiJsjB}pkMOaEvKh9<$kD=5iTK4=%wyYk(rtBq0Qy(-gzb_tkKMYjy~ zFK;GwRTuUtJM~luI$K@=_hGcCSk9JZlwU*hE^F2@gVH?33?)aGgLP= zm<2Ve6p@t|q-KE{WqK#VPu&yd>8elz{*a0}Fw-$rZmv|#m=Cvicd*DKN!jIZvgLm7 zNCuKqU#8_J_~Hq(QsLmc`=G?iT=Mq`i%2PxtcHN;n~+mvsB-JBju*$E zIQiarGVnm^=3x31<5`!s(=tp2iQh>`g_9euuD5q+OK+aES03A8)4Xb<_@!o1!-p=m zwk(-1z8mYK>3j?K7A4s&IkY=xsbl5gM&+A(k_h+DO4P|K8*lQh$&10s-*6xLs1lB6 zZ_7Je78EnjdHC>6Kszp3Al`kRr>T?XzENdNl7g-@*#>?d3 zV>t8qyZP1~%@Vm5vB-u@+LxW<`qZH&wm)Uy9K-Xe3qtMh zGHdPKO1%B}?4uZh!P;OG0=YpyJd3olb)?kxJBDdU{Hf?8>d$|fvMIemw&AS~G$w?q z;{58b5^!W#3MJ!rU7ytVgoQBSl7N1a&a@B3pikAK!HLuBwX1Tt4iO?16Zn2V4AiaM zK$<45I%0;Ht|lvg<;Q0r)euSbCL|CHwq@ON955fa;n=cg{Zj1jJt0_YydMmX57!uU zk%Z|%q{3}(On?jKYtBT-6twao&+Dvn8L0l|u4tgd|NDL?{k6M=M`cFDi1s%I$dhc$ z!%K0gK_6Kt)uaB?b%>bZFXq=cUiw%rOqpR149!5-^i788pXzxRi*(`#GbdhZ@eW91 zB{%v|N4H(m&%dx_Q`ewBrtjL$^pCfpcftHCK-}vj1suz7rZ*#(DVd?$e~54OHQ zevl%TfJ2hYGVYX3?yX~wi@_v?A3j7VVcQn-Zh3#BkdbJ_<4OHU6P6o7A<%v$fR`2& zF(6gk)mgE|%b5_uJioJm(Z+h5sO>j4W()dkvXpZ+WyO<_Mf#qhg@k~?&(+J7d_Sq1 z#61o)gLRQ!Q_*VEgcul$JQZz+2W{trp_G^!N%UXAYe&9;*VsSeyC!4*<2|d$gAU_h zn1g~^4D)BJVgl%8kD!DNR%K7nL?l=(d`NdhQmT49 zSO$RMtA!EOHX#*wib?dKezL}V2wyYKp*?&+id75M9<}{W`Vh%E{=@<_;UXXEL9&83s`6kfRBljT(C+fySh#d8fQgYMPwENdT!6cIS9;lsC^}4ymGM$a@_T=MA=>HGfdU$DYwscjw%{}8hd=*?6vFfZDIRa3 z&yyXT$75l5J5St399|oaZJ#xZLt6ms1!Qy@Zh64b>F9a2R0#t5qk*!sCOesz>XK33 z_@>aia+o6omHo=+ozGIh=z2H7XnWo2EAEB-@pjNxw{H%{Bm^z9JZ05!GXNqY-E>6* zV$N*cHfmfQ(3}y`I9Ln8(Zt0!Jfn5^Z2{FJ$UPN(SzE@7r%ww6^Mry|Agg@sMoNN5O>lDwv_$E0qjt=j&7lTw%Ii;wZ8ob zSyy`6x{jAH1tG=+s(zD0-*)j;HbK!W*5AgQh(3?o)FVF8h@51Pl=vs?x~_^zqalDX zm(j^y+Y(l?)mY_Y=$-Khyi1_n&ka0GuW|d;9o|lV{5_sQXM;EDgV@(w+agIv7p0DN zITsQ6+q?4vAFBzAo)BRuK>1>76w=EE5Igw{ZV?%*eCux?1LVKFU+RxngWIsO&w3pG zro+O}8YD&ykZ;a)h*z!KL!SSW5@xvDCIH8vgZBgS=$u1q8yxuiFDFHszjf-FjO0w{ z3&yJnKS3?%9j`s5KLiP!Em$m*g89lN)sxpb6ZU<>_rxO#JTU{4;ypp%HHl-`609s* z43K1A1FK36NSvho{D2V;bpk)#Kw7;JFrkQ)tnmJFu2@&InTv@3tyHg67t&`9shRgz zz@u(8PFqsm2K2kA(g!B`r=Zw!V!Lj2k^Eo=qR#8PV;{aRfR>7OjVJI6M2k?1Yb_C( zu)O~C{pHzUf-i72!u?WrHbudRki*EYK;&+ZOU#E_RI+thn+E=4?E2lN>;J{}4e?|9 zOeqsQ0%+p*bFvpyWH@X`^*fEZ|Js>s;Hr8nXsn<>>Dz^C&w*$QIM4jFIRt*sPAO-P zx{U?GQ1MWZjs?n(p8M+U7k7H#62l>-LE!?;xY%}DR%Zhh?@m5W;DMk6Vphlr^@kHr zK237_<#=0j`!-zU$M&u5W}>$m4)IU$regLbpkg+1GX)sy^8Q+l#REnM`dS`+|yj zUDS9@1Eve?2VXhI9nd{RBXq83l+-rZ16L+ZTA-H-B5zdl%+C-d!Mv#=C>5Fs_NycclD-srR{GTO5-XA zB!s5Ar$4?0JT@FAi{++eNOd)C_1F)*b#-Di8&GOQliSCMxXo%Vw4>U3#i22JF2cR- zsfDGXdUM$b`0$sSeP7(nZ&^SBCQr=xVz-gr_f9?~Th`|6qe zbBi&dWloe|+Nr2oJnb}uc%Po8{<`XC43yIW+{Bi=Q zRYWhP5DEk2NZ)xY5baWi%kn{RxToD~!^#@MV z5j6fgcKEl5d45m{r@YV7ZkC_bgcbw*f>79sx9_`<=-@Ezd(urUDJqkh_YS|pig~^* z`!d3t&A5^-i5%0$-;7-}wJC4^(@8sgL_vloX}{Y+(^-WcTl#mj%*h8abHm~tYuCE^ z`OgEsNJq@AE5fX(|M+yKxxGi%^Eqjfvp(Pj1qzQ4y(D#BQfr0!(XB{CY!rwWQszQV=F7P0TsuEsGbjS2Yo z7N~PTYDHlBIdC!}_6*a+vvB!Gv#8%Jk?rR=c*qNbEkz@8JJpRwxms3N>BS%J4gYFx zK)dzTtcJ