diff --git a/themes/learn4/.eslintrc b/themes/learn4/.eslintrc deleted file mode 100644 index 35d3a0a3..00000000 --- a/themes/learn4/.eslintrc +++ /dev/null @@ -1,168 +0,0 @@ -{ - "env": { - "browser": true, - "node": true, - "es6": true - }, - - "parser": "babel-eslint", - - "parserOptions": { - "ecmaVersion": 7, - "sourceType": "module" - }, - - "rules": { - "accessor-pairs": 2, - "array-bracket-spacing": 0, - "block-scoped-var": 0, - "brace-style": [2, "1tbs", { "allowSingleLine": true }], - "camelcase": 0, - "comma-dangle": [2, "never"], - "comma-spacing": [2, { "before": false, "after": true }], - "comma-style": [2, "last"], - "complexity": 0, - "computed-property-spacing": 0, - "consistent-return": 0, - "consistent-this": 0, - "constructor-super": 2, - "curly": [2, "multi-line"], - "default-case": 0, - "dot-location": [2, "property"], - "dot-notation": 0, - "eol-last": 2, - "eqeqeq": [2, "allow-null"], - "func-names": 0, - "func-style": 0, - "generator-star-spacing": [2, { "before": true, "after": true }], - "guard-for-in": 0, - "handle-callback-err": [2, "^(err|error)$" ], - "indent": [2, 4, { "SwitchCase": 1 }], - "key-spacing": [2, { "beforeColon": false, "afterColon": true }], - "linebreak-style": 0, - "lines-around-comment": 0, - "max-nested-callbacks": 0, - "new-cap": [2, { "newIsCap": true, "capIsNew": false }], - "new-parens": 2, - "newline-after-var": 0, - "no-alert": 0, - "no-array-constructor": 2, - "no-caller": 2, - "no-catch-shadow": 0, - "no-cond-assign": 2, - "no-console": 0, - "no-constant-condition": 0, - "no-continue": 0, - "no-control-regex": 2, - "no-debugger": 2, - "no-delete-var": 2, - "no-div-regex": 0, - "no-dupe-args": 2, - "no-dupe-keys": 2, - "no-duplicate-case": 2, - "no-else-return": 0, - "no-empty": 0, - "no-empty-character-class": 2, - "no-eq-null": 0, - "no-eval": 2, - "no-ex-assign": 2, - "no-extend-native": 2, - "no-extra-bind": 2, - "no-extra-boolean-cast": 2, - "no-extra-parens": 0, - "no-extra-semi": 0, - "no-fallthrough": 2, - "no-floating-decimal": 2, - "no-func-assign": 2, - "no-implied-eval": 2, - "no-inline-comments": 0, - "no-inner-declarations": [2, "functions"], - "no-invalid-regexp": 2, - "no-irregular-whitespace": 2, - "no-iterator": 2, - "no-label-var": 2, - "no-labels": 2, - "no-lone-blocks": 2, - "no-lonely-if": 0, - "no-loop-func": 0, - "no-mixed-requires": 0, - "no-mixed-spaces-and-tabs": 2, - "no-multi-spaces": 2, - "no-multi-str": 2, - "no-multiple-empty-lines": [2, { "max": 1 }], - "no-native-reassign": 2, - "no-negated-in-lhs": 2, - "no-nested-ternary": 0, - "no-new": 2, - "no-new-func": 0, - "no-new-object": 2, - "no-new-require": 2, - "no-new-wrappers": 2, - "no-obj-calls": 2, - "no-octal": 2, - "no-octal-escape": 2, - "no-param-reassign": 0, - "no-path-concat": 0, - "no-process-env": 0, - "no-process-exit": 0, - "no-proto": 0, - "no-redeclare": 2, - "no-regex-spaces": 2, - "no-restricted-modules": 0, - "no-return-assign": 2, - "no-script-url": 0, - "no-self-compare": 2, - "no-sequences": 2, - "no-shadow": 0, - "no-shadow-restricted-names": 2, - "no-spaced-func": 2, - "no-sparse-arrays": 2, - "no-sync": 0, - "no-ternary": 0, - "no-this-before-super": 2, - "no-throw-literal": 2, - "no-trailing-spaces": 2, - "no-undef": 2, - "no-undef-init": 2, - "no-undefined": 0, - "no-underscore-dangle": 0, - "no-unexpected-multiline": 2, - "no-unneeded-ternary": 2, - "no-unreachable": 2, - "no-unused-expressions": 0, - "no-unused-vars": [2, { "vars": "all", "args": "none" }], - "no-use-before-define": 0, - "no-var": 0, - "no-void": 0, - "no-warning-comments": 0, - "no-with": 2, - "object-curly-spacing": 0, - "object-shorthand": 0, - "one-var": [2, { "initialized": "never" }], - "operator-assignment": 0, - "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], - "padded-blocks": 0, - "prefer-const": 0, - "quote-props": 0, - "quotes": [2, "single", "avoid-escape"], - "radix": 2, - "semi": [2, "always"], - "semi-spacing": 0, - "sort-vars": 0, - "keyword-spacing": [2, {"after": true, "overrides": {"throw": { "after": true}, "return": { "before": true }}}], - "space-before-blocks": [2, "always"], - "space-before-function-paren": [2, "never"], - "space-in-parens": [2, "never"], - "space-infix-ops": 2, - "space-unary-ops": [2, { "words": true, "nonwords": false }], - "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!"] }], - "strict": 0, - "use-isnan": 2, - "valid-jsdoc": 0, - "valid-typeof": 2, - "vars-on-top": 0, - "wrap-iife": [2, "any"], - "wrap-regex": 0, - "yoda": [2, "never"] - } -} diff --git a/themes/learn4/.gitignore b/themes/learn4/.gitignore deleted file mode 100644 index 07e6e472..00000000 --- a/themes/learn4/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/node_modules diff --git a/themes/learn4/CHANGELOG.md b/themes/learn4/CHANGELOG.md deleted file mode 100644 index 11d1af97..00000000 --- a/themes/learn4/CHANGELOG.md +++ /dev/null @@ -1,167 +0,0 @@ -# v2.0.0-rc.2 -## mm/dd/2019 - -1. [](#improved) - * Updated [Spectre.css](https://picturepan2.github.io/spectre/) to latest `0.5.8` version - -# v2.0.0-rc.1 -## 02/07/2019 - -1. [](#improved) - * Support for 2FA panel styling - * Updated to Yarn 4.0 syntax -1. [](#bugfix) - * Some checkboxes fixes for Forms 3.0 - -# v2.0.0-beta.4 -## 12/07/2018 - -1. [](#improved) - * Updated to include latest `v1.2.5` improvements - -# v2.0.0-beta.3 -## 11/12/2018 - -1. [](#improved) - * Updated to include latest `v1.2.4` improvements -1. [](#bugfix) - * More Twig 2.0 compatibility fixes - -# v2.0.0-beta.2 -## 11/05/2018 - -1. [](#improved) - * Updated to include latest `v1.2.3` improvements -1. [](#bugfix) - * Fixed a Twig 2.0 issue with assets rendering - -# v2.0.0-beta.1 -## 10/24/2018 - -1. [](#new) - * Use new `deferred` Twig blocks (requires Grav 1.6+) -1. [](#improved) - * Updated to use new `GRAV` core language prefix - -# v1.2.5 -## 12/07/2018 - -1. [](#improved) - * Updated [Spectre.css](https://picturepan2.github.io/spectre/) to latest `0.5.7` version -1. [](#bugfix) - * Fixed missing `` close tag in bae template [#76](https://github.com/getgrav/grav-theme-quark/pull/) - -# v1.2.4 -## 11/12/2018 - -1. [](#improved) - * Updated [Spectre.css](https://picturepan2.github.io/spectre/) to latest `0.5.5` version - * Added link support to modular `features` [#39](https://github.com/getgrav/grav-theme-quark/pull/39/) - * Remove desktop menu when in mobile mode [#59](https://github.com/getgrav/grav-theme-quark/pull/59/) - * Support modular `text` full-width if no image [#70](https://github.com/getgrav/grav-theme-quark/issues/70) - * Shim for IE support of BrickLayer.js [#64](https://github.com/getgrav/grav-theme-quark/issues/64) -1. [](#bugfix) - * Fixed `continue_link:` showing up as toggled [#65](https://github.com/getgrav/grav-theme-quark/issues/65) - * Fixed issue with modular pages not hidden in on-page menu with `visible: false` [#71](https://github.com/getgrav/grav-theme-quark/issues/71) - - -# v1.2.3 -## 11/05/2018 - -1. [](#improved) - * Moved footer into standalone twig to allow for easier extensibility [#63](https://github.com/getgrav/grav-theme-quark/pull/63) -1. [](#bugfix) - * Fix variable name for prouction mode [#61](https://github.com/getgrav/grav-theme-quark/pull/61) - * Fix layout size in features blueprint [#67](https://github.com/getgrav/grav-theme-quark/pull/67) - * Fix active page logic in `nav` so there's no empty class attributes [#68](https://github.com/getgrav/grav-theme-quark/pull/68) - * Fix for features blueprint because `class` didn't work [#69](https://github.com/getgrav/grav-theme-quark/pull/69) - -# v1.2.2 -## 10/24/2018 - -1. [](#improved) - * Changed nav macro to format supported by Twig 2.0 - * Updated `partials/form-messages.html.twig` to be more inline with latest Forms plugin -1. [](#bugfix) - * Make the theme to work with Twig auto-escaping turned on - * Moved language strings under `THEME_QUARK` - -# v1.2.1 -## 08/23/2018 - -1. [](#improved) - * Added additional "mobile custom logo" support -1. [](#bugfix) - * Addressed some CSS issues by forcing logo height - -# v1.2.0 -## 08/23/2018 - -1. [](#new) - * Added new "custom logo" support [#3](https://github.com/getgrav/grav-theme-quark/issues/3) - * Added option JSON feed syndication support in sidebar [#47](https://github.com/getgrav/grav-theme-quark/pull/47) - * Added basic form field `array` styling - -# v1.1.0 -## 07/25/2018 - -1. [](#new) - * Responsive font sizing [#28](https://github.com/getgrav/grav-theme-quark/issues/28) -1. [](#improved) - * Updated [Spectre.css](https://picturepan2.github.io/spectre/) to latest `0.5.3` version - * Make blog settings toggleable [#38](https://github.com/getgrav/grav-theme-quark/pull/38) -1. [](#bugfix) - * Proper fix for sticky footer in IE10 and IE11 [#21](https://github.com/getgrav/grav-theme-quark/issues/21) - * Fix for lists wrapping weirdly due to `outside` attribute - * Updated checkbox + radio to take into account `client_side_validation` form option - * Fixes for fallback values [#37](https://github.com/getgrav/grav-theme-quark/pull/37) - * Fix inheritance for images folder [#30](https://github.com/getgrav/grav-theme-quark/pull/30) - * Added blueprint option for `continue_link` [#45](https://github.com/getgrav/grav-theme-quark/issues/45) - * Added blueprint option for Feature `class` [#14](https://github.com/getgrav/grav-theme-quark/issues/14) - * Fixed `Duplicate ID` issues with modular sections. Might break CSS on first load, need to refresh to pick up new CSS [#24](https://github.com/getgrav/grav-theme-quark/issues/24) - * Fixed Text feature alignment issue [#4](https://github.com/getgrav/grav-theme-quark/issues/4) - * Overlapping menu and mobile button [#7](https://github.com/getgrav/grav-theme-quark/issues/7) - -# v1.0.3 -## 05/11/2018 - -1. [](#new) - * Added new primary button mixin -1. [](#improved) - * Updated [Spectre.css](https://picturepan2.github.io/spectre/) to latest `0.5.1` version - * Improved default login styling - * Removed core Spectre.css override to make upgrading Spectre easier - * Added screenshot to README.md - * Override focus to prevent overzealous blue blurs -1. [](#bugfix) - * Fix for `highlight` plugin not changing background of code blocks - * Removed extraneous `dump()` in Twig output - -# v1.0.2 -## 02/19/2018 - -1. [](#new) - * Added toggle options to enable Spectre.css _experimentals_ and _icons_ CSS files - * Switched to a fork of LineAwesome icons compatible with FontAwesome 4.7.0 -1. [](#improved) - * Font tweaks -1. [](#bugfix) - * Pagination fixes - -# v1.0.1 -## 01/22/2018 - -1. [](#new) - * Added blueprints for admin editing -1. [](#improved) - * Use default lang from `site.yaml` -1. [](#bugfix) - * Fixed Current path to address issues with extending Quark - * Fixed parallax to start in same position as standard - * Fixed modular image size - -# v1.0.0 -## 12/28/2017 - -1. [](#new) - * ChangeLog started... diff --git a/themes/learn4/LICENSE b/themes/learn4/LICENSE deleted file mode 100644 index b5e7990a..00000000 --- a/themes/learn4/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2018 Trilby Media - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/themes/learn4/README.md b/themes/learn4/README.md deleted file mode 100644 index 7dd3b166..00000000 --- a/themes/learn4/README.md +++ /dev/null @@ -1,152 +0,0 @@ -# Learn4 Theme - -![](assets/learn4-screenshots.jpg) - -**Learn4** is the new default theme for [Grav CMS](http://github.com/getgrav/grav). This theme is built with the [Spectre.css](https://picturepan2.github.io/spectre/) framework and provides a powerful base for developing your own themes. Learn4 uses functionality that is only available in Grav 1.4+, as such you cannot run Learn4 on earlier versions of Grav. - -## Features - -* Lightweight and minimal for optimal performance -* Spectre CSS Framework -* Fully responsive with full-page mobile navigation -* SCSS based CSS source files for easy customization -* Built-in support for on-page navigation -* Multiple page template types -* Fontawesome icon support - -### Supported Page Templates - -* Default view template `default.md` -* Error view template `error.md` -* Blog view template `blog.md` -* Blog item view template `item.md` -* Modular view templates: `modular.md` - * Features Modular view template `features.md` - * Hero Modular view template `hero.md` - * Text Modular view template `text.md` - -# Installation - -Installing the Learn4 theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file. - -The theme by itself is useful, but you may have an easier time getting up and running by installing a skeleton. The Learn4 theme can be found in both the [One-page](https://github.com/getgrav/grav-skeleton-onepage-site) and [Blog Site](https://github.com/getgrav/grav-skeleton-blog-site) which are self-contained repositories for a complete sites which include: sample content, configuration, theme, and plugins. - -## GPM Installation (Preferred) - -The simplest way to install this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: - - bin/gpm install learn4 - -This will install the Learn4 theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/learn4`. - -## Manual Installation - -To install this theme, just download the zip version of this repository and unzip it under `/your/site/grav/user/themes`. Then, rename the folder to `learn4`. You can find these files either on [GitHub](https://github.com/getgrav/grav-theme-learn4) or via [GetGrav.org](http://getgrav.org/downloads/themes). - -You should now have all the theme files under - - /your/site/grav/user/themes/learn4 - -## Default Options - -Learn4 comes with a few default options that can be set site-wide. These options are: - -```yaml -enabled: true # Enable the theme -production-mode: true # In production mode, only minified CSS is used. When disabled, nested CSS with sourcemaps are enabled -grid-size: grid-lg # The max-width of the theme, options include: `grid-xl`, `grid-lg`, and `grid-md` -header-fixed: true # Cause the header to be fixed at the top of the browser -header-animated: true # Allows the fixed header to resize to a smaller header when scrolled -header-dark: false # Inverts the text/logo to work better on dark backgrounds -header-transparent: false # Allows the fixed header to be transparent over the page -sticky-footer: true # Causes the footer to be sticky at the bottom of the page -blog-page: '/blog' # The route to the blog listing page, useful for a blog style layout with sidebar -custom_logo: # A custom logo rather than the default (see below) -custom_logo_mobile: # A custom logo to use for mobile navigation -``` - -To make modifications, you can copy the `user/themes/learn4/learn4.yaml` file to `user/config/themes/` folder and modify, or you can use the admin plugin. - -> NOTE: Do not modify the `user/themes/learn4/learn4.yaml` file directly or your changes will be lost with any updates - -## Custom Logos - -To add a custom logo, you should put the log into the `user/themes/learn4/images/logo` folder. Standard image formats are support (`.png`,`.jpg`, `.gif`, `.svg`, etc.). Then reference the logo via the YAML like so: - -```yaml -custom_logo: - - name: 'my-logo.png' -custom_logo_mobile: - - name: 'my-mobile-logo.png' -``` - -Alternatively, you can you use the drag-n-drop "Custom Logo" field in the Learn4 theme options. - -## Page Overrides - -Learn4 has the ability to allow pages to override some of the default options by letting the user set `body_classes` for any page. The theme will merge the combination of the defaults with any `body_classes` set. For example: - -```yaml -body_classes: "header-dark header-transparent" -``` - -On a particular page will ensure that page has those options enabled (assuming they are false by default). - -## Hero Options - -The hero template allows some options to be set in the page frontmatter. This is used by the modular `hero` as well as the blog and item templates to provide a more dynamic header. - -```yaml -hero_classes: text-light title-h1h2 parallax overlay-dark-gradient hero-large -hero_image: road.jpg -hero_align: center -``` - -The `hero_classes` option allows a variety of hero classes to be set dynamically these include: - -* `text-light` | `text-dark` - Controls if the text should be light or dark depending on the content -* `title-h1h2` - Enforced a close matched h1/h2 title pairing -* `parallax` - Enables a CSS-powered parallax effect -* `overlay-dark-gradient` - Displays a transparent gradient which further darkens the underlying image -* `overlay-light-gradient` - Displays a transparent gradient which further lightens the underlying image -* `overlay-dark` - Displays a solid transparent overlay which further darkens the underlying image -* `overlay-light` - Displays a solid transparent overlay which further darkens the underlying image -* `hero-fullscreen` | `hero-large` | `hero-medium` | `hero-small` | `hero-tiny` - Size of the hero block - -The `hero_image` should point to an image file in the current page folder. - -## Features Modular Options - -The features modular template provides the ability to set a class on the features, as well as an array of feature items. For example: - -```yaml -class: offset-box -features: - - header: Crazy Fast - text: "Performance is not just an afterthought, we baked it in from the start!" - icon: fighter-jet - - header: Easy to build - text: "Simple text files means Grav is trivial to install, and easy to maintain" - icon: database - - header: Awesome Technology - text: "Grav employs best-in-class technologies such as Twig, Markdown & Yaml" - icon: cubes - - header: Super Flexible - text: "From the ground up, with many plugin hooks, Grav is extremely extensible" - icon: object-ungroup - - header: Abundant Plugins - text: "A vibrant developer community means over 200 themes available to download" - icon: puzzle-piece - - header: Free / Open Source - text: "Grav is an open source project, so you can spend your money on other stuff" - icon: money -``` - -## Text Modular Options - -The text box provides a single option to control if any image found in the page folder should be left or right aligned: - -```yaml -image_align: right -``` - diff --git a/themes/learn4/app/history.js b/themes/learn4/app/history.js deleted file mode 100644 index 52d4706f..00000000 --- a/themes/learn4/app/history.js +++ /dev/null @@ -1,9 +0,0 @@ -import $ from 'jquery'; - -// History -$(document).on('click', '[data-clear-history-toggle]', (event) => { - event.preventDefault(); - - window.sessionStorage.clear(); - window.location.reload(); -}); diff --git a/themes/learn4/app/main.js b/themes/learn4/app/main.js deleted file mode 100644 index cf0d1c27..00000000 --- a/themes/learn4/app/main.js +++ /dev/null @@ -1,20 +0,0 @@ -import $ from 'jquery'; -import './utils'; -import './toc'; -import './history'; -import './search'; -import './nav'; - -$(window).on('load', function() { - // store this page in session - window.sessionStorage.setItem($('body').data('url'), '1'); - - // loop through the sessionStorage and see if something should be marked as visited - for (let url in window.sessionStorage) { - if (window.sessionStorage.getItem(url) === '1') { - $(`[data-nav-id="${url}"]`).addClass('visited'); - } - } - - $('.highlightable').highlight(window.sessionStorage.getItem('search-value'), { element: 'mark' }); -}); diff --git a/themes/learn4/app/nav.js b/themes/learn4/app/nav.js deleted file mode 100644 index be3e3c1e..00000000 --- a/themes/learn4/app/nav.js +++ /dev/null @@ -1,19 +0,0 @@ -import $ from 'jquery'; - -if (window.sessionStorage.getItem('search-value')) { - $(document.body).removeClass('searchbox-hidden'); - $('[data-search-input]').val(sessionStorage.getItem('search-value')).trigger('input'); -} - -// allow keyboard control for prev/next links -$(document).on('click', '.nav-prev, .nav-next', (event) => { - const target = $(event.currentTarget); - window.location.href = target.attr('href'); -}); - -$(document).on('keydown', (event) => { - const item = event.which === 37 ? $('a.nav-prev') : (event.which === 39 ? $('a.nav-next') : null); - if (item) { - item.click(); - } -}); diff --git a/themes/learn4/app/search.js b/themes/learn4/app/search.js deleted file mode 100644 index f4913a47..00000000 --- a/themes/learn4/app/search.js +++ /dev/null @@ -1,49 +0,0 @@ -import $ from 'jquery'; - -let ajax; -$(document).on('input', '[data-search-input]', (event) => { - const target = $(event.currentTarget); - const value = target.val(); - const items = $('[data-nav-id]'); - - items.removeClass('search-match'); - - const topics = $('ul.topics'); - const highlightable = $('.highlightable'); - if (!value.length) { - topics.removeClass('searched'); - items.css('display', 'block'); - window.sessionStorage.removeItem('search-value'); - - highlightable.unhighlight({ element: 'mark' }); - - return; - } - - window.sessionStorage.setItem('search-value', value); - highlightable.unhighlight({ element: 'mark' }).highlight(value, { element: 'mark' }); - - if (ajax && ajax.abort) { - ajax.abort(); - } - - ajax = $.ajax({ - url: `${target.data('search-input')}:${value}` - }).done((data) => { - if (data && data.results && data.results.length) { - items.css('display', 'none'); - topics.addClass('searched'); - data.results.forEach((item) => { - const navItem = $(`[data-nav-id="${item}"]`); - navItem.css('display', 'block').addClass('search-match'); - navItem.parents('li').css('display', 'block'); - }); - } - }); -}); - -$(document).on('click', '[data-search-clear]', () => { - $('[data-search-input]').val('').trigger('input'); - window.sessionStorage.removeItem('search-input'); - $('.highlightable').unhighlight({ element: 'mark' }); -}); diff --git a/themes/learn4/app/toc.js b/themes/learn4/app/toc.js deleted file mode 100644 index d1e66a7e..00000000 --- a/themes/learn4/app/toc.js +++ /dev/null @@ -1,6 +0,0 @@ -import $ from 'jquery'; - -// TOC -$(document).on('click', '.toc-toggle', () => { - $('.page-toc').toggleClass('toc-closed'); -}); diff --git a/themes/learn4/app/utils/highlight.js b/themes/learn4/app/utils/highlight.js deleted file mode 100644 index d1ee90a9..00000000 --- a/themes/learn4/app/utils/highlight.js +++ /dev/null @@ -1,81 +0,0 @@ -import $ from 'jquery'; - -$.extend({ - highlight: function(node, re, nodeName, className) { - if (node.nodeType === 3) { - const match = node.data.match(re); - if (match) { - const highlight = document.createElement(nodeName || 'span'); - highlight.className = className || 'highlight'; - const wordNode = node.splitText(match.index); - wordNode.splitText(match[0].length); - const wordClone = wordNode.cloneNode(true); - highlight.appendChild(wordClone); - wordNode.parentNode.replaceChild(highlight, wordNode); - return 1; // skip added node in parent - } - } else if ((node.nodeType === 1 && node.childNodes) && // only element nodes that have children - !/(script|style)/i.test(node.tagName) && // ignore script and style nodes - !(node.tagName === nodeName.toUpperCase() && node.className === className)) { // skip if already highlighted - for (let i = 0; i < node.childNodes.length; i++) { - i += $.highlight(node.childNodes[i], re, nodeName, className); - } - } - return 0; - } -}); - -$.fn.unhighlight = function(options) { - const settings = { - className: 'highlight', - element: 'span' - }; - - $.extend(settings, options); - - return this.find(`${settings.element}.${settings.className}`).each(function() { - const parent = this.parentNode; - parent.replaceChild(this.firstChild, this); - parent.normalize(); - }).end(); -}; - -$.fn.highlight = function(words, options) { - const settings = { - className: 'highlight', - element: 'span', - caseSensitive: false, - wordsOnly: false - }; - - $.extend(settings, options); - - if (!words) { - return; - } - - if (words.constructor === String) { - words = [words]; - } - words = $.grep(words, function(word) { - return word !== ''; - }); - words = $.map(words, function(word) { - return word.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); - }); - if (words.length === 0) { - return this; - } - - const flag = settings.caseSensitive ? '' : 'i'; - let pattern = `(${words.join('|')})`; - if (settings.wordsOnly) { - pattern = '\\b' + pattern + '\\b'; - } - - const re = new RegExp(pattern, flag); - - return this.each(function() { - $.highlight(this, re, settings.element, settings.className); - }); -}; diff --git a/themes/learn4/app/utils/index.js b/themes/learn4/app/utils/index.js deleted file mode 100644 index bee7ebd4..00000000 --- a/themes/learn4/app/utils/index.js +++ /dev/null @@ -1,2 +0,0 @@ -import './highlight'; -import './progress'; diff --git a/themes/learn4/app/utils/progress.js b/themes/learn4/app/utils/progress.js deleted file mode 100644 index 30caf90e..00000000 --- a/themes/learn4/app/utils/progress.js +++ /dev/null @@ -1,11 +0,0 @@ -const h = document.documentElement; -const b = document.body; -const st = 'scrollTop'; -const sh = 'scrollHeight'; -const progress = document.querySelector('.progress'); -let scroll; - -document.addEventListener('scroll', function() { - scroll = (h[st] || b[st]) / ((h[sh] || b[sh]) - h.clientHeight) * 100; - progress.style.setProperty('--scroll', scroll + '%'); -}); diff --git a/themes/learn4/assets/quark-screenshots.jpg b/themes/learn4/assets/quark-screenshots.jpg deleted file mode 100644 index b4b0c916..00000000 Binary files a/themes/learn4/assets/quark-screenshots.jpg and /dev/null differ diff --git a/themes/learn4/blueprints.yaml b/themes/learn4/blueprints.yaml deleted file mode 100644 index 32513aa1..00000000 --- a/themes/learn4/blueprints.yaml +++ /dev/null @@ -1,73 +0,0 @@ -name: Learn4 -version: 2.0.0-rc.1 -testing: true -description: New Grav Default Theme -icon: microchip -author: - name: Team Grav - email: devs@getgrav.org - url: http://getgrav.org -homepage: https://github.com/getgrav/grav-theme-learn4 -demo: https://demo.getgrav.org/onepage-skeleton -keywords: learn4, spectre, theme, core, modern, fast, responsive, html5, css3 -bugs: https://github.com/getgrav/grav-theme-learn4/issues -license: MIT - -dependencies: - - { name: grav, version: '>=1.6.0-rc.2' } - -form: - validation: loose - - fields: - production-mode: - type: toggle - label: Production mode - help: When enabled, Learn4 will render with minified CSS - highlight: 1 - default: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - grid-size: - type: select - label: Grid size - help: The maximum width of the theme - size: small - options: - '': None (full width) - grid-xl: Extra Large - grid-lg: Large - grid-md: Medium - - spectre_section: - type: section - title: Spectre.css Options - underline: true - - spectre.exp: - type: toggle - label: Experimentals CSS - help: When enabled, the `spectre-exp.css` file will be included - highlight: 0 - default: 0 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - spectre.icons: - type: toggle - label: Icons CSS - help: When enabled, the `spectre-icons.css` file will be included - highlight: 0 - default: 0 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool \ No newline at end of file diff --git a/themes/learn4/blueprints/blog.yaml b/themes/learn4/blueprints/blog.yaml deleted file mode 100644 index 72e2f7b1..00000000 --- a/themes/learn4/blueprints/blog.yaml +++ /dev/null @@ -1,94 +0,0 @@ -extends@: default -child_type: item - -rules: - slug: - pattern: "[a-z][a-z0-9_\-]+" - min: 2 - max: 80 - -form: - fields: - tabs: - type: tabs - active: 1 - - fields: - advanced: - fields: - overrides: - fields: - header.child_type: - default: item - blog: - type: tab - title: Blog Config - - fields: - - content_title: - type: spacer - title: Content Definition - - header.content.items: - type: textarea - yaml: true - label: Items - default: '@self.children' - validate: - type: yaml - - header.content.limit: - type: text - label: Max Item Count - default: 5 - validate: - required: true - type: int - min: 1 - - header.content.order.by: - type: select - label: Order By - default: date - options: - folder: Folder - title: Title - date: Date - default: Default - - header.content.order.dir: - type: select - label: Order - default: desc - options: - asc: Ascending - desc: Descending - - header.content.pagination: - type: toggle - label: Pagination - highlight: 1 - default: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - header.content.url_taxonomy_filters: - type: toggle - label: URL Taxonomy Filters - highlight: 1 - default: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - import@: - type: partials/blog-bits - context: blueprints://pages - - diff --git a/themes/learn4/blueprints/default.yaml b/themes/learn4/blueprints/default.yaml deleted file mode 100644 index 3219221a..00000000 --- a/themes/learn4/blueprints/default.yaml +++ /dev/null @@ -1,15 +0,0 @@ -extends@: default - -form: - fields: - tabs: - fields: - advanced: - fields: - columns: - fields: - column1: - fields: - header.body_classes: - markdown: true - description: 'Available classes in Quark Theme (space separated):
`header-fixed`, `header-animated`, `header-dark`, `header-transparent`, `sticky-footer`' \ No newline at end of file diff --git a/themes/learn4/blueprints/item.yaml b/themes/learn4/blueprints/item.yaml deleted file mode 100644 index 8ad87549..00000000 --- a/themes/learn4/blueprints/item.yaml +++ /dev/null @@ -1,113 +0,0 @@ -extends@: default - -form: - fields: - tabs: - - fields: - blog: - type: tab - title: Blog Item - - fields: - - header_options: - type: section - title: Header Options - underline: true - - header.continue_link: - type: toggle - toggleable: true - label: DF Style Link - help: Daring Fireball style title link - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - header.header_image: - type: toggle - toggleable: true - label: Display Header Image - help: Enabled displaying of a header image - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - - header.header_image_file: - type: text - toggleable: true - label: Image File - help: image filename that exists in the page folder. If not provided, will use the first image found. - placeholder: For example: myimage.jpg - - header.header_image_width: - type: text - toggleable: true - label: Image Width - size: small - help: Header width in px - placeholder: Default is 900 - validate: - type: int - min: 0 - max: 5000 - - header.header_image_height: - type: text - toggleable: true - label: Image Height - size: small - help: Header height in px - placeholder: Default is 300 - validate: - type: int - min: 0 - max: 5000 - - summary: - type: section - title: Summary - underline: true - - header.summary.enabled: - type: toggle - toggleable: true - label: Summary - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - - header.summary.format: - type: select - toggleable: true - label: Format - classes: fancy - options: - 'short': 'Use the first occurence of delimter or size' - 'long': 'Summary delimiter will be ignored' - - header.summary.size: - type: text - toggleable: true - label: Size - classes: large - placeholder: 300 - validate: - type: int - min: 1 - - header.summary.delimiter: - type: text - toggleable: true - label: Summary delimiter - classes: large - placeholder: === - - import@: - type: partials/blog-bits diff --git a/themes/learn4/blueprints/modular/features.yaml b/themes/learn4/blueprints/modular/features.yaml deleted file mode 100644 index 187696f6..00000000 --- a/themes/learn4/blueprints/modular/features.yaml +++ /dev/null @@ -1,38 +0,0 @@ -title: Features -'@extends': default - -form: - fields: - tabs: - fields: - features: - type: tab - title: Features - fields: - header.class: - type: select - label: Layout - default: small - size: medium - options: - small: Small = 4 / 3 / 2 columns - standard: Standard = 3 / 2 / 1 columns - - header.features: - name: features - type: list - label: Features - - fields: - .icon: - type: iconpicker - label: Icon - .header: - type: text - label: Header - .text: - type: text - label: Text - .url: - type: text - label: Link diff --git a/themes/learn4/blueprints/modular/hero.yaml b/themes/learn4/blueprints/modular/hero.yaml deleted file mode 100644 index 5e8abf5e..00000000 --- a/themes/learn4/blueprints/modular/hero.yaml +++ /dev/null @@ -1,23 +0,0 @@ -title: Hero -'@extends': default - -form: - fields: - tabs: - fields: - buttons: - type: tab - title: Hero - fields: - header.hero_classes: - type: text - label: Hero Classes - markdown: true - description: 'There are several Hero class options that can be listed here (space separated):
`text-light`, `text-dark`, `title-h1h2`, `parallax`, `overlay-dark-gradient`, `overlay-light-gradient`, `overlay-dark`, `overlay-light`, `hero-fullscreen`, `hero-large`, `hero-medium`, `hero-small`, `hero-tiny`
Please consult the [Quark documentation](https://github.com/getgrav/grav-theme-quark#hero-options) for more details.' - header.hero_image: - type: filepicker - label: Hero Image - preview_images: true - description: 'If not specified, this defaults to the first image found in the page''s folder' - - diff --git a/themes/learn4/blueprints/modular/text.yaml b/themes/learn4/blueprints/modular/text.yaml deleted file mode 100644 index 023c272a..00000000 --- a/themes/learn4/blueprints/modular/text.yaml +++ /dev/null @@ -1,19 +0,0 @@ -title: Text -'@extends': default - -form: - fields: - tabs: - fields: - content: - fields: - header.media_order: - label: Page Media (first one will be displayed next to your content) - header.image_align: - type: select - label: Image position - classes: fancy - default: left - options: - 'left': 'Left' - 'right': 'Right' diff --git a/themes/learn4/blueprints/partials/blog-bits.yaml b/themes/learn4/blueprints/partials/blog-bits.yaml deleted file mode 100644 index 6ab41485..00000000 --- a/themes/learn4/blueprints/partials/blog-bits.yaml +++ /dev/null @@ -1,64 +0,0 @@ -form: - fields: - - hero_title: - type: spacer - title: Hero Section - - header.hero_classes: - type: text - label: Hero Classes - markdown: true - description: 'There are several Hero class options that can be listed here (space separated):
`text-light`, `text-dark`, `title-h1h2`, `parallax`, `overlay-dark-gradient`, `overlay-light-gradient`, `overlay-dark`, `overlay-light`, `hero-fullscreen`, `hero-large`, `hero-medium`, `hero-small`, `hero-tiny`
Please consult the [Quark documentation](https://github.com/getgrav/grav-theme-quark#hero-options) for more details.' - - header.hero_image: - type: filepicker - label: Hero Image - preview_images: true - description: 'If not specified, this defaults to the first image found in the page''s folder' - - toggles_title: - type: spacer - title: Configuration - - header.blog_url: - type: text - toggleable: true - label: Blog Route - help: The route to the main blog page that contains the "Show ..." configuration - default: '/blog' - placeholder: '/blog' - size: medium - - header.show_sidebar: - type: toggle - toggleable: true - label: Show Sidebar - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - header.show_breadcrumbs: - type: toggle - toggleable: true - label: Show Breadcrumbs - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool - - header.show_pagination: - type: toggle - toggleable: true - label: Show Pagination - highlight: 1 - options: - 1: PLUGIN_ADMIN.ENABLED - 0: PLUGIN_ADMIN.DISABLED - validate: - type: bool \ No newline at end of file diff --git a/themes/learn4/classes/Shortcodes/VersionShortcode.php b/themes/learn4/classes/Shortcodes/VersionShortcode.php deleted file mode 100644 index 1c597a08..00000000 --- a/themes/learn4/classes/Shortcodes/VersionShortcode.php +++ /dev/null @@ -1,31 +0,0 @@ -shortcode->getHandlers()->add('version', function(ShortcodeInterface $sc) { - $lang = $this->getBbCode($sc); - - if ($lang) { - $list = explode(',', $lang); - array_walk($list, 'trim'); - - /** @var Language $language */ - $language = $this->grav['language']; - $current = $language->getLanguage(); - - if (in_array($current, $list, true)) { - return $sc->getContent(); - } - } - - return ''; - }); - } -} \ No newline at end of file diff --git a/themes/learn4/css-compiled/spectre-exp.css b/themes/learn4/css-compiled/spectre-exp.css deleted file mode 100644 index b722bb7d..00000000 --- a/themes/learn4/css-compiled/spectre-exp.css +++ /dev/null @@ -1,369 +0,0 @@ -/*! Spectre.css Experimentals v0.5.8 | MIT License | github.com/picturepan2/spectre */ -.form-autocomplete { position: relative; } - -.form-autocomplete .form-autocomplete-input { -ms-flex-line-pack: start; align-content: flex-start; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; height: auto; min-height: 1.6rem; padding: 0.1rem; } - -.form-autocomplete .form-autocomplete-input.is-focused { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); border-color: #1AA3ED; } - -.form-autocomplete .form-autocomplete-input .form-input { border-color: transparent; box-shadow: none; display: inline-block; -ms-flex: 1 0 auto; flex: 1 0 auto; height: 1.2rem; line-height: 0.8rem; margin: 0.1rem; width: auto; } - -.form-autocomplete .menu { left: 0; position: absolute; top: 100%; width: 100%; } - -.form-autocomplete.autocomplete-oneline .form-autocomplete-input { -ms-flex-wrap: nowrap; flex-wrap: nowrap; overflow-x: auto; } - -.form-autocomplete.autocomplete-oneline .chip { -ms-flex: 1 0 auto; flex: 1 0 auto; } - -.calendar { border: 0.05rem solid #e7e9ed; border-radius: 0.1rem; display: block; min-width: 280px; } - -.calendar .calendar-nav { -ms-flex-align: center; align-items: center; background: #f8f9fa; border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; display: -ms-flexbox; display: flex; font-size: 0.9rem; padding: 0.4rem; } - -.calendar .calendar-header, .calendar .calendar-body { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: center; justify-content: center; padding: 0.4rem 0; } - -.calendar .calendar-header .calendar-date, .calendar .calendar-body .calendar-date { -ms-flex: 0 0 14.28%; flex: 0 0 14.28%; max-width: 14.28%; } - -.calendar .calendar-header { background: #f8f9fa; border-bottom: 0.05rem solid #e7e9ed; color: #acb3c2; font-size: 0.7rem; text-align: center; } - -.calendar .calendar-body { color: #667189; } - -.calendar .calendar-date { border: 0; padding: 0.2rem; } - -.calendar .calendar-date .date-item { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: 0.05rem solid transparent; border-radius: 50%; color: #667189; cursor: pointer; font-size: 0.7rem; height: 1.4rem; line-height: 1rem; outline: none; padding: 0.1rem; position: relative; text-align: center; text-decoration: none; transition: background .2s, border .2s, box-shadow .2s, color .2s; vertical-align: middle; white-space: nowrap; width: 1.4rem; } - -.calendar .calendar-date .date-item.date-today { border-color: #35b9bb; color: #1AA3ED; } - -.calendar .calendar-date .date-item:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); } - -.calendar .calendar-date .date-item:focus, .calendar .calendar-date .date-item:hover { background: #44c8ca; border-color: #35b9bb; color: #1AA3ED; text-decoration: none; } - -.calendar .calendar-date .date-item:active, .calendar .calendar-date .date-item.active { background: #129be6; border-color: #108bce; color: #fff; } - -.calendar .calendar-date .date-item.badge::after { position: absolute; top: 3px; right: 3px; transform: translate(50%, -50%); } - -.calendar .calendar-date .date-item:disabled, .calendar .calendar-date .date-item.disabled, .calendar .calendar-date .calendar-event:disabled, .calendar .calendar-date .calendar-event.disabled { cursor: default; opacity: .25; pointer-events: none; } - -.calendar .calendar-date.prev-month .date-item, .calendar .calendar-date.prev-month .calendar-event, .calendar .calendar-date.next-month .date-item, .calendar .calendar-date.next-month .calendar-event { opacity: .25; } - -.calendar .calendar-range { position: relative; } - -.calendar .calendar-range::before { background: #38C5C7; content: ""; height: 1.4rem; left: 0; position: absolute; right: 0; top: 50%; transform: translateY(-50%); } - -.calendar .calendar-range.range-start::before { left: 50%; } - -.calendar .calendar-range.range-end::before { right: 50%; } - -.calendar .calendar-range.range-start .date-item, .calendar .calendar-range.range-end .date-item { background: #129be6; border-color: #108bce; color: #fff; } - -.calendar .calendar-range .date-item { color: #1AA3ED; } - -.calendar.calendar-lg .calendar-body { padding: 0; } - -.calendar.calendar-lg .calendar-body .calendar-date { border-bottom: 0.05rem solid #e7e9ed; border-right: 0.05rem solid #e7e9ed; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; height: 5.5rem; padding: 0; } - -.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n) { border-right: 0; } - -.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7) { border-bottom: 0; } - -.calendar.calendar-lg .date-item { -ms-flex-item-align: end; align-self: flex-end; height: 1.4rem; margin-right: 0.2rem; margin-top: 0.2rem; } - -.calendar.calendar-lg .calendar-range::before { top: 19px; } - -.calendar.calendar-lg .calendar-range.range-start::before { left: auto; width: 19px; } - -.calendar.calendar-lg .calendar-range.range-end::before { right: 19px; } - -.calendar.calendar-lg .calendar-events { -ms-flex-positive: 1; flex-grow: 1; line-height: 1; overflow-y: auto; padding: 0.2rem; } - -.calendar.calendar-lg .calendar-event { border-radius: 0.1rem; font-size: 0.7rem; display: block; margin: 0.1rem auto; overflow: hidden; padding: 3px 4px; text-overflow: ellipsis; white-space: nowrap; } - -.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-container .carousel-item:nth-of-type(1), .carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-container .carousel-item:nth-of-type(2), .carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-container .carousel-item:nth-of-type(3), .carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-container .carousel-item:nth-of-type(4), .carousel .carousel-locator:nth-of-type(5):checked ~ .carousel-container .carousel-item:nth-of-type(5), .carousel .carousel-locator:nth-of-type(6):checked ~ .carousel-container .carousel-item:nth-of-type(6), .carousel .carousel-locator:nth-of-type(7):checked ~ .carousel-container .carousel-item:nth-of-type(7), .carousel .carousel-locator:nth-of-type(8):checked ~ .carousel-container .carousel-item:nth-of-type(8) { animation: carousel-slidein .75s ease-in-out 1; opacity: 1; z-index: 100; } - -.carousel .carousel-locator:nth-of-type(1):checked ~ .carousel-nav .nav-item:nth-of-type(1), .carousel .carousel-locator:nth-of-type(2):checked ~ .carousel-nav .nav-item:nth-of-type(2), .carousel .carousel-locator:nth-of-type(3):checked ~ .carousel-nav .nav-item:nth-of-type(3), .carousel .carousel-locator:nth-of-type(4):checked ~ .carousel-nav .nav-item:nth-of-type(4), .carousel .carousel-locator:nth-of-type(5):checked ~ .carousel-nav .nav-item:nth-of-type(5), .carousel .carousel-locator:nth-of-type(6):checked ~ .carousel-nav .nav-item:nth-of-type(6), .carousel .carousel-locator:nth-of-type(7):checked ~ .carousel-nav .nav-item:nth-of-type(7), .carousel .carousel-locator:nth-of-type(8):checked ~ .carousel-nav .nav-item:nth-of-type(8) { color: #e7e9ed; } - -.carousel { background: #f8f9fa; display: block; overflow: hidden; position: relative; width: 100%; -webkit-overflow-scrolling: touch; z-index: 1; } - -.carousel .carousel-container { height: 100%; left: 0; position: relative; } - -.carousel .carousel-container::before { content: ""; display: block; padding-bottom: 56.25%; } - -.carousel .carousel-container .carousel-item { animation: carousel-slideout 1s ease-in-out 1; height: 100%; left: 0; margin: 0; opacity: 0; position: absolute; top: 0; width: 100%; } - -.carousel .carousel-container .carousel-item:hover .item-prev, .carousel .carousel-container .carousel-item:hover .item-next { opacity: 1; } - -.carousel .carousel-container .item-prev, .carousel .carousel-container .item-next { background: rgba(231, 233, 237, 0.25); border-color: rgba(231, 233, 237, 0.5); color: #e7e9ed; opacity: 0; position: absolute; top: 50%; transition: all .4s; transform: translateY(-50%); z-index: 100; } - -.carousel .carousel-container .item-prev { left: 1rem; } - -.carousel .carousel-container .item-next { right: 1rem; } - -.carousel .carousel-nav { bottom: 0.4rem; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; left: 50%; position: absolute; transform: translateX(-50%); width: 10rem; z-index: 100; } - -.carousel .carousel-nav .nav-item { color: rgba(231, 233, 237, 0.5); display: block; -ms-flex: 1 0 auto; flex: 1 0 auto; height: 1.6rem; margin: 0.2rem; max-width: 2.5rem; position: relative; } - -.carousel .carousel-nav .nav-item::before { background: currentColor; content: ""; display: block; height: 0.1rem; position: absolute; top: .5rem; width: 100%; } - -@keyframes carousel-slidein { 0% { transform: translateX(100%); } - 100% { transform: translateX(0); } } - -@keyframes carousel-slideout { 0% { opacity: 1; - transform: translateX(0); } - 100% { opacity: 1; - transform: translateX(-50%); } } - -.comparison-slider { height: 50vh; overflow: hidden; position: relative; width: 100%; -webkit-overflow-scrolling: touch; } - -.comparison-slider .comparison-before, .comparison-slider .comparison-after { height: 100%; left: 0; margin: 0; overflow: hidden; position: absolute; top: 0; } - -.comparison-slider .comparison-before img, .comparison-slider .comparison-after img { height: 100%; object-fit: cover; object-position: left center; position: absolute; width: 100%; } - -.comparison-slider .comparison-before { width: 100%; z-index: 1; } - -.comparison-slider .comparison-before .comparison-label { right: 0.8rem; } - -.comparison-slider .comparison-after { max-width: 100%; min-width: 0; z-index: 2; } - -.comparison-slider .comparison-after::before { background: transparent; content: ""; cursor: default; height: 100%; left: 0; position: absolute; right: 0.8rem; top: 0; z-index: 1; } - -.comparison-slider .comparison-after::after { background: currentColor; border-radius: 50%; box-shadow: 0 -5px, 0 5px; color: #fff; content: ""; height: 3px; position: absolute; right: 0.4rem; top: 50%; transform: translate(50%, -50%); width: 3px; } - -.comparison-slider .comparison-after .comparison-label { left: 0.8rem; } - -.comparison-slider .comparison-resizer { animation: first-run 1.5s 1 ease-in-out; cursor: ew-resize; height: 0.8rem; left: 0; max-width: 100%; min-width: 0.8rem; opacity: 0; outline: none; position: relative; resize: horizontal; top: 50%; transform: translateY(-50%) scaleY(30); width: 0; } - -.comparison-slider .comparison-label { background: rgba(69, 77, 93, 0.5); bottom: 0.8rem; color: #fff; padding: 0.2rem 0.4rem; position: absolute; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } - -@keyframes first-run { 0% { width: 0; } - 25% { width: 2.4rem; } - 50% { width: 0.8rem; } - 75% { width: 1.2rem; } - 100% { width: 0; } } - -.filter .filter-tag#tag-0:checked ~ .filter-nav .chip[for="tag-0"], .filter .filter-tag#tag-1:checked ~ .filter-nav .chip[for="tag-1"], .filter .filter-tag#tag-2:checked ~ .filter-nav .chip[for="tag-2"], .filter .filter-tag#tag-3:checked ~ .filter-nav .chip[for="tag-3"], .filter .filter-tag#tag-4:checked ~ .filter-nav .chip[for="tag-4"], .filter .filter-tag#tag-5:checked ~ .filter-nav .chip[for="tag-5"], .filter .filter-tag#tag-6:checked ~ .filter-nav .chip[for="tag-6"], .filter .filter-tag#tag-7:checked ~ .filter-nav .chip[for="tag-7"], .filter .filter-tag#tag-8:checked ~ .filter-nav .chip[for="tag-8"] { background: #1AA3ED; color: #fff; } - -.filter .filter-tag#tag-1:checked ~ .filter-body .filter-item:not([data-tag~="tag-1"]), .filter .filter-tag#tag-2:checked ~ .filter-body .filter-item:not([data-tag~="tag-2"]), .filter .filter-tag#tag-3:checked ~ .filter-body .filter-item:not([data-tag~="tag-3"]), .filter .filter-tag#tag-4:checked ~ .filter-body .filter-item:not([data-tag~="tag-4"]), .filter .filter-tag#tag-5:checked ~ .filter-body .filter-item:not([data-tag~="tag-5"]), .filter .filter-tag#tag-6:checked ~ .filter-body .filter-item:not([data-tag~="tag-6"]), .filter .filter-tag#tag-7:checked ~ .filter-body .filter-item:not([data-tag~="tag-7"]), .filter .filter-tag#tag-8:checked ~ .filter-body .filter-item:not([data-tag~="tag-8"]) { display: none; } - -.filter .filter-nav { margin: 0.4rem 0; } - -.filter .filter-body { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } - -.meter { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #f8f9fa; border: 0; border-radius: 0.1rem; display: block; width: 100%; height: 0.8rem; } - -.meter::-webkit-meter-inner-element { display: block; } - -.meter::-webkit-meter-bar, .meter::-webkit-meter-optimum-value, .meter::-webkit-meter-suboptimum-value, .meter::-webkit-meter-even-less-good-value { border-radius: 0.1rem; } - -.meter::-webkit-meter-bar { background: #f8f9fa; } - -.meter::-webkit-meter-optimum-value { background: #32b643; } - -.meter::-webkit-meter-suboptimum-value { background: #ffb700; } - -.meter::-webkit-meter-even-less-good-value { background: #e85600; } - -.meter::-moz-meter-bar, .meter:-moz-meter-optimum, .meter:-moz-meter-sub-optimum, .meter:-moz-meter-sub-sub-optimum { border-radius: 0.1rem; } - -.meter:-moz-meter-optimum::-moz-meter-bar { background: #32b643; } - -.meter:-moz-meter-sub-optimum::-moz-meter-bar { background: #ffb700; } - -.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { background: #e85600; } - -.off-canvas { display: -ms-flexbox; display: flex; -ms-flex-flow: nowrap; flex-flow: nowrap; height: 100%; position: relative; width: 100%; } - -.off-canvas .off-canvas-toggle { display: block; position: absolute; top: 0.4rem; transition: none; z-index: 1; left: 0.4rem; } - -.off-canvas .off-canvas-sidebar { background: #f8f9fa; bottom: 0; min-width: 10rem; overflow-y: auto; position: fixed; top: 0; transition: transform .25s; z-index: 200; left: 0; transform: translateX(-100%); } - -.off-canvas .off-canvas-content { -ms-flex: 1 1 auto; flex: 1 1 auto; height: 100%; padding: 0.4rem 0.4rem 0.4rem 4rem; } - -.off-canvas .off-canvas-overlay { background: rgba(69, 77, 93, 0.1); border-color: transparent; border-radius: 0; bottom: 0; display: none; height: 100%; left: 0; position: fixed; right: 0; top: 0; width: 100%; } - -.off-canvas .off-canvas-sidebar:target, .off-canvas .off-canvas-sidebar.active { transform: translateX(0); } - -.off-canvas .off-canvas-sidebar:target ~ .off-canvas-overlay, .off-canvas .off-canvas-sidebar.active ~ .off-canvas-overlay { display: block; z-index: 100; } - -@media (min-width: 960px) { .off-canvas.off-canvas-sidebar-show .off-canvas-toggle { display: none; } - .off-canvas.off-canvas-sidebar-show .off-canvas-sidebar { -ms-flex: 0 0 auto; flex: 0 0 auto; position: relative; transform: none; } - .off-canvas.off-canvas-sidebar-show .off-canvas-overlay { display: none !important; } } - -.parallax { display: block; height: auto; position: relative; width: auto; } - -.parallax .parallax-content { box-shadow: 0 1rem 2.1rem rgba(69, 77, 93, 0.3); height: auto; transform: perspective(1000px); transform-style: preserve-3d; transition: all .4s ease; width: 100%; } - -.parallax .parallax-content::before { content: ""; display: block; height: 100%; left: 0; position: absolute; top: 0; width: 100%; } - -.parallax .parallax-front { -ms-flex-align: center; align-items: center; color: #fff; display: -ms-flexbox; display: flex; height: 100%; -ms-flex-pack: center; justify-content: center; left: 0; position: absolute; text-align: center; text-shadow: 0 0 20px rgba(69, 77, 93, 0.75); top: 0; transform: translateZ(50px) scale(0.95); transition: transform .4s; width: 100%; z-index: 1; } - -.parallax .parallax-top-left { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; left: 0; top: 0; } - -.parallax .parallax-top-left:focus ~ .parallax-content, .parallax .parallax-top-left:hover ~ .parallax-content { transform: perspective(1000px) rotateX(3deg) rotateY(-3deg); } - -.parallax .parallax-top-left:focus ~ .parallax-content::before, .parallax .parallax-top-left:hover ~ .parallax-content::before { background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); } - -.parallax .parallax-top-left:focus ~ .parallax-content .parallax-front, .parallax .parallax-top-left:hover ~ .parallax-content .parallax-front { transform: translate3d(4.5px, 4.5px, 50px) scale(0.95); } - -.parallax .parallax-top-right { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; right: 0; top: 0; } - -.parallax .parallax-top-right:focus ~ .parallax-content, .parallax .parallax-top-right:hover ~ .parallax-content { transform: perspective(1000px) rotateX(3deg) rotateY(3deg); } - -.parallax .parallax-top-right:focus ~ .parallax-content::before, .parallax .parallax-top-right:hover ~ .parallax-content::before { background: linear-gradient(-135deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); } - -.parallax .parallax-top-right:focus ~ .parallax-content .parallax-front, .parallax .parallax-top-right:hover ~ .parallax-content .parallax-front { transform: translate3d(-4.5px, 4.5px, 50px) scale(0.95); } - -.parallax .parallax-bottom-left { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; bottom: 0; left: 0; } - -.parallax .parallax-bottom-left:focus ~ .parallax-content, .parallax .parallax-bottom-left:hover ~ .parallax-content { transform: perspective(1000px) rotateX(-3deg) rotateY(-3deg); } - -.parallax .parallax-bottom-left:focus ~ .parallax-content::before, .parallax .parallax-bottom-left:hover ~ .parallax-content::before { background: linear-gradient(45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); } - -.parallax .parallax-bottom-left:focus ~ .parallax-content .parallax-front, .parallax .parallax-bottom-left:hover ~ .parallax-content .parallax-front { transform: translate3d(4.5px, -4.5px, 50px) scale(0.95); } - -.parallax .parallax-bottom-right { height: 50%; outline: none; position: absolute; width: 50%; z-index: 100; bottom: 0; right: 0; } - -.parallax .parallax-bottom-right:focus ~ .parallax-content, .parallax .parallax-bottom-right:hover ~ .parallax-content { transform: perspective(1000px) rotateX(-3deg) rotateY(3deg); } - -.parallax .parallax-bottom-right:focus ~ .parallax-content::before, .parallax .parallax-bottom-right:hover ~ .parallax-content::before { background: linear-gradient(-45deg, rgba(255, 255, 255, 0.35) 0%, transparent 50%); } - -.parallax .parallax-bottom-right:focus ~ .parallax-content .parallax-front, .parallax .parallax-bottom-right:hover ~ .parallax-content .parallax-front { transform: translate3d(-4.5px, -4.5px, 50px) scale(0.95); } - -.progress { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #f0f1f4; border: 0; border-radius: 0.1rem; color: #1AA3ED; height: 0.2rem; position: relative; width: 100%; } - -.progress::-webkit-progress-bar { background: transparent; border-radius: 0.1rem; } - -.progress::-webkit-progress-value { background: #1AA3ED; border-radius: 0.1rem; } - -.progress::-moz-progress-bar { background: #1AA3ED; border-radius: 0.1rem; } - -.progress:indeterminate { animation: progress-indeterminate 1.5s linear infinite; background: #f0f1f4 linear-gradient(to right, #1AA3ED 30%, #f0f1f4 30%) top left/150% 150% no-repeat; } - -.progress:indeterminate::-moz-progress-bar { background: transparent; } - -@keyframes progress-indeterminate { 0% { background-position: 200% 0; } - 100% { background-position: -200% 0; } } - -.slider { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; display: block; width: 100%; height: 1.2rem; } - -.slider:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); outline: none; } - -.slider.tooltip:not([data-tooltip])::after { content: attr(value); } - -.slider::-webkit-slider-thumb { -webkit-appearance: none; background: #1AA3ED; border: 0; border-radius: 50%; height: 0.6rem; margin-top: -0.25rem; transition: transform .2s; width: 0.6rem; } - -.slider::-moz-range-thumb { background: #1AA3ED; border: 0; border-radius: 50%; height: 0.6rem; transition: transform .2s; width: 0.6rem; } - -.slider::-ms-thumb { background: #1AA3ED; border: 0; border-radius: 50%; height: 0.6rem; transition: transform .2s; width: 0.6rem; } - -.slider:active::-webkit-slider-thumb { transform: scale(1.25); } - -.slider:active::-moz-range-thumb { transform: scale(1.25); } - -.slider:active::-ms-thumb { transform: scale(1.25); } - -.slider:disabled::-webkit-slider-thumb, .slider.disabled::-webkit-slider-thumb { background: #e7e9ed; transform: scale(1); } - -.slider:disabled::-moz-range-thumb, .slider.disabled::-moz-range-thumb { background: #e7e9ed; transform: scale(1); } - -.slider:disabled::-ms-thumb, .slider.disabled::-ms-thumb { background: #e7e9ed; transform: scale(1); } - -.slider::-webkit-slider-runnable-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; } - -.slider::-moz-range-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; } - -.slider::-ms-track { background: #f0f1f4; border-radius: 0.1rem; height: 0.1rem; width: 100%; } - -.slider::-ms-fill-lower { background: #1AA3ED; } - -.timeline .timeline-item { display: -ms-flexbox; display: flex; margin-bottom: 1.2rem; position: relative; } - -.timeline .timeline-item::before { background: #e7e9ed; content: ""; height: 100%; left: 11px; position: absolute; top: 1.2rem; width: 2px; } - -.timeline .timeline-item .timeline-left { -ms-flex: 0 0 auto; flex: 0 0 auto; } - -.timeline .timeline-item .timeline-content { -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 2px 0 2px 0.8rem; } - -.timeline .timeline-item .timeline-icon { -ms-flex-align: center; align-items: center; border-radius: 50%; color: #fff; display: -ms-flexbox; display: flex; height: 1.2rem; -ms-flex-pack: center; justify-content: center; text-align: center; width: 1.2rem; } - -.timeline .timeline-item .timeline-icon::before { border: 0.1rem solid #1AA3ED; border-radius: 50%; content: ""; display: block; height: 0.4rem; left: 0.4rem; position: absolute; top: 0.4rem; width: 0.4rem; } - -.timeline .timeline-item .timeline-icon.icon-lg { background: #1AA3ED; line-height: 1.2rem; } - -.timeline .timeline-item .timeline-icon.icon-lg::before { content: none; } - -.viewer-360 { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } - -.viewer-360 .viewer-slider[max='36'][value='1'] + .viewer-image { background-position-y: 0%; } - -.viewer-360 .viewer-slider[max='36'][value='2'] + .viewer-image { background-position-y: 2.8571428571%; } - -.viewer-360 .viewer-slider[max='36'][value='3'] + .viewer-image { background-position-y: 5.7142857143%; } - -.viewer-360 .viewer-slider[max='36'][value='4'] + .viewer-image { background-position-y: 8.5714285714%; } - -.viewer-360 .viewer-slider[max='36'][value='5'] + .viewer-image { background-position-y: 11.4285714286%; } - -.viewer-360 .viewer-slider[max='36'][value='6'] + .viewer-image { background-position-y: 14.2857142857%; } - -.viewer-360 .viewer-slider[max='36'][value='7'] + .viewer-image { background-position-y: 17.1428571429%; } - -.viewer-360 .viewer-slider[max='36'][value='8'] + .viewer-image { background-position-y: 20%; } - -.viewer-360 .viewer-slider[max='36'][value='9'] + .viewer-image { background-position-y: 22.8571428571%; } - -.viewer-360 .viewer-slider[max='36'][value='10'] + .viewer-image { background-position-y: 25.7142857143%; } - -.viewer-360 .viewer-slider[max='36'][value='11'] + .viewer-image { background-position-y: 28.5714285714%; } - -.viewer-360 .viewer-slider[max='36'][value='12'] + .viewer-image { background-position-y: 31.4285714286%; } - -.viewer-360 .viewer-slider[max='36'][value='13'] + .viewer-image { background-position-y: 34.2857142857%; } - -.viewer-360 .viewer-slider[max='36'][value='14'] + .viewer-image { background-position-y: 37.1428571429%; } - -.viewer-360 .viewer-slider[max='36'][value='15'] + .viewer-image { background-position-y: 40%; } - -.viewer-360 .viewer-slider[max='36'][value='16'] + .viewer-image { background-position-y: 42.8571428571%; } - -.viewer-360 .viewer-slider[max='36'][value='17'] + .viewer-image { background-position-y: 45.7142857143%; } - -.viewer-360 .viewer-slider[max='36'][value='18'] + .viewer-image { background-position-y: 48.5714285714%; } - -.viewer-360 .viewer-slider[max='36'][value='19'] + .viewer-image { background-position-y: 51.4285714286%; } - -.viewer-360 .viewer-slider[max='36'][value='20'] + .viewer-image { background-position-y: 54.2857142857%; } - -.viewer-360 .viewer-slider[max='36'][value='21'] + .viewer-image { background-position-y: 57.1428571429%; } - -.viewer-360 .viewer-slider[max='36'][value='22'] + .viewer-image { background-position-y: 60%; } - -.viewer-360 .viewer-slider[max='36'][value='23'] + .viewer-image { background-position-y: 62.8571428571%; } - -.viewer-360 .viewer-slider[max='36'][value='24'] + .viewer-image { background-position-y: 65.7142857143%; } - -.viewer-360 .viewer-slider[max='36'][value='25'] + .viewer-image { background-position-y: 68.5714285714%; } - -.viewer-360 .viewer-slider[max='36'][value='26'] + .viewer-image { background-position-y: 71.4285714286%; } - -.viewer-360 .viewer-slider[max='36'][value='27'] + .viewer-image { background-position-y: 74.2857142857%; } - -.viewer-360 .viewer-slider[max='36'][value='28'] + .viewer-image { background-position-y: 77.1428571429%; } - -.viewer-360 .viewer-slider[max='36'][value='29'] + .viewer-image { background-position-y: 80%; } - -.viewer-360 .viewer-slider[max='36'][value='30'] + .viewer-image { background-position-y: 82.8571428571%; } - -.viewer-360 .viewer-slider[max='36'][value='31'] + .viewer-image { background-position-y: 85.7142857143%; } - -.viewer-360 .viewer-slider[max='36'][value='32'] + .viewer-image { background-position-y: 88.5714285714%; } - -.viewer-360 .viewer-slider[max='36'][value='33'] + .viewer-image { background-position-y: 91.4285714286%; } - -.viewer-360 .viewer-slider[max='36'][value='34'] + .viewer-image { background-position-y: 94.2857142857%; } - -.viewer-360 .viewer-slider[max='36'][value='35'] + .viewer-image { background-position-y: 97.1428571429%; } - -.viewer-360 .viewer-slider[max='36'][value='36'] + .viewer-image { background-position-y: 100%; } - -.viewer-360 .viewer-slider { cursor: ew-resize; margin: 1rem; -ms-flex-order: 2; order: 2; width: 60%; } - -.viewer-360 .viewer-image { background-position-y: 0; background-repeat: no-repeat; background-size: 100%; max-width: 100%; -ms-flex-order: 1; order: 1; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3RyZS1leHAuY3NzIiwic291cmNlcyI6WyJzcGVjdHJlLWV4cC5zY3NzIiwidGhlbWUvX3ZhcmlhYmxlcy5zY3NzIiwic3BlY3RyZS9fdmFyaWFibGVzLnNjc3MiLCJzcGVjdHJlL19taXhpbnMuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19hdmF0YXIuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19idXR0b24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2NvbG9yLnNjc3MiLCJzcGVjdHJlL21peGlucy9fbGFiZWwuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3NoYWRvdy5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RleHQuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190b2FzdC5zY3NzIiwic3BlY3RyZS9fYXV0b2NvbXBsZXRlLnNjc3MiLCJzcGVjdHJlL19jYWxlbmRhcnMuc2NzcyIsInNwZWN0cmUvX2Nhcm91c2Vscy5zY3NzIiwic3BlY3RyZS9fY29tcGFyaXNvbi1zbGlkZXJzLnNjc3MiLCJzcGVjdHJlL19maWx0ZXJzLnNjc3MiLCJzcGVjdHJlL19tZXRlcnMuc2NzcyIsInNwZWN0cmUvX29mZi1jYW52YXMuc2NzcyIsInNwZWN0cmUvX3BhcmFsbGF4LnNjc3MiLCJzcGVjdHJlL19wcm9ncmVzcy5zY3NzIiwic3BlY3RyZS9fc2xpZGVycy5zY3NzIiwic3BlY3RyZS9fdGltZWxpbmVzLnNjc3MiLCJzcGVjdHJlL192aWV3ZXItMzYwLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJ0aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvbWl4aW5zXCI7XG5cbi8qISBTcGVjdHJlLmNzcyBFeHBlcmltZW50YWxzIHYjeyR2ZXJzaW9ufSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9waWN0dXJlcGFuMi9zcGVjdHJlICovXG4vLyBFeHBlcmltZW50YWxzXG5AaW1wb3J0IFwic3BlY3RyZS9hdXRvY29tcGxldGVcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2NhbGVuZGFyc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvY2Fyb3VzZWxzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9jb21wYXJpc29uLXNsaWRlcnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2ZpbHRlcnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL21ldGVyc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvb2ZmLWNhbnZhc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvcGFyYWxsYXhcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9zbGlkZXJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS90aW1lbGluZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3ZpZXdlci0zNjBcIjtcbiIsIi8vIENvbG9yc1xuJHR1cnF1b2lzZTogIzFBQkM5QztcbiRncmVlbi1zZWE6ICMxNkEwODU7XG4kZW1lcmFsZDogIzJFQ0M3MTtcbiRuZXBocml0aXM6ICMyN0FFNjA7XG4kcGV0ZXItcml2ZXI6ICMzNDk4REI7XG4kYmVsaXplX2hvbGU6ICMyOTgwQjk7XG4kZGVlcC13ZWxsOiAjMjgzQTYzO1xuJGxhdmVuZGVyOiAjNzY3NmY0O1xuJGFtZXRoeXN0OiAjQTY2QkJFO1xuJHdpc3RlcmlhOiAjOEU0NEFEO1xuJHdldC1hc3BoYWx0OiAjMzQ0OTVFO1xuJG1pZG5pZ2h0LWJsdWU6ICMyQzNFNTA7XG4kc3VuZmxvd2VyOiAjRjJDQTI3O1xuJG9yYW5nZTogI0YzOUMxMjtcbiRjYXJyb3Q6ICNFNjdFMjI7XG4kcHVtcGtpbjogI0QzNTQwMDtcbiRhbGl6YXJpbjogI0U3NEMzQztcbiRwb21lZ3JhbmF0ZTogI0MwMzkyQjtcbiRjbG91ZHM6ICNFQ0YwRjE7XG4kc2lsdmVyOiAjQkRDM0M3O1xuJGNvbmNyZXRlOiAjOTVBNUE2O1xuJGFzYmVzdG9zOiAjN0Y4QzhEO1xuXG4kcHJpbWFyeS1jb2xvcjogIzFBQTNFRCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6ICMzOEM1QzcgIWRlZmF1bHQ7XG4kZGFyay1jb2xvcjogIzQ1NGQ1ZCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6IGRhcmtlbigkZGFyay1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGxpbmstY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGdyYXktY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDQwJSkgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvci1kYXJrOiBkYXJrZW4oJGdyYXktY29sb3IsIDI1JSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2MCUpICFkZWZhdWx0O1xuJGJnLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2NiUpICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICRsYXZlbmRlciAhZGVmYXVsdDtcbiRzZWxlY3Rpb24tY29sb3I6ICNFQ0VDRkU7XG5cbi8vIFNpZGViYXJcbiRzaWRlYmFyLXdpZHRoOiAxNHJlbTtcbiRzaWRlYmFyLWJyYW5kLWhlaWdodDogN3JlbTtcblxuLy8gRm9udHNcbiRiYXNlLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8gIWRlZmF1bHQ7XG4kZmFsbGJhY2stZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiBcIlB1YmxpYyBTYW5zXCIsICAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kdGl0bGUtZm9udC1mYW1pbHk6IFwiTWV0cm9wb2xpc1wiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbW9uby1mb250LWZhbWlseTogXCJIYWNrXCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LXNpemU6IC44NXJlbSAhZGVmYXVsdDtcbiRtaW4tcmVzcG9uc2l2ZS1mb250LXNpemU6IDE4cHg7XG4iLCIvLyBDb3JlIHZhcmlhYmxlc1xuJHZlcnNpb246IFwiMC41LjhcIjtcblxuLy8gQ29yZSBmZWF0dXJlc1xuJHJ0bDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIENvcmUgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogIzU3NTVkOSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWRhcms6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3I6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDM3LjUlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3ItZGFyazogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuXG4vLyBHcmF5IGNvbG9yc1xuJGRhcmstY29sb3I6ICMzMDM3NDIgIWRlZmF1bHQ7XG4kbGlnaHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNTUlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWRhcms6IGRhcmtlbigkZ3JheS1jb2xvciwgMzAlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRncmF5LWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG4kYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA2NSUpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1kYXJrOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgOCUpICFkZWZhdWx0O1xuJGJnLWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA3NSUpICFkZWZhdWx0O1xuJGJnLWNvbG9yLWRhcms6IGRhcmtlbigkYmctY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRiZy1jb2xvci1saWdodDogJGxpZ2h0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyBDb250cm9sIGNvbG9yc1xuJHN1Y2Nlc3MtY29sb3I6ICMzMmI2NDMgIWRlZmF1bHQ7XG4kd2FybmluZy1jb2xvcjogI2ZmYjcwMCAhZGVmYXVsdDtcbiRlcnJvci1jb2xvcjogI2U4NTYwMCAhZGVmYXVsdDtcblxuLy8gT3RoZXIgY29sb3JzXG4kY29kZS1jb2xvcjogI2Q3M2U0OCAhZGVmYXVsdDtcbiRoaWdobGlnaHQtY29sb3I6ICNmZmU5YjMgIWRlZmF1bHQ7XG4kYm9keS1iZzogJGJnLWNvbG9yLWxpZ2h0ICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogZGFya2VuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGxpbmstY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEZvbnRzXG4vLyBDcmVkaXQ6IGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTUvMTEvdXNpbmctc3lzdGVtLXVpLWZvbnRzLXByYWN0aWNhbC1ndWlkZS9cbiRiYXNlLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8gIWRlZmF1bHQ7XG4kbW9uby1mb250LWZhbWlseTogXCJTRiBNb25vXCIsIFwiU2Vnb2UgVUkgTW9ub1wiLCBcIlJvYm90byBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZmFsbGJhY2stZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRjamstemgtaGFucy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiUGluZ0ZhbmcgU0NcIiwgXCJIaXJhZ2lubyBTYW5zIEdCXCIsIFwiTWljcm9zb2Z0IFlhSGVpXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamstemgtaGFudC1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiUGluZ0ZhbmcgVENcIiwgXCJIaXJhZ2lubyBTYW5zIENOU1wiLCBcIk1pY3Jvc29mdCBKaGVuZ0hlaVwiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLWpwLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJIaXJhZ2lubyBTYW5zXCIsIFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwiWXUgR290aGljXCIsIFl1R290aGljLCBNZWlyeW8sICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamsta28tZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIk1hbGd1biBHb3RoaWNcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFVuaXQgc2l6ZXNcbiR1bml0LW86IC4wNXJlbSAhZGVmYXVsdDtcbiR1bml0LWg6IC4xcmVtICFkZWZhdWx0O1xuJHVuaXQtMTogLjJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0yOiAuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTM6IC42cmVtICFkZWZhdWx0O1xuJHVuaXQtNDogLjhyZW0gIWRlZmF1bHQ7XG4kdW5pdC01OiAxcmVtICFkZWZhdWx0O1xuJHVuaXQtNjogMS4ycmVtICFkZWZhdWx0O1xuJHVuaXQtNzogMS40cmVtICFkZWZhdWx0O1xuJHVuaXQtODogMS42cmVtICFkZWZhdWx0O1xuJHVuaXQtOTogMS44cmVtICFkZWZhdWx0O1xuJHVuaXQtMTA6IDJyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xMjogMi40cmVtICFkZWZhdWx0O1xuJHVuaXQtMTY6IDMuMnJlbSAhZGVmYXVsdDtcblxuLy8gRm9udCBzaXplc1xuJGh0bWwtZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGh0bWwtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRmb250LXNpemU6IC44cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogLjdyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAuOXJlbSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodDogMS4ycmVtICFkZWZhdWx0O1xuXG4vLyBTaXplc1xuJGxheW91dC1zcGFjaW5nOiAkdW5pdC0yICFkZWZhdWx0O1xuJGxheW91dC1zcGFjaW5nLXNtOiAkdW5pdC0xICFkZWZhdWx0O1xuJGxheW91dC1zcGFjaW5nLWxnOiAkdW5pdC00ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6ICR1bml0LWggIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAkdW5pdC1vICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aC1sZzogJHVuaXQtaCAhZGVmYXVsdDtcbiRjb250cm9sLXNpemU6ICR1bml0LTkgIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplLXNtOiAkdW5pdC03ICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZS1sZzogJHVuaXQtMTAgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXg6ICR1bml0LTIgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXgtc206ICR1bml0LTIgKiAuNzUgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXgtbGc6ICR1bml0LTIgKiAxLjUgIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXk6ICgkY29udHJvbC1zaXplIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15LXNtOiAoJGNvbnRyb2wtc2l6ZS1zbSAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteS1sZzogKCRjb250cm9sLXNpemUtbGcgLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1pY29uLXNpemU6IC44cmVtICFkZWZhdWx0O1xuXG4kY29udHJvbC13aWR0aC14czogMTgwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1zbTogMzIwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1tZDogNjQwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC1sZzogOTYwcHggIWRlZmF1bHQ7XG4kY29udHJvbC13aWR0aC14bDogMTI4MHB4ICFkZWZhdWx0O1xuXG4vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzXG4kc2l6ZS14czogNDgwcHggIWRlZmF1bHQ7XG4kc2l6ZS1zbTogNjAwcHggIWRlZmF1bHQ7XG4kc2l6ZS1tZDogODQwcHggIWRlZmF1bHQ7XG4kc2l6ZS1sZzogOTYwcHggIWRlZmF1bHQ7XG4kc2l6ZS14bDogMTI4MHB4ICFkZWZhdWx0O1xuJHNpemUtMng6IDE0NDBweCAhZGVmYXVsdDtcblxuJHJlc3BvbnNpdmUtYnJlYWtwb2ludDogJHNpemUteHMgIWRlZmF1bHQ7XG5cbi8vIFotaW5kZXhcbiR6aW5kZXgtMDogMSAhZGVmYXVsdDtcbiR6aW5kZXgtMTogMTAwICFkZWZhdWx0O1xuJHppbmRleC0yOiAyMDAgIWRlZmF1bHQ7XG4kemluZGV4LTM6IDMwMCAhZGVmYXVsdDtcbiR6aW5kZXgtNDogNDAwICFkZWZhdWx0O1xuIiwiLy8gTWl4aW5zXG5AaW1wb3J0IFwibWl4aW5zL2F2YXRhclwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29sb3JcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGFiZWxcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2hhZG93XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdG9hc3RcIjsiLCIvLyBBdmF0YXIgbWl4aW5cbkBtaXhpbiBhdmF0YXItYmFzZSgkc2l6ZTogJHVuaXQtOCkge1xuICBmb250LXNpemU6ICRzaXplIC8gMjtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnQgbWl4aW5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAzJSk7XG4gIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCRjb2xvcik7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvciwgMiUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCA3JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJi5sb2FkaW5nIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRsaWdodC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCRjb2xvcik7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3IsIDUwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAyJSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICYubG9hZGluZyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENsZWFyZml4IG1peGluXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBiZy1jb2xvci12YXJpYW50KCRuYW1lOiBcIi5iZy1wcmltYXJ5XCIsICRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgI3skbmFtZX0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciAhaW1wb3J0YW50O1xuXG4gICAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA8IDYwKSB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUZXh0IGNvbG9yIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiB0ZXh0LWNvbG9yLXZhcmlhbnQoJG5hbWU6IFwiLnRleHQtcHJpbWFyeVwiLCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICN7JG5hbWV9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhI3skbmFtZX0ge1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIH1cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBMYWJlbCBiYXNlIHN0eWxlXG5AbWl4aW4gbGFiZWwtYmFzZSgpIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nOiAuMXJlbSAuMnJlbTtcbn1cblxuQG1peGluIGxhYmVsLXZhcmlhbnQoJGNvbG9yOiAkbGlnaHQtY29sb3IsICRiZy1jb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gTWFyZ2luIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBtYXJnaW4tdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5tLSN7JGlkfSB7XG4gICAgbWFyZ2luOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1iLSN7JGlkfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tbC0jeyRpZH0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1yLSN7JGlkfSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm10LSN7JGlkfSB7XG4gICAgbWFyZ2luLXRvcDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teC0jeyRpZH0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5teS0jeyRpZH0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBQYWRkaW5nIHV0aWxpdHkgbWl4aW5cbkBtaXhpbiBwYWRkaW5nLXZhcmlhbnQoJGlkOiAxLCAkc2l6ZTogJHVuaXQtMSkge1xuICAucC0jeyRpZH0ge1xuICAgIHBhZGRpbmc6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGItI3skaWR9IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wbC0jeyRpZH0ge1xuICAgIHBhZGRpbmctbGVmdDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wci0jeyRpZH0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHQtI3skaWR9IHtcbiAgICBwYWRkaW5nLXRvcDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5weC0jeyRpZH0ge1xuICAgIHBhZGRpbmctbGVmdDogJHNpemUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG4gIFxuICAucHktI3skaWR9IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50IGZvY3VzIHNoYWRvd1xuQG1peGluIGNvbnRyb2wtc2hhZG93KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgLjFyZW0gcmdiYSgkY29sb3IsIC4yKTtcbn1cblxuLy8gU2hhZG93IG1peGluXG5AbWl4aW4gc2hhZG93LXZhcmlhbnQoJG9mZnNldCkge1xuICBib3gtc2hhZG93OiAwICRvZmZzZXQgKCRvZmZzZXQgKyAuMDVyZW0pICogMiByZ2JhKCRkYXJrLWNvbG9yLCAuMyk7XG59XG4iLCIvLyBUZXh0IEVsbGlwc2lzXG5AbWl4aW4gdGV4dC1lbGxpcHNpcygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBUb2FzdCB2YXJpYW50IG1peGluXG5AbWl4aW4gdG9hc3QtdmFyaWFudCgkY29sb3I6ICRkYXJrLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAuOTUpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIEF1dG9jb21wbGV0ZVxuLmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5mb3JtLWF1dG9jb21wbGV0ZS1pbnB1dCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogJHVuaXQtODtcbiAgICBwYWRkaW5nOiAkdW5pdC1oO1xuXG4gICAgJi5pcy1mb2N1c2VkIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCk7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgIC5mb3JtLWlucHV0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBoZWlnaHQ6ICR1bml0LTY7XG4gICAgICBsaW5lLWhlaWdodDogJHVuaXQtNDtcbiAgICAgIG1hcmdpbjogJHVuaXQtaDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLmF1dG9jb21wbGV0ZS1vbmVsaW5lIHtcbiAgICAuZm9ybS1hdXRvY29tcGxldGUtaW5wdXQge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cblxuICAgIC5jaGlwIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FsZW5kYXJzXG4uY2FsZW5kYXIge1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDI4MHB4O1xuXG4gIC5jYWxlbmRhci1uYXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBwYWRkaW5nOiAkbGF5b3V0LXNwYWNpbmc7XG4gIH1cblxuICAuY2FsZW5kYXItaGVhZGVyLFxuICAuY2FsZW5kYXItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nIDA7XG5cbiAgICAuY2FsZW5kYXItZGF0ZSB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjglOyAvLyA3IGNhbGVuZGFyLWl0ZW1zIGVhY2ggcm93XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4JTtcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNhbGVuZGFyLWJvZHkge1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICB9XG5cbiAgLmNhbGVuZGFyLWRhdGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAkdW5pdC0xO1xuXG4gICAgLmRhdGUtaXRlbSB7XG4gICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb2xvcjogJGdyYXktY29sb3ItZGFyaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICAgIGhlaWdodDogJHVuaXQtNztcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdW5pdC01O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6ICR1bml0LWg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycywgYm9yZGVyIC4ycywgYm94LXNoYWRvdyAuMnMsIGNvbG9yIC4ycztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd2lkdGg6ICR1bml0LTc7XG5cbiAgICAgICYuZGF0ZS10b2RheSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3ItbGlnaHQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvci1kYXJrO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA1JSk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGVuZGFyIGJhZGdlIHN1cHBvcnRcbiAgICAgICYuYmFkZ2Uge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlLWl0ZW0sXG4gICAgLmNhbGVuZGFyLWV2ZW50IHtcbiAgICAgICY6ZGlzYWJsZWQsXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBvcGFjaXR5OiAuMjU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucHJldi1tb250aCxcbiAgICAmLm5leHQtbW9udGgge1xuICAgICAgLmRhdGUtaXRlbSxcbiAgICAgIC5jYWxlbmRhci1ldmVudCB7XG4gICAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItcmFuZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogJHVuaXQtNztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmLnJhbmdlLXN0YXJ0IHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5yYW5nZS1lbmQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJhbmdlLXN0YXJ0LFxuICAgICYucmFuZ2UtZW5kIHtcbiAgICAgIC5kYXRlLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA1JSk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUtaXRlbSB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsZW5kYXJzIHNpemVcbiAgJi5jYWxlbmRhci1sZyB7XG4gICAgLmNhbGVuZGFyLWJvZHkge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmNhbGVuZGFyLWRhdGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDUuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOm50aC1jaGlsZCg3bikge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzcpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUtaXRlbSB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIGhlaWdodDogJHVuaXQtNztcbiAgICAgIG1hcmdpbi1yaWdodDogJGxheW91dC1zcGFjaW5nLXNtO1xuICAgICAgbWFyZ2luLXRvcDogJGxheW91dC1zcGFjaW5nLXNtO1xuICAgIH1cblxuICAgIC5jYWxlbmRhci1yYW5nZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDE5cHg7XG4gICAgICB9XG4gICAgICAmLnJhbmdlLXN0YXJ0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJhbmdlLWVuZCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDE5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItZXZlbnRzIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIHBhZGRpbmc6ICRsYXlvdXQtc3BhY2luZy1zbTtcbiAgICB9XG5cbiAgICAuY2FsZW5kYXItZXZlbnQge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJHVuaXQtaCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDNweCA0cHg7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDYXJvdXNlbHNcbi8vIFRoZSBudW1iZXIgb2YgY2Fyb3VzZWwgaW1hZ2VzXG4kY2Fyb3VzZWwtbnVtYmVyOiA4O1xuXG4lY2Fyb3VzZWwtaW1hZ2UtY2hlY2tlZCB7IFxuICBhbmltYXRpb246IGNhcm91c2VsLXNsaWRlaW4gLjc1cyBlYXNlLWluLW91dCAxO1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAkemluZGV4LTE7XG59XG5cbiVjYXJvdXNlbC1uYXYtY2hlY2tlZCB7IFxuICBjb2xvcjogJGdyYXktY29sb3ItbGlnaHQ7XG59XG5cbi5jYXJvdXNlbCB7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgei1pbmRleDogJHppbmRleC0wO1xuXG4gIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgICBhbmltYXRpb246IGNhcm91c2VsLXNsaWRlb3V0IDFzIGVhc2UtaW4tb3V0IDE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLml0ZW0tcHJldixcbiAgICAgICAgLml0ZW0tbmV4dCB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXByZXYsXG4gICAgLml0ZW0tbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRncmF5LWNvbG9yLWxpZ2h0LCAuMjUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRncmF5LWNvbG9yLWxpZ2h0LCAuNSk7XG4gICAgICBjb2xvcjogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgei1pbmRleDogJHppbmRleC0xO1xuICAgIH1cbiAgICAuaXRlbS1wcmV2IHtcbiAgICAgIGxlZnQ6IDFyZW07XG4gICAgfVxuICAgIC5pdGVtLW5leHQge1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsLWxvY2F0b3Ige1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjYXJvdXNlbC1udW1iZXIpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoI3skaX0pOmNoZWNrZWQgfiAuY2Fyb3VzZWwtY29udGFpbmVyIC5jYXJvdXNlbC1pdGVtOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgIEBleHRlbmQgJWNhcm91c2VsLWltYWdlLWNoZWNrZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGNhcm91c2VsLW51bWJlcikge1xuICAgICAgJjpudGgtb2YtdHlwZSgjeyRpfSk6Y2hlY2tlZCB+IC5jYXJvdXNlbC1uYXYgLm5hdi1pdGVtOm50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgIEBleHRlbmQgJWNhcm91c2VsLW5hdi1jaGVja2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYXJvdXNlbC1uYXYge1xuICAgIGJvdHRvbTogJGxheW91dC1zcGFjaW5nO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMTtcblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBjb2xvcjogcmdiYSgkZ3JheS1jb2xvci1saWdodCwgLjUpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIGhlaWdodDogJHVuaXQtODtcbiAgICAgIG1hcmdpbjogJHVuaXQtMTtcbiAgICAgIG1heC13aWR0aDogMi41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICR1bml0LWg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY2Fyb3VzZWwtc2xpZGVpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2Fyb3VzZWwtc2xpZGVvdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cbiIsIi8vIEltYWdlIGNvbXBhcmlzb24gc2xpZGVyXG4vLyBDcmVkaXQ6IGh0dHA6Ly9jb2RlcGVuLmlvL3NvbGlwc2lzdGFjcC9wZW4vR3BtYXFcbi5jb21wYXJpc29uLXNsaWRlciB7XG4gIGhlaWdodDogNTB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC5jb21wYXJpc29uLWJlZm9yZSxcbiAgLmNvbXBhcmlzb24tYWZ0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmNvbXBhcmlzb24tYmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLmNvbXBhcmlzb24tbGFiZWwge1xuICAgICAgcmlnaHQ6ICR1bml0LTQ7XG4gICAgfVxuICB9XG5cbiAgLmNvbXBhcmlzb24tYWZ0ZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6ICR1bml0LTQ7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNoYWRvdzogMCAtNXB4LCAwIDVweDtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogJHVuaXQtMjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICAgIHdpZHRoOiAzcHg7XG4gICAgfVxuXG4gICAgLmNvbXBhcmlzb24tbGFiZWwge1xuICAgICAgbGVmdDogJHVuaXQtNDtcbiAgICB9XG4gIH1cblxuICAuY29tcGFyaXNvbi1yZXNpemVyIHtcbiAgICBhbmltYXRpb246IGZpcnN0LXJ1biAxLjVzIDEgZWFzZS1pbi1vdXQ7XG4gICAgY3Vyc29yOiBldy1yZXNpemU7XG4gICAgaGVpZ2h0OiAkdW5pdC00O1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogJHVuaXQtNDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJlc2l6ZTogaG9yaXpvbnRhbDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGVZKDMwKTtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIC5jb21wYXJpc29uLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLWNvbG9yLCAuNSk7XG4gICAgYm90dG9tOiAkdW5pdC00O1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgcGFkZGluZzogJHVuaXQtMSAkdW5pdC0yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZpcnN0LXJ1biB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxuICAyNSUge1xuICAgIHdpZHRoOiAkdW5pdC0xMjtcbiAgfVxuICA1MCUge1xuICAgIHdpZHRoOiAkdW5pdC00O1xuICB9XG4gIDc1JSB7XG4gICAgd2lkdGg6ICR1bml0LTY7XG4gIH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cbiIsIi8vIEZpbHRlcnMgXG4vLyBUaGUgbnVtYmVyIG9mIGZpbHRlciBvcHRpb25zIFxuJGZpbHRlci1udW1iZXI6IDggIWRlZmF1bHQ7XG5cbiVmaWx0ZXItY2hlY2tlZC1uYXYgeyBcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkbGlnaHQtY29sb3I7XG59XG5cbiVmaWx0ZXItY2hlY2tlZC1ib2R5IHsgXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maWx0ZXIge1xuICAuZmlsdGVyLW5hdiB7XG4gICAgbWFyZ2luOiAkbGF5b3V0LXNwYWNpbmcgMDtcbiAgfVxuXG4gIC5maWx0ZXItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuZmlsdGVyLXRhZyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGZpbHRlci1udW1iZXIpIHtcbiAgICAgICYjdGFnLSN7JGl9OmNoZWNrZWQgfiAuZmlsdGVyLW5hdiAuY2hpcFtmb3I9XCJ0YWctI3skaX1cIl0ge1xuICAgICAgICBAZXh0ZW5kICVmaWx0ZXItY2hlY2tlZC1uYXY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGZpbHRlci1udW1iZXIpIHtcbiAgICAgICYjdGFnLSN7JGl9OmNoZWNrZWQgfiAuZmlsdGVyLWJvZHkgLmZpbHRlci1pdGVtOm5vdChbZGF0YS10YWd+PVwidGFnLSN7JGl9XCJdKSB7XG4gICAgICAgIEBleHRlbmQgJWZpbHRlci1jaGVja2VkLWJvZHk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBNZXRlcnNcbi8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9odG1sNS1tZXRlci1lbGVtZW50L1xuLm1ldGVyIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHVuaXQtNDtcblxuICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1tZXRlci1iYXIsXG4gICY6Oi13ZWJraXQtbWV0ZXItb3B0aW11bS12YWx1ZSxcbiAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlLFxuICAmOjotd2Via2l0LW1ldGVyLWV2ZW4tbGVzcy1nb29kLXZhbHVlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIH1cblxuICAmOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2FybmluZy1jb2xvcjtcbiAgfVxuXG4gICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgIGJhY2tncm91bmQ6ICRlcnJvci1jb2xvcjtcbiAgfVxuXG4gICY6Oi1tb3otbWV0ZXItYmFyLFxuICAmOi1tb3otbWV0ZXItb3B0aW11bSxcbiAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtLFxuICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6LW1vei1tZXRlci1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHN1Y2Nlc3MtY29sb3I7XG4gIH1cblxuICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2FybmluZy1jb2xvcjtcbiAgfVxuXG4gICY6LW1vei1tZXRlci1zdWItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZXJyb3ItY29sb3I7XG4gIH1cbn1cbiIsIi8vIE9mZiBjYW52YXMgbWVudXNcbiRvZmYtY2FudmFzLWJyZWFrcG9pbnQ6ICRzaXplLWxnICFkZWZhdWx0O1xuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogbm93cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLm9mZi1jYW52YXMtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gICAgQGlmICRydGwgPT0gdHJ1ZSB7XG4gICAgICByaWdodDogJGxheW91dC1zcGFjaW5nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGVmdDogJGxheW91dC1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7XG4gICAgei1pbmRleDogJHppbmRleC0yO1xuICAgIEBpZiAkcnRsID09IHRydWUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gIH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nICRsYXlvdXQtc3BhY2luZyAkbGF5b3V0LXNwYWNpbmcgNHJlbTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhcmstY29sb3IsIC4xKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgICY6dGFyZ2V0LFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAmOnRhcmdldCB+IC5vZmYtY2FudmFzLW92ZXJsYXksXG4gICAgJi5hY3RpdmUgfiAub2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogJHppbmRleC0xO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGxheW91dFxuQG1lZGlhIChtaW4td2lkdGg6ICRvZmYtY2FudmFzLWJyZWFrcG9pbnQpIHtcbiAgLm9mZi1jYW52YXMge1xuICAgICYub2ZmLWNhbnZhcy1zaWRlYmFyLXNob3cge1xuICAgICAgLm9mZi1jYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICAub2ZmLWNhbnZhcy1zaWRlYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAub2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFyYWxsYXhcbiRwYXJhbGxheC1kZWc6IDNkZWcgIWRlZmF1bHQ7XG4kcGFyYWxsYXgtb2Zmc2V0OiA0LjVweCAhZGVmYXVsdDtcbiRwYXJhbGxheC1vZmZzZXQtejogNTBweCAhZGVmYXVsdDtcbiRwYXJhbGxheC1wZXJzcGVjdGl2ZTogMTAwMHB4ICFkZWZhdWx0O1xuJHBhcmFsbGF4LXNjYWxlOiAuOTUgIWRlZmF1bHQ7XG4kcGFyYWxsYXgtZmFkZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMzUpICFkZWZhdWx0O1xuXG4vLyBNaXhpbjogUGFyYWxsYXggZGlyZWN0aW9uXG5AbWl4aW4gcGFyYWxsYXgtZGlyKCkge1xuICBoZWlnaHQ6IDUwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNTAlO1xuICB6LWluZGV4OiAkemluZGV4LTE7XG59XG5cbi5wYXJhbGxheCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG5cbiAgLnBhcmFsbGF4LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNoYWRvdy12YXJpYW50KDFyZW0pO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRwYXJhbGxheC1wZXJzcGVjdGl2ZSk7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wYXJhbGxheC1mcm9udCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIwcHggcmdiYSgkZGFyay1jb2xvciwgLjc1KTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKCRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgfVxuXG4gIC5wYXJhbGxheC10b3AtbGVmdCB7XG4gICAgQGluY2x1ZGUgcGFyYWxsYXgtZGlyKCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAmOmZvY3VzIH4gLnBhcmFsbGF4LWNvbnRlbnQsXG4gICAgJjpob3ZlciB+IC5wYXJhbGxheC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJHBhcmFsbGF4LXBlcnNwZWN0aXZlKSByb3RhdGVYKCRwYXJhbGxheC1kZWcpIHJvdGF0ZVkoLSRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkcGFyYWxsYXgtZmFkZS1jb2xvciAwJSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICAgIH1cblxuICAgICAgLnBhcmFsbGF4LWZyb250IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkcGFyYWxsYXgtb2Zmc2V0LCAkcGFyYWxsYXgtb2Zmc2V0LCAkcGFyYWxsYXgtb2Zmc2V0LXopIHNjYWxlKCRwYXJhbGxheC1zY2FsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhcmFsbGF4LXRvcC1yaWdodCB7XG4gICAgQGluY2x1ZGUgcGFyYWxsYXgtZGlyKCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuXG4gICAgJjpmb2N1cyB+IC5wYXJhbGxheC1jb250ZW50LFxuICAgICY6aG92ZXIgfiAucGFyYWxsYXgtY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRwYXJhbGxheC1wZXJzcGVjdGl2ZSkgcm90YXRlWCgkcGFyYWxsYXgtZGVnKSByb3RhdGVZKCRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZywgJHBhcmFsbGF4LWZhZGUtY29sb3IgMCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5wYXJhbGxheC1mcm9udCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWxsYXgtYm90dG9tLWxlZnQge1xuICAgIEBpbmNsdWRlIHBhcmFsbGF4LWRpcigpO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgJjpmb2N1cyB+IC5wYXJhbGxheC1jb250ZW50LFxuICAgICY6aG92ZXIgfiAucGFyYWxsYXgtY29udGVudCB7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKCRwYXJhbGxheC1wZXJzcGVjdGl2ZSkgcm90YXRlWCgtJHBhcmFsbGF4LWRlZykgcm90YXRlWSgtJHBhcmFsbGF4LWRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHBhcmFsbGF4LWZhZGUtY29sb3IgMCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICB9XG5cbiAgICAgIC5wYXJhbGxheC1mcm9udCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHBhcmFsbGF4LW9mZnNldCwgLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWxsYXgtYm90dG9tLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBwYXJhbGxheC1kaXIoKTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICAmOmZvY3VzIH4gLnBhcmFsbGF4LWNvbnRlbnQsXG4gICAgJjpob3ZlciB+IC5wYXJhbGxheC1jb250ZW50IHtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoJHBhcmFsbGF4LXBlcnNwZWN0aXZlKSByb3RhdGVYKC0kcGFyYWxsYXgtZGVnKSByb3RhdGVZKCRwYXJhbGxheC1kZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAkcGFyYWxsYXgtZmFkZS1jb2xvciAwJSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICAgIH1cblxuICAgICAgLnBhcmFsbGF4LWZyb250IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJHBhcmFsbGF4LW9mZnNldCwgLSRwYXJhbGxheC1vZmZzZXQsICRwYXJhbGxheC1vZmZzZXQteikgc2NhbGUoJHBhcmFsbGF4LXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzXG4vLyBDcmVkaXQ6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaHRtbDUtcHJvZ3Jlc3MtZWxlbWVudC9cbi5wcm9ncmVzcyB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGhlaWdodDogJHVuaXQtMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1pbmRldGVybWluYXRlIDEuNXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHByaW1hcnktY29sb3IgMzAlLCAkYmctY29sb3ItZGFyayAzMCUpIHRvcCBsZWZ0IC8gMTUwJSAxNTAlIG5vLXJlcGVhdDtcblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWluZGV0ZXJtaW5hdGUge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gIH1cbn1cbiIsIi8vIFNsaWRlcnNcbi8vIENyZWRpdDogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zdHlsaW5nLWNyb3NzLWJyb3dzZXItY29tcGF0aWJsZS1yYW5nZS1pbnB1dHMtY3NzL1xuLnNsaWRlciB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHVuaXQtNjtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmLnRvb2x0aXA6bm90KFtkYXRhLXRvb2x0aXBdKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogYXR0cih2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2xpZGVyIFRodW1iXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6ICR1bml0LTM7XG4gICAgbWFyZ2luLXRvcDogLSgkdW5pdC0zIC0gJHVuaXQtaCkgLyAyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgd2lkdGg6ICR1bml0LTM7XG4gIH1cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6ICR1bml0LTM7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgICB3aWR0aDogJHVuaXQtMztcbiAgfVxuICAmOjotbXMtdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAkdW5pdC0zO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgd2lkdGg6ICR1bml0LTM7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpO1xuICAgIH1cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1jb2xvci1saWdodDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAmOjotbXMtdGh1bWIge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktY29sb3ItbGlnaHQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNsaWRlciBUcmFja1xuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgaGVpZ2h0OiAkdW5pdC1oO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogJHVuaXQtaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmOjotbXMtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogJHVuaXQtaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIH1cbn1cbiIsIi8vIFRpbWVsaW5lc1xuLnRpbWVsaW5lIHtcbiAgLnRpbWVsaW5lLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHVuaXQtNjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJHVuaXQtNjtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWxlZnQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBwYWRkaW5nOiAycHggMCAycHggJGxheW91dC1zcGFjaW5nLWxnO1xuICAgIH1cblxuICAgIC50aW1lbGluZS1pY29uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogJHVuaXQtNjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6ICR1bml0LTY7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGgtbGcgc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogJHVuaXQtMjtcbiAgICAgICAgbGVmdDogJHVuaXQtMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICR1bml0LTI7XG4gICAgICAgIHdpZHRoOiAkdW5pdC0yO1xuICAgICAgfVxuXG4gICAgICAmLmljb24tbGcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAzNjAgRGVncmVlIFZpZXdlclxuXG4vLyBNaXhpbjogVmlld2VyIHNsaWRlciBzaXplc1xuQG1peGluIHZpZXdlci1zbGlkZXItc2l6ZSgkaW1hZ2UtbnVtYmVyOiAzNikge1xuICBAZm9yICRzIGZyb20gMSB0aHJvdWdoICgkaW1hZ2UtbnVtYmVyKSB7XG4gICAgLnZpZXdlci1zbGlkZXJbbWF4PScjeyRpbWFnZS1udW1iZXJ9J11bdmFsdWU9JyN7JHN9J10gKyAudmlld2VyLWltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogcGVyY2VudGFnZSgoKCRzKS0xKSAqIDEvKCgkaW1hZ2UtbnVtYmVyKS0xKSk7XG4gICAgfVxuICB9XG59XG5cbi52aWV3ZXItMzYwIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBDb3B5IGFuZCBhZGQgbW9yZSBudW1iZXJzIGlmIHlvdSBuZWVkXG4gIEBpbmNsdWRlIHZpZXdlci1zbGlkZXItc2l6ZSgzNik7XG5cbiAgLnZpZXdlci1zbGlkZXIge1xuICAgIGN1cnNvcjogZXctcmVzaXplO1xuICAgIG1hcmdpbjogMXJlbTtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogNjAlO1xuICB9XG5cbiAgLnZpZXdlci1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMTtcbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxzRkFBNEY7QWFKNUYsQUFBQSxrQkFBa0IsQ0FBQyxFQUNqQixRQUFRLEVBQUUsUUFBUSxHQTRDbkI7O0FBN0NELEFBR0Usa0JBSGdCLENBR2hCLHdCQUF3QixDQUFDLEVBQ3ZCLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQ2IsU0FBUyxFQUFFLElBQUksRUFDZixNQUFNLEVBQUUsSUFBSSxFQUNaLFVBQVUsRVhzREwsTUFBTSxFV3JEWCxPQUFPLEVYNkNGLE1BQUssR1c1Qlg7O0FBMUJILEFBV0ksa0JBWGMsQ0FHaEIsd0JBQXdCLEFBUXJCLFdBQVcsQ0FBQyxFSFZmLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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RUFBRSxhQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxhQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxHQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sR0FBRyxBQUFULElBQWEsYUFBYSxDQUFtQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxHQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxHQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxHQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxjQUE0QyxHQUNwRTs7QUFJTCxBQU5JLFdBTU8sQ0FOUCxjQUFjLENBQUEsQUFBQSxHQUFDLENBQUksSUFBSSxBQUFSLEVBQVMsQUFBQSxLQUFDLENBQU0sSUFBSSxBQUFWLElBQWMsYUFBYSxDQUFrQixFQUNwRSxxQkFBcUIsRUFBRSxJQUE0QyxHQUNwRTs7QUFJTCxBQVFFLFdBUlMsQ0FRVCxjQUFjLENBQUMsRUFDYixNQUFNLEVBQUUsU0FBUyxFQUNqQixNQUFNLEVBQUUsSUFBSSxFQUNaLEtBQUssRUFBRSxDQUFDLEVBQ1IsS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFiSCxBQWVFLFdBZlMsQ0FlVCxhQUFhLENBQUMsRUFDWixxQkFBcUIsRUFBRSxDQUFDLEVBQ3hCLGlCQUFpQixFQUFFLFNBQVMsRUFDNUIsZUFBZSxFQUFFLElBQUksRUFDckIsU0FBUyxFQUFFLElBQUksRUFDZixLQUFLLEVBQUUsQ0FBQyxHQUNUIn0= */ diff --git a/themes/learn4/css-compiled/spectre-exp.min.css b/themes/learn4/css-compiled/spectre-exp.min.css deleted file mode 100644 index 5501548d..00000000 --- a/themes/learn4/css-compiled/spectre-exp.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! Spectre.css Experimentals v0.5.8 | MIT License | github.com/picturepan2/spectre */.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{display:-ms-flexbox;display:flex;height:auto;min-height:1.6rem;padding:.1rem;-ms-flex-line-pack:start;align-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.form-autocomplete .form-autocomplete-input.is-focused{border-color:#1aa3ed;box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.form-autocomplete .form-autocomplete-input .form-input{line-height:.8rem;display:inline-block;width:auto;height:1.2rem;margin:.1rem;border-color:transparent;box-shadow:none;-ms-flex:1 0 auto;flex:1 0 auto}.form-autocomplete .menu{position:absolute;top:100%;left:0;width:100%}.form-autocomplete.autocomplete-oneline .form-autocomplete-input{overflow-x:auto;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.form-autocomplete.autocomplete-oneline .chip{-ms-flex:1 0 auto;flex:1 0 auto}.calendar{display:block;min-width:280px;border:.05rem solid #e7e9ed;border-radius:.1rem}.calendar .calendar-nav{font-size:.9rem;display:-ms-flexbox;display:flex;padding:.4rem;border-top-left-radius:.1rem;border-top-right-radius:.1rem;background:#f8f9fa;-ms-flex-align:center;align-items:center}.calendar .calendar-body,.calendar .calendar-header{display:-ms-flexbox;display:flex;padding:.4rem 0;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center}.calendar .calendar-body .calendar-date,.calendar .calendar-header .calendar-date{max-width:14.28%;-ms-flex:0 0 14.28%;flex:0 0 14.28%}.calendar .calendar-header{font-size:.7rem;text-align:center;color:#acb3c2;border-bottom:.05rem solid #e7e9ed;background:#f8f9fa}.calendar .calendar-body{color:#667189}.calendar .calendar-date{padding:.2rem;border:0}.calendar .calendar-date .date-item{font-size:.7rem;line-height:1rem;position:relative;width:1.4rem;height:1.4rem;padding:.1rem;cursor:pointer;transition:background .2s,border .2s,box-shadow .2s,color .2s;text-align:center;vertical-align:middle;white-space:nowrap;text-decoration:none;color:#667189;border:.05rem solid transparent;border-radius:50%;outline:0;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.calendar .calendar-date .date-item.date-today{color:#1aa3ed;border-color:#35b9bb}.calendar .calendar-date .date-item:focus{box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.calendar .calendar-date .date-item:focus,.calendar .calendar-date .date-item:hover{text-decoration:none;color:#1aa3ed;border-color:#35b9bb;background:#44c8ca}.calendar .calendar-date .date-item.active,.calendar .calendar-date .date-item:active{color:#fff;border-color:#108bce;background:#129be6}.calendar .calendar-date .date-item.badge::after{position:absolute;top:3px;right:3px;transform:translate(50%,-50%)}.calendar .calendar-date .calendar-event.disabled,.calendar .calendar-date .calendar-event:disabled,.calendar .calendar-date .date-item.disabled,.calendar .calendar-date .date-item:disabled{cursor:default;pointer-events:none;opacity:.25}.calendar .calendar-date.next-month .calendar-event,.calendar .calendar-date.next-month .date-item,.calendar .calendar-date.prev-month .calendar-event,.calendar .calendar-date.prev-month .date-item{opacity:.25}.calendar .calendar-range{position:relative}.calendar .calendar-range::before{position:absolute;top:50%;right:0;left:0;height:1.4rem;content:'';transform:translateY(-50%);background:#38c5c7}.calendar .calendar-range.range-start::before{left:50%}.calendar .calendar-range.range-end::before{right:50%}.calendar .calendar-range.range-end .date-item,.calendar .calendar-range.range-start .date-item{color:#fff;border-color:#108bce;background:#129be6}.calendar .calendar-range .date-item{color:#1aa3ed}.calendar.calendar-lg .calendar-body{padding:0}.calendar.calendar-lg .calendar-body .calendar-date{display:-ms-flexbox;display:flex;flex-direction:column;height:5.5rem;padding:0;border-right:.05rem solid #e7e9ed;border-bottom:.05rem solid #e7e9ed;-ms-flex-direction:column}.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n){border-right:0}.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7){border-bottom:0}.calendar.calendar-lg .date-item{height:1.4rem;margin-top:.2rem;margin-right:.2rem;-ms-flex-item-align:end;align-self:flex-end}.calendar.calendar-lg .calendar-range::before{top:19px}.calendar.calendar-lg .calendar-range.range-start::before{left:auto;width:19px}.calendar.calendar-lg .calendar-range.range-end::before{right:19px}.calendar.calendar-lg .calendar-events{line-height:1;overflow-y:auto;padding:.2rem;-ms-flex-positive:1;flex-grow:1}.calendar.calendar-lg .calendar-event{font-size:.7rem;display:block;overflow:hidden;margin:.1rem auto;padding:3px 4px;white-space:nowrap;text-overflow:ellipsis;border-radius:.1rem}.carousel .carousel-locator:nth-of-type(1):checked~.carousel-container .carousel-item:nth-of-type(1),.carousel .carousel-locator:nth-of-type(2):checked~.carousel-container .carousel-item:nth-of-type(2),.carousel .carousel-locator:nth-of-type(3):checked~.carousel-container .carousel-item:nth-of-type(3),.carousel .carousel-locator:nth-of-type(4):checked~.carousel-container .carousel-item:nth-of-type(4),.carousel .carousel-locator:nth-of-type(5):checked~.carousel-container .carousel-item:nth-of-type(5),.carousel .carousel-locator:nth-of-type(6):checked~.carousel-container .carousel-item:nth-of-type(6),.carousel .carousel-locator:nth-of-type(7):checked~.carousel-container .carousel-item:nth-of-type(7),.carousel .carousel-locator:nth-of-type(8):checked~.carousel-container .carousel-item:nth-of-type(8){z-index:100;animation:carousel-slidein .75s ease-in-out 1;opacity:1}.carousel .carousel-locator:nth-of-type(1):checked~.carousel-nav .nav-item:nth-of-type(1),.carousel .carousel-locator:nth-of-type(2):checked~.carousel-nav .nav-item:nth-of-type(2),.carousel .carousel-locator:nth-of-type(3):checked~.carousel-nav .nav-item:nth-of-type(3),.carousel .carousel-locator:nth-of-type(4):checked~.carousel-nav .nav-item:nth-of-type(4),.carousel .carousel-locator:nth-of-type(5):checked~.carousel-nav .nav-item:nth-of-type(5),.carousel .carousel-locator:nth-of-type(6):checked~.carousel-nav .nav-item:nth-of-type(6),.carousel .carousel-locator:nth-of-type(7):checked~.carousel-nav .nav-item:nth-of-type(7),.carousel .carousel-locator:nth-of-type(8):checked~.carousel-nav .nav-item:nth-of-type(8){color:#e7e9ed}.carousel{position:relative;z-index:1;display:block;overflow:hidden;width:100%;background:#f8f9fa;-webkit-overflow-scrolling:touch}.carousel .carousel-container{position:relative;left:0;height:100%}.carousel .carousel-container::before{display:block;padding-bottom:56.25%;content:''}.carousel .carousel-container .carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;animation:carousel-slideout 1s ease-in-out 1;opacity:0}.carousel .carousel-container .carousel-item:hover .item-next,.carousel .carousel-container .carousel-item:hover .item-prev{opacity:1}.carousel .carousel-container .item-next,.carousel .carousel-container .item-prev{position:absolute;z-index:100;top:50%;transition:all .4s;transform:translateY(-50%);opacity:0;color:#e7e9ed;border-color:rgba(231,233,237,.5);background:rgba(231,233,237,.25)}.carousel .carousel-container .item-prev{left:1rem}.carousel .carousel-container .item-next{right:1rem}.carousel .carousel-nav{position:absolute;z-index:100;bottom:.4rem;left:50%;display:-ms-flexbox;display:flex;width:10rem;transform:translateX(-50%);-ms-flex-pack:center;justify-content:center}.carousel .carousel-nav .nav-item{position:relative;display:block;max-width:2.5rem;height:1.6rem;margin:.2rem;color:rgba(231,233,237,.5);-ms-flex:1 0 auto;flex:1 0 auto}.carousel .carousel-nav .nav-item::before{position:absolute;top:.5rem;display:block;width:100%;height:.1rem;content:'';background:currentColor}@keyframes carousel-slidein{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes carousel-slideout{0%{transform:translateX(0);opacity:1}100%{transform:translateX(-50%);opacity:1}}.comparison-slider{position:relative;overflow:hidden;width:100%;height:50vh;-webkit-overflow-scrolling:touch}.comparison-slider .comparison-after,.comparison-slider .comparison-before{position:absolute;top:0;left:0;overflow:hidden;height:100%;margin:0}.comparison-slider .comparison-after img,.comparison-slider .comparison-before img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:left center}.comparison-slider .comparison-before{z-index:1;width:100%}.comparison-slider .comparison-before .comparison-label{right:.8rem}.comparison-slider .comparison-after{z-index:2;min-width:0;max-width:100%}.comparison-slider .comparison-after::before{position:absolute;z-index:1;top:0;right:.8rem;left:0;height:100%;content:'';cursor:default;background:0 0}.comparison-slider .comparison-after::after{position:absolute;top:50%;right:.4rem;width:3px;height:3px;content:'';transform:translate(50%,-50%);color:#fff;border-radius:50%;background:currentColor;box-shadow:0 -5px,0 5px}.comparison-slider .comparison-after .comparison-label{left:.8rem}.comparison-slider .comparison-resizer{position:relative;top:50%;left:0;width:0;min-width:.8rem;max-width:100%;height:.8rem;resize:horizontal;cursor:ew-resize;transform:translateY(-50%) scaleY(30);animation:first-run 1.5s 1 ease-in-out;opacity:0;outline:0}.comparison-slider .comparison-label{position:absolute;bottom:.8rem;padding:.2rem .4rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fff;background:rgba(69,77,93,.5)}@keyframes first-run{0%{width:0}25%{width:2.4rem}50%{width:.8rem}75%{width:1.2rem}100%{width:0}}.filter .filter-tag#tag-0:checked~.filter-nav .chip[for=tag-0],.filter .filter-tag#tag-1:checked~.filter-nav .chip[for=tag-1],.filter .filter-tag#tag-2:checked~.filter-nav .chip[for=tag-2],.filter .filter-tag#tag-3:checked~.filter-nav .chip[for=tag-3],.filter .filter-tag#tag-4:checked~.filter-nav .chip[for=tag-4],.filter .filter-tag#tag-5:checked~.filter-nav .chip[for=tag-5],.filter .filter-tag#tag-6:checked~.filter-nav .chip[for=tag-6],.filter .filter-tag#tag-7:checked~.filter-nav .chip[for=tag-7],.filter .filter-tag#tag-8:checked~.filter-nav .chip[for=tag-8]{color:#fff;background:#1aa3ed}.filter .filter-tag#tag-1:checked~.filter-body .filter-item:not([data-tag~=tag-1]),.filter .filter-tag#tag-2:checked~.filter-body .filter-item:not([data-tag~=tag-2]),.filter .filter-tag#tag-3:checked~.filter-body .filter-item:not([data-tag~=tag-3]),.filter .filter-tag#tag-4:checked~.filter-body .filter-item:not([data-tag~=tag-4]),.filter .filter-tag#tag-5:checked~.filter-body .filter-item:not([data-tag~=tag-5]),.filter .filter-tag#tag-6:checked~.filter-body .filter-item:not([data-tag~=tag-6]),.filter .filter-tag#tag-7:checked~.filter-body .filter-item:not([data-tag~=tag-7]),.filter .filter-tag#tag-8:checked~.filter-body .filter-item:not([data-tag~=tag-8]){display:none}.filter .filter-nav{margin:.4rem 0}.filter .filter-body{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.meter{display:block;width:100%;height:.8rem;border:0;border-radius:.1rem;background:#f8f9fa;-webkit-appearance:none;-moz-appearance:none;appearance:none}.meter::-webkit-meter-inner-element{display:block}.meter::-webkit-meter-bar,.meter::-webkit-meter-even-less-good-value,.meter::-webkit-meter-optimum-value,.meter::-webkit-meter-suboptimum-value{border-radius:.1rem}.meter::-webkit-meter-bar{background:#f8f9fa}.meter::-webkit-meter-optimum-value{background:#32b643}.meter::-webkit-meter-suboptimum-value{background:#ffb700}.meter::-webkit-meter-even-less-good-value{background:#e85600}.meter:-moz-meter-optimum,.meter:-moz-meter-sub-optimum,.meter:-moz-meter-sub-sub-optimum,.meter::-moz-meter-bar{border-radius:.1rem}.meter:-moz-meter-optimum::-moz-meter-bar{background:#32b643}.meter:-moz-meter-sub-optimum::-moz-meter-bar{background:#ffb700}.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:#e85600}.off-canvas{position:relative;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-flow:nowrap;flex-flow:nowrap}.off-canvas .off-canvas-toggle{position:absolute;z-index:1;top:.4rem;left:.4rem;display:block;transition:none}.off-canvas .off-canvas-sidebar{position:fixed;z-index:200;top:0;bottom:0;left:0;overflow-y:auto;min-width:10rem;transition:transform .25s;transform:translateX(-100%);background:#f8f9fa}.off-canvas .off-canvas-content{height:100%;padding:.4rem .4rem .4rem 4rem;-ms-flex:1 1 auto;flex:1 1 auto}.off-canvas .off-canvas-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;width:100%;height:100%;border-color:transparent;border-radius:0;background:rgba(69,77,93,.1)}.off-canvas .off-canvas-sidebar.active,.off-canvas .off-canvas-sidebar:target{transform:translateX(0)}.off-canvas .off-canvas-sidebar.active~.off-canvas-overlay,.off-canvas .off-canvas-sidebar:target~.off-canvas-overlay{z-index:100;display:block}@media (min-width:960px){.off-canvas.off-canvas-sidebar-show .off-canvas-toggle{display:none}.off-canvas.off-canvas-sidebar-show .off-canvas-sidebar{position:relative;transform:none;-ms-flex:0 0 auto;flex:0 0 auto}.off-canvas.off-canvas-sidebar-show .off-canvas-overlay{display:none!important}}.parallax{position:relative;display:block;width:auto;height:auto}.parallax .parallax-content{width:100%;height:auto;transition:all .4s ease;transform:perspective(1000px);box-shadow:0 1rem 2.1rem rgba(69,77,93,.3);transform-style:preserve-3d}.parallax .parallax-content::before{position:absolute;top:0;left:0;display:block;width:100%;height:100%;content:''}.parallax .parallax-front{position:absolute;z-index:1;top:0;left:0;display:-ms-flexbox;display:flex;width:100%;height:100%;transition:transform .4s;transform:translateZ(50px) scale(.95);text-align:center;color:#fff;text-shadow:0 0 20px rgba(69,77,93,.75);-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.parallax .parallax-top-left{position:absolute;z-index:100;top:0;left:0;width:50%;height:50%;outline:0}.parallax .parallax-top-left:focus~.parallax-content,.parallax .parallax-top-left:hover~.parallax-content{transform:perspective(1000px) rotateX(3deg) rotateY(-3deg)}.parallax .parallax-top-left:focus~.parallax-content::before,.parallax .parallax-top-left:hover~.parallax-content::before{background:linear-gradient(135deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-top-left:focus~.parallax-content .parallax-front,.parallax .parallax-top-left:hover~.parallax-content .parallax-front{transform:translate3d(4.5px,4.5px,50px) scale(.95)}.parallax .parallax-top-right{position:absolute;z-index:100;top:0;right:0;width:50%;height:50%;outline:0}.parallax .parallax-top-right:focus~.parallax-content,.parallax .parallax-top-right:hover~.parallax-content{transform:perspective(1000px) rotateX(3deg) rotateY(3deg)}.parallax .parallax-top-right:focus~.parallax-content::before,.parallax .parallax-top-right:hover~.parallax-content::before{background:linear-gradient(-135deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-top-right:focus~.parallax-content .parallax-front,.parallax .parallax-top-right:hover~.parallax-content .parallax-front{transform:translate3d(-4.5px,4.5px,50px) scale(.95)}.parallax .parallax-bottom-left{position:absolute;z-index:100;bottom:0;left:0;width:50%;height:50%;outline:0}.parallax .parallax-bottom-left:focus~.parallax-content,.parallax .parallax-bottom-left:hover~.parallax-content{transform:perspective(1000px) rotateX(-3deg) rotateY(-3deg)}.parallax .parallax-bottom-left:focus~.parallax-content::before,.parallax .parallax-bottom-left:hover~.parallax-content::before{background:linear-gradient(45deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-bottom-left:focus~.parallax-content .parallax-front,.parallax .parallax-bottom-left:hover~.parallax-content .parallax-front{transform:translate3d(4.5px,-4.5px,50px) scale(.95)}.parallax .parallax-bottom-right{position:absolute;z-index:100;right:0;bottom:0;width:50%;height:50%;outline:0}.parallax .parallax-bottom-right:focus~.parallax-content,.parallax .parallax-bottom-right:hover~.parallax-content{transform:perspective(1000px) rotateX(-3deg) rotateY(3deg)}.parallax .parallax-bottom-right:focus~.parallax-content::before,.parallax .parallax-bottom-right:hover~.parallax-content::before{background:linear-gradient(-45deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-bottom-right:focus~.parallax-content .parallax-front,.parallax .parallax-bottom-right:hover~.parallax-content .parallax-front{transform:translate3d(-4.5px,-4.5px,50px) scale(.95)}.progress{position:relative;width:100%;height:.2rem;color:#1aa3ed;border:0;border-radius:.1rem;background:#f0f1f4;-webkit-appearance:none;-moz-appearance:none;appearance:none}.progress::-webkit-progress-bar{border-radius:.1rem;background:0 0}.progress::-webkit-progress-value{border-radius:.1rem;background:#1aa3ed}.progress::-moz-progress-bar{border-radius:.1rem;background:#1aa3ed}.progress:indeterminate{animation:progress-indeterminate 1.5s linear infinite;background:#f0f1f4 linear-gradient(to right,#1aa3ed 30%,#f0f1f4 30%) top left/150% 150% no-repeat}.progress:indeterminate::-moz-progress-bar{background:0 0}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.slider{display:block;width:100%;height:1.2rem;background:0 0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider:focus{outline:0;box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.slider.tooltip:not([data-tooltip])::after{content:attr(value)}.slider::-webkit-slider-thumb{width:.6rem;height:.6rem;margin-top:-.25rem;transition:transform .2s;border:0;border-radius:50%;background:#1aa3ed;-webkit-appearance:none}.slider::-moz-range-thumb{width:.6rem;height:.6rem;transition:transform .2s;border:0;border-radius:50%;background:#1aa3ed}.slider::-ms-thumb{width:.6rem;height:.6rem;transition:transform .2s;border:0;border-radius:50%;background:#1aa3ed}.slider:active::-webkit-slider-thumb{transform:scale(1.25)}.slider:active::-moz-range-thumb{transform:scale(1.25)}.slider:active::-ms-thumb{transform:scale(1.25)}.slider.disabled::-webkit-slider-thumb,.slider:disabled::-webkit-slider-thumb{transform:scale(1);background:#e7e9ed}.slider.disabled::-moz-range-thumb,.slider:disabled::-moz-range-thumb{transform:scale(1);background:#e7e9ed}.slider.disabled::-ms-thumb,.slider:disabled::-ms-thumb{transform:scale(1);background:#e7e9ed}.slider::-webkit-slider-runnable-track{width:100%;height:.1rem;border-radius:.1rem;background:#f0f1f4}.slider::-moz-range-track{width:100%;height:.1rem;border-radius:.1rem;background:#f0f1f4}.slider::-ms-track{width:100%;height:.1rem;border-radius:.1rem;background:#f0f1f4}.slider::-ms-fill-lower{background:#1aa3ed}.timeline .timeline-item{position:relative;display:-ms-flexbox;display:flex;margin-bottom:1.2rem}.timeline .timeline-item::before{position:absolute;top:1.2rem;left:11px;width:2px;height:100%;content:'';background:#e7e9ed}.timeline .timeline-item .timeline-left{-ms-flex:0 0 auto;flex:0 0 auto}.timeline .timeline-item .timeline-content{padding:2px 0 2px .8rem;-ms-flex:1 1 auto;flex:1 1 auto}.timeline .timeline-item .timeline-icon{display:-ms-flexbox;display:flex;width:1.2rem;height:1.2rem;text-align:center;color:#fff;border-radius:50%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.timeline .timeline-item .timeline-icon::before{position:absolute;top:.4rem;left:.4rem;display:block;width:.4rem;height:.4rem;content:'';border:.1rem solid #1aa3ed;border-radius:50%}.timeline .timeline-item .timeline-icon.icon-lg{line-height:1.2rem;background:#1aa3ed}.timeline .timeline-item .timeline-icon.icon-lg::before{content:none}.viewer-360{display:-ms-flexbox;display:flex;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-direction:column}.viewer-360 .viewer-slider[max='36'][value='1']+.viewer-image{background-position-y:0}.viewer-360 .viewer-slider[max='36'][value='2']+.viewer-image{background-position-y:2.8571428571%}.viewer-360 .viewer-slider[max='36'][value='3']+.viewer-image{background-position-y:5.7142857143%}.viewer-360 .viewer-slider[max='36'][value='4']+.viewer-image{background-position-y:8.5714285714%}.viewer-360 .viewer-slider[max='36'][value='5']+.viewer-image{background-position-y:11.4285714286%}.viewer-360 .viewer-slider[max='36'][value='6']+.viewer-image{background-position-y:14.2857142857%}.viewer-360 .viewer-slider[max='36'][value='7']+.viewer-image{background-position-y:17.1428571429%}.viewer-360 .viewer-slider[max='36'][value='8']+.viewer-image{background-position-y:20%}.viewer-360 .viewer-slider[max='36'][value='9']+.viewer-image{background-position-y:22.8571428571%}.viewer-360 .viewer-slider[max='36'][value='10']+.viewer-image{background-position-y:25.7142857143%}.viewer-360 .viewer-slider[max='36'][value='11']+.viewer-image{background-position-y:28.5714285714%}.viewer-360 .viewer-slider[max='36'][value='12']+.viewer-image{background-position-y:31.4285714286%}.viewer-360 .viewer-slider[max='36'][value='13']+.viewer-image{background-position-y:34.2857142857%}.viewer-360 .viewer-slider[max='36'][value='14']+.viewer-image{background-position-y:37.1428571429%}.viewer-360 .viewer-slider[max='36'][value='15']+.viewer-image{background-position-y:40%}.viewer-360 .viewer-slider[max='36'][value='16']+.viewer-image{background-position-y:42.8571428571%}.viewer-360 .viewer-slider[max='36'][value='17']+.viewer-image{background-position-y:45.7142857143%}.viewer-360 .viewer-slider[max='36'][value='18']+.viewer-image{background-position-y:48.5714285714%}.viewer-360 .viewer-slider[max='36'][value='19']+.viewer-image{background-position-y:51.4285714286%}.viewer-360 .viewer-slider[max='36'][value='20']+.viewer-image{background-position-y:54.2857142857%}.viewer-360 .viewer-slider[max='36'][value='21']+.viewer-image{background-position-y:57.1428571429%}.viewer-360 .viewer-slider[max='36'][value='22']+.viewer-image{background-position-y:60%}.viewer-360 .viewer-slider[max='36'][value='23']+.viewer-image{background-position-y:62.8571428571%}.viewer-360 .viewer-slider[max='36'][value='24']+.viewer-image{background-position-y:65.7142857143%}.viewer-360 .viewer-slider[max='36'][value='25']+.viewer-image{background-position-y:68.5714285714%}.viewer-360 .viewer-slider[max='36'][value='26']+.viewer-image{background-position-y:71.4285714286%}.viewer-360 .viewer-slider[max='36'][value='27']+.viewer-image{background-position-y:74.2857142857%}.viewer-360 .viewer-slider[max='36'][value='28']+.viewer-image{background-position-y:77.1428571429%}.viewer-360 .viewer-slider[max='36'][value='29']+.viewer-image{background-position-y:80%}.viewer-360 .viewer-slider[max='36'][value='30']+.viewer-image{background-position-y:82.8571428571%}.viewer-360 .viewer-slider[max='36'][value='31']+.viewer-image{background-position-y:85.7142857143%}.viewer-360 .viewer-slider[max='36'][value='32']+.viewer-image{background-position-y:88.5714285714%}.viewer-360 .viewer-slider[max='36'][value='33']+.viewer-image{background-position-y:91.4285714286%}.viewer-360 .viewer-slider[max='36'][value='34']+.viewer-image{background-position-y:94.2857142857%}.viewer-360 .viewer-slider[max='36'][value='35']+.viewer-image{background-position-y:97.1428571429%}.viewer-360 .viewer-slider[max='36'][value='36']+.viewer-image{background-position-y:100%}.viewer-360 .viewer-slider{width:60%;margin:1rem;cursor:ew-resize;-ms-flex-order:2;order:2}.viewer-360 .viewer-image{max-width:100%;background-repeat:no-repeat;background-position-y:0;background-size:100%;-ms-flex-order:1;order:1} \ No newline at end of file diff --git a/themes/learn4/css-compiled/spectre-icons.css b/themes/learn4/css-compiled/spectre-icons.css deleted file mode 100644 index 86ef5156..00000000 --- a/themes/learn4/css-compiled/spectre-icons.css +++ /dev/null @@ -1,172 +0,0 @@ -/*! Spectre.css Icons v0.5.8 | MIT License | github.com/picturepan2/spectre */ -.icon { box-sizing: border-box; display: inline-block; font-size: inherit; font-style: normal; height: 1em; position: relative; text-indent: -9999px; vertical-align: middle; width: 1em; } - -.icon::before, .icon::after { content: ""; display: block; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); } - -.icon.icon-2x { font-size: 1.6rem; } - -.icon.icon-3x { font-size: 2.4rem; } - -.icon.icon-4x { font-size: 3.2rem; } - -.accordion .icon, .btn .icon, .toast .icon, .menu .icon { vertical-align: -10%; } - -.btn-lg .icon { vertical-align: -15%; } - -.icon-arrow-down::before, .icon-arrow-left::before, .icon-arrow-right::before, .icon-arrow-up::before, .icon-downward::before, .icon-back::before, .icon-forward::before, .icon-upward::before { border: 0.1rem solid currentColor; border-bottom: 0; border-right: 0; height: .65em; width: .65em; } - -.icon-arrow-down::before { transform: translate(-50%, -75%) rotate(225deg); } - -.icon-arrow-left::before { transform: translate(-25%, -50%) rotate(-45deg); } - -.icon-arrow-right::before { transform: translate(-75%, -50%) rotate(135deg); } - -.icon-arrow-up::before { transform: translate(-50%, -25%) rotate(45deg); } - -.icon-back::after, .icon-forward::after { background: currentColor; height: 0.1rem; width: .8em; } - -.icon-downward::after, .icon-upward::after { background: currentColor; height: .8em; width: 0.1rem; } - -.icon-back::after { left: 55%; } - -.icon-back::before { transform: translate(-50%, -50%) rotate(-45deg); } - -.icon-downward::after { top: 45%; } - -.icon-downward::before { transform: translate(-50%, -50%) rotate(-135deg); } - -.icon-forward::after { left: 45%; } - -.icon-forward::before { transform: translate(-50%, -50%) rotate(135deg); } - -.icon-upward::after { top: 55%; } - -.icon-upward::before { transform: translate(-50%, -50%) rotate(45deg); } - -.icon-caret::before { border-top: .3em solid currentColor; border-right: .3em solid transparent; border-left: .3em solid transparent; height: 0; transform: translate(-50%, -25%); width: 0; } - -.icon-menu::before { background: currentColor; box-shadow: 0 -.35em, 0 .35em; height: 0.1rem; width: 100%; } - -.icon-apps::before { background: currentColor; box-shadow: -.35em -.35em, -.35em 0, -.35em .35em, 0 -.35em, 0 .35em, .35em -.35em, .35em 0, .35em .35em; height: 3px; width: 3px; } - -.icon-resize-horiz::before, .icon-resize-horiz::after, .icon-resize-vert::before, .icon-resize-vert::after { border: 0.1rem solid currentColor; border-bottom: 0; border-right: 0; height: .45em; width: .45em; } - -.icon-resize-horiz::before, .icon-resize-vert::before { transform: translate(-50%, -90%) rotate(45deg); } - -.icon-resize-horiz::after, .icon-resize-vert::after { transform: translate(-50%, -10%) rotate(225deg); } - -.icon-resize-horiz::before { transform: translate(-90%, -50%) rotate(-45deg); } - -.icon-resize-horiz::after { transform: translate(-10%, -50%) rotate(135deg); } - -.icon-more-horiz::before, .icon-more-vert::before { background: currentColor; box-shadow: -.4em 0, .4em 0; border-radius: 50%; height: 3px; width: 3px; } - -.icon-more-vert::before { box-shadow: 0 -.4em, 0 .4em; } - -.icon-plus::before, .icon-minus::before, .icon-cross::before { background: currentColor; height: 0.1rem; width: 100%; } - -.icon-plus::after, .icon-cross::after { background: currentColor; height: 100%; width: 0.1rem; } - -.icon-cross::before { width: 100%; } - -.icon-cross::after { height: 100%; } - -.icon-cross::before, .icon-cross::after { transform: translate(-50%, -50%) rotate(45deg); } - -.icon-check::before { border: 0.1rem solid currentColor; border-right: 0; border-top: 0; height: .5em; width: .9em; transform: translate(-50%, -75%) rotate(-45deg); } - -.icon-stop { border: 0.1rem solid currentColor; border-radius: 50%; } - -.icon-stop::before { background: currentColor; height: 0.1rem; transform: translate(-50%, -50%) rotate(45deg); width: 1em; } - -.icon-shutdown { border: 0.1rem solid currentColor; border-radius: 50%; border-top-color: transparent; } - -.icon-shutdown::before { background: currentColor; content: ""; height: .5em; top: .1em; width: 0.1rem; } - -.icon-refresh::before { border: 0.1rem solid currentColor; border-radius: 50%; border-right-color: transparent; height: 1em; width: 1em; } - -.icon-refresh::after { border: .2em solid currentColor; border-top-color: transparent; border-left-color: transparent; height: 0; left: 80%; top: 20%; width: 0; } - -.icon-search::before { border: 0.1rem solid currentColor; border-radius: 50%; height: .75em; left: 5%; top: 5%; transform: translate(0, 0) rotate(45deg); width: .75em; } - -.icon-search::after { background: currentColor; height: 0.1rem; left: 80%; top: 80%; transform: translate(-50%, -50%) rotate(45deg); width: .4em; } - -.icon-edit::before { border: 0.1rem solid currentColor; height: .4em; transform: translate(-40%, -60%) rotate(-45deg); width: .85em; } - -.icon-edit::after { border: .15em solid currentColor; border-top-color: transparent; border-right-color: transparent; height: 0; left: 5%; top: 95%; transform: translate(0, -100%); width: 0; } - -.icon-delete::before { border: 0.1rem solid currentColor; border-bottom-left-radius: 0.1rem; border-bottom-right-radius: 0.1rem; border-top: 0; height: .75em; top: 60%; width: .75em; } - -.icon-delete::after { background: currentColor; box-shadow: -.25em .2em, .25em .2em; height: 0.1rem; top: 0.05rem; width: .5em; } - -.icon-share { border: 0.1rem solid currentColor; border-radius: 0.1rem; border-right: 0; border-top: 0; } - -.icon-share::before { border: 0.1rem solid currentColor; border-left: 0; border-top: 0; height: .4em; left: 100%; top: .25em; transform: translate(-125%, -50%) rotate(-45deg); width: .4em; } - -.icon-share::after { border: 0.1rem solid currentColor; border-bottom: 0; border-right: 0; border-radius: 75% 0; height: .5em; width: .6em; } - -.icon-flag::before { background: currentColor; height: 1em; left: 15%; width: 0.1rem; } - -.icon-flag::after { border: 0.1rem solid currentColor; border-bottom-right-radius: 0.1rem; border-left: 0; border-top-right-radius: 0.1rem; height: .65em; top: 35%; left: 60%; width: .8em; } - -.icon-bookmark::before { border: 0.1rem solid currentColor; border-bottom: 0; border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; height: .9em; width: .8em; } - -.icon-bookmark::after { border: 0.1rem solid currentColor; border-bottom: 0; border-left: 0; border-radius: 0.1rem; height: .5em; transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); width: .5em; } - -.icon-download, .icon-upload { border-bottom: 0.1rem solid currentColor; } - -.icon-download::before, .icon-upload::before { border: 0.1rem solid currentColor; border-bottom: 0; border-right: 0; height: .5em; width: .5em; transform: translate(-50%, -60%) rotate(-135deg); } - -.icon-download::after, .icon-upload::after { background: currentColor; height: .6em; top: 40%; width: 0.1rem; } - -.icon-upload::before { transform: translate(-50%, -60%) rotate(45deg); } - -.icon-upload::after { top: 50%; } - -.icon-copy::before { border: 0.1rem solid currentColor; border-radius: 0.1rem; border-right: 0; border-bottom: 0; height: .8em; left: 40%; top: 35%; width: .8em; } - -.icon-copy::after { border: 0.1rem solid currentColor; border-radius: 0.1rem; height: .8em; left: 60%; top: 60%; width: .8em; } - -.icon-time { border: 0.1rem solid currentColor; border-radius: 50%; } - -.icon-time::before { background: currentColor; height: .4em; transform: translate(-50%, -75%); width: 0.1rem; } - -.icon-time::after { background: currentColor; height: .3em; transform: translate(-50%, -75%) rotate(90deg); transform-origin: 50% 90%; width: 0.1rem; } - -.icon-mail::before { border: 0.1rem solid currentColor; border-radius: 0.1rem; height: .8em; width: 1em; } - -.icon-mail::after { border: 0.1rem solid currentColor; border-right: 0; border-top: 0; height: .5em; transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); width: .5em; } - -.icon-people::before { border: 0.1rem solid currentColor; border-radius: 50%; height: .45em; top: 25%; width: .45em; } - -.icon-people::after { border: 0.1rem solid currentColor; border-radius: 50% 50% 0 0; height: .4em; top: 75%; width: .9em; } - -.icon-message { border: 0.1rem solid currentColor; border-bottom: 0; border-radius: 0.1rem; border-right: 0; } - -.icon-message::before { border: 0.1rem solid currentColor; border-bottom-right-radius: 0.1rem; border-left: 0; border-top: 0; height: .8em; left: 65%; top: 40%; width: .7em; } - -.icon-message::after { background: currentColor; border-radius: 0.1rem; height: .3em; left: 10%; top: 100%; transform: translate(0, -90%) rotate(45deg); width: 0.1rem; } - -.icon-photo { border: 0.1rem solid currentColor; border-radius: 0.1rem; } - -.icon-photo::before { border: 0.1rem solid currentColor; border-radius: 50%; height: .25em; left: 35%; top: 35%; width: .25em; } - -.icon-photo::after { border: 0.1rem solid currentColor; border-bottom: 0; border-left: 0; height: .5em; left: 60%; transform: translate(-50%, 25%) rotate(-45deg); width: .5em; } - -.icon-link::before, .icon-link::after { border: 0.1rem solid currentColor; border-radius: 5em 0 0 5em; border-right: 0; height: .5em; width: .75em; } - -.icon-link::before { transform: translate(-70%, -45%) rotate(-45deg); } - -.icon-link::after { transform: translate(-30%, -55%) rotate(135deg); } - -.icon-location::before { border: 0.1rem solid currentColor; border-radius: 50% 50% 50% 0; height: .8em; transform: translate(-50%, -60%) rotate(-45deg); width: .8em; } - -.icon-location::after { border: 0.1rem solid currentColor; border-radius: 50%; height: .2em; transform: translate(-50%, -80%); width: .2em; } - -.icon-emoji { border: 0.1rem solid currentColor; border-radius: 50%; } - -.icon-emoji::before { border-radius: 50%; box-shadow: -.17em -.1em, .17em -.1em; height: .15em; width: .15em; } - -.icon-emoji::after { border: 0.1rem solid currentColor; border-bottom-color: transparent; border-radius: 50%; border-right-color: transparent; height: .5em; transform: translate(-50%, -40%) rotate(-135deg); width: .5em; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3RyZS1pY29ucy5jc3MiLCJzb3VyY2VzIjpbInNwZWN0cmUtaWNvbnMuc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInNwZWN0cmUvX3ZhcmlhYmxlcy5zY3NzIiwic3BlY3RyZS9fbWl4aW5zLnNjc3MiLCJzcGVjdHJlL21peGlucy9fYXZhdGFyLnNjc3MiLCJzcGVjdHJlL21peGlucy9fYnV0dG9uLnNjc3MiLCJzcGVjdHJlL21peGlucy9fY2xlYXJmaXguc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jb2xvci5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2xhYmVsLnNjc3MiLCJzcGVjdHJlL21peGlucy9fcG9zaXRpb24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19zaGFkb3cuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190ZXh0LnNjc3MiLCJzcGVjdHJlL21peGlucy9fdG9hc3Quc2NzcyIsInNwZWN0cmUvaWNvbnMvX2ljb25zLWNvcmUuc2NzcyIsInNwZWN0cmUvaWNvbnMvX2ljb25zLW5hdmlnYXRpb24uc2NzcyIsInNwZWN0cmUvaWNvbnMvX2ljb25zLWFjdGlvbi5zY3NzIiwic3BlY3RyZS9pY29ucy9faWNvbnMtb2JqZWN0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJ0aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvbWl4aW5zXCI7XG5cbi8qISBTcGVjdHJlLmNzcyBJY29ucyB2I3skdmVyc2lvbn0gfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vcGljdHVyZXBhbjIvc3BlY3RyZSAqL1xuLy8gSWNvbnNcbkBpbXBvcnQgXCJzcGVjdHJlL2ljb25zL2ljb25zLWNvcmVcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2ljb25zL2ljb25zLW5hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2ljb25zL2ljb25zLWFjdGlvblwiO1xuQGltcG9ydCBcInNwZWN0cmUvaWNvbnMvaWNvbnMtb2JqZWN0XCI7XG4iLCIvLyBDb2xvcnNcbiR0dXJxdW9pc2U6ICMxQUJDOUM7XG4kZ3JlZW4tc2VhOiAjMTZBMDg1O1xuJGVtZXJhbGQ6ICMyRUNDNzE7XG4kbmVwaHJpdGlzOiAjMjdBRTYwO1xuJHBldGVyLXJpdmVyOiAjMzQ5OERCO1xuJGJlbGl6ZV9ob2xlOiAjMjk4MEI5O1xuJGRlZXAtd2VsbDogIzI4M0E2MztcbiRsYXZlbmRlcjogIzc2NzZmNDtcbiRhbWV0aHlzdDogI0E2NkJCRTtcbiR3aXN0ZXJpYTogIzhFNDRBRDtcbiR3ZXQtYXNwaGFsdDogIzM0NDk1RTtcbiRtaWRuaWdodC1ibHVlOiAjMkMzRTUwO1xuJHN1bmZsb3dlcjogI0YyQ0EyNztcbiRvcmFuZ2U6ICNGMzlDMTI7XG4kY2Fycm90OiAjRTY3RTIyO1xuJHB1bXBraW46ICNEMzU0MDA7XG4kYWxpemFyaW46ICNFNzRDM0M7XG4kcG9tZWdyYW5hdGU6ICNDMDM5MkI7XG4kY2xvdWRzOiAjRUNGMEYxO1xuJHNpbHZlcjogI0JEQzNDNztcbiRjb25jcmV0ZTogIzk1QTVBNjtcbiRhc2Jlc3RvczogIzdGOEM4RDtcblxuJHByaW1hcnktY29sb3I6ICMxQUEzRUQgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjMzhDNUM3ICFkZWZhdWx0O1xuJGRhcmstY29sb3I6ICM0NTRkNWQgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiBkYXJrZW4oJGRhcmstY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA0MCUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItZGFyazogZGFya2VuKCRncmF5LWNvbG9yLCAyNSUpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNjAlKSAhZGVmYXVsdDtcbiRiZy1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNjYlKSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAkbGF2ZW5kZXIgIWRlZmF1bHQ7XG4kc2VsZWN0aW9uLWNvbG9yOiAjRUNFQ0ZFO1xuXG4vLyBTaWRlYmFyXG4kc2lkZWJhci13aWR0aDogMTRyZW07XG4kc2lkZWJhci1icmFuZC1oZWlnaHQ6IDdyZW07XG5cbi8vIEZvbnRzXG4kYmFzZS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvICFkZWZhdWx0O1xuJGZhbGxiYWNrLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogXCJQdWJsaWMgU2Fuc1wiLCAgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHRpdGxlLWZvbnQtZmFtaWx5OiBcIk1ldHJvcG9saXNcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG1vbm8tZm9udC1mYW1pbHk6IFwiSGFja1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplOiAuODVyZW0gIWRlZmF1bHQ7XG4kbWluLXJlc3BvbnNpdmUtZm9udC1zaXplOiAxOHB4O1xuIiwiLy8gQ29yZSB2YXJpYWJsZXNcbiR2ZXJzaW9uOiBcIjAuNS44XCI7XG5cbi8vIENvcmUgZmVhdHVyZXNcbiRydGw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBDb3JlIGNvbG9yc1xuJHByaW1hcnktY29sb3I6ICM1NzU1ZDkgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1kYXJrOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAzNy41JSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yLWRhcms6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRzZWNvbmRhcnktY29sb3IsIDMlKSAhZGVmYXVsdDtcblxuLy8gR3JheSBjb2xvcnNcbiRkYXJrLWNvbG9yOiAjMzAzNzQyICFkZWZhdWx0O1xuJGxpZ2h0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDU1JSkgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvci1kYXJrOiBkYXJrZW4oJGdyYXktY29sb3IsIDMwJSkgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvci1saWdodDogbGlnaHRlbigkZ3JheS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuJGJvcmRlci1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNjUlKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItZGFyazogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRib3JkZXItY29sb3IsIDglKSAhZGVmYXVsdDtcbiRiZy1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNzUlKSAhZGVmYXVsdDtcbiRiZy1jb2xvci1kYXJrOiBkYXJrZW4oJGJnLWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kYmctY29sb3ItbGlnaHQ6ICRsaWdodC1jb2xvciAhZGVmYXVsdDtcblxuLy8gQ29udHJvbCBjb2xvcnNcbiRzdWNjZXNzLWNvbG9yOiAjMzJiNjQzICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6ICNmZmI3MDAgIWRlZmF1bHQ7XG4kZXJyb3ItY29sb3I6ICNlODU2MDAgIWRlZmF1bHQ7XG5cbi8vIE90aGVyIGNvbG9yc1xuJGNvZGUtY29sb3I6ICNkNzNlNDggIWRlZmF1bHQ7XG4kaGlnaGxpZ2h0LWNvbG9yOiAjZmZlOWIzICFkZWZhdWx0O1xuJGJvZHktYmc6ICRiZy1jb2xvci1saWdodCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yLWRhcms6IGRhcmtlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRsaW5rLWNvbG9yLWxpZ2h0OiBsaWdodGVuKCRsaW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBGb250c1xuLy8gQ3JlZGl0OiBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE1LzExL3VzaW5nLXN5c3RlbS11aS1mb250cy1wcmFjdGljYWwtZ3VpZGUvXG4kYmFzZS1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvICFkZWZhdWx0O1xuJG1vbm8tZm9udC1mYW1pbHk6IFwiU0YgTW9ub1wiLCBcIlNlZ29lIFVJIE1vbm9cIiwgXCJSb2JvdG8gTW9ub1wiLCBNZW5sbywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZhbGxiYWNrLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kY2prLXpoLWhhbnMtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIlBpbmdGYW5nIFNDXCIsIFwiSGlyYWdpbm8gU2FucyBHQlwiLCBcIk1pY3Jvc29mdCBZYUhlaVwiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLXpoLWhhbnQtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIlBpbmdGYW5nIFRDXCIsIFwiSGlyYWdpbm8gU2FucyBDTlNcIiwgXCJNaWNyb3NvZnQgSmhlbmdIZWlcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay1qcC1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiSGlyYWdpbm8gU2Fuc1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIll1IEdvdGhpY1wiLCBZdUdvdGhpYywgTWVpcnlvLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY2prLWtvLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJNYWxndW4gR290aGljXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRib2R5LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBVbml0IHNpemVzXG4kdW5pdC1vOiAuMDVyZW0gIWRlZmF1bHQ7XG4kdW5pdC1oOiAuMXJlbSAhZGVmYXVsdDtcbiR1bml0LTE6IC4ycmVtICFkZWZhdWx0O1xuJHVuaXQtMjogLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC0zOiAuNnJlbSAhZGVmYXVsdDtcbiR1bml0LTQ6IC44cmVtICFkZWZhdWx0O1xuJHVuaXQtNTogMXJlbSAhZGVmYXVsdDtcbiR1bml0LTY6IDEuMnJlbSAhZGVmYXVsdDtcbiR1bml0LTc6IDEuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTg6IDEuNnJlbSAhZGVmYXVsdDtcbiR1bml0LTk6IDEuOHJlbSAhZGVmYXVsdDtcbiR1bml0LTEwOiAycmVtICFkZWZhdWx0O1xuJHVuaXQtMTI6IDIuNHJlbSAhZGVmYXVsdDtcbiR1bml0LTE2OiAzLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIEZvbnQgc2l6ZXNcbiRodG1sLWZvbnQtc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRodG1sLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206IC43cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sZzogLjlyZW0gIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQ6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8gU2l6ZXNcbiRsYXlvdXQtc3BhY2luZzogJHVuaXQtMiAhZGVmYXVsdDtcbiRsYXlvdXQtc3BhY2luZy1zbTogJHVuaXQtMSAhZGVmYXVsdDtcbiRsYXlvdXQtc3BhY2luZy1sZzogJHVuaXQtNCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAkdW5pdC1oICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aDogJHVuaXQtbyAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGgtbGc6ICR1bml0LWggIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplOiAkdW5pdC05ICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZS1zbTogJHVuaXQtNyAhZGVmYXVsdDtcbiRjb250cm9sLXNpemUtbGc6ICR1bml0LTEwICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14OiAkdW5pdC0yICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14LXNtOiAkdW5pdC0yICogLjc1ICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy14LWxnOiAkdW5pdC0yICogMS41ICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15OiAoJGNvbnRyb2wtc2l6ZSAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteS1zbTogKCRjb250cm9sLXNpemUtc20gLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXktbGc6ICgkY29udHJvbC1zaXplLWxnIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtaWNvbi1zaXplOiAuOHJlbSAhZGVmYXVsdDtcblxuJGNvbnRyb2wtd2lkdGgteHM6IDE4MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtc206IDMyMHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtbWQ6IDY0MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgtbGc6IDk2MHB4ICFkZWZhdWx0O1xuJGNvbnRyb2wtd2lkdGgteGw6IDEyODBweCAhZGVmYXVsdDtcblxuLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50c1xuJHNpemUteHM6IDQ4MHB4ICFkZWZhdWx0O1xuJHNpemUtc206IDYwMHB4ICFkZWZhdWx0O1xuJHNpemUtbWQ6IDg0MHB4ICFkZWZhdWx0O1xuJHNpemUtbGc6IDk2MHB4ICFkZWZhdWx0O1xuJHNpemUteGw6IDEyODBweCAhZGVmYXVsdDtcbiRzaXplLTJ4OiAxNDQwcHggIWRlZmF1bHQ7XG5cbiRyZXNwb25zaXZlLWJyZWFrcG9pbnQ6ICRzaXplLXhzICFkZWZhdWx0O1xuXG4vLyBaLWluZGV4XG4kemluZGV4LTA6IDEgIWRlZmF1bHQ7XG4kemluZGV4LTE6IDEwMCAhZGVmYXVsdDtcbiR6aW5kZXgtMjogMjAwICFkZWZhdWx0O1xuJHppbmRleC0zOiAzMDAgIWRlZmF1bHQ7XG4kemluZGV4LTQ6IDQwMCAhZGVmYXVsdDtcbiIsIi8vIE1peGluc1xuQGltcG9ydCBcIm1peGlucy9hdmF0YXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbG9yXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xhYmVsXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3RvYXN0XCI7IiwiLy8gQXZhdGFyIG1peGluXG5AbWl4aW4gYXZhdGFyLWJhc2UoJHNpemU6ICR1bml0LTgpIHtcbiAgZm9udC1zaXplOiAkc2l6ZSAvIDI7XG4gIGhlaWdodDogJHNpemU7XG4gIHdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50IG1peGluXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMyUpO1xuICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkY29sb3IpO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDIlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvciwgNyUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG4gICYubG9hZGluZyB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtY29sb3I7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkY29sb3IpO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLCA1MCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMiUpO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmLmxvYWRpbmcge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDbGVhcmZpeCBtaXhpblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiLy8gQmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IG1peGluXG5AbWl4aW4gYmctY29sb3ItdmFyaWFudCgkbmFtZTogXCIuYmctcHJpbWFyeVwiLCAkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICN7JG5hbWV9IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3IgIWltcG9ydGFudDtcblxuICAgIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPCA2MCkge1xuICAgICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGV4dCBjb2xvciB1dGlsaXR5IG1peGluXG5AbWl4aW4gdGV4dC1jb2xvci12YXJpYW50KCRuYW1lOiBcIi50ZXh0LXByaW1hcnlcIiwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAjeyRuYW1lfSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgYSN7JG5hbWV9IHtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDUlKTtcbiAgICB9XG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvciwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gTGFiZWwgYmFzZSBzdHlsZVxuQG1peGluIGxhYmVsLWJhc2UoKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgcGFkZGluZzogLjFyZW0gLjJyZW07XG59XG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcjogJGxpZ2h0LWNvbG9yLCAkYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcbn1cbiIsIi8vIE1hcmdpbiB1dGlsaXR5IG1peGluXG5AbWl4aW4gbWFyZ2luLXZhcmlhbnQoJGlkOiAxLCAkc2l6ZTogJHVuaXQtMSkge1xuICAubS0jeyRpZH0ge1xuICAgIG1hcmdpbjogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYi0jeyRpZH0ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWwtI3skaWR9IHtcbiAgICBtYXJnaW4tbGVmdDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tci0jeyRpZH0ge1xuICAgIG1hcmdpbi1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tdC0jeyRpZH0ge1xuICAgIG1hcmdpbi10b3A6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXgtI3skaWR9IHtcbiAgICBtYXJnaW4tbGVmdDogJHNpemUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXktI3skaWR9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gUGFkZGluZyB1dGlsaXR5IG1peGluXG5AbWl4aW4gcGFkZGluZy12YXJpYW50KCRpZDogMSwgJHNpemU6ICR1bml0LTEpIHtcbiAgLnAtI3skaWR9IHtcbiAgICBwYWRkaW5nOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBiLSN7JGlkfSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucGwtI3skaWR9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHItI3skaWR9IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB0LSN7JGlkfSB7XG4gICAgcGFkZGluZy10b3A6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAucHgtI3skaWR9IHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuICBcbiAgLnB5LSN7JGlkfSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIENvbXBvbmVudCBmb2N1cyBzaGFkb3dcbkBtaXhpbiBjb250cm9sLXNoYWRvdygkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtIHJnYmEoJGNvbG9yLCAuMik7XG59XG5cbi8vIFNoYWRvdyBtaXhpblxuQG1peGluIHNoYWRvdy12YXJpYW50KCRvZmZzZXQpIHtcbiAgYm94LXNoYWRvdzogMCAkb2Zmc2V0ICgkb2Zmc2V0ICsgLjA1cmVtKSAqIDIgcmdiYSgkZGFyay1jb2xvciwgLjMpO1xufVxuIiwiLy8gVGV4dCBFbGxpcHNpc1xuQG1peGluIHRleHQtZWxsaXBzaXMoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gVG9hc3QgdmFyaWFudCBtaXhpblxuQG1peGluIHRvYXN0LXZhcmlhbnQoJGNvbG9yOiAkZGFyay1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvciwgLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBJY29uIHZhcmlhYmxlc1xuJGljb24tYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoLWxnO1xuJGljb24tcHJlZml4OiBcImljb25cIjtcblxuLy8gSWNvbiBiYXNlIHN0eWxlXG4uI3skaWNvbi1wcmVmaXh9IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgaGVpZ2h0OiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxZW07XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIC8vIEljb24gc2l6ZXNcbiAgJi5pY29uLTJ4IHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gICYuaWNvbi0zeCB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cblxuICAmLmljb24tNHgge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICB9XG59XG5cbi8vIENvbXBvbmVudCBpY29uIHN1cHBvcnRcbi5hY2NvcmRpb24sXG4uYnRuLFxuLnRvYXN0LFxuLm1lbnUge1xuICAuI3skaWNvbi1wcmVmaXh9IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTEwJTtcbiAgfVxufVxuXG4uYnRuLWxnIHtcbiAgLiN7JGljb24tcHJlZml4fSB7XG4gICAgdmVydGljYWwtYWxpZ246IC0xNSU7XG4gIH1cbn1cbiIsIi8vIEljb24gYXJyb3dzXG4uaWNvbi1hcnJvdy1kb3duLFxuLmljb24tYXJyb3ctbGVmdCxcbi5pY29uLWFycm93LXJpZ2h0LFxuLmljb24tYXJyb3ctdXAsXG4uaWNvbi1kb3dud2FyZCxcbi5pY29uLWJhY2ssXG4uaWNvbi1mb3J3YXJkLFxuLmljb24tdXB3YXJkIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAuNjVlbTtcbiAgICB3aWR0aDogLjY1ZW07XG4gIH1cbn1cblxuLmljb24tYXJyb3ctZG93biB7XG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTc1JSkgcm90YXRlKDIyNWRlZyk7XG4gIH1cbn1cblxuLmljb24tYXJyb3ctbGVmdCB7XG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTI1JSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cblxuLmljb24tYXJyb3ctcmlnaHQge1xuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03NSUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi5pY29uLWFycm93LXVwIHtcbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMjUlKSByb3RhdGUoNDVkZWcpO1xuICB9XG59XG5cbi5pY29uLWJhY2ssXG4uaWNvbi1mb3J3YXJkIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBoZWlnaHQ6ICRpY29uLWJvcmRlci13aWR0aDtcbiAgICB3aWR0aDogLjhlbTtcbiAgfVxufVxuXG4uaWNvbi1kb3dud2FyZCxcbi5pY29uLXVwd2FyZCB7XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAuOGVtO1xuICAgIHdpZHRoOiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmljb24tYmFjayB7XG4gICY6OmFmdGVyIHtcbiAgICBsZWZ0OiA1NSU7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4uaWNvbi1kb3dud2FyZCB7XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDQ1JTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgfVxufVxuXG4uaWNvbi1mb3J3YXJkIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGxlZnQ6IDQ1JTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi5pY29uLXVwd2FyZCB7XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDU1JTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbn1cblxuLy8gSWNvbiBjYXJldFxuLmljb24tY2FyZXQge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IC4zZW0gc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodDogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTI1JSk7XG4gICAgd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gSWNvbiBtZW51XG4uaWNvbi1tZW51IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtLjM1ZW0sIDAgLjM1ZW07XG4gICAgaGVpZ2h0OiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gSWNvbiBhcHBzXG4uaWNvbi1hcHBzIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm94LXNoYWRvdzogLS4zNWVtIC0uMzVlbSwgLS4zNWVtIDAsIC0uMzVlbSAuMzVlbSwgMCAtLjM1ZW0sIDAgLjM1ZW0sIC4zNWVtIC0uMzVlbSwgLjM1ZW0gMCwgLjM1ZW0gLjM1ZW07XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDNweDtcbiAgfVxufVxuIiwiLy8gSWNvbiByZXNpemVcbi5pY29uLXJlc2l6ZS1ob3Jpeixcbi5pY29uLXJlc2l6ZS12ZXJ0IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGhlaWdodDogLjQ1ZW07XG4gICAgd2lkdGg6IC40NWVtO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTkwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwJSkgcm90YXRlKDIyNWRlZyk7XG4gIH1cbn1cblxuLmljb24tcmVzaXplLWhvcml6IHtcbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtOTAlLCAtNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwJSwgLTUwJSkgcm90YXRlKDEzNWRlZyk7XG4gIH1cbn1cblxuLy8gSWNvbiBtb3JlXG4uaWNvbi1tb3JlLWhvcml6LFxuLmljb24tbW9yZS12ZXJ0IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm94LXNoYWRvdzogLS40ZW0gMCwgLjRlbSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICB3aWR0aDogM3B4O1xuICB9XG59XG5cbi5pY29uLW1vcmUtdmVydCB7XG4gICY6OmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMCAtLjRlbSwgMCAuNGVtO1xuICB9XG59XG5cbi8vIEljb24gcGx1cywgbWludXMsIGNyb3NzXG4uaWNvbi1wbHVzLFxuLmljb24tbWludXMsXG4uaWNvbi1jcm9zcyB7XG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGhlaWdodDogJGljb24tYm9yZGVyLXdpZHRoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5pY29uLXBsdXMsXG4uaWNvbi1jcm9zcyB7XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmljb24tY3Jvc3Mge1xuICAmOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuXG4vLyBJY29uIGNoZWNrXG4uaWNvbi1jaGVjayB7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGhlaWdodDogLjVlbTtcbiAgICB3aWR0aDogLjllbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNzUlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4vLyBJY29uIHN0b3Bcbi5pY29uLXN0b3Age1xuICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICB3aWR0aDogMWVtO1xuICB9XG59XG5cbi8vIEljb24gc2h1dGRvd25cbi5pY29uLXNodXRkb3duIHtcbiAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogLjVlbTtcbiAgICB0b3A6IC4xZW07XG4gICAgd2lkdGg6ICRpY29uLWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4vLyBJY29uIHJlZnJlc2hcbi5pY29uLXJlZnJlc2gge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICB3aWR0aDogMWVtO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6IC4yZW0gc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogODAlO1xuICAgIHRvcDogMjAlO1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbi8vIEljb24gc2VhcmNoXG4uaWNvbi1zZWFyY2gge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAuNzVlbTtcbiAgICBsZWZ0OiA1JTtcbiAgICB0b3A6IDUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgd2lkdGg6IC43NWVtO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gICAgbGVmdDogODAlO1xuICAgIHRvcDogODAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgd2lkdGg6IC40ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBlZGl0XG4uaWNvbi1lZGl0IHtcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAuNGVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00MCUsIC02MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHdpZHRoOiAuODVlbTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAuMTVlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogNSU7XG4gICAgdG9wOiA5NSU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbi8vIEljb24gZGVsZXRlXG4uaWNvbi1kZWxldGUge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBoZWlnaHQ6IC43NWVtO1xuICAgIHRvcDogNjAlO1xuICAgIHdpZHRoOiAuNzVlbTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGJveC1zaGFkb3c6IC0uMjVlbSAuMmVtLCAuMjVlbSAuMmVtO1xuICAgIGhlaWdodDogJGljb24tYm9yZGVyLXdpZHRoO1xuICAgIHRvcDogJGljb24tYm9yZGVyLXdpZHRoLzI7XG4gICAgd2lkdGg6IC41ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBzaGFyZVxuLmljb24tc2hhcmUge1xuICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDA7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgaGVpZ2h0OiAuNGVtO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAuMjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTI1JSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgd2lkdGg6IC40ZW07XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA3NSUgMDtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IC42ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBmbGFnXG4uaWNvbi1mbGFnIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgbGVmdDogMTUlO1xuICAgIHdpZHRoOiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGhlaWdodDogLjY1ZW07XG4gICAgdG9wOiAzNSU7XG4gICAgbGVmdDogNjAlO1xuICAgIHdpZHRoOiAuOGVtO1xuICB9XG59XG5cbi8vIEljb24gYm9va21hcmtcbi5pY29uLWJvb2ttYXJrIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgaGVpZ2h0OiAuOWVtO1xuICAgIHdpZHRoOiAuOGVtO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMzUlKSByb3RhdGUoLTQ1ZGVnKSBza2V3KDE1ZGVnLCAxNWRlZyk7XG4gICAgd2lkdGg6IC41ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBkb3dubG9hZCAmIHVwbG9hZFxuLmljb24tZG93bmxvYWQsXG4uaWNvbi11cGxvYWQge1xuICBib3JkZXItYm90dG9tOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTYwJSkgcm90YXRlKC0xMzVkZWcpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OiAuNmVtO1xuICAgIHRvcDogNDAlO1xuICAgIHdpZHRoOiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmljb24tdXBsb2FkIHtcbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNjAlKSByb3RhdGUoNDVkZWcpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgfVxufVxuXG4vLyBJY29uIGNvcHlcbi5pY29uLWNvcHkge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IC44ZW07XG4gICAgbGVmdDogNDAlO1xuICAgIHRvcDogMzUlO1xuICAgIHdpZHRoOiAuOGVtO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgaGVpZ2h0OiAuOGVtO1xuICAgIGxlZnQ6IDYwJTtcbiAgICB0b3A6IDYwJTtcbiAgICB3aWR0aDogLjhlbTtcbiAgfVxufSIsIi8vIEljb24gdGltZVxuLmljb24tdGltZSB7XG4gIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBoZWlnaHQ6IC40ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTc1JSk7XG4gICAgd2lkdGg6ICRpY29uLWJvcmRlci13aWR0aDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGhlaWdodDogLjNlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNzUlKSByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA5MCU7XG4gICAgd2lkdGg6ICRpY29uLWJvcmRlci13aWR0aDtcbiAgfVxufVxuXG4vLyBJY29uIG1haWxcbi5pY29uLW1haWwge1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBoZWlnaHQ6IC44ZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGhlaWdodDogLjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtOTAlKSByb3RhdGUoLTQ1ZGVnKSBza2V3KDEwZGVnLCAxMGRlZyk7XG4gICAgd2lkdGg6IC41ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBwZW9wbGVcbi5pY29uLXBlb3BsZSB7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IC40NWVtO1xuICAgIHRvcDogMjUlO1xuICAgIHdpZHRoOiAuNDVlbTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgMCAwO1xuICAgIGhlaWdodDogLjRlbTtcbiAgICB0b3A6IDc1JTtcbiAgICB3aWR0aDogLjllbTtcbiAgfVxufVxuXG4vLyBJY29uIG1lc3NhZ2Vcbi5pY29uLW1lc3NhZ2Uge1xuICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGhlaWdodDogLjhlbTtcbiAgICBsZWZ0OiA2NSU7XG4gICAgdG9wOiA0MCU7XG4gICAgd2lkdGg6IC43ZW07XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBoZWlnaHQ6IC4zZW07XG4gICAgbGVmdDogMTAlO1xuICAgIHRvcDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtOTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIHdpZHRoOiAkaWNvbi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gSWNvbiBwaG90b1xuLmljb24tcGhvdG8ge1xuICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAuMjVlbTtcbiAgICBsZWZ0OiAzNSU7XG4gICAgdG9wOiAzNSU7XG4gICAgd2lkdGg6IC4yNWVtO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgbGVmdDogNjAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDI1JSkgcm90YXRlKC00NWRlZyk7XG4gICAgd2lkdGg6IC41ZW07XG4gIH1cbn1cblxuLy8gSWNvbiBsaW5rXG4uaWNvbi1saW5rIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDVlbSAwIDAgNWVtO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IC43NWVtO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTcwJSwgLTQ1JSkgcm90YXRlKC00NWRlZyk7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMCUsIC01NSUpIHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8vIEljb24gbG9jYXRpb25cbi5pY29uLWxvY2F0aW9uIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXI6ICRpY29uLWJvcmRlci13aWR0aCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgMDtcbiAgICBoZWlnaHQ6IC44ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTYwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgd2lkdGg6IC44ZW07XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAuMmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC04MCUpO1xuICAgIHdpZHRoOiAuMmVtO1xuICB9XG59XG5cbi8vIEljb24gZW1vamlcbi5pY29uLWVtb2ppIHtcbiAgYm9yZGVyOiAkaWNvbi1ib3JkZXItd2lkdGggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IC0uMTdlbSAtLjFlbSwgLjE3ZW0gLS4xZW07XG4gICAgaGVpZ2h0OiAuMTVlbTtcbiAgICB3aWR0aDogLjE1ZW07XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlcjogJGljb24tYm9yZGVyLXdpZHRoIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSkgcm90YXRlKC0xMzVkZWcpO1xuICAgIHdpZHRoOiAuNWVtO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsOEVBQW9GO0FhQXBGLEFBQUEsS0FBSyxDQUFZLEVBQ2YsVUFBVSxFQUFFLFVBQVUsRUFDdEIsT0FBTyxFQUFFLFlBQVksRUFDckIsU0FBUyxFQUFFLE9BQU8sRUFDbEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLEdBQUcsRUFDWCxRQUFRLEVBQUUsUUFBUSxFQUNsQixXQUFXLEVBQUUsT0FBTyxFQUNwQixjQUFjLEVBQUUsTUFBTSxFQUN0QixLQUFLLEVBQUUsR0FBRyxHQXVCWDs7QUFoQ0QsQUFVRSxLQVZHLEFBVUYsUUFBUSxFQVZYLEtBQUssQUFXRixPQUFPLENBQUMsRUFDUCxPQUFPLEVBQUUsRUFBRSxFQUNYLE9BQU8sRUFBRSxLQUFLLEVBQ2QsSUFBSSxFQUFFLEdBQUcsRUFDVCxRQUFRLEVBQUUsUUFBUSxFQUNsQixHQUFHLEVBQUUsR0FBRyxFQUNSLFNBQVMsRUFBRSxxQkFBcUIsR0FDakM7O0FBbEJILEFBcUJFLEtBckJHLEFBcUJGLFFBQVEsQ0FBQyxFQUNSLFNBQVMsRUFBRSxNQUFNLEdBQ2xCOztBQXZCSCxBQXlCRSxLQXpCRyxBQXlCRixRQUFRLENBQUMsRUFDUixTQUFTLEVBQUUsTUFBTSxHQUNsQjs7QUEzQkgsQUE2QkUsS0E3QkcsQUE2QkYsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLE1BQU0sR0FDbEI7O0FBSUgsQUFJRSxVQUpRLENBSVIsS0FBSyxFQUhQLElBQUksQ0FHRixLQUFLLEVBRlAsTUFBTSxDQUVKLEtBQUssRUFEUCxLQUFLLENBQ0gsS0FBSyxDQUFZLEVBQ2YsY0FBYyxFQUFFLElBQUksR0FDckI7O0FBR0gsQUFDRSxPQURLLENBQ0wsS0FBSyxDQUFZLEVBQ2YsY0FBYyxFQUFFLElBQUksR0FDckI7O0FDbkRILEFBUUUsZ0JBUmMsQUFRYixRQUFRLEVBUFgsZ0JBQWdCLEFBT2IsUUFBUSxFQU5YLGlCQUFpQixBQU1kLFFBQVEsRUFMWCxjQUFjLEFBS1gsUUFBUSxFQUpYLGNBQWMsQUFJWCxRQUFRLEVBSFgsVUFBVSxBQUdQLFFBQVEsRUFGWCxhQUFhLEFBRVYsUUFBUSxFQURYLFlBQVksQUFDVCxRQUFRLENBQUMsRUFDUixNQUFNLEVaNkNELE1BQUssQ1k3Q2lCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQ2YsTUFBTSxFQUFFLEtBQUssRUFDYixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQUdILEFBQ0UsZ0JBRGMsQUFDYixRQUFRLENBQUMsRUFDUixTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYyxHQUNoRDs7QUFHSCxBQUNFLGdCQURjLEFBQ2IsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBR0gsQUFDRSxpQkFEZSxBQUNkLFFBQVEsQ0FBQyxFQUNSLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjLEdBQ2hEOztBQUdILEFBQ0UsY0FEWSxBQUNYLFFBQVEsQ0FBQyxFQUNSLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhLEdBQy9DOztBQUdILEFBRUUsVUFGUSxBQUVQLE9BQU8sRUFEVixhQUFhLEFBQ1YsT0FBTyxDQUFDLEVBQ1AsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFWlNELE1BQUssRVlSVixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUdILEFBRUUsY0FGWSxBQUVYLE9BQU8sRUFEVixZQUFZLEFBQ1QsT0FBTyxDQUFDLEVBQ1AsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFQUFFLElBQUksRUFDWixLQUFLLEVaREEsTUFBSyxHWUVYOztBQUdILEFBQ0UsVUFEUSxBQUNQLE9BQU8sQ0FBQyxFQUNQLElBQUksRUFBRSxHQUFHLEdBQ1Y7O0FBSEgsQUFJRSxVQUpRLEFBSVAsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBR0gsQUFDRSxjQURZLEFBQ1gsT0FBTyxDQUFDLEVBQ1AsR0FBRyxFQUFFLEdBQUcsR0FDVDs7QUFISCxBQUlFLGNBSlksQUFJWCxRQUFRLENBQUMsRUFDUixTQUFTLEVBQUUscUJBQXFCLENBQUMsZUFBZSxHQUNqRDs7QUFHSCxBQUNFLGFBRFcsQUFDVixPQUFPLENBQUMsRUFDUCxJQUFJLEVBQUUsR0FBRyxHQUNWOztBQUhILEFBSUUsYUFKVyxBQUlWLFFBQVEsQ0FBQyxFQUNSLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjLEdBQ2hEOztBQUdILEFBQ0UsWUFEVSxBQUNULE9BQU8sQ0FBQyxFQUNQLEdBQUcsRUFBRSxHQUFHLEdBQ1Q7O0FBSEgsQUFJRSxZQUpVLEFBSVQsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGFBQWEsR0FDL0M7O0FBSUgsQUFDRSxXQURTLEFBQ1IsUUFBUSxDQUFDLEVBQ1IsVUFBVSxFQUFFLHVCQUF1QixFQUNuQyxZQUFZLEVBQUUsc0JBQXNCLEVBQ3BDLFdBQVcsRUFBRSxzQkFBc0IsRUFDbkMsTUFBTSxFQUFFLENBQUMsRUFDVCxTQUFTLEVBQUUscUJBQXFCLEVBQ2hDLEtBQUssRUFBRSxDQUFDLEdBQ1Q7O0FBSUgsQUFDRSxVQURRLEFBQ1AsUUFBUSxDQUFDLEVBQ1IsVUFBVSxFQUFFLFlBQVksRUFDeEIsVUFBVSxFQUFFLGlCQUFpQixFQUM3QixNQUFNLEVaMURELE1BQUssRVkyRFYsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJSCxBQUNFLFVBRFEsQUFDUCxRQUFRLENBQUMsRUFDUixVQUFVLEVBQUUsWUFBWSxFQUN4QixVQUFVLEVBQUUsNEZBQTRGLEVBQ3hHLE1BQU0sRUFBRSxHQUFHLEVBQ1gsS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUM1SEgsQUFFRSxrQkFGZ0IsQUFFZixRQUFRLEVBRlgsa0JBQWtCLEFBR2YsT0FBTyxFQUZWLGlCQUFpQixBQUNkLFFBQVEsRUFEWCxpQkFBaUIsQUFFZCxPQUFPLENBQUMsRUFDUCxNQUFNLEVia0RELE1BQUssQ2FsRGlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQ2YsTUFBTSxFQUFFLEtBQUssRUFDYixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQVRILEFBVUUsa0JBVmdCLEFBVWYsUUFBUSxFQVRYLGlCQUFpQixBQVNkLFFBQVEsQ0FBQyxFQUNSLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhLEdBQy9DOztBQVpILEFBYUUsa0JBYmdCLEFBYWYsT0FBTyxFQVpWLGlCQUFpQixBQVlkLE9BQU8sQ0FBQyxFQUNQLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjLEdBQ2hEOztBQUdILEFBQ0Usa0JBRGdCLEFBQ2YsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBSEgsQUFJRSxrQkFKZ0IsQUFJZixPQUFPLENBQUMsRUFDUCxTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYyxHQUNoRDs7QUFJSCxBQUVFLGdCQUZjLEFBRWIsUUFBUSxFQURYLGVBQWUsQUFDWixRQUFRLENBQUMsRUFDUixVQUFVLEVBQUUsWUFBWSxFQUN4QixVQUFVLEVBQUUsZUFBZSxFQUMzQixhQUFhLEVBQUUsR0FBRyxFQUNsQixNQUFNLEVBQUUsR0FBRyxFQUNYLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0FBR0gsQUFDRSxlQURhLEFBQ1osUUFBUSxDQUFDLEVBQ1IsVUFBVSxFQUFFLGVBQWUsR0FDNUI7O0FBSUgsQUFHRSxVQUhRLEFBR1AsUUFBUSxFQUZYLFdBQVcsQUFFUixRQUFRLEVBRFgsV0FBVyxBQUNSLFFBQVEsQ0FBQyxFQUNSLFVBQVUsRUFBRSxZQUFZLEVBQ3hCLE1BQU0sRWJHRCxNQUFLLEVhRlYsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFHSCxBQUVFLFVBRlEsQUFFUCxPQUFPLEVBRFYsV0FBVyxBQUNSLE9BQU8sQ0FBQyxFQUNQLFVBQVUsRUFBRSxZQUFZLEVBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQ1osS0FBSyxFYlBBLE1BQUssR2FRWDs7QUFHSCxBQUNFLFdBRFMsQUFDUixRQUFRLENBQUMsRUFDUixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUhILEFBSUUsV0FKUyxBQUlSLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBTkgsQUFPRSxXQVBTLEFBT1IsUUFBUSxFQVBYLFdBQVcsQUFRUixPQUFPLENBQUMsRUFDUCxTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYSxHQUMvQzs7QUFJSCxBQUNFLFdBRFMsQUFDUixRQUFRLENBQUMsRUFDUixNQUFNLEViM0JELE1BQUssQ2EyQmlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLFlBQVksRUFBRSxDQUFDLEVBQ2YsVUFBVSxFQUFFLENBQUMsRUFDYixNQUFNLEVBQUUsSUFBSSxFQUNaLEtBQUssRUFBRSxJQUFJLEVBQ1gsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBSUgsQUFBQSxVQUFVLENBQUMsRUFDVCxNQUFNLEVidENDLE1BQUssQ2FzQ2UsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLEdBQUcsR0FPbkI7O0FBVEQsQUFHRSxVQUhRLEFBR1AsUUFBUSxDQUFDLEVBQ1IsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFYjFDRCxNQUFLLEVhMkNWLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxhQUFhLEVBQzlDLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0FBSUgsQUFBQSxjQUFjLENBQUMsRUFDYixNQUFNLEVibERDLE1BQUssQ2FrRGUsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLEdBQUcsRUFDbEIsZ0JBQWdCLEVBQUUsV0FBVyxHQVE5Qjs7QUFYRCxBQUlFLGNBSlksQUFJWCxRQUFRLENBQUMsRUFDUixVQUFVLEVBQUUsWUFBWSxFQUN4QixPQUFPLEVBQUUsRUFBRSxFQUNYLE1BQU0sRUFBRSxJQUFJLEVBQ1osR0FBRyxFQUFFLElBQUksRUFDVCxLQUFLLEViMURBLE1BQUssR2EyRFg7O0FBSUgsQUFDRSxhQURXLEFBQ1YsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFYmpFRCxNQUFLLENhaUVpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsR0FBRyxFQUNsQixrQkFBa0IsRUFBRSxXQUFXLEVBQy9CLE1BQU0sRUFBRSxHQUFHLEVBQ1gsS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFQSCxBQVFFLGFBUlcsQUFRVixPQUFPLENBQUMsRUFDUCxNQUFNLEVBQUUsdUJBQXVCLEVBQy9CLGdCQUFnQixFQUFFLFdBQVcsRUFDN0IsaUJBQWlCLEVBQUUsV0FBVyxFQUM5QixNQUFNLEVBQUUsQ0FBQyxFQUNULElBQUksRUFBRSxHQUFHLEVBQ1QsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsQ0FBQyxHQUNUOztBQUlILEFBQ0UsWUFEVSxBQUNULFFBQVEsQ0FBQyxFQUNSLE1BQU0sRWJyRkQsTUFBSyxDYXFGaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLEdBQUcsRUFDbEIsTUFBTSxFQUFFLEtBQUssRUFDYixJQUFJLEVBQUUsRUFBRSxFQUNSLEdBQUcsRUFBRSxFQUFFLEVBQ1AsU0FBUyxFQUFFLGVBQWUsQ0FBQyxhQUFhLEVBQ3hDLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBVEgsQUFVRSxZQVZVLEFBVVQsT0FBTyxDQUFDLEVBQ1AsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFYi9GRCxNQUFLLEVhZ0dWLElBQUksRUFBRSxHQUFHLEVBQ1QsR0FBRyxFQUFFLEdBQUcsRUFDUixTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYSxFQUM5QyxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUlILEFBQ0UsVUFEUSxBQUNQLFFBQVEsQ0FBQyxFQUNSLE1BQU0sRWIxR0QsTUFBSyxDYTBHaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsTUFBTSxFQUFFLElBQUksRUFDWixTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYyxFQUMvQyxLQUFLLEVBQUUsS0FBSyxHQUNiOztBQU5ILEFBT0UsVUFQUSxBQU9QLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRUFBRSx3QkFBd0IsRUFDaEMsZ0JBQWdCLEVBQUUsV0FBVyxFQUM3QixrQkFBa0IsRUFBRSxXQUFXLEVBQy9CLE1BQU0sRUFBRSxDQUFDLEVBQ1QsSUFBSSxFQUFFLEVBQUUsRUFDUixHQUFHLEVBQUUsR0FBRyxFQUNSLFNBQVMsRUFBRSxtQkFBbUIsRUFDOUIsS0FBSyxFQUFFLENBQUMsR0FDVDs7QUFJSCxBQUNFLFlBRFUsQUFDVCxRQUFRLENBQUMsRUFDUixNQUFNLEViOUhELE1BQUssQ2E4SGlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLHlCQUF5QixFYi9IcEIsTUFBSyxFYWdJViwwQkFBMEIsRWJoSXJCLE1BQUssRWFpSVYsVUFBVSxFQUFFLENBQUMsRUFDYixNQUFNLEVBQUUsS0FBSyxFQUNiLEdBQUcsRUFBRSxHQUFHLEVBQ1IsS0FBSyxFQUFFLEtBQUssR0FDYjs7QUFUSCxBQVVFLFlBVlUsQUFVVCxPQUFPLENBQUMsRUFDUCxVQUFVLEVBQUUsWUFBWSxFQUN4QixVQUFVLEVBQUUsdUJBQXVCLEVBQ25DLE1BQU0sRWJ6SUQsTUFBSyxFYTBJVixHQUFHLEVBQUUsT0FBb0IsRUFDekIsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJSCxBQUFBLFdBQVcsQ0FBQyxFQUNWLE1BQU0sRWJqSkMsTUFBSyxDYWlKZSxLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVibEpOLE1BQUssRWFtSlosWUFBWSxFQUFFLENBQUMsRUFDZixVQUFVLEVBQUUsQ0FBQyxHQW1CZDs7QUF2QkQsQUFLRSxXQUxTLEFBS1IsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFYnRKRCxNQUFLLENhc0ppQixLQUFLLENBQUMsWUFBWSxFQUM3QyxXQUFXLEVBQUUsQ0FBQyxFQUNkLFVBQVUsRUFBRSxDQUFDLEVBQ2IsTUFBTSxFQUFFLElBQUksRUFDWixJQUFJLEVBQUUsSUFBSSxFQUNWLEdBQUcsRUFBRSxLQUFLLEVBQ1YsU0FBUyxFQUFFLHNCQUFzQixDQUFDLGNBQWMsRUFDaEQsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFkSCxBQWVFLFdBZlMsQUFlUixPQUFPLENBQUMsRUFDUCxNQUFNLEViaEtELE1BQUssQ2FnS2lCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQ2YsYUFBYSxFQUFFLEtBQUssRUFDcEIsTUFBTSxFQUFFLElBQUksRUFDWixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUlILEFBQ0UsVUFEUSxBQUNQLFFBQVEsQ0FBQyxFQUNSLFVBQVUsRUFBRSxZQUFZLEVBQ3hCLE1BQU0sRUFBRSxHQUFHLEVBQ1gsSUFBSSxFQUFFLEdBQUcsRUFDVCxLQUFLLEViL0tBLE1BQUssR2FnTFg7O0FBTkgsQUFPRSxVQVBRLEFBT1AsT0FBTyxDQUFDLEVBQ1AsTUFBTSxFYmxMRCxNQUFLLENha0xpQixLQUFLLENBQUMsWUFBWSxFQUM3QywwQkFBMEIsRWJuTHJCLE1BQUssRWFvTFYsV0FBVyxFQUFFLENBQUMsRUFDZCx1QkFBdUIsRWJyTGxCLE1BQUssRWFzTFYsTUFBTSxFQUFFLEtBQUssRUFDYixHQUFHLEVBQUUsR0FBRyxFQUNSLElBQUksRUFBRSxHQUFHLEVBQ1QsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJSCxBQUNFLGNBRFksQUFDWCxRQUFRLENBQUMsRUFDUixNQUFNLEViaE1ELE1BQUssQ2FnTWlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLHNCQUFzQixFYmxNakIsTUFBSyxFYW1NVix1QkFBdUIsRWJuTWxCLE1BQUssRWFvTVYsTUFBTSxFQUFFLElBQUksRUFDWixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQVJILEFBU0UsY0FUWSxBQVNYLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRWJ4TUQsTUFBSyxDYXdNaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLENBQUMsRUFDaEIsV0FBVyxFQUFFLENBQUMsRUFDZCxhQUFhLEViM01SLE1BQUssRWE0TVYsTUFBTSxFQUFFLElBQUksRUFDWixTQUFTLEVBQUUsb0JBQW9CLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUNqRSxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUlILEFBQUEsY0FBYyxFQUNkLFlBQVksQ0FBQyxFQUNYLGFBQWEsRWJyTk4sTUFBSyxDYXFOc0IsS0FBSyxDQUFDLFlBQVksR0FlckQ7O0FBakJELEFBR0UsY0FIWSxBQUdYLFFBQVEsRUFGWCxZQUFZLEFBRVQsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFYnZORCxNQUFLLENhdU5pQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsQ0FBQyxFQUNoQixZQUFZLEVBQUUsQ0FBQyxFQUNmLE1BQU0sRUFBRSxJQUFJLEVBQ1osS0FBSyxFQUFFLElBQUksRUFDWCxTQUFTLEVBQUUscUJBQXFCLENBQUMsZUFBZSxHQUNqRDs7QUFWSCxBQVdFLGNBWFksQUFXWCxPQUFPLEVBVlYsWUFBWSxBQVVULE9BQU8sQ0FBQyxFQUNQLFVBQVUsRUFBRSxZQUFZLEVBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQ1osR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVibE9BLE1BQUssR2FtT1g7O0FBR0gsQUFDRSxZQURVLEFBQ1QsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGFBQWEsR0FDL0M7O0FBSEgsQUFJRSxZQUpVLEFBSVQsT0FBTyxDQUFDLEVBQ1AsR0FBRyxFQUFFLEdBQUcsR0FDVDs7QUFJSCxBQUNFLFVBRFEsQUFDUCxRQUFRLENBQUMsRUFDUixNQUFNLEVibFBELE1BQUssQ2FrUGlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRWJuUFIsTUFBSyxFYW9QVixZQUFZLEVBQUUsQ0FBQyxFQUNmLGFBQWEsRUFBRSxDQUFDLEVBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQ1osSUFBSSxFQUFFLEdBQUcsRUFDVCxHQUFHLEVBQUUsR0FBRyxFQUNSLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBVkgsQUFXRSxVQVhRLEFBV1AsT0FBTyxDQUFDLEVBQ1AsTUFBTSxFYjVQRCxNQUFLLENhNFBpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEViN1BSLE1BQUssRWE4UFYsTUFBTSxFQUFFLElBQUksRUFDWixJQUFJLEVBQUUsR0FBRyxFQUNULEdBQUcsRUFBRSxHQUFHLEVBQ1IsS0FBSyxFQUFFLElBQUksR0FDWjs7QUN4VEgsQUFBQSxVQUFVLENBQUMsRUFDVCxNQUFNLEVkcURDLE1BQUssQ2NyRGUsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLEdBQUcsR0FjbkI7O0FBaEJELEFBR0UsVUFIUSxBQUdQLFFBQVEsQ0FBQyxFQUNSLFVBQVUsRUFBRSxZQUFZLEVBQ3hCLE1BQU0sRUFBRSxJQUFJLEVBQ1osU0FBUyxFQUFFLHFCQUFxQixFQUNoQyxLQUFLLEVkK0NBLE1BQUssR2M5Q1g7O0FBUkgsQUFTRSxVQVRRLEFBU1AsT0FBTyxDQUFDLEVBQ1AsVUFBVSxFQUFFLFlBQVksRUFDeEIsTUFBTSxFQUFFLElBQUksRUFDWixTQUFTLEVBQUUscUJBQXFCLENBQUMsYUFBYSxFQUM5QyxnQkFBZ0IsRUFBRSxPQUFPLEVBQ3pCLEtBQUssRWR3Q0EsTUFBSyxHY3ZDWDs7QUFJSCxBQUNFLFVBRFEsQUFDUCxRQUFRLENBQUMsRUFDUixNQUFNLEVkaUNELE1BQUssQ2NqQ2lCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRWRnQ1IsTUFBSyxFYy9CVixNQUFNLEVBQUUsSUFBSSxFQUNaLEtBQUssRUFBRSxHQUFHLEdBQ1g7O0FBTkgsQUFPRSxVQVBRLEFBT1AsT0FBTyxDQUFDLEVBQ1AsTUFBTSxFZDJCRCxNQUFLLENjM0JpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxZQUFZLEVBQUUsQ0FBQyxFQUNmLFVBQVUsRUFBRSxDQUFDLEVBQ2IsTUFBTSxFQUFFLElBQUksRUFDWixTQUFTLEVBQUUscUJBQXFCLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUNsRSxLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUlILEFBQ0UsWUFEVSxBQUNULFFBQVEsQ0FBQyxFQUNSLE1BQU0sRWRlRCxNQUFLLENjZmlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLE1BQU0sRUFBRSxLQUFLLEVBQ2IsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQVBILEFBUUUsWUFSVSxBQVFULE9BQU8sQ0FBQyxFQUNQLE1BQU0sRWRRRCxNQUFLLENjUmlCLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRUFBRSxXQUFXLEVBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQ1osR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsSUFBSSxHQUNaOztBQUlILEFBQUEsYUFBYSxDQUFDLEVBQ1osTUFBTSxFZEZDLE1BQUssQ2NFZSxLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsQ0FBQyxFQUNoQixhQUFhLEVkSk4sTUFBSyxFY0taLFlBQVksRUFBRSxDQUFDLEdBb0JoQjs7QUF4QkQsQUFLRSxhQUxXLEFBS1YsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFZFBELE1BQUssQ2NPaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsMEJBQTBCLEVkUnJCLE1BQUssRWNTVixXQUFXLEVBQUUsQ0FBQyxFQUNkLFVBQVUsRUFBRSxDQUFDLEVBQ2IsTUFBTSxFQUFFLElBQUksRUFDWixJQUFJLEVBQUUsR0FBRyxFQUNULEdBQUcsRUFBRSxHQUFHLEVBQ1IsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFkSCxBQWVFLGFBZlcsQUFlVixPQUFPLENBQUMsRUFDUCxVQUFVLEVBQUUsWUFBWSxFQUN4QixhQUFhLEVkbEJSLE1BQUssRWNtQlYsTUFBTSxFQUFFLElBQUksRUFDWixJQUFJLEVBQUUsR0FBRyxFQUNULEdBQUcsRUFBRSxJQUFJLEVBQ1QsU0FBUyxFQUFFLGtCQUFrQixDQUFDLGFBQWEsRUFDM0MsS0FBSyxFZHZCQSxNQUFLLEdjd0JYOztBQUlILEFBQUEsV0FBVyxDQUFDLEVBQ1YsTUFBTSxFZDdCQyxNQUFLLENjNkJlLEtBQUssQ0FBQyxZQUFZLEVBQzdDLGFBQWEsRWQ5Qk4sTUFBSyxHY2dEYjs7QUFwQkQsQUFHRSxXQUhTLEFBR1IsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFZGhDRCxNQUFLLENjZ0NpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsR0FBRyxFQUNsQixNQUFNLEVBQUUsS0FBSyxFQUNiLElBQUksRUFBRSxHQUFHLEVBQ1QsR0FBRyxFQUFFLEdBQUcsRUFDUixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQVZILEFBV0UsV0FYUyxBQVdSLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRWR4Q0QsTUFBSyxDY3dDaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLENBQUMsRUFDaEIsV0FBVyxFQUFFLENBQUMsRUFDZCxNQUFNLEVBQUUsSUFBSSxFQUNaLElBQUksRUFBRSxHQUFHLEVBQ1QsU0FBUyxFQUFFLG9CQUFvQixDQUFDLGNBQWMsRUFDOUMsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJSCxBQUNFLFVBRFEsQUFDUCxRQUFRLEVBRFgsVUFBVSxBQUVQLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRWR0REQsTUFBSyxDY3NEaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsYUFBYSxFQUFFLFdBQVcsRUFDMUIsWUFBWSxFQUFFLENBQUMsRUFDZixNQUFNLEVBQUUsSUFBSSxFQUNaLEtBQUssRUFBRSxLQUFLLEdBQ2I7O0FBUkgsQUFTRSxVQVRRLEFBU1AsUUFBUSxDQUFDLEVBQ1IsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBWEgsQUFZRSxVQVpRLEFBWVAsT0FBTyxDQUFDLEVBQ1AsU0FBUyxFQUFFLHFCQUFxQixDQUFDLGNBQWMsR0FDaEQ7O0FBSUgsQUFDRSxjQURZLEFBQ1gsUUFBUSxDQUFDLEVBQ1IsTUFBTSxFZHZFRCxNQUFLLENjdUVpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsYUFBYSxFQUM1QixNQUFNLEVBQUUsSUFBSSxFQUNaLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjLEVBQy9DLEtBQUssRUFBRSxJQUFJLEdBQ1o7O0FBUEgsQUFRRSxjQVJZLEFBUVgsT0FBTyxDQUFDLEVBQ1AsTUFBTSxFZDlFRCxNQUFLLENjOEVpQixLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsR0FBRyxFQUNsQixNQUFNLEVBQUUsSUFBSSxFQUNaLFNBQVMsRUFBRSxxQkFBcUIsRUFDaEMsS0FBSyxFQUFFLElBQUksR0FDWjs7QUFJSCxBQUFBLFdBQVcsQ0FBQyxFQUNWLE1BQU0sRWR4RkMsTUFBSyxDY3dGZSxLQUFLLENBQUMsWUFBWSxFQUM3QyxhQUFhLEVBQUUsR0FBRyxHQWdCbkI7O0FBbEJELEFBR0UsV0FIUyxBQUdSLFFBQVEsQ0FBQyxFQUNSLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsTUFBTSxFQUFFLEtBQUssRUFDYixLQUFLLEVBQUUsS0FBSyxHQUNiOztBQVJILEFBU0UsV0FUUyxBQVNSLE9BQU8sQ0FBQyxFQUNQLE1BQU0sRWRqR0QsTUFBSyxDY2lHaUIsS0FBSyxDQUFDLFlBQVksRUFDN0MsbUJBQW1CLEVBQUUsV0FBVyxFQUNoQyxhQUFhLEVBQUUsR0FBRyxFQUNsQixrQkFBa0IsRUFBRSxXQUFXLEVBQy9CLE1BQU0sRUFBRSxJQUFJLEVBQ1osU0FBUyxFQUFFLHFCQUFxQixDQUFDLGVBQWUsRUFDaEQsS0FBSyxFQUFFLElBQUksR0FDWiJ9 */ diff --git a/themes/learn4/css-compiled/spectre-icons.min.css b/themes/learn4/css-compiled/spectre-icons.min.css deleted file mode 100644 index 8f00a92e..00000000 --- a/themes/learn4/css-compiled/spectre-icons.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! Spectre.css Icons v0.5.8 | MIT License | github.com/picturepan2/spectre */.icon{font-size:inherit;font-style:normal;position:relative;display:inline-block;box-sizing:border-box;width:1em;height:1em;vertical-align:middle;text-indent:-9999px}.icon::after,.icon::before{position:absolute;top:50%;left:50%;display:block;content:'';transform:translate(-50%,-50%)}.icon.icon-2x{font-size:1.6rem}.icon.icon-3x{font-size:2.4rem}.icon.icon-4x{font-size:3.2rem}.accordion .icon,.btn .icon,.menu .icon,.toast .icon{vertical-align:-10%}.btn-lg .icon{vertical-align:-15%}.icon-arrow-down::before,.icon-arrow-left::before,.icon-arrow-right::before,.icon-arrow-up::before,.icon-back::before,.icon-downward::before,.icon-forward::before,.icon-upward::before{width:.65em;height:.65em;border:.1rem solid currentColor;border-right:0;border-bottom:0}.icon-arrow-down::before{transform:translate(-50%,-75%) rotate(225deg)}.icon-arrow-left::before{transform:translate(-25%,-50%) rotate(-45deg)}.icon-arrow-right::before{transform:translate(-75%,-50%) rotate(135deg)}.icon-arrow-up::before{transform:translate(-50%,-25%) rotate(45deg)}.icon-back::after,.icon-forward::after{width:.8em;height:.1rem;background:currentColor}.icon-downward::after,.icon-upward::after{width:.1rem;height:.8em;background:currentColor}.icon-back::after{left:55%}.icon-back::before{transform:translate(-50%,-50%) rotate(-45deg)}.icon-downward::after{top:45%}.icon-downward::before{transform:translate(-50%,-50%) rotate(-135deg)}.icon-forward::after{left:45%}.icon-forward::before{transform:translate(-50%,-50%) rotate(135deg)}.icon-upward::after{top:55%}.icon-upward::before{transform:translate(-50%,-50%) rotate(45deg)}.icon-caret::before{width:0;height:0;transform:translate(-50%,-25%);border-top:.3em solid currentColor;border-right:.3em solid transparent;border-left:.3em solid transparent}.icon-menu::before{width:100%;height:.1rem;background:currentColor;box-shadow:0 -.35em,0 .35em}.icon-apps::before{width:3px;height:3px;background:currentColor;box-shadow:-.35em -.35em,-.35em 0,-.35em .35em,0 -.35em,0 .35em,.35em -.35em,.35em 0,.35em .35em}.icon-resize-horiz::after,.icon-resize-horiz::before,.icon-resize-vert::after,.icon-resize-vert::before{width:.45em;height:.45em;border:.1rem solid currentColor;border-right:0;border-bottom:0}.icon-resize-horiz::before,.icon-resize-vert::before{transform:translate(-50%,-90%) rotate(45deg)}.icon-resize-horiz::after,.icon-resize-vert::after{transform:translate(-50%,-10%) rotate(225deg)}.icon-resize-horiz::before{transform:translate(-90%,-50%) rotate(-45deg)}.icon-resize-horiz::after{transform:translate(-10%,-50%) rotate(135deg)}.icon-more-horiz::before,.icon-more-vert::before{width:3px;height:3px;border-radius:50%;background:currentColor;box-shadow:-.4em 0,.4em 0}.icon-more-vert::before{box-shadow:0 -.4em,0 .4em}.icon-cross::before,.icon-minus::before,.icon-plus::before{width:100%;height:.1rem;background:currentColor}.icon-cross::after,.icon-plus::after{width:.1rem;height:100%;background:currentColor}.icon-cross::before{width:100%}.icon-cross::after{height:100%}.icon-cross::after,.icon-cross::before{transform:translate(-50%,-50%) rotate(45deg)}.icon-check::before{width:.9em;height:.5em;transform:translate(-50%,-75%) rotate(-45deg);border:.1rem solid currentColor;border-top:0;border-right:0}.icon-stop{border:.1rem solid currentColor;border-radius:50%}.icon-stop::before{width:1em;height:.1rem;transform:translate(-50%,-50%) rotate(45deg);background:currentColor}.icon-shutdown{border:.1rem solid currentColor;border-top-color:transparent;border-radius:50%}.icon-shutdown::before{top:.1em;width:.1rem;height:.5em;content:'';background:currentColor}.icon-refresh::before{width:1em;height:1em;border:.1rem solid currentColor;border-right-color:transparent;border-radius:50%}.icon-refresh::after{top:20%;left:80%;width:0;height:0;border:.2em solid currentColor;border-top-color:transparent;border-left-color:transparent}.icon-search::before{top:5%;left:5%;width:.75em;height:.75em;transform:translate(0,0) rotate(45deg);border:.1rem solid currentColor;border-radius:50%}.icon-search::after{top:80%;left:80%;width:.4em;height:.1rem;transform:translate(-50%,-50%) rotate(45deg);background:currentColor}.icon-edit::before{width:.85em;height:.4em;transform:translate(-40%,-60%) rotate(-45deg);border:.1rem solid currentColor}.icon-edit::after{top:95%;left:5%;width:0;height:0;transform:translate(0,-100%);border:.15em solid currentColor;border-top-color:transparent;border-right-color:transparent}.icon-delete::before{top:60%;width:.75em;height:.75em;border:.1rem solid currentColor;border-top:0;border-bottom-right-radius:.1rem;border-bottom-left-radius:.1rem}.icon-delete::after{top:.05rem;width:.5em;height:.1rem;background:currentColor;box-shadow:-.25em .2em,.25em .2em}.icon-share{border:.1rem solid currentColor;border-top:0;border-right:0;border-radius:.1rem}.icon-share::before{top:.25em;left:100%;width:.4em;height:.4em;transform:translate(-125%,-50%) rotate(-45deg);border:.1rem solid currentColor;border-top:0;border-left:0}.icon-share::after{width:.6em;height:.5em;border:.1rem solid currentColor;border-right:0;border-bottom:0;border-radius:75% 0}.icon-flag::before{left:15%;width:.1rem;height:1em;background:currentColor}.icon-flag::after{top:35%;left:60%;width:.8em;height:.65em;border:.1rem solid currentColor;border-left:0;border-top-right-radius:.1rem;border-bottom-right-radius:.1rem}.icon-bookmark::before{width:.8em;height:.9em;border:.1rem solid currentColor;border-bottom:0;border-top-left-radius:.1rem;border-top-right-radius:.1rem}.icon-bookmark::after{width:.5em;height:.5em;transform:translate(-50%,35%) rotate(-45deg) skew(15deg,15deg);border:.1rem solid currentColor;border-bottom:0;border-left:0;border-radius:.1rem}.icon-download,.icon-upload{border-bottom:.1rem solid currentColor}.icon-download::before,.icon-upload::before{width:.5em;height:.5em;transform:translate(-50%,-60%) rotate(-135deg);border:.1rem solid currentColor;border-right:0;border-bottom:0}.icon-download::after,.icon-upload::after{top:40%;width:.1rem;height:.6em;background:currentColor}.icon-upload::before{transform:translate(-50%,-60%) rotate(45deg)}.icon-upload::after{top:50%}.icon-copy::before{top:35%;left:40%;width:.8em;height:.8em;border:.1rem solid currentColor;border-right:0;border-bottom:0;border-radius:.1rem}.icon-copy::after{top:60%;left:60%;width:.8em;height:.8em;border:.1rem solid currentColor;border-radius:.1rem}.icon-time{border:.1rem solid currentColor;border-radius:50%}.icon-time::before{width:.1rem;height:.4em;transform:translate(-50%,-75%);background:currentColor}.icon-time::after{width:.1rem;height:.3em;transform:translate(-50%,-75%) rotate(90deg);transform-origin:50% 90%;background:currentColor}.icon-mail::before{width:1em;height:.8em;border:.1rem solid currentColor;border-radius:.1rem}.icon-mail::after{width:.5em;height:.5em;transform:translate(-50%,-90%) rotate(-45deg) skew(10deg,10deg);border:.1rem solid currentColor;border-top:0;border-right:0}.icon-people::before{top:25%;width:.45em;height:.45em;border:.1rem solid currentColor;border-radius:50%}.icon-people::after{top:75%;width:.9em;height:.4em;border:.1rem solid currentColor;border-radius:50% 50% 0 0}.icon-message{border:.1rem solid currentColor;border-right:0;border-bottom:0;border-radius:.1rem}.icon-message::before{top:40%;left:65%;width:.7em;height:.8em;border:.1rem solid currentColor;border-top:0;border-left:0;border-bottom-right-radius:.1rem}.icon-message::after{top:100%;left:10%;width:.1rem;height:.3em;transform:translate(0,-90%) rotate(45deg);border-radius:.1rem;background:currentColor}.icon-photo{border:.1rem solid currentColor;border-radius:.1rem}.icon-photo::before{top:35%;left:35%;width:.25em;height:.25em;border:.1rem solid currentColor;border-radius:50%}.icon-photo::after{left:60%;width:.5em;height:.5em;transform:translate(-50%,25%) rotate(-45deg);border:.1rem solid currentColor;border-bottom:0;border-left:0}.icon-link::after,.icon-link::before{width:.75em;height:.5em;border:.1rem solid currentColor;border-right:0;border-radius:5em 0 0 5em}.icon-link::before{transform:translate(-70%,-45%) rotate(-45deg)}.icon-link::after{transform:translate(-30%,-55%) rotate(135deg)}.icon-location::before{width:.8em;height:.8em;transform:translate(-50%,-60%) rotate(-45deg);border:.1rem solid currentColor;border-radius:50% 50% 50% 0}.icon-location::after{width:.2em;height:.2em;transform:translate(-50%,-80%);border:.1rem solid currentColor;border-radius:50%}.icon-emoji{border:.1rem solid currentColor;border-radius:50%}.icon-emoji::before{width:.15em;height:.15em;border-radius:50%;box-shadow:-.17em -.1em,.17em -.1em}.icon-emoji::after{width:.5em;height:.5em;transform:translate(-50%,-40%) rotate(-135deg);border:.1rem solid currentColor;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%} \ No newline at end of file diff --git a/themes/learn4/css-compiled/spectre.css b/themes/learn4/css-compiled/spectre.css deleted file mode 100644 index 7d475529..00000000 --- a/themes/learn4/css-compiled/spectre.css +++ /dev/null @@ -1,1251 +0,0 @@ -/*! Spectre.css v0.5.8 | MIT License | github.com/picturepan2/spectre */ -/* Manually forked from Normalize.css */ -/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ -/** 1. Change the default font family in all browsers (opinionated). 2. Correct the line height in all browsers. 3. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. */ -/* Document ========================================================================== */ -html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 3 */ -webkit-text-size-adjust: 100%; /* 3 */ } - -/* Sections ========================================================================== */ -/** Remove the margin in all browsers (opinionated). */ -body { margin: 0; } - -/** Add the correct display in IE 9-. */ -article, aside, footer, header, nav, section { display: block; } - -/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */ -h1 { font-size: 2em; margin: 0.67em 0; } - -/* Grouping content ========================================================================== */ -/** Add the correct display in IE 9-. 1. Add the correct display in IE. */ -figcaption, figure, main { /* 1 */ display: block; } - -/** Add the correct margin in IE 8 (removed). */ -/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */ -hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ } - -/** 1. Correct the inheritance and scaling of font size in all browsers. (removed) 2. Correct the odd `em` font sizing in all browsers. */ -/* Text-level semantics ========================================================================== */ -/** 1. Remove the gray background on active links in IE 10. 2. Remove gaps in links underline in iOS 8+ and Safari 8+. */ -a { background-color: transparent; /* 1 */ -webkit-text-decoration-skip: objects; /* 2 */ } - -/** Remove the outline on focused links when they are also active or hovered in all browsers (opinionated). */ -a:active, a:hover { outline-width: 0; } - -/** Modify default styling of address. */ -address { font-style: normal; } - -/** 1. Remove the bottom border in Firefox 39-. 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) */ -/** Prevent the duplicate application of `bolder` by the next rule in Safari 6. */ -b, strong { font-weight: inherit; } - -/** Add the correct font weight in Chrome, Edge, and Safari. */ -b, strong { font-weight: bolder; } - -/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */ -code, kbd, pre, samp { font-family: "Hack", monospace; /* 1 (changed) */ font-size: 1em; /* 2 */ } - -/** Add the correct font style in Android 4.3-. */ -dfn { font-style: italic; } - -/** Add the correct background and color in IE 9-. (Removed) */ -/** Add the correct font size in all browsers. */ -small { font-size: 80%; font-weight: 400; /* (added) */ } - -/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */ -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } - -sub { bottom: -0.25em; } - -sup { top: -0.5em; } - -/* Embedded content ========================================================================== */ -/** Add the correct display in IE 9-. */ -audio, video { display: inline-block; } - -/** Add the correct display in iOS 4-7. */ -audio:not([controls]) { display: none; height: 0; } - -/** Remove the border on images inside links in IE 10-. */ -img { border-style: none; } - -/** Hide the overflow in IE. */ -svg:not(:root) { overflow: hidden; } - -/* Forms ========================================================================== */ -/** 1. Change the font styles in all browsers (opinionated). 2. Remove the margin in Firefox and Safari. */ -button, input, optgroup, select, textarea { font-family: inherit; /* 1 (changed) */ font-size: inherit; /* 1 (changed) */ line-height: inherit; /* 1 (changed) */ margin: 0; /* 2 */ } - -/** Show the overflow in IE. 1. Show the overflow in Edge. */ -button, input { /* 1 */ overflow: visible; } - -/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */ -button, select { /* 1 */ text-transform: none; } - -/** 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` controls in Android 4. 2. Correct the inability to style clickable types in iOS and Safari. */ -button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* 2 */ } - -/** Remove the inner border and padding in Firefox. */ -button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; } - -/** Restore the focus styles unset by the previous rule (removed). */ -/** Change the border, margin, and padding in all browsers (opinionated) (changed). */ -fieldset { border: 0; margin: 0; padding: 0; } - -/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */ -legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ } - -/** 1. Add the correct display in IE 9-. 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. */ -progress { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ } - -/** Remove the default vertical scrollbar in IE. */ -textarea { overflow: auto; } - -/** 1. Add the correct box sizing in IE 10-. 2. Remove the padding in IE 10-. */ -[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ } - -/** Correct the cursor style of increment and decrement buttons in Chrome. */ -[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; } - -/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */ -[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } - -/** Remove the inner padding and cancel buttons in Chrome and Safari on macOS. */ -[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; } - -/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */ -::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } - -/* Interactive ========================================================================== */ -/* Add the correct display in IE 9-. 1. Add the correct display in Edge, IE, and Firefox. */ -details, menu { display: block; } - -/* Add the correct display in all browsers. */ -summary { display: list-item; outline: none; } - -/* Scripting ========================================================================== */ -/** Add the correct display in IE 9-. */ -canvas { display: inline-block; } - -/** Add the correct display in IE. */ -template { display: none; } - -/* Hidden ========================================================================== */ -/** Add the correct display in IE 10-. */ -[hidden] { display: none; } - -*, *::before, *::after { box-sizing: inherit; } - -html { box-sizing: border-box; font-size: 20px; line-height: 1.5; -webkit-tap-highlight-color: transparent; } - -body { background: #fff; color: #3a414e; font-family: "Public Sans", "Helvetica Neue", sans-serif; font-size: 0.85rem; overflow-x: hidden; text-rendering: optimizeLegibility; } - -a { color: #1195dc; outline: none; text-decoration: none; } - -a:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); } - -a:focus, a:hover, a:active, a.active { color: #0e75ad; text-decoration: underline; } - -a:visited { color: #32acef; } - -h1, h2, h3, h4, h5, h6 { color: inherit; font-weight: 500; line-height: 1.2; margin-bottom: .5em; margin-top: 0; } - -.h1, .h2, .h3, .h4, .h5, .h6 { font-weight: 500; } - -h1, .h1 { font-size: 2rem; } - -h2, .h2 { font-size: 1.6rem; } - -h3, .h3 { font-size: 1.4rem; } - -h4, .h4 { font-size: 1.2rem; } - -h5, .h5 { font-size: 1rem; } - -h6, .h6 { font-size: .8rem; } - -p { margin: 0 0 1.2rem; } - -a, ins, u { -webkit-text-decoration-skip: ink edges; text-decoration-skip: ink edges; } - -abbr[title] { border-bottom: 0.05rem dotted; cursor: help; text-decoration: none; } - -kbd { border-radius: 0.1rem; line-height: 1.25; padding: .1rem .2rem; background: #454d5d; color: #fff; font-size: 0.7rem; } - -mark { background: #ffe9b3; color: #3a414e; border-bottom: 0.05rem solid #ffd367; border-radius: 0.1rem; padding: 0.05rem 0.1rem 0; } - -blockquote { border-left: 0.1rem solid #e7e9ed; margin-left: 0; padding: 0.4rem 0.8rem; } - -blockquote p:last-child { margin-bottom: 0; } - -ul, ol { margin: 0.8rem 0 0.8rem 0.8rem; padding: 0; } - -ul ul, ul ol, ol ul, ol ol { margin: 0.8rem 0 0.8rem 0.8rem; } - -ul li, ol li { margin-top: 0.4rem; } - -ul { list-style: disc inside; } - -ul ul { list-style-type: circle; } - -ol { list-style: decimal inside; } - -ol ol { list-style-type: lower-alpha; } - -dl dt { font-weight: bold; } - -dl dd { margin: 0.4rem 0 0.8rem 0; } - -html:lang(zh), html:lang(zh-Hans), .lang-zh, .lang-zh-hans { font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif; } - -html:lang(zh-Hant), .lang-zh-hant { font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei", "Helvetica Neue", sans-serif; } - -html:lang(ja), .lang-ja { font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, "Helvetica Neue", sans-serif; } - -html:lang(ko), .lang-ko { font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Malgun Gothic", "Helvetica Neue", sans-serif; } - -:lang(zh) ins, :lang(zh) u, :lang(ja) ins, :lang(ja) u, .lang-cjk ins, .lang-cjk u { border-bottom: 0.05rem solid; text-decoration: none; } - -:lang(zh) del + del, :lang(zh) del + s, :lang(zh) ins + ins, :lang(zh) ins + u, :lang(zh) s + del, :lang(zh) s + s, :lang(zh) u + ins, :lang(zh) u + u, :lang(ja) del + del, :lang(ja) del + s, :lang(ja) ins + ins, :lang(ja) ins + u, :lang(ja) s + del, :lang(ja) s + s, :lang(ja) u + ins, :lang(ja) u + u, .lang-cjk del + del, .lang-cjk del + s, .lang-cjk ins + ins, .lang-cjk ins + u, .lang-cjk s + del, .lang-cjk s + s, .lang-cjk u + ins, .lang-cjk u + u { margin-left: .125em; } - -.table { border-collapse: collapse; border-spacing: 0; width: 100%; text-align: left; } - -.table.table-striped tbody tr:nth-of-type(odd) { background: #f8f9fa; } - -.table tbody tr.active, .table.table-striped tbody tr.active { background: #f0f1f4; } - -.table.table-hover tbody tr:hover { background: #f0f1f4; } - -.table.table-scroll { display: block; overflow-x: auto; padding-bottom: .75rem; white-space: nowrap; } - -.table td, .table th { border-bottom: 0.05rem solid #e7e9ed; padding: 0.6rem 0.4rem; } - -.table th { border-bottom-width: 0.1rem; } - -.btn, .button { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff; border: 0.05rem solid #1AA3ED; border-radius: 0.1rem; color: #1AA3ED; cursor: pointer; display: inline-block; font-size: 0.85rem; height: 1.8rem; line-height: 1.2rem; outline: none; padding: 0.25rem 0.4rem; text-align: center; text-decoration: none; transition: background .2s, border .2s, box-shadow .2s, color .2s; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; vertical-align: middle; white-space: nowrap; } - -.btn:focus, .button:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); } - -.btn:focus, .button:focus, .btn:hover, .button:hover { background: #38C5C7; border-color: #129be6; text-decoration: none; } - -.btn:active, .button:active, .btn.active, .active.button { background: #129be6; border-color: #108bce; color: #fff; text-decoration: none; } - -.btn:active.loading::after, .button:active.loading::after, .btn.active.loading::after, .active.loading.button::after { border-bottom-color: #fff; border-left-color: #fff; } - -.btn[disabled], .button[disabled], .btn:disabled, .button:disabled, .btn.disabled, .disabled.button { cursor: default; opacity: .5; pointer-events: none; } - -.btn.btn-primary, .btn-primary.button { background: #1AA3ED; border-color: #129be6; color: #fff; } - -.btn.btn-primary:focus, .btn-primary.button:focus, .btn.btn-primary:hover, .btn-primary.button:hover { background: #1195dc; border-color: #108bce; color: #fff; } - -.btn.btn-primary:active, .btn-primary.button:active, .btn.btn-primary.active, .btn-primary.active.button { background: #118fd3; border-color: #0f85c5; color: #fff; } - -.btn.btn-primary.loading::after, .btn-primary.loading.button::after { border-bottom-color: #fff; border-left-color: #fff; } - -.btn.btn-success, .btn-success.button { background: #32b643; border-color: #2faa3f; color: #fff; } - -.btn.btn-success:focus, .btn-success.button:focus { box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2); } - -.btn.btn-success:focus, .btn-success.button:focus, .btn.btn-success:hover, .btn-success.button:hover { background: #30ae40; border-color: #2da23c; color: #fff; } - -.btn.btn-success:active, .btn-success.button:active, .btn.btn-success.active, .btn-success.active.button { background: #2a9a39; border-color: #278e34; color: #fff; } - -.btn.btn-success.loading::after, .btn-success.loading.button::after { border-bottom-color: #fff; border-left-color: #fff; } - -.btn.btn-error, .btn-error.button { background: #e85600; border-color: #d95000; color: #fff; } - -.btn.btn-error:focus, .btn-error.button:focus { box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); } - -.btn.btn-error:focus, .btn-error.button:focus, .btn.btn-error:hover, .btn-error.button:hover { background: #de5200; border-color: #cf4d00; color: #fff; } - -.btn.btn-error:active, .btn-error.button:active, .btn.btn-error.active, .btn-error.active.button { background: #c44900; border-color: #b54300; color: #fff; } - -.btn.btn-error.loading::after, .btn-error.loading.button::after { border-bottom-color: #fff; border-left-color: #fff; } - -.btn.btn-link, .btn-link.button { background: transparent; border-color: transparent; color: #1195dc; } - -.btn.btn-link:focus, .btn-link.button:focus, .btn.btn-link:hover, .btn-link.button:hover, .btn.btn-link:active, .btn-link.button:active, .btn.btn-link.active, .btn-link.active.button { color: #0e75ad; } - -.btn.btn-sm, .btn-sm.button { font-size: 0.7rem; height: 1.4rem; padding: 0.05rem 0.3rem; } - -.btn.btn-lg, .btn-lg.button { font-size: 0.9rem; height: 2rem; padding: 0.35rem 0.6rem; } - -.btn.btn-block, .btn-block.button { display: block; width: 100%; } - -.btn.btn-action, .btn-action.button { width: 1.8rem; padding-left: 0; padding-right: 0; } - -.btn.btn-action.btn-sm, .btn-action.btn-sm.button { width: 1.4rem; } - -.btn.btn-action.btn-lg, .btn-action.btn-lg.button { width: 2rem; } - -.btn.btn-clear, .btn-clear.button { background: transparent; border: 0; color: currentColor; height: 1rem; line-height: 0.8rem; margin-left: 0.2rem; margin-right: -2px; opacity: 1; padding: 0.1rem; text-decoration: none; width: 1rem; } - -.btn.btn-clear:focus, .btn-clear.button:focus, .btn.btn-clear:hover, .btn-clear.button:hover { background: rgba(248, 249, 250, 0.5); opacity: .95; } - -.btn.btn-clear::before, .btn-clear.button::before { content: "\2715"; } - -.btn-group { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } - -.btn-group .btn, .btn-group .button { -ms-flex: 1 0 auto; flex: 1 0 auto; } - -.btn-group .btn:first-child:not(:last-child), .btn-group .button:first-child:not(:last-child) { border-bottom-right-radius: 0; border-top-right-radius: 0; } - -.btn-group .btn:not(:first-child):not(:last-child), .btn-group .button:not(:first-child):not(:last-child) { border-radius: 0; margin-left: -0.05rem; } - -.btn-group .btn:last-child:not(:first-child), .btn-group .button:last-child:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; margin-left: -0.05rem; } - -.btn-group .btn:focus, .btn-group .button:focus, .btn-group .btn:hover, .btn-group .button:hover, .btn-group .btn:active, .btn-group .button:active, .btn-group .btn.active, .btn-group .active.button { z-index: 1; } - -.btn-group.btn-group-block { display: -ms-flexbox; display: flex; } - -.btn-group.btn-group-block .btn, .btn-group.btn-group-block .button { -ms-flex: 1 0 0px; flex: 1 0 0; } - -.form-group:not(:last-child) { margin-bottom: 0.4rem; } - -fieldset { margin-bottom: 0.8rem; } - -legend { font-size: 0.9rem; font-weight: 500; margin-bottom: 0.8rem; } - -.form-label { display: block; line-height: 1.2rem; padding: 0.3rem 0; } - -.form-label.label-sm { font-size: 0.7rem; padding: 0.1rem 0; } - -.form-label.label-lg { font-size: 0.9rem; padding: 0.4rem 0; } - -.form-input, .search-input, [data-grav-field="array"] input, [data-grav-field="array"] textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff; background-image: none; border: 0.05rem solid #caced7; border-radius: 0.1rem; color: #3a414e; display: block; font-size: 0.85rem; height: 1.8rem; line-height: 1.2rem; max-width: 100%; outline: none; padding: 0.25rem 0.4rem; position: relative; transition: background .2s, border .2s, box-shadow .2s, color .2s; width: 100%; } - -.form-input:focus, .search-input:focus, [data-grav-field="array"] input:focus, [data-grav-field="array"] textarea:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); border-color: #1AA3ED; } - -.form-input:-ms-input-placeholder, .search-input:-ms-input-placeholder, [data-grav-field="array"] input:-ms-input-placeholder, [data-grav-field="array"] textarea:-ms-input-placeholder { color: #acb3c2; } - -.form-input::-ms-input-placeholder, .search-input::-ms-input-placeholder, [data-grav-field="array"] input::-ms-input-placeholder, [data-grav-field="array"] textarea::-ms-input-placeholder { color: #acb3c2; } - -.form-input::placeholder, .search-input::placeholder, [data-grav-field="array"] input::placeholder, [data-grav-field="array"] textarea::placeholder { color: #acb3c2; } - -.form-input.input-sm, .input-sm.search-input, [data-grav-field="array"] input.input-sm, [data-grav-field="array"] textarea.input-sm { font-size: 0.7rem; height: 1.4rem; padding: 0.05rem 0.3rem; } - -.form-input.input-lg, .input-lg.search-input, [data-grav-field="array"] input.input-lg, [data-grav-field="array"] textarea.input-lg { font-size: 0.9rem; height: 2rem; padding: 0.35rem 0.6rem; } - -.form-input.input-inline, .input-inline.search-input, [data-grav-field="array"] input.input-inline, [data-grav-field="array"] textarea.input-inline { display: inline-block; vertical-align: middle; width: auto; } - -.form-input[type="file"], .search-input[type="file"], [data-grav-field="array"] input[type="file"], [data-grav-field="array"] textarea[type="file"] { height: auto; } - -textarea.form-input, textarea.search-input, [data-grav-field="array"] textarea, textarea.form-input.input-lg, textarea.input-lg.search-input, [data-grav-field="array"] textarea.input-lg, textarea.form-input.input-sm, textarea.input-sm.search-input, [data-grav-field="array"] textarea.input-sm { height: auto; } - -.form-input-hint { color: #acb3c2; font-size: 0.7rem; margin-top: 0.2rem; } - -.has-success .form-input-hint, .is-success + .form-input-hint { color: #32b643; } - -.has-error .form-input-hint, .is-error + .form-input-hint { color: #e85600; } - -.form-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: 0.05rem solid #caced7; border-radius: 0.1rem; color: inherit; font-size: 0.85rem; height: 1.8rem; line-height: 1.2rem; outline: none; padding: 0.25rem 0.4rem; vertical-align: middle; width: 100%; background: #fff; } - -.form-select:focus { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); border-color: #1AA3ED; } - -.form-select::-ms-expand { display: none; } - -.form-select.select-sm { font-size: 0.7rem; height: 1.4rem; padding: 0.05rem 1.1rem 0.05rem 0.3rem; } - -.form-select.select-lg { font-size: 0.9rem; height: 2rem; padding: 0.35rem 1.4rem 0.35rem 0.6rem; } - -.form-select[size], .form-select[multiple] { height: auto; padding: 0.25rem 0.4rem; } - -.form-select[size] option, .form-select[multiple] option { padding: 0.1rem 0.2rem; } - -.form-select:not([multiple]):not([size]) { background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right 0.35rem center/0.4rem 0.5rem; padding-right: 1.2rem; } - -.has-icon-left, .has-icon-right { position: relative; } - -.has-icon-left .form-icon, .has-icon-right .form-icon { height: 0.8rem; margin: 0 0.25rem; position: absolute; top: 50%; transform: translateY(-50%); width: 0.8rem; z-index: 2; } - -.has-icon-left .form-icon { left: 0.05rem; } - -.has-icon-left .form-input, .has-icon-left .search-input, .has-icon-left [data-grav-field="array"] input, [data-grav-field="array"] .has-icon-left input, .has-icon-left [data-grav-field="array"] textarea, [data-grav-field="array"] .has-icon-left textarea { padding-left: 1.3rem; } - -.has-icon-right .form-icon { right: 0.05rem; } - -.has-icon-right .form-input, .has-icon-right .search-input, .has-icon-right [data-grav-field="array"] input, [data-grav-field="array"] .has-icon-right input, .has-icon-right [data-grav-field="array"] textarea, [data-grav-field="array"] .has-icon-right textarea { padding-right: 1.3rem; } - -.form-checkbox, .form-radio, .form-switch { display: block; line-height: 1.2rem; margin: 0.2rem 0; min-height: 1.4rem; padding: 0.1rem 0.4rem 0.1rem 1.2rem; position: relative; } - -.form-checkbox input, .form-radio input, .form-switch input { clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; } - -.form-checkbox input:focus + .form-icon, .form-radio input:focus + .form-icon, .form-switch input:focus + .form-icon { box-shadow: 0 0 0 0.1rem rgba(26, 163, 237, 0.2); border-color: #1AA3ED; } - -.form-checkbox input:checked + .form-icon, .form-radio input:checked + .form-icon, .form-switch input:checked + .form-icon { background: #1AA3ED; border-color: #1AA3ED; } - -.form-checkbox .form-icon, .form-radio .form-icon, .form-switch .form-icon { border: 0.05rem solid #caced7; cursor: pointer; display: inline-block; position: absolute; transition: background .2s, border .2s, box-shadow .2s, color .2s; } - -.form-checkbox.input-sm, .form-radio.input-sm, .form-switch.input-sm { font-size: 0.7rem; margin: 0; } - -.form-checkbox.input-lg, .form-radio.input-lg, .form-switch.input-lg { font-size: 0.9rem; margin: 0.3rem 0; } - -.form-checkbox .form-icon, .form-radio .form-icon { background: #fff; height: 0.8rem; left: 0; top: 0.3rem; width: 0.8rem; } - -.form-checkbox input:active + .form-icon, .form-radio input:active + .form-icon { background: #f0f1f4; } - -.form-checkbox .form-icon { border-radius: 0.1rem; } - -.form-checkbox input:checked + .form-icon::before { background-clip: padding-box; border: 0.1rem solid #fff; border-left-width: 0; border-top-width: 0; content: ""; height: 9px; left: 50%; margin-left: -3px; margin-top: -6px; position: absolute; top: 50%; transform: rotate(45deg); width: 6px; } - -.form-checkbox input:indeterminate + .form-icon { background: #1AA3ED; border-color: #1AA3ED; } - -.form-checkbox input:indeterminate + .form-icon::before { background: #fff; content: ""; height: 2px; left: 50%; margin-left: -5px; margin-top: -1px; position: absolute; top: 50%; width: 10px; } - -.form-radio .form-icon { border-radius: 50%; } - -.form-radio input:checked + .form-icon::before { background: #fff; border-radius: 50%; content: ""; height: 6px; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); width: 6px; } - -.form-switch { padding-left: 2rem; } - -.form-switch .form-icon { background: #acb3c2; background-clip: padding-box; border-radius: 0.45rem; height: 0.9rem; left: 0; top: 0.25rem; width: 1.6rem; } - -.form-switch .form-icon::before { background: #fff; border-radius: 50%; content: ""; display: block; height: 0.8rem; left: 0; position: absolute; top: 0; transition: background .2s, border .2s, box-shadow .2s, color .2s, left .2s; width: 0.8rem; } - -.form-switch input:checked + .form-icon::before { left: 14px; } - -.form-switch input:active + .form-icon::before { background: #f8f9fa; } - -.input-group { display: -ms-flexbox; display: flex; } - -.input-group .input-group-addon { background: #f8f9fa; border: 0.05rem solid #caced7; border-radius: 0.1rem; line-height: 1.2rem; padding: 0.25rem 0.4rem; white-space: nowrap; } - -.input-group .input-group-addon.addon-sm { font-size: 0.7rem; padding: 0.05rem 0.3rem; } - -.input-group .input-group-addon.addon-lg { font-size: 0.9rem; padding: 0.35rem 0.6rem; } - -.input-group .form-input, .input-group .search-input, .input-group [data-grav-field="array"] input, [data-grav-field="array"] .input-group input, .input-group [data-grav-field="array"] textarea, [data-grav-field="array"] .input-group textarea, .input-group .form-select { -ms-flex: 1 1 auto; flex: 1 1 auto; width: 1%; } - -.input-group .input-group-btn { z-index: 1; } - -.input-group .form-input:first-child:not(:last-child), .input-group .search-input:first-child:not(:last-child), .input-group [data-grav-field="array"] input:first-child:not(:last-child), [data-grav-field="array"] .input-group input:first-child:not(:last-child), .input-group [data-grav-field="array"] textarea:first-child:not(:last-child), [data-grav-field="array"] .input-group textarea:first-child:not(:last-child), .input-group .form-select:first-child:not(:last-child), .input-group .input-group-addon:first-child:not(:last-child), .input-group .input-group-btn:first-child:not(:last-child) { border-bottom-right-radius: 0; border-top-right-radius: 0; } - -.input-group .form-input:not(:first-child):not(:last-child), .input-group .search-input:not(:first-child):not(:last-child), .input-group [data-grav-field="array"] input:not(:first-child):not(:last-child), [data-grav-field="array"] .input-group input:not(:first-child):not(:last-child), .input-group [data-grav-field="array"] textarea:not(:first-child):not(:last-child), [data-grav-field="array"] .input-group textarea:not(:first-child):not(:last-child), .input-group .form-select:not(:first-child):not(:last-child), .input-group .input-group-addon:not(:first-child):not(:last-child), .input-group .input-group-btn:not(:first-child):not(:last-child) { border-radius: 0; margin-left: -0.05rem; } - -.input-group .form-input:last-child:not(:first-child), .input-group .search-input:last-child:not(:first-child), .input-group [data-grav-field="array"] input:last-child:not(:first-child), [data-grav-field="array"] .input-group input:last-child:not(:first-child), .input-group [data-grav-field="array"] textarea:last-child:not(:first-child), [data-grav-field="array"] .input-group textarea:last-child:not(:first-child), .input-group .form-select:last-child:not(:first-child), .input-group .input-group-addon:last-child:not(:first-child), .input-group .input-group-btn:last-child:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; margin-left: -0.05rem; } - -.input-group .form-input:focus, .input-group .search-input:focus, .input-group [data-grav-field="array"] input:focus, [data-grav-field="array"] .input-group input:focus, .input-group [data-grav-field="array"] textarea:focus, [data-grav-field="array"] .input-group textarea:focus, .input-group .form-select:focus, .input-group .input-group-addon:focus, .input-group .input-group-btn:focus { z-index: 2; } - -.input-group .form-select { width: auto; } - -.input-group.input-inline { display: -ms-inline-flexbox; display: inline-flex; } - -.has-success .form-input, .has-success .search-input, .has-success [data-grav-field="array"] input, [data-grav-field="array"] .has-success input, .has-success [data-grav-field="array"] textarea, [data-grav-field="array"] .has-success textarea, .form-input.is-success, .is-success.search-input, [data-grav-field="array"] input.is-success, [data-grav-field="array"] textarea.is-success, .has-success .form-select, .form-select.is-success { background: #f9fdfa; border-color: #32b643; } - -.has-success .form-input:focus, .has-success .search-input:focus, .has-success [data-grav-field="array"] input:focus, [data-grav-field="array"] .has-success input:focus, .has-success [data-grav-field="array"] textarea:focus, [data-grav-field="array"] .has-success textarea:focus, .form-input.is-success:focus, .is-success.search-input:focus, [data-grav-field="array"] input.is-success:focus, [data-grav-field="array"] textarea.is-success:focus, .has-success .form-select:focus, .form-select.is-success:focus { box-shadow: 0 0 0 0.1rem rgba(50, 182, 67, 0.2); } - -.has-error .form-input, .has-error .search-input, .has-error [data-grav-field="array"] input, [data-grav-field="array"] .has-error input, .has-error [data-grav-field="array"] textarea, [data-grav-field="array"] .has-error textarea, .form-input.is-error, .is-error.search-input, [data-grav-field="array"] input.is-error, [data-grav-field="array"] textarea.is-error, .has-error .form-select, .form-select.is-error { background: #fffaf7; border-color: #e85600; } - -.has-error .form-input:focus, .has-error .search-input:focus, .has-error [data-grav-field="array"] input:focus, [data-grav-field="array"] .has-error input:focus, .has-error [data-grav-field="array"] textarea:focus, [data-grav-field="array"] .has-error textarea:focus, .form-input.is-error:focus, .is-error.search-input:focus, [data-grav-field="array"] input.is-error:focus, [data-grav-field="array"] textarea.is-error:focus, .has-error .form-select:focus, .form-select.is-error:focus { box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); } - -.has-error .form-checkbox .form-icon, .form-checkbox.is-error .form-icon, .has-error .form-radio .form-icon, .form-radio.is-error .form-icon, .has-error .form-switch .form-icon, .form-switch.is-error .form-icon { border-color: #e85600; } - -.has-error .form-checkbox input:checked + .form-icon, .form-checkbox.is-error input:checked + .form-icon, .has-error .form-radio input:checked + .form-icon, .form-radio.is-error input:checked + .form-icon, .has-error .form-switch input:checked + .form-icon, .form-switch.is-error input:checked + .form-icon { background: #e85600; border-color: #e85600; } - -.has-error .form-checkbox input:focus + .form-icon, .form-checkbox.is-error input:focus + .form-icon, .has-error .form-radio input:focus + .form-icon, .form-radio.is-error input:focus + .form-icon, .has-error .form-switch input:focus + .form-icon, .form-switch.is-error input:focus + .form-icon { box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); border-color: #e85600; } - -.has-error .form-checkbox input:indeterminate + .form-icon, .form-checkbox.is-error input:indeterminate + .form-icon { background: #e85600; border-color: #e85600; } - -.form-input:not(:placeholder-shown):invalid, .search-input:not(:placeholder-shown):invalid, [data-grav-field="array"] input:not(:placeholder-shown):invalid, [data-grav-field="array"] textarea:not(:placeholder-shown):invalid { border-color: #e85600; } - -.form-input:not(:placeholder-shown):invalid:focus, .search-input:not(:placeholder-shown):invalid:focus, [data-grav-field="array"] input:not(:placeholder-shown):invalid:focus, [data-grav-field="array"] textarea:not(:placeholder-shown):invalid:focus { box-shadow: 0 0 0 0.1rem rgba(232, 86, 0, 0.2); background: #fffaf7; } - -.form-input:not(:placeholder-shown):invalid + .form-input-hint, .search-input:not(:placeholder-shown):invalid + .form-input-hint, [data-grav-field="array"] input:not(:placeholder-shown):invalid + .form-input-hint, [data-grav-field="array"] textarea:not(:placeholder-shown):invalid + .form-input-hint { color: #e85600; } - -.form-input:disabled, .search-input:disabled, [data-grav-field="array"] input:disabled, [data-grav-field="array"] textarea:disabled, .form-input.disabled, .disabled.search-input, [data-grav-field="array"] input.disabled, [data-grav-field="array"] textarea.disabled, .form-select:disabled, .form-select.disabled { background-color: #f0f1f4; cursor: not-allowed; opacity: .5; } - -.form-input[readonly], .search-input[readonly], [data-grav-field="array"] input[readonly], [data-grav-field="array"] textarea[readonly] { background-color: #f8f9fa; } - -input:disabled + .form-icon, input.disabled + .form-icon { background: #f0f1f4; cursor: not-allowed; opacity: .5; } - -.form-switch input:disabled + .form-icon::before, .form-switch input.disabled + .form-icon::before { background: #fff; } - -.form-horizontal { padding: 0.4rem 0; } - -.form-horizontal .form-group { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } - -.form-inline { display: inline-block; } - -.label { border-radius: 0.1rem; line-height: 1.25; padding: .1rem .2rem; background: #f0f1f4; color: #454d5d; display: inline-block; } - -.label.label-rounded { border-radius: 5rem; padding-left: .4rem; padding-right: .4rem; } - -.label.label-primary { background: #1AA3ED; color: #fff; } - -.label.label-secondary { background: #38C5C7; color: #1AA3ED; } - -.label.label-success { background: #32b643; color: #fff; } - -.label.label-warning { background: #ffb700; color: #fff; } - -.label.label-error { background: #e85600; color: #fff; } - -code { border-radius: 0.1rem; line-height: 1.25; padding: .1rem .2rem; background: #f1f1fe; color: #7676f4; font-size: 85%; } - -.code { border-radius: 0.1rem; color: #3a414e; position: relative; } - -.code::before { color: #acb3c2; content: attr(data-lang); font-size: 0.7rem; position: absolute; right: 0.4rem; top: 0.1rem; } - -.code code { background: #f8f9fa; color: inherit; display: block; line-height: 1.5; overflow-x: auto; padding: 1rem; width: 100%; } - -.img-responsive { display: block; height: auto; max-width: 100%; } - -.img-fit-cover { object-fit: cover; } - -.img-fit-contain { object-fit: contain; } - -.video-responsive { display: block; overflow: hidden; padding: 0; position: relative; width: 100%; } - -.video-responsive::before { content: ""; display: block; padding-bottom: 56.25%; } - -.video-responsive iframe, .video-responsive object, .video-responsive embed { border: 0; bottom: 0; height: 100%; left: 0; position: absolute; right: 0; top: 0; width: 100%; } - -video.video-responsive { height: auto; max-width: 100%; } - -video.video-responsive::before { content: none; } - -.video-responsive-4-3::before { padding-bottom: 75%; } - -.video-responsive-1-1::before { padding-bottom: 100%; } - -.figure { margin: 0 0 0.4rem 0; } - -.figure .figure-caption { color: #667189; margin-top: 0.4rem; } - -.container { margin-left: auto; margin-right: auto; padding-left: 0.4rem; padding-right: 0.4rem; width: 100%; } - -.container.grid-xl { max-width: 1296px; } - -.container.grid-lg { max-width: 976px; } - -.container.grid-md { max-width: 856px; } - -.container.grid-sm { max-width: 616px; } - -.container.grid-xs { max-width: 496px; } - -.show-xs, .show-sm, .show-md, .show-lg, .show-xl { display: none !important; } - -.columns { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -0.4rem; margin-right: -0.4rem; } - -.columns.col-gapless { margin-left: 0; margin-right: 0; } - -.columns.col-gapless > .column { padding-left: 0; padding-right: 0; } - -.columns.col-oneline { -ms-flex-wrap: nowrap; flex-wrap: nowrap; overflow-x: auto; } - -.column { -ms-flex: 1; flex: 1; max-width: 100%; padding-left: 0.4rem; padding-right: 0.4rem; } - -.column.col-12, .column.col-11, .column.col-10, .column.col-9, .column.col-8, .column.col-7, .column.col-6, .column.col-5, .column.col-4, .column.col-3, .column.col-2, .column.col-1, .column.col-auto { -ms-flex: none; flex: none; } - -.col-12 { width: 100%; } - -.col-11 { width: 91.66666667%; } - -.col-10 { width: 83.33333333%; } - -.col-9 { width: 75%; } - -.col-8 { width: 66.66666667%; } - -.col-7 { width: 58.33333333%; } - -.col-6 { width: 50%; } - -.col-5 { width: 41.66666667%; } - -.col-4 { width: 33.33333333%; } - -.col-3 { width: 25%; } - -.col-2 { width: 16.66666667%; } - -.col-1 { width: 8.33333333%; } - -.col-auto { -ms-flex: 0 0 auto; flex: 0 0 auto; max-width: none; width: auto; } - -.col-mx-auto { margin-left: auto; margin-right: auto; } - -.col-ml-auto { margin-left: auto; } - -.col-mr-auto { margin-right: auto; } - -@media (max-width: 1280px) { .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-xl-auto { -ms-flex: none; flex: none; } - .col-xl-12 { width: 100%; } - .col-xl-11 { width: 91.66666667%; } - .col-xl-10 { width: 83.33333333%; } - .col-xl-9 { width: 75%; } - .col-xl-8 { width: 66.66666667%; } - .col-xl-7 { width: 58.33333333%; } - .col-xl-6 { width: 50%; } - .col-xl-5 { width: 41.66666667%; } - .col-xl-4 { width: 33.33333333%; } - .col-xl-3 { width: 25%; } - .col-xl-2 { width: 16.66666667%; } - .col-xl-1 { width: 8.33333333%; } - .col-xl-auto { width: auto; } - .hide-xl { display: none !important; } - .show-xl { display: block !important; } } - -@media (max-width: 960px) { .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-lg-auto { -ms-flex: none; flex: none; } - .col-lg-12 { width: 100%; } - .col-lg-11 { width: 91.66666667%; } - .col-lg-10 { width: 83.33333333%; } - .col-lg-9 { width: 75%; } - .col-lg-8 { width: 66.66666667%; } - .col-lg-7 { width: 58.33333333%; } - .col-lg-6 { width: 50%; } - .col-lg-5 { width: 41.66666667%; } - .col-lg-4 { width: 33.33333333%; } - .col-lg-3 { width: 25%; } - .col-lg-2 { width: 16.66666667%; } - .col-lg-1 { width: 8.33333333%; } - .col-lg-auto { width: auto; } - .hide-lg { display: none !important; } - .show-lg { display: block !important; } } - -@media (max-width: 840px) { .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-md-auto { -ms-flex: none; flex: none; } - .col-md-12 { width: 100%; } - .col-md-11 { width: 91.66666667%; } - .col-md-10 { width: 83.33333333%; } - .col-md-9 { width: 75%; } - .col-md-8 { width: 66.66666667%; } - .col-md-7 { width: 58.33333333%; } - .col-md-6 { width: 50%; } - .col-md-5 { width: 41.66666667%; } - .col-md-4 { width: 33.33333333%; } - .col-md-3 { width: 25%; } - .col-md-2 { width: 16.66666667%; } - .col-md-1 { width: 8.33333333%; } - .col-md-auto { width: auto; } - .hide-md { display: none !important; } - .show-md { display: block !important; } } - -@media (max-width: 600px) { .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col-sm-auto { -ms-flex: none; flex: none; } - .col-sm-12 { width: 100%; } - .col-sm-11 { width: 91.66666667%; } - .col-sm-10 { width: 83.33333333%; } - .col-sm-9 { width: 75%; } - .col-sm-8 { width: 66.66666667%; } - .col-sm-7 { width: 58.33333333%; } - .col-sm-6 { width: 50%; } - .col-sm-5 { width: 41.66666667%; } - .col-sm-4 { width: 33.33333333%; } - .col-sm-3 { width: 25%; } - .col-sm-2 { width: 16.66666667%; } - .col-sm-1 { width: 8.33333333%; } - .col-sm-auto { width: auto; } - .hide-sm { display: none !important; } - .show-sm { display: block !important; } } - -@media (max-width: 480px) { .col-xs-12, .col-xs-11, .col-xs-10, .col-xs-9, .col-xs-8, .col-xs-7, .col-xs-6, .col-xs-5, .col-xs-4, .col-xs-3, .col-xs-2, .col-xs-1, .col-xs-auto { -ms-flex: none; flex: none; } - .col-xs-12 { width: 100%; } - .col-xs-11 { width: 91.66666667%; } - .col-xs-10 { width: 83.33333333%; } - .col-xs-9 { width: 75%; } - .col-xs-8 { width: 66.66666667%; } - .col-xs-7 { width: 58.33333333%; } - .col-xs-6 { width: 50%; } - .col-xs-5 { width: 41.66666667%; } - .col-xs-4 { width: 33.33333333%; } - .col-xs-3 { width: 25%; } - .col-xs-2 { width: 16.66666667%; } - .col-xs-1 { width: 8.33333333%; } - .col-xs-auto { width: auto; } - .hide-xs { display: none !important; } - .show-xs { display: block !important; } } - -.hero { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: justify; justify-content: space-between; padding-bottom: 4rem; padding-top: 4rem; } - -.hero.hero-sm { padding-bottom: 2rem; padding-top: 2rem; } - -.hero.hero-lg { padding-bottom: 8rem; padding-top: 8rem; } - -.hero .hero-body { padding: 0.4rem; } - -.navbar { -ms-flex-align: stretch; align-items: stretch; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; justify-content: space-between; } - -.navbar .navbar-section { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex: 1 0 0px; flex: 1 0 0; } - -.navbar .navbar-section:not(:first-child):last-child { -ms-flex-pack: end; justify-content: flex-end; } - -.navbar .navbar-center { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex: 0 0 auto; flex: 0 0 auto; } - -.navbar .navbar-brand { font-size: 0.9rem; text-decoration: none; } - -.accordion input:checked ~ .accordion-header .icon, .accordion[open] .accordion-header .icon { transform: rotate(90deg); } - -.accordion input:checked ~ .accordion-body, .accordion[open] .accordion-body { max-height: 50rem; } - -.accordion .accordion-header { display: block; padding: 0.2rem 0.4rem; } - -.accordion .accordion-header .icon { transition: transform .25s; } - -.accordion .accordion-body { margin-bottom: 0.4rem; max-height: 0; overflow: hidden; transition: max-height .25s; } - -summary.accordion-header::-webkit-details-marker { display: none; } - -.avatar { font-size: 0.8rem; height: 1.6rem; width: 1.6rem; background: #1AA3ED; border-radius: 50%; color: rgba(255, 255, 255, 0.85); display: inline-block; font-weight: 300; line-height: 1.25; margin: 0; position: relative; vertical-align: middle; } - -.avatar.avatar-xs { font-size: 0.4rem; height: 0.8rem; width: 0.8rem; } - -.avatar.avatar-sm { font-size: 0.6rem; height: 1.2rem; width: 1.2rem; } - -.avatar.avatar-lg { font-size: 1.2rem; height: 2.4rem; width: 2.4rem; } - -.avatar.avatar-xl { font-size: 1.6rem; height: 3.2rem; width: 3.2rem; } - -.avatar img { border-radius: 50%; height: 100%; position: relative; width: 100%; z-index: 1; } - -.avatar .avatar-icon, .avatar .avatar-presence { background: #fff; bottom: 14.64%; height: 50%; padding: 0.1rem; position: absolute; right: 14.64%; transform: translate(50%, 50%); width: 50%; z-index: 2; } - -.avatar .avatar-presence { background: #acb3c2; box-shadow: 0 0 0 0.1rem #fff; border-radius: 50%; height: .5em; width: .5em; } - -.avatar .avatar-presence.online { background: #32b643; } - -.avatar .avatar-presence.busy { background: #e85600; } - -.avatar .avatar-presence.away { background: #ffb700; } - -.avatar[data-initial]::before { color: currentColor; content: attr(data-initial); left: 50%; position: absolute; top: 50%; transform: translate(-50%, -50%); z-index: 1; } - -.badge { position: relative; white-space: nowrap; } - -.badge[data-badge]::after, .badge:not([data-badge])::after { background: #1AA3ED; background-clip: padding-box; border-radius: .5rem; box-shadow: 0 0 0 0.1rem #fff; color: #fff; content: attr(data-badge); display: inline-block; transform: translate(-0.05rem, -0.5rem); } - -.badge[data-badge]::after { font-size: 0.7rem; height: .9rem; line-height: 1; min-width: .9rem; padding: .1rem .2rem; text-align: center; white-space: nowrap; } - -.badge:not([data-badge])::after, .badge[data-badge=""]::after { height: 6px; min-width: 6px; padding: 0; width: 6px; } - -.badge.btn::after, .badge.button::after { position: absolute; top: 0; right: 0; transform: translate(50%, -50%); } - -.badge.avatar::after { position: absolute; top: 14.64%; right: 14.64%; transform: translate(50%, -50%); z-index: 100; } - -.breadcrumb { list-style: none; margin: 0.2rem 0; padding: 0.2rem 0; } - -.breadcrumb .breadcrumb-item { color: #667189; display: inline-block; margin: 0; padding: 0.2rem 0; } - -.breadcrumb .breadcrumb-item:not(:last-child) { margin-right: 0.2rem; } - -.breadcrumb .breadcrumb-item:not(:last-child) a { color: #667189; } - -.breadcrumb .breadcrumb-item:not(:first-child)::before { color: #667189; content: "/"; padding-right: 0.4rem; } - -.bar { background: #f0f1f4; border-radius: 0.1rem; display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; height: 0.8rem; width: 100%; } - -.bar.bar-sm { height: 0.2rem; } - -.bar .bar-item { background: #1AA3ED; color: #fff; display: block; font-size: 0.7rem; -ms-flex-negative: 0; flex-shrink: 0; line-height: 0.8rem; height: 100%; position: relative; text-align: center; width: 0; } - -.bar .bar-item:first-child { border-bottom-left-radius: 0.1rem; border-top-left-radius: 0.1rem; } - -.bar .bar-item:last-child { border-bottom-right-radius: 0.1rem; border-top-right-radius: 0.1rem; -ms-flex-negative: 1; flex-shrink: 1; } - -.bar-slider { height: 0.1rem; margin: 0.4rem 0; position: relative; } - -.bar-slider .bar-item { left: 0; padding: 0; position: absolute; } - -.bar-slider .bar-item:not(:last-child):first-child { background: #f0f1f4; z-index: 1; } - -.bar-slider .bar-slider-btn { background: #1AA3ED; border: 0; border-radius: 50%; height: 0.6rem; padding: 0; position: absolute; right: 0; top: 50%; transform: translate(50%, -50%); width: 0.6rem; } - -.bar-slider .bar-slider-btn:active { box-shadow: 0 0 0 0.1rem #1AA3ED; } - -.card { background: #fff; border: 0.05rem solid #e7e9ed; border-radius: 0.1rem; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } - -.card .card-header, .card .card-body, .card .card-footer { padding: 0.8rem; padding-bottom: 0; } - -.card .card-header:last-child, .card .card-body:last-child, .card .card-footer:last-child { padding-bottom: 0.8rem; } - -.card .card-body { -ms-flex: 1 1 auto; flex: 1 1 auto; } - -.card .card-image { padding-top: 0.8rem; } - -.card .card-image:first-child { padding-top: 0; } - -.card .card-image:first-child img { border-top-left-radius: 0.1rem; border-top-right-radius: 0.1rem; } - -.card .card-image:last-child img { border-bottom-left-radius: 0.1rem; border-bottom-right-radius: 0.1rem; } - -.chip { -ms-flex-align: center; align-items: center; background: #f0f1f4; border-radius: 5rem; display: -ms-inline-flexbox; display: inline-flex; font-size: 90%; height: 1.2rem; line-height: 0.8rem; margin: 0.1rem; max-width: 320px; overflow: hidden; padding: 0.2rem 0.4rem; text-decoration: none; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; } - -.chip.active { background: #1AA3ED; color: #fff; } - -.chip .avatar { margin-left: -0.4rem; margin-right: 0.2rem; } - -.chip .btn-clear { border-radius: 50%; transform: scale(0.75); } - -.dropdown { display: inline-block; position: relative; } - -.dropdown .menu { animation: slide-down .15s ease 1; display: none; left: 0; max-height: 50vh; overflow-y: auto; position: absolute; top: 100%; } - -.dropdown.dropdown-right .menu { left: auto; right: 0; } - -.dropdown.active .menu, .dropdown .dropdown-toggle:focus + .menu, .dropdown .menu:hover { display: block; } - -.dropdown .btn-group .dropdown-toggle:nth-last-child(2) { border-bottom-right-radius: 0.1rem; border-top-right-radius: 0.1rem; } - -.empty { background: #f8f9fa; border-radius: 0.1rem; color: #667189; text-align: center; padding: 3.2rem 1.6rem; } - -.empty .empty-icon { margin-bottom: 0.8rem; } - -.empty .empty-title, .empty .empty-subtitle { margin: 0.4rem auto; } - -.empty .empty-action { margin-top: 0.8rem; } - -.menu { box-shadow: 0 0.05rem 0.2rem rgba(69, 77, 93, 0.3); background: #fff; border-radius: 0.1rem; list-style: none; margin: 0; min-width: 180px; padding: 0.4rem; transform: translateY(0.2rem); z-index: 300; } - -.menu.menu-nav { background: transparent; box-shadow: none; } - -.menu .menu-item { margin-top: 0; padding: 0 0.4rem; position: relative; text-decoration: none; } - -.menu .menu-item > a { border-radius: 0.1rem; color: inherit; display: block; margin: 0 -0.4rem; padding: 0.2rem 0.4rem; text-decoration: none; } - -.menu .menu-item > a:focus, .menu .menu-item > a:hover { background: #38C5C7; color: #1AA3ED; } - -.menu .menu-item > a:active, .menu .menu-item > a.active { background: #38C5C7; color: #1AA3ED; } - -.menu .menu-item .form-checkbox, .menu .menu-item .form-radio, .menu .menu-item .form-switch { margin: 0.1rem 0; } - -.menu .menu-item + .menu-item { margin-top: 0.2rem; } - -.menu .menu-badge { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; height: 100%; position: absolute; right: 0; top: 0; } - -.menu .menu-badge .label { margin-right: 0.4rem; } - -.modal { -ms-flex-align: center; align-items: center; bottom: 0; display: none; -ms-flex-pack: center; justify-content: center; left: 0; opacity: 0; overflow: hidden; padding: 0.4rem; position: fixed; right: 0; top: 0; } - -.modal:target, .modal.active { display: -ms-flexbox; display: flex; opacity: 1; z-index: 400; } - -.modal:target .modal-overlay, .modal.active .modal-overlay { background: rgba(248, 249, 250, 0.75); bottom: 0; cursor: default; display: block; left: 0; position: absolute; right: 0; top: 0; } - -.modal:target .modal-container, .modal.active .modal-container { animation: slide-down .2s ease 1; z-index: 1; } - -.modal.modal-sm .modal-container { max-width: 320px; padding: 0 0.4rem; } - -.modal.modal-lg .modal-overlay { background: #fff; } - -.modal.modal-lg .modal-container { box-shadow: none; max-width: 960px; } - -.modal-container { box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); background: #fff; border-radius: 0.1rem; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; max-height: 75vh; max-width: 640px; padding: 0 0.8rem; width: 100%; } - -.modal-container.modal-fullheight { max-height: 100vh; } - -.modal-container .modal-header { color: #454d5d; padding: 0.8rem; } - -.modal-container .modal-body { overflow-y: auto; padding: 0.8rem; position: relative; } - -.modal-container .modal-footer { padding: 0.8rem; text-align: right; } - -.nav { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; list-style: none; margin: 0.2rem 0; } - -.nav .nav-item a { color: #667189; padding: 0.2rem 0.4rem; text-decoration: none; } - -.nav .nav-item a:focus, .nav .nav-item a:hover { color: #1AA3ED; } - -.nav .nav-item.active > a { color: #50596c; font-weight: bold; } - -.nav .nav-item.active > a:focus, .nav .nav-item.active > a:hover { color: #1AA3ED; } - -.nav .nav { margin-bottom: 0.4rem; margin-left: 0.8rem; } - -.pagination { display: -ms-flexbox; display: flex; list-style: none; margin: 0.2rem 0; padding: 0.2rem 0; } - -.pagination .page-item { margin: 0.2rem 0.05rem; } - -.pagination .page-item span { display: inline-block; padding: 0.2rem 0.2rem; } - -.pagination .page-item a { border-radius: 0.1rem; display: inline-block; padding: 0.2rem 0.4rem; text-decoration: none; } - -.pagination .page-item a:focus, .pagination .page-item a:hover { color: #1AA3ED; } - -.pagination .page-item.disabled a { cursor: default; opacity: .5; pointer-events: none; } - -.pagination .page-item.active a { background: #1AA3ED; color: #fff; } - -.pagination .page-item.page-prev, .pagination .page-item.page-next { -ms-flex: 1 0 50%; flex: 1 0 50%; } - -.pagination .page-item.page-next { text-align: right; } - -.pagination .page-item .page-item-title { margin: 0; } - -.pagination .page-item .page-item-subtitle { margin: 0; opacity: .5; } - -.panel { border: 0.05rem solid #e7e9ed; border-radius: 0.1rem; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; } - -.panel .panel-header, .panel .panel-footer { -ms-flex: 0 0 auto; flex: 0 0 auto; padding: 0.8rem; } - -.panel .panel-nav { -ms-flex: 0 0 auto; flex: 0 0 auto; } - -.panel .panel-body { -ms-flex: 1 1 auto; flex: 1 1 auto; overflow-y: auto; padding: 0 0.8rem; } - -.popover { display: inline-block; position: relative; } - -.popover .popover-container { left: 50%; opacity: 0; padding: 0.4rem; position: absolute; top: 0; transform: translate(-50%, -50%) scale(0); transition: transform .2s; width: 320px; z-index: 300; } - -.popover *:focus + .popover-container, .popover:hover .popover-container { display: block; opacity: 1; transform: translate(-50%, -100%) scale(1); } - -.popover.popover-right .popover-container { left: 100%; top: 50%; } - -.popover.popover-right *:focus + .popover-container, .popover.popover-right:hover .popover-container { transform: translate(0, -50%) scale(1); } - -.popover.popover-bottom .popover-container { left: 50%; top: 100%; } - -.popover.popover-bottom *:focus + .popover-container, .popover.popover-bottom:hover .popover-container { transform: translate(-50%, 0) scale(1); } - -.popover.popover-left .popover-container { left: 0; top: 50%; } - -.popover.popover-left *:focus + .popover-container, .popover.popover-left:hover .popover-container { transform: translate(-100%, -50%) scale(1); } - -.popover .card { box-shadow: 0 0.2rem 0.5rem rgba(69, 77, 93, 0.3); border: 0; } - -.step { display: -ms-flexbox; display: flex; -ms-flex-wrap: nowrap; flex-wrap: nowrap; list-style: none; margin: 0.2rem 0; width: 100%; } - -.step .step-item { -ms-flex: 1 1 0px; flex: 1 1 0; margin-top: 0; min-height: 1rem; text-align: center; position: relative; } - -.step .step-item:not(:first-child)::before { background: #1AA3ED; content: ""; height: 2px; left: -50%; position: absolute; top: 9px; width: 100%; } - -.step .step-item a { color: #1AA3ED; display: inline-block; padding: 20px 10px 0; text-decoration: none; } - -.step .step-item a::before { background: #1AA3ED; border: 0.1rem solid #fff; border-radius: 50%; content: ""; display: block; height: 0.6rem; left: 50%; position: absolute; top: 0.2rem; transform: translateX(-50%); width: 0.6rem; z-index: 1; } - -.step .step-item.active a::before { background: #fff; border: 0.1rem solid #1AA3ED; } - -.step .step-item.active ~ .step-item::before { background: #e7e9ed; } - -.step .step-item.active ~ .step-item a { color: #acb3c2; } - -.step .step-item.active ~ .step-item a::before { background: #e7e9ed; } - -.tile { -ms-flex-line-pack: justify; align-content: space-between; -ms-flex-align: start; align-items: flex-start; display: -ms-flexbox; display: flex; } - -.tile .tile-icon, .tile .tile-action { -ms-flex: 0 0 auto; flex: 0 0 auto; } - -.tile .tile-content { -ms-flex: 1 1 auto; flex: 1 1 auto; } - -.tile .tile-content:not(:first-child) { padding-left: 0.4rem; } - -.tile .tile-content:not(:last-child) { padding-right: 0.4rem; } - -.tile .tile-title, .tile .tile-subtitle { line-height: 1.2rem; } - -.tile.tile-centered { -ms-flex-align: center; align-items: center; } - -.tile.tile-centered .tile-content { overflow: hidden; } - -.tile.tile-centered .tile-title, .tile.tile-centered .tile-subtitle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-bottom: 0; } - -.toast { background: rgba(69, 77, 93, 0.95); border-color: #454d5d; border: 0.05rem solid #454d5d; border-radius: 0.1rem; color: #fff; display: block; padding: 0.4rem; width: 100%; } - -.toast.toast-primary { background: rgba(26, 163, 237, 0.95); border-color: #1AA3ED; } - -.toast.toast-success { background: rgba(50, 182, 67, 0.95); border-color: #32b643; } - -.toast.toast-warning { background: rgba(255, 183, 0, 0.95); border-color: #ffb700; } - -.toast.toast-error { background: rgba(232, 86, 0, 0.95); border-color: #e85600; } - -.toast a { color: #fff; text-decoration: underline; } - -.toast a:focus, .toast a:hover, .toast a:active, .toast a.active { opacity: .75; } - -.toast .btn-clear { margin: 0.1rem; } - -.toast p:last-child { margin-bottom: 0; } - -.tooltip { position: relative; } - -.tooltip::after { background: rgba(69, 77, 93, 0.95); border-radius: 0.1rem; bottom: 100%; color: #fff; content: attr(data-tooltip); display: block; font-size: 0.7rem; left: 50%; max-width: 320px; opacity: 0; overflow: hidden; padding: 0.2rem 0.4rem; pointer-events: none; position: absolute; text-overflow: ellipsis; transform: translate(-50%, 0.4rem); transition: opacity .2s, transform .2s; white-space: pre; z-index: 300; } - -.tooltip:focus::after, .tooltip:hover::after { opacity: 1; transform: translate(-50%, -0.2rem); } - -.tooltip[disabled], .tooltip.disabled { pointer-events: auto; } - -.tooltip.tooltip-right::after { bottom: 50%; left: 100%; transform: translate(-0.2rem, 50%); } - -.tooltip.tooltip-right:focus::after, .tooltip.tooltip-right:hover::after { transform: translate(0.2rem, 50%); } - -.tooltip.tooltip-bottom::after { bottom: auto; top: 100%; transform: translate(-50%, -0.4rem); } - -.tooltip.tooltip-bottom:focus::after, .tooltip.tooltip-bottom:hover::after { transform: translate(-50%, 0.2rem); } - -.tooltip.tooltip-left::after { bottom: 50%; left: auto; right: 100%; transform: translate(0.4rem, 50%); } - -.tooltip.tooltip-left:focus::after, .tooltip.tooltip-left:hover::after { transform: translate(-0.2rem, 50%); } - -@keyframes loading { 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } } - -@keyframes slide-down { 0% { opacity: 0; - transform: translateY(-1.6rem); } - 100% { opacity: 1; - transform: translateY(0); } } - -.text-primary { color: #1AA3ED !important; } - -a.text-primary:focus, a.text-primary:hover { color: #1195dc; } - -a.text-primary:visited { color: #32acef; } - -.text-secondary { color: #35b9bb !important; } - -a.text-secondary:focus, a.text-secondary:hover { color: #2fa5a7; } - -a.text-secondary:visited { color: #40c7c9; } - -.text-gray { color: #acb3c2 !important; } - -a.text-gray:focus, a.text-gray:hover { color: #9ea6b7; } - -a.text-gray:visited { color: #bbc1cd; } - -.text-light { color: #fff !important; } - -a.text-light:focus, a.text-light:hover { color: #f2f2f2; } - -a.text-light:visited { color: white; } - -.text-dark { color: #3a414e !important; } - -a.text-dark:focus, a.text-dark:hover { color: #2f3540; } - -a.text-dark:visited { color: #454d5d; } - -.text-success { color: #32b643 !important; } - -a.text-success:focus, a.text-success:hover { color: #2da23c; } - -a.text-success:visited { color: #39c94b; } - -.text-warning { color: #ffb700 !important; } - -a.text-warning:focus, a.text-warning:hover { color: #e6a500; } - -a.text-warning:visited { color: #ffbe1a; } - -.text-error { color: #e85600 !important; } - -a.text-error:focus, a.text-error:hover { color: #cf4d00; } - -a.text-error:visited { color: #ff6003; } - -.bg-primary { background: #1AA3ED !important; color: #fff; } - -.bg-secondary { background: #38C5C7 !important; color: #fff; } - -.bg-dark { background: #454d5d !important; color: #fff; } - -.bg-gray { background: #f8f9fa !important; } - -.bg-success { background: #32b643 !important; color: #fff; } - -.bg-warning { background: #ffb700 !important; color: #fff; } - -.bg-error { background: #e85600 !important; color: #fff; } - -.c-hand { cursor: pointer; } - -.c-move { cursor: move; } - -.c-zoom-in { cursor: zoom-in; } - -.c-zoom-out { cursor: zoom-out; } - -.c-not-allowed { cursor: not-allowed; } - -.c-auto { cursor: auto; } - -.d-block { display: block; } - -.d-inline { display: inline; } - -.d-inline-block { display: inline-block; } - -.d-flex { display: -ms-flexbox; display: flex; } - -.d-inline-flex { display: -ms-inline-flexbox; display: inline-flex; } - -.d-none, .d-hide { display: none !important; } - -.d-visible { visibility: visible; } - -.d-invisible { visibility: hidden; } - -.text-hide { background: transparent; border: 0; color: transparent; font-size: 0; line-height: 0; text-shadow: none; } - -.text-assistive { border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } - -.divider, .divider-vert { display: block; position: relative; } - -.divider[data-content]::after, .divider-vert[data-content]::after { background: #fff; color: #acb3c2; content: attr(data-content); display: inline-block; font-size: 0.7rem; padding: 0 0.4rem; transform: translateY(-0.65rem); } - -.divider { border-top: 0.05rem solid #fefefe; height: 0.05rem; margin: 0.4rem 0; } - -.divider[data-content] { margin: 0.8rem 0; } - -.divider-vert { display: block; padding: 0.8rem; } - -.divider-vert::before { border-left: 0.05rem solid #e7e9ed; bottom: 0.4rem; content: ""; display: block; left: 50%; position: absolute; top: 0.4rem; transform: translateX(-50%); } - -.divider-vert[data-content]::after { left: 50%; padding: 0.2rem 0; position: absolute; top: 50%; transform: translate(-50%, -50%); } - -.loading { color: transparent !important; min-height: 0.8rem; pointer-events: none; position: relative; } - -.loading::after { animation: loading 500ms infinite linear; border: 0.1rem solid #1AA3ED; border-radius: 50%; border-right-color: transparent; border-top-color: transparent; content: ""; display: block; height: 0.8rem; left: 50%; margin-left: -0.4rem; margin-top: -0.4rem; position: absolute; top: 50%; width: 0.8rem; z-index: 1; } - -.loading.loading-lg { min-height: 2rem; } - -.loading.loading-lg::after { height: 1.6rem; margin-left: -0.8rem; margin-top: -0.8rem; width: 1.6rem; } - -.clearfix::after { clear: both; content: ""; display: table; } - -.float-left { float: left !important; } - -.float-right { float: right !important; } - -.p-relative { position: relative !important; } - -.p-absolute { position: absolute !important; } - -.p-fixed { position: fixed !important; } - -.p-sticky { position: -webkit-sticky !important; position: sticky !important; } - -.p-centered { display: block; float: none; margin-left: auto; margin-right: auto; } - -.flex-centered { -ms-flex-align: center; align-items: center; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; } - -.m-0 { margin: 0 !important; } - -.mb-0 { margin-bottom: 0 !important; } - -.ml-0 { margin-left: 0 !important; } - -.mr-0 { margin-right: 0 !important; } - -.mt-0 { margin-top: 0 !important; } - -.mx-0 { margin-left: 0 !important; margin-right: 0 !important; } - -.my-0 { margin-bottom: 0 !important; margin-top: 0 !important; } - -.m-1 { margin: 0.2rem !important; } - -.mb-1 { margin-bottom: 0.2rem !important; } - -.ml-1 { margin-left: 0.2rem !important; } - -.mr-1 { margin-right: 0.2rem !important; } - -.mt-1 { margin-top: 0.2rem !important; } - -.mx-1 { margin-left: 0.2rem !important; margin-right: 0.2rem !important; } - -.my-1 { margin-bottom: 0.2rem !important; margin-top: 0.2rem !important; } - -.m-2 { margin: 0.4rem !important; } - -.mb-2 { margin-bottom: 0.4rem !important; } - -.ml-2 { margin-left: 0.4rem !important; } - -.mr-2 { margin-right: 0.4rem !important; } - -.mt-2 { margin-top: 0.4rem !important; } - -.mx-2 { margin-left: 0.4rem !important; margin-right: 0.4rem !important; } - -.my-2 { margin-bottom: 0.4rem !important; margin-top: 0.4rem !important; } - -.p-0 { padding: 0 !important; } - -.pb-0 { padding-bottom: 0 !important; } - -.pl-0 { padding-left: 0 !important; } - -.pr-0 { padding-right: 0 !important; } - -.pt-0 { padding-top: 0 !important; } - -.px-0 { padding-left: 0 !important; padding-right: 0 !important; } - -.py-0 { padding-bottom: 0 !important; padding-top: 0 !important; } - -.p-1 { padding: 0.2rem !important; } - -.pb-1 { padding-bottom: 0.2rem !important; } - -.pl-1 { padding-left: 0.2rem !important; } - -.pr-1 { padding-right: 0.2rem !important; } - -.pt-1 { padding-top: 0.2rem !important; } - -.px-1 { padding-left: 0.2rem !important; padding-right: 0.2rem !important; } - -.py-1 { padding-bottom: 0.2rem !important; padding-top: 0.2rem !important; } - -.p-2 { padding: 0.4rem !important; } - -.pb-2 { padding-bottom: 0.4rem !important; } - -.pl-2 { padding-left: 0.4rem !important; } - -.pr-2 { padding-right: 0.4rem !important; } - -.pt-2 { padding-top: 0.4rem !important; } - -.px-2 { padding-left: 0.4rem !important; padding-right: 0.4rem !important; } - -.py-2 { padding-bottom: 0.4rem !important; padding-top: 0.4rem !important; } - -.s-rounded { border-radius: 0.1rem; } - -.s-circle { border-radius: 50%; } - -.text-left { text-align: left; } - -.text-right { text-align: right; } - -.text-center { text-align: center; } - -.text-justify { text-align: justify; } - -.text-lowercase { text-transform: lowercase; } - -.text-uppercase { text-transform: uppercase; } - -.text-capitalize { text-transform: capitalize; } - -.text-normal { font-weight: normal; } - -.text-bold { font-weight: bold; } - -.text-italic { font-style: italic; } - -.text-large { font-size: 1.2em; } - -.text-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } - -.text-clip { overflow: hidden; text-overflow: clip; white-space: nowrap; } - -.text-break { -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; word-break: break-word; word-wrap: break-word; } - -.off-canvas { display: -ms-flexbox; display: flex; -ms-flex-flow: nowrap; flex-flow: nowrap; height: 100%; position: relative; width: 100%; } - -.off-canvas .off-canvas-toggle { display: block; position: absolute; top: 0.4rem; transition: none; z-index: 1; left: 0.4rem; } - -.off-canvas .off-canvas-sidebar { background: #f8f9fa; bottom: 0; min-width: 10rem; overflow-y: auto; position: fixed; top: 0; transition: transform .25s; z-index: 200; left: 0; transform: translateX(-100%); } - -.off-canvas .off-canvas-content { -ms-flex: 1 1 auto; flex: 1 1 auto; height: 100%; padding: 0.4rem 0.4rem 0.4rem 4rem; } - -.off-canvas .off-canvas-overlay { background: rgba(69, 77, 93, 0.1); border-color: transparent; border-radius: 0; bottom: 0; display: none; height: 100%; left: 0; position: fixed; right: 0; top: 0; width: 100%; } - -.off-canvas .off-canvas-sidebar:target, .off-canvas .off-canvas-sidebar.active { transform: translateX(0); } - -.off-canvas .off-canvas-sidebar:target ~ .off-canvas-overlay, .off-canvas .off-canvas-sidebar.active ~ .off-canvas-overlay { display: block; z-index: 100; } - -@media (min-width: 960px) { .off-canvas.off-canvas-sidebar-show .off-canvas-toggle { display: none; } - .off-canvas.off-canvas-sidebar-show .off-canvas-sidebar { -ms-flex: 0 0 auto; flex: 0 0 auto; position: relative; transform: none; } - .off-canvas.off-canvas-sidebar-show .off-canvas-overlay { display: none !important; } } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3RyZS5jc3MiLCJzb3VyY2VzIjpbInNwZWN0cmUuc2NzcyIsInRoZW1lL192YXJpYWJsZXMuc2NzcyIsInNwZWN0cmUvX3ZhcmlhYmxlcy5zY3NzIiwic3BlY3RyZS9fbWl4aW5zLnNjc3MiLCJzcGVjdHJlL21peGlucy9fYXZhdGFyLnNjc3MiLCJzcGVjdHJlL21peGlucy9fYnV0dG9uLnNjc3MiLCJzcGVjdHJlL21peGlucy9fY2xlYXJmaXguc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jb2xvci5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2xhYmVsLnNjc3MiLCJzcGVjdHJlL21peGlucy9fcG9zaXRpb24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19zaGFkb3cuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190ZXh0LnNjc3MiLCJzcGVjdHJlL21peGlucy9fdG9hc3Quc2NzcyIsInNwZWN0cmUvX25vcm1hbGl6ZS5zY3NzIiwic3BlY3RyZS9fYmFzZS5zY3NzIiwic3BlY3RyZS9fdHlwb2dyYXBoeS5zY3NzIiwic3BlY3RyZS9fYXNpYW4uc2NzcyIsInNwZWN0cmUvX3RhYmxlcy5zY3NzIiwic3BlY3RyZS9fYnV0dG9ucy5zY3NzIiwic3BlY3RyZS9fZm9ybXMuc2NzcyIsInNwZWN0cmUvX2xhYmVscy5zY3NzIiwic3BlY3RyZS9fY29kZXMuc2NzcyIsInNwZWN0cmUvX21lZGlhLnNjc3MiLCJzcGVjdHJlL19sYXlvdXQuc2NzcyIsInNwZWN0cmUvX2hlcm8uc2NzcyIsInNwZWN0cmUvX25hdmJhci5zY3NzIiwic3BlY3RyZS9fYWNjb3JkaW9ucy5zY3NzIiwic3BlY3RyZS9fYXZhdGFycy5zY3NzIiwic3BlY3RyZS9fYmFkZ2VzLnNjc3MiLCJzcGVjdHJlL19icmVhZGNydW1icy5zY3NzIiwic3BlY3RyZS9fYmFycy5zY3NzIiwic3BlY3RyZS9fY2FyZHMuc2NzcyIsInNwZWN0cmUvX2NoaXBzLnNjc3MiLCJzcGVjdHJlL19kcm9wZG93bnMuc2NzcyIsInNwZWN0cmUvX2VtcHR5LnNjc3MiLCJzcGVjdHJlL19tZW51cy5zY3NzIiwic3BlY3RyZS9fbW9kYWxzLnNjc3MiLCJzcGVjdHJlL19uYXZzLnNjc3MiLCJzcGVjdHJlL19wYWdpbmF0aW9uLnNjc3MiLCJzcGVjdHJlL19wYW5lbHMuc2NzcyIsInNwZWN0cmUvX3BvcG92ZXJzLnNjc3MiLCJzcGVjdHJlL19zdGVwcy5zY3NzIiwic3BlY3RyZS9fdGlsZXMuc2NzcyIsInNwZWN0cmUvX3RvYXN0cy5zY3NzIiwic3BlY3RyZS9fdG9vbHRpcHMuc2NzcyIsInNwZWN0cmUvX2FuaW1hdGlvbnMuc2NzcyIsInNwZWN0cmUvX3V0aWxpdGllcy5zY3NzIiwic3BlY3RyZS91dGlsaXRpZXMvX2NvbG9ycy5zY3NzIiwic3BlY3RyZS91dGlsaXRpZXMvX2N1cnNvcnMuc2NzcyIsInNwZWN0cmUvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJzcGVjdHJlL3V0aWxpdGllcy9fZGl2aWRlci5zY3NzIiwic3BlY3RyZS91dGlsaXRpZXMvX2xvYWRpbmcuc2NzcyIsInNwZWN0cmUvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS91dGlsaXRpZXMvX3NoYXBlcy5zY3NzIiwic3BlY3RyZS91dGlsaXRpZXMvX3RleHQuc2NzcyIsInNwZWN0cmUvX29mZi1jYW52YXMuc2NzcyIsInRoZW1lL19leHRlbnNpb25zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJ0aGVtZS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvbWl4aW5zXCI7XG5cbi8qISBTcGVjdHJlLmNzcyB2I3skdmVyc2lvbn0gfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vcGljdHVyZXBhbjIvc3BlY3RyZSAqL1xuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCBcInNwZWN0cmUvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9iYXNlXCI7XG5cbi8vIEVsZW1lbnRzXG5AaW1wb3J0IFwic3BlY3RyZS90eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwic3BlY3RyZS9hc2lhblwiO1xuQGltcG9ydCBcInNwZWN0cmUvdGFibGVzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9idXR0b25zXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9mb3Jtc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvbGFiZWxzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9jb2Rlc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvbWVkaWFcIjtcblxuLy8gTGF5b3V0XG5AaW1wb3J0IFwic3BlY3RyZS9sYXlvdXRcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2hlcm9cIjtcbkBpbXBvcnQgXCJzcGVjdHJlL25hdmJhclwiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwic3BlY3RyZS9hY2NvcmRpb25zXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9hdmF0YXJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9iYWRnZXNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9iYXJzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9jYXJkc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvY2hpcHNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL2Ryb3Bkb3duc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvZW1wdHlcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL21lbnVzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS9tb2RhbHNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL25hdnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3BhbmVsc1wiO1xuQGltcG9ydCBcInNwZWN0cmUvcG9wb3ZlcnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3N0ZXBzXCI7XG4vL0BpbXBvcnQgXCJzcGVjdHJlL3RhYnNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3RpbGVzXCI7XG5AaW1wb3J0IFwic3BlY3RyZS90b2FzdHNcIjtcbkBpbXBvcnQgXCJzcGVjdHJlL3Rvb2x0aXBzXCI7XG5cblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwic3BlY3RyZS9hbmltYXRpb25zXCI7XG5AaW1wb3J0IFwic3BlY3RyZS91dGlsaXRpZXNcIjtcblxuLy8gRXh0cmFzXG5AaW1wb3J0IFwic3BlY3RyZS9vZmYtY2FudmFzXCI7XG5AaW1wb3J0IFwidGhlbWUvZXh0ZW5zaW9uc1wiO1xuIiwiLy8gQ29sb3JzXG4kdHVycXVvaXNlOiAjMUFCQzlDO1xuJGdyZWVuLXNlYTogIzE2QTA4NTtcbiRlbWVyYWxkOiAjMkVDQzcxO1xuJG5lcGhyaXRpczogIzI3QUU2MDtcbiRwZXRlci1yaXZlcjogIzM0OThEQjtcbiRiZWxpemVfaG9sZTogIzI5ODBCOTtcbiRkZWVwLXdlbGw6ICMyODNBNjM7XG4kbGF2ZW5kZXI6ICM3Njc2ZjQ7XG4kYW1ldGh5c3Q6ICNBNjZCQkU7XG4kd2lzdGVyaWE6ICM4RTQ0QUQ7XG4kd2V0LWFzcGhhbHQ6ICMzNDQ5NUU7XG4kbWlkbmlnaHQtYmx1ZTogIzJDM0U1MDtcbiRzdW5mbG93ZXI6ICNGMkNBMjc7XG4kb3JhbmdlOiAjRjM5QzEyO1xuJGNhcnJvdDogI0U2N0UyMjtcbiRwdW1wa2luOiAjRDM1NDAwO1xuJGFsaXphcmluOiAjRTc0QzNDO1xuJHBvbWVncmFuYXRlOiAjQzAzOTJCO1xuJGNsb3VkczogI0VDRjBGMTtcbiRzaWx2ZXI6ICNCREMzQzc7XG4kY29uY3JldGU6ICM5NUE1QTY7XG4kYXNiZXN0b3M6ICM3RjhDOEQ7XG5cbiRwcmltYXJ5LWNvbG9yOiAjMUFBM0VEICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogIzM4QzVDNyAhZGVmYXVsdDtcbiRkYXJrLWNvbG9yOiAjNDU0ZDVkICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogZGFya2VuKCRkYXJrLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNDAlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWRhcms6IGRhcmtlbigkZ3JheS1jb2xvciwgMjUlKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDYwJSkgIWRlZmF1bHQ7XG4kYmctY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDY2JSkgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogJGxhdmVuZGVyICFkZWZhdWx0O1xuJHNlbGVjdGlvbi1jb2xvcjogI0VDRUNGRTtcblxuLy8gU2lkZWJhclxuJHNpZGViYXItd2lkdGg6IDE0cmVtO1xuJHNpZGViYXItYnJhbmQtaGVpZ2h0OiA3cmVtO1xuXG4vLyBGb250c1xuJGJhc2UtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byAhZGVmYXVsdDtcbiRmYWxsYmFjay1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6IFwiUHVibGljIFNhbnNcIiwgICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiR0aXRsZS1mb250LWZhbWlseTogXCJNZXRyb3BvbGlzXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRtb25vLWZvbnQtZmFtaWx5OiBcIkhhY2tcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZTogLjg1cmVtICFkZWZhdWx0O1xuJG1pbi1yZXNwb25zaXZlLWZvbnQtc2l6ZTogMThweDtcbiIsIi8vIENvcmUgdmFyaWFibGVzXG4kdmVyc2lvbjogXCIwLjUuOFwiO1xuXG4vLyBDb3JlIGZlYXR1cmVzXG4kcnRsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ29yZSBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiAjNTc1NWQ5ICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZGFyazogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1saWdodDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMzcuNSUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1kYXJrOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1saWdodDogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8vIEdyYXkgY29sb3JzXG4kZGFyay1jb2xvcjogIzMwMzc0MiAhZGVmYXVsdDtcbiRsaWdodC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA1NSUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItZGFyazogZGFya2VuKCRncmF5LWNvbG9yLCAzMCUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDY1JSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWRhcms6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1saWdodDogbGlnaHRlbigkYm9yZGVyLWNvbG9yLCA4JSkgIWRlZmF1bHQ7XG4kYmctY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDc1JSkgIWRlZmF1bHQ7XG4kYmctY29sb3ItZGFyazogZGFya2VuKCRiZy1jb2xvciwgMyUpICFkZWZhdWx0O1xuJGJnLWNvbG9yLWxpZ2h0OiAkbGlnaHQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2wgY29sb3JzXG4kc3VjY2Vzcy1jb2xvcjogIzMyYjY0MyAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiAjZmZiNzAwICFkZWZhdWx0O1xuJGVycm9yLWNvbG9yOiAjZTg1NjAwICFkZWZhdWx0O1xuXG4vLyBPdGhlciBjb2xvcnNcbiRjb2RlLWNvbG9yOiAjZDczZTQ4ICFkZWZhdWx0O1xuJGhpZ2hsaWdodC1jb2xvcjogI2ZmZTliMyAhZGVmYXVsdDtcbiRib2R5LWJnOiAkYmctY29sb3ItbGlnaHQgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kbGluay1jb2xvci1kYXJrOiBkYXJrZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvci1saWdodDogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuLy8gRm9udHNcbi8vIENyZWRpdDogaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNS8xMS91c2luZy1zeXN0ZW0tdWktZm9udHMtcHJhY3RpY2FsLWd1aWRlL1xuJGJhc2UtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byAhZGVmYXVsdDtcbiRtb25vLWZvbnQtZmFtaWx5OiBcIlNGIE1vbm9cIiwgXCJTZWdvZSBVSSBNb25vXCIsIFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmYWxsYmFjay1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGNqay16aC1oYW5zLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFIZWlcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay16aC1oYW50LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhpcmFnaW5vIFNhbnMgQ05TXCIsIFwiTWljcm9zb2Z0IEpoZW5nSGVpXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamstanAtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIkhpcmFnaW5vIFNhbnNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCJZdSBHb3RoaWNcIiwgWXVHb3RoaWMsIE1laXJ5bywgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay1rby1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiTWFsZ3VuIEdvdGhpY1wiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gVW5pdCBzaXplc1xuJHVuaXQtbzogLjA1cmVtICFkZWZhdWx0O1xuJHVuaXQtaDogLjFyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xOiAuMnJlbSAhZGVmYXVsdDtcbiR1bml0LTI6IC40cmVtICFkZWZhdWx0O1xuJHVuaXQtMzogLjZyZW0gIWRlZmF1bHQ7XG4kdW5pdC00OiAuOHJlbSAhZGVmYXVsdDtcbiR1bml0LTU6IDFyZW0gIWRlZmF1bHQ7XG4kdW5pdC02OiAxLjJyZW0gIWRlZmF1bHQ7XG4kdW5pdC03OiAxLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC04OiAxLjZyZW0gIWRlZmF1bHQ7XG4kdW5pdC05OiAxLjhyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xMDogMnJlbSAhZGVmYXVsdDtcbiR1bml0LTEyOiAyLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xNjogMy4ycmVtICFkZWZhdWx0O1xuXG4vLyBGb250IHNpemVzXG4kaHRtbC1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaHRtbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAuN3JlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6IC45cmVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIFNpemVzXG4kbGF5b3V0LXNwYWNpbmc6ICR1bml0LTIgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctc206ICR1bml0LTEgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctbGc6ICR1bml0LTQgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogJHVuaXQtaCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6ICR1bml0LW8gIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLWxnOiAkdW5pdC1oICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZTogJHVuaXQtOSAhZGVmYXVsdDtcbiRjb250cm9sLXNpemUtc206ICR1bml0LTcgIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplLWxnOiAkdW5pdC0xMCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteDogJHVuaXQtMiAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1zbTogJHVuaXQtMiAqIC43NSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1sZzogJHVuaXQtMiAqIDEuNSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteTogKCRjb250cm9sLXNpemUgLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXktc206ICgkY29udHJvbC1zaXplLXNtIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15LWxnOiAoJGNvbnRyb2wtc2l6ZS1sZyAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLWljb24tc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG5cbiRjb250cm9sLXdpZHRoLXhzOiAxODBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXNtOiAzMjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLW1kOiA2NDBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHNcbiRzaXplLXhzOiA0ODBweCAhZGVmYXVsdDtcbiRzaXplLXNtOiA2MDBweCAhZGVmYXVsdDtcbiRzaXplLW1kOiA4NDBweCAhZGVmYXVsdDtcbiRzaXplLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRzaXplLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG4kc2l6ZS0yeDogMTQ0MHB4ICFkZWZhdWx0O1xuXG4kcmVzcG9uc2l2ZS1icmVha3BvaW50OiAkc2l6ZS14cyAhZGVmYXVsdDtcblxuLy8gWi1pbmRleFxuJHppbmRleC0wOiAxICFkZWZhdWx0O1xuJHppbmRleC0xOiAxMDAgIWRlZmF1bHQ7XG4kemluZGV4LTI6IDIwMCAhZGVmYXVsdDtcbiR6aW5kZXgtMzogMzAwICFkZWZhdWx0O1xuJHppbmRleC00OiA0MDAgIWRlZmF1bHQ7XG4iLCIvLyBNaXhpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYXZhdGFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvblwiO1xuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvclwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbFwiO1xuQGltcG9ydCBcIm1peGlucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90b2FzdFwiOyIsIi8vIEF2YXRhciBtaXhpblxuQG1peGluIGF2YXRhci1iYXNlKCRzaXplOiAkdW5pdC04KSB7XG4gIGZvbnQtc2l6ZTogJHNpemUgLyAyO1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudCBtaXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xuICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDMlKTtcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCAyJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDclKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmLmxvYWRpbmcge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgNTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDIlKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJi5sb2FkaW5nIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXggbWl4aW5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIi8vIEJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJG5hbWU6IFwiLmJnLXByaW1hcnlcIiwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAjeyRuYW1lfSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpIDwgNjApIHtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIHRleHQtY29sb3ItdmFyaWFudCgkbmFtZTogXCIudGV4dC1wcmltYXJ5XCIsICRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgI3skbmFtZX0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEjeyRuYW1lfSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgfVxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogbGlnaHRlbigkY29sb3IsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExhYmVsIGJhc2Ugc3R5bGVcbkBtaXhpbiBsYWJlbC1iYXNlKCkge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHBhZGRpbmc6IC4xcmVtIC4ycmVtO1xufVxuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3I6ICRsaWdodC1jb2xvciwgJGJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBNYXJnaW4gdXRpbGl0eSBtaXhpblxuQG1peGluIG1hcmdpbi12YXJpYW50KCRpZDogMSwgJHNpemU6ICR1bml0LTEpIHtcbiAgLm0tI3skaWR9IHtcbiAgICBtYXJnaW46ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItI3skaWR9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItI3skaWR9IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtI3skaWR9IHtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LSN7JGlkfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFBhZGRpbmcgdXRpbGl0eSBtaXhpblxuQG1peGluIHBhZGRpbmctdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5wLSN7JGlkfSB7XG4gICAgcGFkZGluZzogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLSN7JGlkfSB7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC0jeyRpZH0ge1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5weS0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDb21wb25lbnQgZm9jdXMgc2hhZG93XG5AbWl4aW4gY29udHJvbC1zaGFkb3coJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSByZ2JhKCRjb2xvciwgLjIpO1xufVxuXG4vLyBTaGFkb3cgbWl4aW5cbkBtaXhpbiBzaGFkb3ctdmFyaWFudCgkb2Zmc2V0KSB7XG4gIGJveC1zaGFkb3c6IDAgJG9mZnNldCAoJG9mZnNldCArIC4wNXJlbSkgKiAyIHJnYmEoJGRhcmstY29sb3IsIC4zKTtcbn1cbiIsIi8vIFRleHQgRWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFRvYXN0IHZhcmlhbnQgbWl4aW5cbkBtaXhpbiB0b2FzdC12YXJpYW50KCRjb2xvcjogJGRhcmstY29sb3IpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC45NSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuIiwiLyogTWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyAqL1xuLyogbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDggKHJlbW92ZWQpLlxuICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKHJlbW92ZWQpXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIE1vZGlmeSBkZWZhdWx0IHN0eWxpbmcgb2YgYWRkcmVzcy5cbiAqL1xuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuIChyZW1vdmVkKVxuICovXG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkbW9uby1mb250LWZhbWlseTsgLyogMSAoY2hhbmdlZCkgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS4gKFJlbW92ZWQpXG4gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogNDAwOyAvKiAoYWRkZWQpICovXG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKGNoYW5nZWQpICovXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgLyogMSAoY2hhbmdlZCkgKi9cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDEgKGNoYW5nZWQpICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSAocmVtb3ZlZCkuXG4gKi9cblxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpIChjaGFuZ2VkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBCYXNlXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAkaHRtbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaHRtbC1saW5lLWhlaWdodDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICRib2R5LWJnO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCk7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkbGluay1jb2xvci1kYXJrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3ItbGlnaHQ7XG4gIH1cbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vIEhlYWRpbmdzXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5oMSxcbi5oMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbmg1LFxuLmg1IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuaDYsXG4uaDYge1xuICBmb250LXNpemU6IC44cmVtO1xufVxuXG4vLyBQYXJhZ3JhcGhzXG5wIHtcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0O1xufVxuXG4vLyBTZW1hbnRpYyB0ZXh0IGVsZW1lbnRzXG5hLFxuaW5zLFxudSB7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwOiBpbmsgZWRnZXM7XG59XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5rYmQge1xuICBAaW5jbHVkZSBsYWJlbC1iYXNlKCk7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxpZ2h0LWNvbG9yLCAkZGFyay1jb2xvcik7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbn1cblxubWFyayB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGJvZHktZm9udC1jb2xvciwgJGhpZ2hsaWdodC1jb2xvcik7XG4gIGJvcmRlci1ib3R0b206ICR1bml0LW8gc29saWQgZGFya2VuKCRoaWdobGlnaHQtY29sb3IsIDE1JSk7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBwYWRkaW5nOiAkdW5pdC1vICR1bml0LWggMDtcbn1cblxuLy8gQmxvY2txdW90ZVxuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoLWxnIHNvbGlkICRib3JkZXItY29sb3I7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAkdW5pdC0yICR1bml0LTQ7XG5cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAkdW5pdC00IDAgJHVuaXQtNCAkdW5pdC00O1xuICBwYWRkaW5nOiAwO1xuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luOiAkdW5pdC00IDAgJHVuaXQtNCAkdW5pdC00O1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbi10b3A6ICR1bml0LTI7XG4gIH1cbn1cblxudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjIGluc2lkZTtcblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG4gIH1cbn1cblxub2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZTtcblxuICBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbiAgfVxufVxuXG5kbCB7XG4gIGR0IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBkZCB7XG4gICAgbWFyZ2luOiAkdW5pdC0yIDAgJHVuaXQtNCAwO1xuICB9XG59XG4iLCIvLyBPcHRpbWl6ZWQgZm9yIEVhc3QgQXNpYW4gQ0pLXG5odG1sOmxhbmcoemgpLFxuaHRtbDpsYW5nKHpoLUhhbnMpLFxuLmxhbmctemgsXG4ubGFuZy16aC1oYW5zIHtcbiAgZm9udC1mYW1pbHk6ICRjamstemgtaGFucy1mb250LWZhbWlseTtcbn1cblxuaHRtbDpsYW5nKHpoLUhhbnQpLFxuLmxhbmctemgtaGFudCB7XG4gIGZvbnQtZmFtaWx5OiAkY2prLXpoLWhhbnQtZm9udC1mYW1pbHk7XG59XG5cbmh0bWw6bGFuZyhqYSksXG4ubGFuZy1qYSB7XG4gIGZvbnQtZmFtaWx5OiAkY2prLWpwLWZvbnQtZmFtaWx5O1xufVxuXG5odG1sOmxhbmcoa28pLFxuLmxhbmcta28ge1xuICBmb250LWZhbWlseTogJGNqay1rby1mb250LWZhbWlseTtcbn1cblxuOmxhbmcoemgpLFxuOmxhbmcoamEpLFxuLmxhbmctY2prIHtcbiAgaW5zLFxuICB1IHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIGRlbCArIGRlbCxcbiAgZGVsICsgcyxcbiAgaW5zICsgaW5zLFxuICBpbnMgKyB1LFxuICBzICsgZGVsLFxuICBzICsgcyxcbiAgdSArIGlucyxcbiAgdSArIHUge1xuICAgIG1hcmdpbi1sZWZ0OiAuMTI1ZW07XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuLnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBAaWYgJHJ0bCA9PSB0cnVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkge1xuICAgICAgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLFxuICAmLnRhYmxlLXN0cmlwZWQge1xuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNjb2xsYWJsZSB0YWJsZXNcbiAgJi50YWJsZS1zY3JvbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IC43NXJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzogJHVuaXQtMyAkdW5pdC0yO1xuICB9XG4gIHRoIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkYm9yZGVyLXdpZHRoLWxnO1xuICB9XG59XG4iLCIvLyBCdXR0b25zXG4uYnRuIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWxpZ2h0O1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJHByaW1hcnktY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGhlaWdodDogJGNvbnRyb2wtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15ICRjb250cm9sLXBhZGRpbmcteDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzLCBib3JkZXIgLjJzLCBib3gtc2hhZG93IC4ycywgY29sb3IgLjJzO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3ItZGFyaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvci1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDUlKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmLmxvYWRpbmcge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZbZGlzYWJsZWRdLFxuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAvLyBCdXR0b24gUHJpbWFyeVxuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLWRhcms7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDIlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDUlKTtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA0JSk7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCA3JSk7XG4gICAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICAgIH1cbiAgICAmLmxvYWRpbmcge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIENvbG9yc1xuICAmLmJ0bi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkc3VjY2Vzcy1jb2xvcik7XG4gIH1cblxuICAmLmJ0bi1lcnJvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGVycm9yLWNvbG9yKTtcbiAgfVxuXG4gIC8vIEJ1dHRvbiBMaW5rXG4gICYuYnRuLWxpbmsge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3ItZGFyaztcbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gU2l6ZXNcbiAgJi5idG4tc20ge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBoZWlnaHQ6ICRjb250cm9sLXNpemUtc207XG4gICAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15LXNtICRjb250cm9sLXBhZGRpbmcteC1zbTtcbiAgfVxuXG4gICYuYnRuLWxnIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1zaXplLWxnO1xuICAgIHBhZGRpbmc6ICRjb250cm9sLXBhZGRpbmcteS1sZyAkY29udHJvbC1wYWRkaW5nLXgtbGc7XG4gIH1cblxuICAvLyBCdXR0b24gQmxvY2tcbiAgJi5idG4tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQnV0dG9uIEFjdGlvblxuICAmLmJ0bi1hY3Rpb24ge1xuICAgIHdpZHRoOiAkY29udHJvbC1zaXplO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgJi5idG4tc20ge1xuICAgICAgd2lkdGg6ICRjb250cm9sLXNpemUtc207XG4gICAgfVxuXG4gICAgJi5idG4tbGcge1xuICAgICAgd2lkdGg6ICRjb250cm9sLXNpemUtbGc7XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIENsZWFyXG4gICYuYnRuLWNsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBoZWlnaHQ6ICR1bml0LTU7XG4gICAgbGluZS1oZWlnaHQ6ICR1bml0LTQ7XG4gICAgbWFyZ2luLWxlZnQ6ICR1bml0LTE7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcGFkZGluZzogJHVuaXQtaDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6ICR1bml0LTU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmctY29sb3IsIC41KTtcbiAgICAgIG9wYWNpdHk6IC45NTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDI3MTVcIjtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIGdyb3Vwc1xuLmJ0bi1ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgLmJ0biB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLSRib3JkZXItd2lkdGg7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tZ3JvdXAtYmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuYnRuIHtcbiAgICAgIGZsZXg6IDEgMCAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm9ybXNcbi5mb3JtLWdyb3VwIHtcbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGF5b3V0LXNwYWNpbmc7XG4gIH1cbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW4tYm90dG9tOiAkbGF5b3V0LXNwYWNpbmctbGc7XG59XG5cbmxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogJGxheW91dC1zcGFjaW5nLWxnO1xufVxuXG4vLyBGb3JtIGVsZW1lbnQ6IExhYmVsXG4uZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY29udHJvbC1wYWRkaW5nLXkgKyAkYm9yZGVyLXdpZHRoIDA7XG5cbiAgJi5sYWJlbC1zbSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIHBhZGRpbmc6ICRjb250cm9sLXBhZGRpbmcteS1zbSArICRib3JkZXItd2lkdGggMDtcbiAgfVxuXG4gICYubGFiZWwtbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBwYWRkaW5nOiAkY29udHJvbC1wYWRkaW5nLXktbGcgKyAkYm9yZGVyLXdpZHRoIDA7XG4gIH1cbn1cblxuLy8gRm9ybSBlbGVtZW50OiBJbnB1dFxuLmZvcm0taW5wdXQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItbGlnaHQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yLWRhcms7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAkY29udHJvbC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6ICRjb250cm9sLXBhZGRpbmcteSAkY29udHJvbC1wYWRkaW5nLXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMsIGJvcmRlciAuMnMsIGJveC1zaGFkb3cgLjJzLCBjb2xvciAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgfVxuXG4gIC8vIElucHV0IHNpemVzXG4gICYuaW5wdXQtc20ge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBoZWlnaHQ6ICRjb250cm9sLXNpemUtc207XG4gICAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15LXNtICRjb250cm9sLXBhZGRpbmcteC1zbTtcbiAgfVxuXG4gICYuaW5wdXQtbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBoZWlnaHQ6ICRjb250cm9sLXNpemUtbGc7XG4gICAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15LWxnICRjb250cm9sLXBhZGRpbmcteC1sZztcbiAgfVxuXG4gICYuaW5wdXQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIElucHV0IHR5cGVzXG4gICZbdHlwZT1cImZpbGVcIl0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vLyBGb3JtIGVsZW1lbnQ6IFRleHRhcmVhXG50ZXh0YXJlYS5mb3JtLWlucHV0IHtcbiAgJixcbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIEZvcm0gZWxlbWVudDogSW5wdXQgaGludFxuLmZvcm0taW5wdXQtaGludCB7XG4gIGNvbG9yOiAkZ3JheS1jb2xvcjtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBtYXJnaW4tdG9wOiAkdW5pdC0xO1xuXG4gIC5oYXMtc3VjY2VzcyAmLFxuICAuaXMtc3VjY2VzcyArICYge1xuICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgfVxuXG4gIC5oYXMtZXJyb3IgJixcbiAgLmlzLWVycm9yICsgJiB7XG4gICAgY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JtIGVsZW1lbnQ6IFNlbGVjdFxuLmZvcm0tc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3ItZGFyaztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGhlaWdodDogJGNvbnRyb2wtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15ICRjb250cm9sLXBhZGRpbmcteDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1saWdodDsgXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gU2VsZWN0IHNpemVzXG4gICYuc2VsZWN0LXNtIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgaGVpZ2h0OiAkY29udHJvbC1zaXplLXNtO1xuICAgIHBhZGRpbmc6ICRjb250cm9sLXBhZGRpbmcteS1zbSAoJGNvbnRyb2wtaWNvbi1zaXplICsgJGNvbnRyb2wtcGFkZGluZy14LXNtKSAkY29udHJvbC1wYWRkaW5nLXktc20gJGNvbnRyb2wtcGFkZGluZy14LXNtO1xuICB9XG5cbiAgJi5zZWxlY3QtbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBoZWlnaHQ6ICRjb250cm9sLXNpemUtbGc7XG4gICAgcGFkZGluZzogJGNvbnRyb2wtcGFkZGluZy15LWxnICgkY29udHJvbC1pY29uLXNpemUgKyAkY29udHJvbC1wYWRkaW5nLXgtbGcpICRjb250cm9sLXBhZGRpbmcteS1sZyAkY29udHJvbC1wYWRkaW5nLXgtbGc7XG4gIH1cblxuICAvLyBNdWx0aXBsZSBzZWxlY3RcbiAgJltzaXplXSxcbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAkY29udHJvbC1wYWRkaW5nLXkgJGNvbnRyb2wtcGFkZGluZy14O1xuXG4gICAgb3B0aW9uIHtcbiAgICAgIHBhZGRpbmc6ICR1bml0LWggJHVuaXQtMTtcbiAgICB9XG4gIH1cbiAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1saWdodCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclMjB2aWV3Qm94PScwJTIwMCUyMDQlMjA1JyUzRSUzQ3BhdGglMjBmaWxsPSclMjM2NjcxODknJTIwZD0nTTIlMjAwTDAlMjAyaDR6bTAlMjA1TDAlMjAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCByaWdodCAuMzVyZW0gY2VudGVyIC8gLjRyZW0gLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRyb2wtaWNvbi1zaXplICsgJGNvbnRyb2wtcGFkZGluZy14O1xuICB9XG59XG5cbi8vIEZvcm0gSWNvbnNcbi5oYXMtaWNvbi1sZWZ0LFxuLmhhcy1pY29uLXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5mb3JtLWljb24ge1xuICAgIGhlaWdodDogJGNvbnRyb2wtaWNvbi1zaXplO1xuICAgIG1hcmdpbjogMCAkY29udHJvbC1wYWRkaW5nLXk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogJGNvbnRyb2wtaWNvbi1zaXplO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMCArIDE7XG4gIH1cbn1cblxuLmhhcy1pY29uLWxlZnQge1xuICAuZm9ybS1pY29uIHtcbiAgICBsZWZ0OiAkYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLmZvcm0taW5wdXQge1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRyb2wtaWNvbi1zaXplICsgJGNvbnRyb2wtcGFkZGluZy15ICogMjtcbiAgfVxufVxuXG4uaGFzLWljb24tcmlnaHQge1xuICAuZm9ybS1pY29uIHtcbiAgICByaWdodDogJGJvcmRlci13aWR0aDtcbiAgfVxuXG4gIC5mb3JtLWlucHV0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udHJvbC1pY29uLXNpemUgKyAkY29udHJvbC1wYWRkaW5nLXkgKiAyO1xuICB9XG59XG5cbi8vIEZvcm0gZWxlbWVudDogQ2hlY2tib3ggYW5kIFJhZGlvXG4uZm9ybS1jaGVja2JveCxcbi5mb3JtLXJhZGlvLFxuLmZvcm0tc3dpdGNoIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogKCRjb250cm9sLXNpemUgLSAkY29udHJvbC1zaXplLXNtKSAvIDIgMDtcbiAgbWluLWhlaWdodDogJGNvbnRyb2wtc2l6ZS1zbTtcbiAgcGFkZGluZzogKCgkY29udHJvbC1zaXplLXNtIC0gJGxpbmUtaGVpZ2h0KSAvIDIpICRjb250cm9sLXBhZGRpbmcteCAoKCRjb250cm9sLXNpemUtc20gLSAkbGluZS1oZWlnaHQpIC8gMikgKCRjb250cm9sLWljb24tc2l6ZSArICRjb250cm9sLXBhZGRpbmcteCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbnB1dCB7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICAmOmZvY3VzICsgLmZvcm0taWNvbiB7XG4gICAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gICAgJjpjaGVja2VkICsgLmZvcm0taWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taWNvbiB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3ItZGFyaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycywgYm9yZGVyIC4ycywgYm94LXNoYWRvdyAuMnMsIGNvbG9yIC4ycztcbiAgfVxuXG4gIC8vIElucHV0IGNoZWNrYm94LCByYWRpbyBhbmQgc3dpdGNoIHNpemVzXG4gICYuaW5wdXQtc20ge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmLmlucHV0LWxnIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgbWFyZ2luOiAoJGNvbnRyb2wtc2l6ZS1sZyAtICRjb250cm9sLXNpemUtc20pIC8gMiAwO1xuICB9XG59XG5cbi5mb3JtLWNoZWNrYm94LFxuLmZvcm0tcmFkaW8ge1xuICAuZm9ybS1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItbGlnaHQ7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1pY29uLXNpemU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6ICgkY29udHJvbC1zaXplLXNtIC0gJGNvbnRyb2wtaWNvbi1zaXplKSAvIDI7XG4gICAgd2lkdGg6ICRjb250cm9sLWljb24tc2l6ZTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmOmFjdGl2ZSArIC5mb3JtLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWRhcms7XG4gICAgfVxuICB9XG59XG4uZm9ybS1jaGVja2JveCB7XG4gIC5mb3JtLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgaW5wdXQge1xuICAgICY6Y2hlY2tlZCArIC5mb3JtLWljb24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoLWxnIHNvbGlkICRsaWdodC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSArIC5mb3JtLWljb24ge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWxpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uZm9ybS1yYWRpbyB7XG4gIC5mb3JtLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmOmNoZWNrZWQgKyAuZm9ybS1pY29uIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1saWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRm9ybSBlbGVtZW50OiBTd2l0Y2hcbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogKCR1bml0LTggKyAkY29udHJvbC1wYWRkaW5nLXgpO1xuXG4gIC5mb3JtLWljb24ge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogJHVuaXQtMiArICRib3JkZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkdW5pdC00ICsgJGJvcmRlci13aWR0aCAqIDI7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6ICgkY29udHJvbC1zaXplLXNtIC0gJHVuaXQtNCkgLyAyIC0gJGJvcmRlci13aWR0aDtcbiAgICB3aWR0aDogJHVuaXQtODtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWxpZ2h0O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkdW5pdC00O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzLCBib3JkZXIgLjJzLCBib3gtc2hhZG93IC4ycywgY29sb3IgLjJzLCBsZWZ0IC4ycztcbiAgICAgIHdpZHRoOiAkdW5pdC00O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0IHtcbiAgICAmOmNoZWNrZWQgKyAuZm9ybS1pY29uIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWN0aXZlICsgLmZvcm0taWNvbiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcm0gZWxlbWVudDogSW5wdXQgZ3JvdXBzXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yLWRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkY29udHJvbC1wYWRkaW5nLXkgJGNvbnRyb2wtcGFkZGluZy14O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmLmFkZG9uLXNtIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICAgIHBhZGRpbmc6ICRjb250cm9sLXBhZGRpbmcteS1zbSAkY29udHJvbC1wYWRkaW5nLXgtc207XG4gICAgfVxuXG4gICAgJi5hZGRvbi1sZyB7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgICBwYWRkaW5nOiAkY29udHJvbC1wYWRkaW5nLXktbGcgJGNvbnRyb2wtcGFkZGluZy14LWxnO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWlucHV0LFxuICAuZm9ybS1zZWxlY3Qge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idG4ge1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgfVxuXG4gIC5mb3JtLWlucHV0LFxuICAuZm9ybS1zZWxlY3QsXG4gIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogLSRib3JkZXItd2lkdGg7XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogJHppbmRleC0wICsgMTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgJi5pbnB1dC1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG59XG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi5mb3JtLWlucHV0LFxuLmZvcm0tc2VsZWN0IHtcbiAgLmhhcy1zdWNjZXNzICYsXG4gICYuaXMtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkc3VjY2Vzcy1jb2xvciwgNTMlKTtcbiAgICBib3JkZXItY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJHN1Y2Nlc3MtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5oYXMtZXJyb3IgJixcbiAgJi5pcy1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkZXJyb3ItY29sb3IsIDUzJSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkZXJyb3ItY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVja2JveCxcbi5mb3JtLXJhZGlvLFxuLmZvcm0tc3dpdGNoIHtcbiAgLmhhcy1lcnJvciAmLFxuICAmLmlzLWVycm9yIHtcbiAgICAuZm9ybS1pY29uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGVycm9yLWNvbG9yO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICY6Y2hlY2tlZCArIC5mb3JtLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZXJyb3ItY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGVycm9yLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzICsgLmZvcm0taWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRyb2wtc2hhZG93KCRlcnJvci1jb2xvcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGVycm9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVja2JveCB7XG4gIC5oYXMtZXJyb3IgJixcbiAgJi5pcy1lcnJvciB7XG4gICAgaW5wdXQge1xuICAgICAgJjppbmRldGVybWluYXRlICsgLmZvcm0taWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRlcnJvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHZhbGlkYXRpb24gYmFzZWQgb24gOnBsYWNlaG9sZGVyLXNob3duIChFZGdlIGRvZXNuJ3Qgc3VwcG9ydCBpdCB5ZXQpXG4uZm9ybS1pbnB1dCB7XG4gICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICY6aW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBjb250cm9sLXNoYWRvdygkZXJyb3ItY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRlcnJvci1jb2xvciwgNTMlKTtcbiAgICAgIH1cblxuICAgICAgJiArIC5mb3JtLWlucHV0LWhpbnQge1xuICAgICAgICBjb2xvcjogJGVycm9yLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JtIGRpc2FibGVkIGFuZCByZWFkb25seVxuLmZvcm0taW5wdXQsXG4uZm9ybS1zZWxlY3Qge1xuICAmOmRpc2FibGVkLFxuICAmLmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3ItZGFyaztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi5mb3JtLWlucHV0IHtcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvcjtcbiAgfVxufVxuXG5pbnB1dCB7XG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgICYgKyAuZm9ybS1pY29uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1zd2l0Y2gge1xuICBpbnB1dCB7XG4gICAgJjpkaXNhYmxlZCxcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICYgKyAuZm9ybS1pY29uOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcm0gaG9yaXpvbnRhbFxuLmZvcm0taG9yaXpvbnRhbCB7XG4gIHBhZGRpbmc6ICRsYXlvdXQtc3BhY2luZyAwO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG4vLyBGb3JtIGlubGluZVxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuIiwiLy8gTGFiZWxzXG4ubGFiZWwge1xuICBAaW5jbHVkZSBsYWJlbC1iYXNlKCk7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQobGlnaHRlbigkYm9keS1mb250LWNvbG9yLCA1JSksICRiZy1jb2xvci1kYXJrKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIExhYmVsIHJvdW5kZWRcbiAgJi5sYWJlbC1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogLjRyZW07XG4gICAgcGFkZGluZy1yaWdodDogLjRyZW07IFxuICB9XG5cbiAgLy8gTGFiZWwgY29sb3JzXG4gICYubGFiZWwtcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGlnaHQtY29sb3IsICRwcmltYXJ5LWNvbG9yKTtcbiAgfVxuXG4gICYubGFiZWwtc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRwcmltYXJ5LWNvbG9yLCAkc2Vjb25kYXJ5LWNvbG9yKTtcbiAgfVxuXG4gICYubGFiZWwtc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGlnaHQtY29sb3IsICRzdWNjZXNzLWNvbG9yKTtcbiAgfVxuXG4gICYubGFiZWwtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGlnaHQtY29sb3IsICR3YXJuaW5nLWNvbG9yKTtcbiAgfVxuXG4gICYubGFiZWwtZXJyb3Ige1xuICAgIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxpZ2h0LWNvbG9yLCAkZXJyb3ItY29sb3IpO1xuICB9XG59XG4iLCIvLyBDb2Rlc1xuY29kZSB7XG4gIEBpbmNsdWRlIGxhYmVsLWJhc2UoKTtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkY29kZS1jb2xvciwgbGlnaHRlbigkY29kZS1jb2xvciwgMjYlKSk7XG4gIGZvbnQtc2l6ZTogODUlO1xufVxuXG4uY29kZSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1sYW5nKTtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgdG9wOiAkdW5pdC1oO1xuICB9XG5cbiAgY29kZSB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBNZWRpYVxuLy8gSW1hZ2UgcmVzcG9uc2l2ZVxuLmltZy1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyBvYmplY3QtZml0IHN1cHBvcnQgaXMgY29taW5nIHRvIE1pY3Jvc29mdCBFZGdlXG4vLyBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL3N0YXR1cy9vYmplY3RmaXRhbmRvYmplY3Rwb3NpdGlvbi9cbi5pbWctZml0LWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5pbWctZml0LWNvbnRhaW4ge1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vLyBWaWRlbyByZXNwb25zaXZlXG4udmlkZW8tcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gRGVmYXVsdCByYXRpbyAxNjo5LCB5b3UgY2FuIGNhbGN1bGF0ZSB0aGlzIHZhbHVlIGJ5IGRpdmlkaW5nIDkgYnkgMTZcbiAgfVxuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbnZpZGVvLnZpZGVvLXJlc3BvbnNpdmUge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLnZpZGVvLXJlc3BvbnNpdmUtNC0zIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlOyAvLyBSYXRpbyA0OjNcbiAgfVxufVxuXG4udmlkZW8tcmVzcG9uc2l2ZS0xLTEge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyAvLyBSYXRpbyAxOjFcbiAgfVxufVxuXG4vLyBGaWd1cmVcbi5maWd1cmUge1xuICBtYXJnaW46IDAgMCAkbGF5b3V0LXNwYWNpbmcgMDtcblxuICAuZmlndXJlLWNhcHRpb24ge1xuICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICAgIG1hcmdpbi10b3A6ICRsYXlvdXQtc3BhY2luZztcbiAgfVxufVxuIiwiLy8gTGF5b3V0XG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0LXNwYWNpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRsYXlvdXQtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJGdyaWQtc3BhY2luZzogKCRsYXlvdXQtc3BhY2luZyAvICgkbGF5b3V0LXNwYWNpbmcgKiAwICsgMSkpICogJGh0bWwtZm9udC1zaXplO1xuXG4gICYuZ3JpZC14bCB7XG4gICAgbWF4LXdpZHRoOiAkZ3JpZC1zcGFjaW5nICogMiArICRzaXplLXhsO1xuICB9XG5cbiAgJi5ncmlkLWxnIHtcbiAgICBtYXgtd2lkdGg6ICRncmlkLXNwYWNpbmcgKiAyICsgJHNpemUtbGc7XG4gIH1cblxuICAmLmdyaWQtbWQge1xuICAgIG1heC13aWR0aDogJGdyaWQtc3BhY2luZyAqIDIgKyAkc2l6ZS1tZDtcbiAgfVxuXG4gICYuZ3JpZC1zbSB7XG4gICAgbWF4LXdpZHRoOiAkZ3JpZC1zcGFjaW5nICogMiArICRzaXplLXNtO1xuICB9XG5cbiAgJi5ncmlkLXhzIHtcbiAgICBtYXgtd2lkdGg6ICRncmlkLXNwYWNpbmcgKiAyICsgJHNpemUteHM7XG4gIH1cbn1cblxuLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50IHN5c3RlbVxuLnNob3cteHMsXG4uc2hvdy1zbSxcbi5zaG93LW1kLFxuLnNob3ctbGcsXG4uc2hvdy14bCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gUmVzcG9uc2l2ZSBncmlkIHN5c3RlbVxuLmNvbHVtbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtJGxheW91dC1zcGFjaW5nO1xuICBtYXJnaW4tcmlnaHQ6IC0kbGF5b3V0LXNwYWNpbmc7XG5cbiAgJi5jb2wtZ2FwbGVzcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgJiA+IC5jb2x1bW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJi5jb2wtb25lbGluZSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgfVxufVxuLmNvbHVtbiB7XG4gIGZsZXg6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0LXNwYWNpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRsYXlvdXQtc3BhY2luZztcblxuICAmLmNvbC0xMixcbiAgJi5jb2wtMTEsXG4gICYuY29sLTEwLFxuICAmLmNvbC05LFxuICAmLmNvbC04LFxuICAmLmNvbC03LFxuICAmLmNvbC02LFxuICAmLmNvbC01LFxuICAmLmNvbC00LFxuICAmLmNvbC0zLFxuICAmLmNvbC0yLFxuICAmLmNvbC0xLFxuICAmLmNvbC1hdXRvIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG59XG4uY29sLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY29sLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbn1cbi5jb2wtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMlO1xufVxuLmNvbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cbi5jb2wtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG59XG4uY29sLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMlO1xufVxuLmNvbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cbi5jb2wtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NyU7XG59XG4uY29sLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLmNvbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi5jb2wtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyU7XG59XG4uY29sLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG4uY29sLWF1dG8ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogYXV0bztcbn1cbi5jb2wtbXgtYXV0byB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uY29sLW1sLWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5jb2wtbXItYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS14bCkge1xuICAuY29sLXhsLTEyLFxuICAuY29sLXhsLTExLFxuICAuY29sLXhsLTEwLFxuICAuY29sLXhsLTksXG4gIC5jb2wteGwtOCxcbiAgLmNvbC14bC03LFxuICAuY29sLXhsLTYsXG4gIC5jb2wteGwtNSxcbiAgLmNvbC14bC00LFxuICAuY29sLXhsLTMsXG4gIC5jb2wteGwtMixcbiAgLmNvbC14bC0xLFxuICAuY29sLXhsLWF1dG8ge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbiAgLmNvbC14bC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC14bC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXhsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXhsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXhsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXhsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14bC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC14bC1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuaGlkZS14bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LXhsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogJHNpemUtbGcpIHtcbiAgLmNvbC1sZy0xMixcbiAgLmNvbC1sZy0xMSxcbiAgLmNvbC1sZy0xMCxcbiAgLmNvbC1sZy05LFxuICAuY29sLWxnLTgsXG4gIC5jb2wtbGctNyxcbiAgLmNvbC1sZy02LFxuICAuY29sLWxnLTUsXG4gIC5jb2wtbGctNCxcbiAgLmNvbC1sZy0zLFxuICAuY29sLWxnLTIsXG4gIC5jb2wtbGctMSxcbiAgLmNvbC1sZy1hdXRvIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbGctMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1sZy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmhpZGUtbGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy1sZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLW1kKSB7XG4gIC5jb2wtbWQtMTIsXG4gIC5jb2wtbWQtMTEsXG4gIC5jb2wtbWQtMTAsXG4gIC5jb2wtbWQtOSxcbiAgLmNvbC1tZC04LFxuICAuY29sLW1kLTcsXG4gIC5jb2wtbWQtNixcbiAgLmNvbC1tZC01LFxuICAuY29sLW1kLTQsXG4gIC5jb2wtbWQtMyxcbiAgLmNvbC1tZC0yLFxuICAuY29sLW1kLTEsXG4gIC5jb2wtbWQtYXV0byB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5oaWRlLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctbWQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS1zbSkge1xuICAuY29sLXNtLTEyLFxuICAuY29sLXNtLTExLFxuICAuY29sLXNtLTEwLFxuICAuY29sLXNtLTksXG4gIC5jb2wtc20tOCxcbiAgLmNvbC1zbS03LFxuICAuY29sLXNtLTYsXG4gIC5jb2wtc20tNSxcbiAgLmNvbC1zbS00LFxuICAuY29sLXNtLTMsXG4gIC5jb2wtc20tMixcbiAgLmNvbC1zbS0xLFxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLXNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1hdXRvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuaGlkZS1zbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogJHNpemUteHMpIHtcbiAgLmNvbC14cy0xMixcbiAgLmNvbC14cy0xMSxcbiAgLmNvbC14cy0xMCxcbiAgLmNvbC14cy05LFxuICAuY29sLXhzLTgsXG4gIC5jb2wteHMtNyxcbiAgLmNvbC14cy02LFxuICAuY29sLXhzLTUsXG4gIC5jb2wteHMtNCxcbiAgLmNvbC14cy0zLFxuICAuY29sLXhzLTIsXG4gIC5jb2wteHMtMSxcbiAgLmNvbC14cy1hdXRvIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG4gIC5jb2wteHMtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wteHMtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC14cy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXhzLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC14cy04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHMtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXhzLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC14cy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHMtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXhzLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC14cy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC5jb2wteHMtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wteHMtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmhpZGUteHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAuc2hvdy14cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gSGVyb1xuLmhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICBwYWRkaW5nLXRvcDogNHJlbTtcblxuICAmLmhlcm8tc20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICB9XG5cbiAgJi5oZXJvLWxnIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTtcbiAgICBwYWRkaW5nLXRvcDogOHJlbTtcbiAgfVxuXG4gIC5oZXJvLWJvZHkge1xuICAgIHBhZGRpbmc6ICRsYXlvdXQtc3BhY2luZztcbiAgfVxufSIsIi8vIE5hdmJhclxuLm5hdmJhciB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAubmF2YmFyLXNlY3Rpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgMDtcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCk6bGFzdC1jaGlsZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvLyBBY2NvcmRpb25zXG4uYWNjb3JkaW9uIHtcbiAgaW5wdXQ6Y2hlY2tlZCB+LFxuICAmW29wZW5dIHtcbiAgICAmIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkdW5pdC0xICR1bml0LTI7XG5cbiAgICAuaWNvbiB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cztcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uLWJvZHkge1xuICAgIG1hcmdpbi1ib3R0b206ICRsYXlvdXQtc3BhY2luZztcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMjVzO1xuICB9XG59XG5cbi8vIFJlbW92ZSBkZWZhdWx0IGRldGFpbHMgbWFya2VyIGluIFdlYmtpdFxuc3VtbWFyeS5hY2NvcmRpb24taGVhZGVyIHtcbiAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gQXZhdGFyc1xuLmF2YXRhciB7XG4gIEBpbmNsdWRlIGF2YXRhci1iYXNlKCk7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiByZ2JhKCRsaWdodC1jb2xvciwgLjg1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJi5hdmF0YXIteHMge1xuICAgIEBpbmNsdWRlIGF2YXRhci1iYXNlKCR1bml0LTQpO1xuICB9XG4gICYuYXZhdGFyLXNtIHtcbiAgICBAaW5jbHVkZSBhdmF0YXItYmFzZSgkdW5pdC02KTtcbiAgfVxuICAmLmF2YXRhci1sZyB7XG4gICAgQGluY2x1ZGUgYXZhdGFyLWJhc2UoJHVuaXQtMTIpO1xuICB9XG4gICYuYXZhdGFyLXhsIHtcbiAgICBAaW5jbHVkZSBhdmF0YXItYmFzZSgkdW5pdC0xNik7XG4gIH1cblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgfVxuXG4gIC5hdmF0YXItaWNvbixcbiAgLmF2YXRhci1wcmVzZW5jZSB7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWxpZ2h0O1xuICAgIGJvdHRvbTogMTQuNjQlO1xuICAgIGhlaWdodDogNTAlO1xuICAgIHBhZGRpbmc6ICRib3JkZXItd2lkdGgtbGc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNC42NCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCA1MCUpO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgei1pbmRleDogJHppbmRleC0wICsgMTtcbiAgfVxuXG4gIC5hdmF0YXItcHJlc2VuY2Uge1xuICAgIGJhY2tncm91bmQ6ICRncmF5LWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRib3JkZXItd2lkdGgtbGcgJGxpZ2h0LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IC41ZW07XG5cbiAgICAmLm9ubGluZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmJ1c3kge1xuICAgICAgYmFja2dyb3VuZDogJGVycm9yLWNvbG9yO1xuICAgIH1cblxuICAgICYuYXdheSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2FybmluZy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtaW5pdGlhbF06OmJlZm9yZSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtaW5pdGlhbCk7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gIH1cbn0iLCIvLyBCYWRnZXNcbi5iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmW2RhdGEtYmFkZ2VdLFxuICAmOm5vdChbZGF0YS1iYWRnZV0pIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIC4xcmVtICRiZy1jb2xvci1saWdodDtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtYmFkZ2UpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLS4wNXJlbSwgLS41cmVtKTtcbiAgICB9XG4gIH1cbiAgJltkYXRhLWJhZGdlXSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgICAgaGVpZ2h0OiAuOXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWluLXdpZHRoOiAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IC4xcmVtIC4ycmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cbiAgJjpub3QoW2RhdGEtYmFkZ2VdKSxcbiAgJltkYXRhLWJhZGdlPVwiXCJdIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIG1pbi13aWR0aDogNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFkZ2VzIGZvciBCdXR0b25zXG4gICYuYnRuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFkZ2VzIGZvciBBdmF0YXJzXG4gICYuYXZhdGFyIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE0LjY0JTtcbiAgICAgIHJpZ2h0OiAxNC42NCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgei1pbmRleDogJHppbmRleC0xO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQnJlYWRjcnVtYnNcbi5icmVhZGNydW1iIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkdW5pdC0xIDA7XG4gIHBhZGRpbmc6ICR1bml0LTEgMDtcblxuICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBjb2xvcjogJGdyYXktY29sb3ItZGFyaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICR1bml0LTEgMDtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICR1bml0LTE7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyYXktY29sb3ItZGFyaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1jb2xvci1kYXJrO1xuICAgICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHVuaXQtMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhcnNcbi5iYXIge1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItZGFyaztcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBoZWlnaHQ6ICR1bml0LTQ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYuYmFyLXNtIHtcbiAgICBoZWlnaHQ6ICR1bml0LTE7XG4gIH1cblxuICAvLyBUT0RPOiBhdHRyKCkgc3VwcG9ydFxuICAuYmFyLWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkdW5pdC00O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAwO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIFNsaWRlciBiYXJcbi5iYXItc2xpZGVyIHtcbiAgaGVpZ2h0OiAkYm9yZGVyLXdpZHRoLWxnO1xuICBtYXJnaW46ICRsYXlvdXQtc3BhY2luZyAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmJhci1pdGVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICY6bm90KDpsYXN0LWNoaWxkKTpmaXJzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItZGFyaztcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtMDtcbiAgICB9XG4gIH1cblxuICAuYmFyLXNsaWRlci1idG4ge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiAkdW5pdC0zO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgd2lkdGg6ICR1bml0LTM7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENhcmRzXG4uY2FyZCB7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1saWdodDtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtYm9keSxcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkbGF5b3V0LXNwYWNpbmctbGc7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRsYXlvdXQtc3BhY2luZy1sZztcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5jYXJkLWltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogJGxheW91dC1zcGFjaW5nLWxnO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENoaXBzXG4uY2hpcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1kYXJrO1xuICBib3JkZXItcmFkaXVzOiA1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGhlaWdodDogJHVuaXQtNjtcbiAgbGluZS1oZWlnaHQ6ICR1bml0LTQ7XG4gIG1hcmdpbjogJHVuaXQtaDtcbiAgbWF4LXdpZHRoOiAkY29udHJvbC13aWR0aC1zbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogJHVuaXQtMSAkdW5pdC0yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG5cbiAgLmF2YXRhciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdW5pdC0yO1xuICAgIG1hcmdpbi1yaWdodDogJHVuaXQtMTtcbiAgfVxuXG4gIC5idG4tY2xlYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43NSk7XG4gIH1cbn1cbiIsIi8vIERyb3Bkb3duXG4uZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubWVudSB7XG4gICAgYW5pbWF0aW9uOiBzbGlkZS1kb3duIC4xNXMgZWFzZSAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogMDtcbiAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuXG4gICYuZHJvcGRvd24tcmlnaHQge1xuICAgIC5tZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAubWVudSxcbiAgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyArIC5tZW51LFxuICAubWVudTpob3ZlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBGaXggZHJvcGRvd24tdG9nZ2xlIGJvcmRlciByYWRpdXMgaW4gYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIHtcbiAgICAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEVtcHR5IHN0YXRlcyAob3IgQmxhbmsgc2xhdGVzKVxuLmVtcHR5IHtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgY29sb3I6ICRncmF5LWNvbG9yLWRhcms7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogJHVuaXQtMTYgJHVuaXQtODtcblxuICAuZW1wdHktaWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxheW91dC1zcGFjaW5nLWxnO1xuICB9XG5cbiAgLmVtcHR5LXRpdGxlLFxuICAuZW1wdHktc3VidGl0bGUge1xuICAgIG1hcmdpbjogJGxheW91dC1zcGFjaW5nIGF1dG87XG4gIH1cblxuICAuZW1wdHktYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAkbGF5b3V0LXNwYWNpbmctbGc7XG4gIH1cbn1cbiIsIi8vIE1lbnVzXG4ubWVudSB7XG4gIEBpbmNsdWRlIHNoYWRvdy12YXJpYW50KC4wNXJlbSk7XG4gIGJhY2tncm91bmQ6ICRiZy1jb2xvci1saWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAkY29udHJvbC13aWR0aC14cztcbiAgcGFkZGluZzogJHVuaXQtMjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRsYXlvdXQtc3BhY2luZy1zbSk7XG4gIHotaW5kZXg6ICR6aW5kZXgtMztcblxuICAmLm1lbnUtbmF2IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwICR1bml0LTI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICYgPiBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAoLSR1bml0LTIpO1xuICAgICAgcGFkZGluZzogJHVuaXQtMSAkdW5pdC0yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWNoZWNrYm94LFxuICAgIC5mb3JtLXJhZGlvLFxuICAgIC5mb3JtLXN3aXRjaCB7XG4gICAgICBtYXJnaW46ICR1bml0LWggMDtcbiAgICB9XG5cbiAgICAmICsgLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAkdW5pdC0xO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LWJhZGdlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG5cbiAgICAubGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdW5pdC0yO1xuICAgIH1cbiAgfVxufSIsIi8vIE1vZGFsc1xuLm1vZGFsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG5cbiAgJjp0YXJnZXQsXG4gICYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogJHppbmRleC00O1xuXG4gICAgLm1vZGFsLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmctY29sb3IsIC43NSk7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGFpbmVyIHtcbiAgICAgIGFuaW1hdGlvbjogc2xpZGUtZG93biAuMnMgZWFzZSAxO1xuICAgICAgei1pbmRleDogJHppbmRleC0wO1xuICAgIH1cbiAgfVxuXG4gICYubW9kYWwtc20ge1xuICAgIC5tb2RhbC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAkY29udHJvbC13aWR0aC1zbTtcbiAgICAgIHBhZGRpbmc6IDAgJHVuaXQtMjtcbiAgICB9XG4gIH1cblxuICAmLm1vZGFsLWxnIHtcbiAgICAubW9kYWwtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItbGlnaHQ7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgbWF4LXdpZHRoOiAkY29udHJvbC13aWR0aC1sZztcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHNoYWRvdy12YXJpYW50KC4ycmVtKTtcbiAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWxpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogNzV2aDtcbiAgbWF4LXdpZHRoOiAkY29udHJvbC13aWR0aC1tZDtcbiAgcGFkZGluZzogMCAkdW5pdC00O1xuICB3aWR0aDogMTAwJTtcblxuICAmLm1vZGFsLWZ1bGxoZWlnaHQge1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICB9XG5cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgY29sb3I6ICRkYXJrLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR1bml0LTQ7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAkdW5pdC00O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6ICR1bml0LTQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIi8vIE5hdnNcbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICR1bml0LTEgMDtcblxuICAubmF2LWl0ZW0ge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5LWNvbG9yLWRhcms7XG4gICAgICBwYWRkaW5nOiAkdW5pdC0xICR1bml0LTI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgJiA+IGEge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRncmF5LWNvbG9yLWRhcmssIDEwJSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmIC5uYXYge1xuICAgIG1hcmdpbi1ib3R0b206ICR1bml0LTI7XG4gICAgbWFyZ2luLWxlZnQ6ICR1bml0LTQ7XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkdW5pdC0xIDA7XG4gIHBhZGRpbmc6ICR1bml0LTEgMDtcblxuICAucGFnZS1pdGVtIHtcbiAgICBtYXJnaW46ICR1bml0LTEgJHVuaXQtbztcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogJHVuaXQtMSAkdW5pdC0xO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkdW5pdC0xICR1bml0LTI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGEge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wYWdlLXByZXYsXG4gICAgJi5wYWdlLW5leHQge1xuICAgICAgZmxleDogMSAwIDUwJTtcbiAgICB9XG5cbiAgICAmLnBhZ2UtbmV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAucGFnZS1pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucGFnZS1pdGVtLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFuZWxzXG4ucGFuZWwge1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLnBhbmVsLWhlYWRlcixcbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nLWxnO1xuICB9XG5cbiAgLnBhbmVsLW5hdiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cblxuICAucGFuZWwtYm9keSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiAwICRsYXlvdXQtc3BhY2luZy1sZztcbiAgfVxufVxuIiwiLy8gUG9wb3ZlcnNcbi5wb3BvdmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnBvcG92ZXItY29udGFpbmVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIHdpZHRoOiAkY29udHJvbC13aWR0aC1zbTtcbiAgICB6LWluZGV4OiAkemluZGV4LTM7XG4gIH1cblxuICAqOmZvY3VzICsgLnBvcG92ZXItY29udGFpbmVyLFxuICAmOmhvdmVyIC5wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSkgc2NhbGUoMSk7XG4gIH1cblxuICAmLnBvcG92ZXItcmlnaHQge1xuICAgIC5wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgKjpmb2N1cyArIC5wb3BvdmVyLWNvbnRhaW5lcixcbiAgICAmOmhvdmVyIC5wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSBzY2FsZSgxKTtcbiAgICB9XG4gIH1cblxuICAmLnBvcG92ZXItYm90dG9tIHtcbiAgICAucG9wb3Zlci1jb250YWluZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgIH1cblxuICAgICo6Zm9jdXMgKyAucG9wb3Zlci1jb250YWluZXIsXG4gICAgJjpob3ZlciAucG9wb3Zlci1jb250YWluZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWxlZnQge1xuICAgIC5wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgfVxuXG4gICAgKjpmb2N1cyArIC5wb3BvdmVyLWNvbnRhaW5lcixcbiAgICAmOmhvdmVyIC5wb3BvdmVyLWNvbnRhaW5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgLTUwJSkgc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIHNoYWRvdy12YXJpYW50KC4ycmVtKTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbiIsIi8vIFN0ZXBzXG4uc3RlcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICR1bml0LTEgMDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLnN0ZXAtaXRlbSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtaW4taGVpZ2h0OiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAtNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA5cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoLWxnIHNvbGlkICRsaWdodC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAkdW5pdC0zO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAkdW5pdC0xO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAkdW5pdC0zO1xuICAgICAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aC1sZyBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIH4gLnN0ZXAtaXRlbSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS1jb2xvcjtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGlsZXNcbi50aWxlIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLnRpbGUtaWNvbixcbiAgLnRpbGUtYWN0aW9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAudGlsZS1jb250ZW50IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHVuaXQtMjtcbiAgICB9XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICR1bml0LTI7XG4gICAgfVxuICB9XG4gIC50aWxlLXRpdGxlLFxuICAudGlsZS1zdWJ0aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gICYudGlsZS1jZW50ZXJlZCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC50aWxlLWNvbnRlbnQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGlsZS10aXRsZSxcbiAgICAudGlsZS1zdWJ0aXRsZSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWVsbGlwc2lzKCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVG9hc3RzXG4udG9hc3Qge1xuICBAaW5jbHVkZSB0b2FzdC12YXJpYW50KCRkYXJrLWNvbG9yKTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRkYXJrLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsYXlvdXQtc3BhY2luZztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi50b2FzdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSB0b2FzdC12YXJpYW50KCRwcmltYXJ5LWNvbG9yKTtcbiAgfVxuXG4gICYudG9hc3Qtc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgdG9hc3QtdmFyaWFudCgkc3VjY2Vzcy1jb2xvcik7XG4gIH1cblxuICAmLnRvYXN0LXdhcm5pbmcge1xuICAgIEBpbmNsdWRlIHRvYXN0LXZhcmlhbnQoJHdhcm5pbmctY29sb3IpO1xuICB9XG5cbiAgJi50b2FzdC1lcnJvciB7XG4gICAgQGluY2x1ZGUgdG9hc3QtdmFyaWFudCgkZXJyb3ItY29sb3IpO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjc1O1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY2xlYXIge1xuICAgIG1hcmdpbjogJHVuaXQtaDtcbiAgfVxuXG4gIHAge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gVG9vbHRpcHNcbi50b29sdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkZGFyay1jb2xvciwgLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3R0b206IDEwMCU7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtd2lkdGg6ICRjb250cm9sLXdpZHRoLXNtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAkdW5pdC0xICR1bml0LTI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsICR1bml0LTIpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzLCB0cmFuc2Zvcm0gLjJzO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgei1pbmRleDogJHppbmRleC0zO1xuICB9XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtJHVuaXQtMSk7XG4gICAgfVxuICB9XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICYudG9vbHRpcC1yaWdodCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiA1MCU7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSR1bml0LTEsIDUwJSk7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR1bml0LTEsIDUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi50b29sdGlwLWJvdHRvbSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLSR1bml0LTIpO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAkdW5pdC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYudG9vbHRpcC1sZWZ0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206IDUwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR1bml0LTIsIDUwJSk7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0kdW5pdC0xLCA1MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS1kb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdW5pdC04KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcInV0aWxpdGllcy9jb2xvcnNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvY3Vyc29yc1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9kaXNwbGF5XCI7XG5AaW1wb3J0IFwidXRpbGl0aWVzL2RpdmlkZXJcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvbG9hZGluZ1wiO1xuQGltcG9ydCBcInV0aWxpdGllcy9wb3NpdGlvblwiO1xuQGltcG9ydCBcInV0aWxpdGllcy9zaGFwZXNcIjtcbkBpbXBvcnQgXCJ1dGlsaXRpZXMvdGV4dFwiO1xuIiwiLy8gVGV4dCBjb2xvcnNcbkBpbmNsdWRlIHRleHQtY29sb3ItdmFyaWFudChcIi50ZXh0LXByaW1hcnlcIiwgJHByaW1hcnktY29sb3IpO1xuXG5AaW5jbHVkZSB0ZXh0LWNvbG9yLXZhcmlhbnQoXCIudGV4dC1zZWNvbmRhcnlcIiwgJHNlY29uZGFyeS1jb2xvci1kYXJrKTtcblxuQGluY2x1ZGUgdGV4dC1jb2xvci12YXJpYW50KFwiLnRleHQtZ3JheVwiLCAkZ3JheS1jb2xvcik7XG5cbkBpbmNsdWRlIHRleHQtY29sb3ItdmFyaWFudChcIi50ZXh0LWxpZ2h0XCIsICRsaWdodC1jb2xvcik7XG5cbkBpbmNsdWRlIHRleHQtY29sb3ItdmFyaWFudChcIi50ZXh0LWRhcmtcIiwgJGJvZHktZm9udC1jb2xvcik7XG5cbkBpbmNsdWRlIHRleHQtY29sb3ItdmFyaWFudChcIi50ZXh0LXN1Y2Nlc3NcIiwgJHN1Y2Nlc3MtY29sb3IpO1xuXG5AaW5jbHVkZSB0ZXh0LWNvbG9yLXZhcmlhbnQoXCIudGV4dC13YXJuaW5nXCIsICR3YXJuaW5nLWNvbG9yKTtcblxuQGluY2x1ZGUgdGV4dC1jb2xvci12YXJpYW50KFwiLnRleHQtZXJyb3JcIiwgJGVycm9yLWNvbG9yKTtcblxuLy8gQmFja2dyb3VuZCBjb2xvcnNcbkBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIuYmctcHJpbWFyeVwiLCAkcHJpbWFyeS1jb2xvcik7XG5cbkBpbmNsdWRlIGJnLWNvbG9yLXZhcmlhbnQoXCIuYmctc2Vjb25kYXJ5XCIsICRzZWNvbmRhcnktY29sb3IpO1xuXG5AaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiLmJnLWRhcmtcIiwgJGRhcmstY29sb3IpO1xuXG5AaW5jbHVkZSBiZy1jb2xvci12YXJpYW50KFwiLmJnLWdyYXlcIiwgJGJnLWNvbG9yKTtcblxuQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIi5iZy1zdWNjZXNzXCIsICRzdWNjZXNzLWNvbG9yKTtcblxuQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIi5iZy13YXJuaW5nXCIsICR3YXJuaW5nLWNvbG9yKTtcblxuQGluY2x1ZGUgYmctY29sb3ItdmFyaWFudChcIi5iZy1lcnJvclwiLCAkZXJyb3ItY29sb3IpO1xuIiwiLy8gQ3Vyc29yc1xuLmMtaGFuZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmMtbW92ZSB7XG4gIGN1cnNvcjogbW92ZTtcbn1cblxuLmMtem9vbS1pbiB7XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLmMtem9vbS1vdXQge1xuICBjdXJzb3I6IHpvb20tb3V0O1xufVxuXG4uYy1ub3QtYWxsb3dlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jLWF1dG8ge1xuICBjdXJzb3I6IGF1dG87XG59IiwiLy8gRGlzcGxheVxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi5kLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmQtaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbi5kLW5vbmUsXG4uZC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmQtdmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uZC1pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi50ZXh0LWFzc2lzdGl2ZSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuIiwiLy8gRGl2aWRlclxuLmRpdmlkZXIsXG4uZGl2aWRlci12ZXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmW2RhdGEtY29udGVudF06OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmctY29sb3ItbGlnaHQ7XG4gICAgY29sb3I6ICRncmF5LWNvbG9yO1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIHBhZGRpbmc6IDAgJHVuaXQtMjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRmb250LXNpemUtc20gKyAkYm9yZGVyLXdpZHRoKTtcbiAgfVxufVxuXG4uZGl2aWRlciB7XG4gIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvci1saWdodDtcbiAgaGVpZ2h0OiAkYm9yZGVyLXdpZHRoO1xuICBtYXJnaW46ICR1bml0LTIgMDtcblxuICAmW2RhdGEtY29udGVudF0ge1xuICAgIG1hcmdpbjogJHVuaXQtNCAwO1xuICB9XG59XG5cbi5kaXZpZGVyLXZlcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHVuaXQtNDtcblxuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYm90dG9tOiAkdW5pdC0yO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICR1bml0LTI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJltkYXRhLWNvbnRlbnRdOjphZnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHBhZGRpbmc6ICR1bml0LTEgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbn1cbiIsIi8vIExvYWRpbmdcbi5sb2FkaW5nIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6ICR1bml0LTQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmFmdGVyIHtcbiAgICBhbmltYXRpb246IGxvYWRpbmcgNTAwbXMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aC1sZyBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJHVuaXQtNDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdW5pdC0yO1xuICAgIG1hcmdpbi10b3A6IC0kdW5pdC0yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogJHVuaXQtNDtcbiAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gIH1cblxuICAmLmxvYWRpbmctbGcge1xuICAgIG1pbi1oZWlnaHQ6ICR1bml0LTEwO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGhlaWdodDogJHVuaXQtODtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHVuaXQtNDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdW5pdC00O1xuICAgICAgd2lkdGg6ICR1bml0LTg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQb3NpdGlvblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnAtcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cblxuLnAtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnAtZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLnAtc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xufVxuXG4ucC1jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmZsZXgtY2VudGVyZWQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gU3BhY2luZ1xuQGluY2x1ZGUgbWFyZ2luLXZhcmlhbnQoMCwgMCk7XG5cbkBpbmNsdWRlIG1hcmdpbi12YXJpYW50KDEsICR1bml0LTEpO1xuXG5AaW5jbHVkZSBtYXJnaW4tdmFyaWFudCgyLCAkdW5pdC0yKTtcblxuQGluY2x1ZGUgcGFkZGluZy12YXJpYW50KDAsIDApO1xuXG5AaW5jbHVkZSBwYWRkaW5nLXZhcmlhbnQoMSwgJHVuaXQtMSk7XG5cbkBpbmNsdWRlIHBhZGRpbmctdmFyaWFudCgyLCAkdW5pdC0yKTtcbiIsIi8vIFNoYXBlc1xuLnMtcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG4ucy1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59IiwiLy8gVGV4dFxuLy8gVGV4dCBhbGlnbm1lbnQgdXRpbGl0aWVzXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLy8gVGV4dCB0cmFuc2Zvcm0gdXRpbGl0aWVzXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi8vIFRleHQgc3R5bGUgdXRpbGl0aWVzXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udGV4dC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50ZXh0LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRleHQtbGFyZ2Uge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4vLyBUZXh0IG92ZXJmbG93IHV0aWxpdGllc1xuLnRleHQtZWxsaXBzaXMge1xuICBAaW5jbHVkZSB0ZXh0LWVsbGlwc2lzKCk7XG59XG5cbi50ZXh0LWNsaXAge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGV4dC1icmVhayB7XG4gIGh5cGhlbnM6IGF1dG87XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cbiIsIi8vIE9mZiBjYW52YXMgbWVudXNcbiRvZmYtY2FudmFzLWJyZWFrcG9pbnQ6ICRzaXplLWxnICFkZWZhdWx0O1xuXG4ub2ZmLWNhbnZhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogbm93cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLm9mZi1jYW52YXMtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbGF5b3V0LXNwYWNpbmc7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiAkemluZGV4LTA7XG4gICAgQGlmICRydGwgPT0gdHJ1ZSB7XG4gICAgICByaWdodDogJGxheW91dC1zcGFjaW5nO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGVmdDogJGxheW91dC1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiAxMHJlbTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXM7XG4gICAgei1pbmRleDogJHppbmRleC0yO1xuICAgIEBpZiAkcnRsID09IHRydWUge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gIH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogJGxheW91dC1zcGFjaW5nICRsYXlvdXQtc3BhY2luZyAkbGF5b3V0LXNwYWNpbmcgNHJlbTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhcmstY29sb3IsIC4xKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXNpZGViYXIge1xuICAgICY6dGFyZ2V0LFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAmOnRhcmdldCB+IC5vZmYtY2FudmFzLW92ZXJsYXksXG4gICAgJi5hY3RpdmUgfiAub2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogJHppbmRleC0xO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIGxheW91dFxuQG1lZGlhIChtaW4td2lkdGg6ICRvZmYtY2FudmFzLWJyZWFrcG9pbnQpIHtcbiAgLm9mZi1jYW52YXMge1xuICAgICYub2ZmLWNhbnZhcy1zaWRlYmFyLXNob3cge1xuICAgICAgLm9mZi1jYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICAub2ZmLWNhbnZhcy1zaWRlYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAub2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnNlYXJjaC1pbnB1dCwgW2RhdGEtZ3Jhdi1maWVsZD1cImFycmF5XCJdIGlucHV0LCBbZGF0YS1ncmF2LWZpZWxkPVwiYXJyYXlcIl0gdGV4dGFyZWEge1xuICBAZXh0ZW5kIC5mb3JtLWlucHV0O1xufVxuXG4uYnV0dG9uIHtcbiAgQGV4dGVuZCAuYnRuO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLHdFQUE4RTtBYUw5RSx3Q0FBd0M7QUFDeEMsMkVBQTJFO0FBRTNFLG9OQUtHO0FBRUgseUZBQ2dGO0FBRWhGLEFBQUEsSUFBSSxDQUFDLEVBQ0gsV0FBVyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQ2hDLG9CQUFvQixFQUFFLElBQUksRUFBRSxPQUFPLENBQ25DLHdCQUF3QixFQUFFLElBQUksRUFBRSxPQUFPLEVBQ3hDOztBQUVELHlGQUNnRjtBQUVoRix1REFFRztBQUVILEFBQUEsSUFBSSxDQUFDLEVBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRCx3Q0FFRztBQUVILEFBQUEsT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEdBQUcsRUFDSCxPQUFPLENBQUMsRUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVELGdJQUdHO0FBRUgsQUFBQSxFQUFFLENBQUMsRUFDRCxTQUFTLEVBQUUsR0FBRyxFQUNkLE1BQU0sRUFBRSxRQUFRLEdBQ2pCOztBQUVELGlHQUNnRjtBQUVoRiwwRUFHRztBQUVILEFBQUEsVUFBVSxFQUNWLE1BQU0sRUFDTixJQUFJLENBQUMsRUFBRSxPQUFPLENBQ1osT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRCxnREFFRztBQUVILHFGQUdHO0FBRUgsQUFBQSxFQUFFLENBQUMsRUFDRCxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FDaEMsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQ2xCLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUMzQjs7QUFFRCwwSUFHRztBQUVILHFHQUNnRjtBQUVoRix5SEFHRztBQUVILEFBQUEsQ0FBQyxDQUFDLEVBQ0EsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FDdEMsNEJBQTRCLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDL0M7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 */ diff --git a/themes/learn4/css-compiled/spectre.min.css b/themes/learn4/css-compiled/spectre.min.css deleted file mode 100644 index 95133427..00000000 --- a/themes/learn4/css-compiled/spectre.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! Spectre.css v0.5.8 | MIT License | github.com/picturepan2/spectre */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}hr{overflow:visible;box-sizing:content-box;height:0}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}address{font-style:normal}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Hack,monospace;font-size:1em}dfn{font-style:italic}small{font-size:80%;font-weight:400}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}fieldset{margin:0;padding:0;border:0}legend{display:table;box-sizing:border-box;max-width:100%;padding:0;white-space:normal;color:inherit}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}details,menu{display:block}summary{display:list-item;outline:0}canvas{display:inline-block}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:inherit}html{font-size:20px;line-height:1.5;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:'Public Sans','Helvetica Neue',sans-serif;font-size:.85rem;overflow-x:hidden;color:#3a414e;background:#fff;text-rendering:optimizeLegibility}a{text-decoration:none;color:#1195dc;outline:0}a:focus{box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}a.active,a:active,a:focus,a:hover{text-decoration:underline;color:#0e75ad}a:visited{color:#32acef}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-top:0;margin-bottom:.5em;color:inherit}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:500}.h1,h1{font-size:2rem}.h2,h2{font-size:1.6rem}.h3,h3{font-size:1.4rem}.h4,h4{font-size:1.2rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.8rem}p{margin:0 0 1.2rem}a,ins,u{-webkit-text-decoration-skip:ink edges;text-decoration-skip:ink edges}abbr[title]{cursor:help;text-decoration:none;border-bottom:.05rem dotted}kbd{font-size:.7rem;line-height:1.25;padding:.1rem .2rem;color:#fff;border-radius:.1rem;background:#454d5d}mark{padding:.05rem .1rem 0;color:#3a414e;border-bottom:.05rem solid #ffd367;border-radius:.1rem;background:#ffe9b3}blockquote{margin-left:0;padding:.4rem .8rem;border-left:.1rem solid #e7e9ed}blockquote p:last-child{margin-bottom:0}ol,ul{margin:.8rem 0 .8rem .8rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:.8rem 0 .8rem .8rem}ol li,ul li{margin-top:.4rem}ul{list-style:disc inside}ul ul{list-style-type:circle}ol{list-style:decimal inside}ol ol{list-style-type:lower-alpha}dl dt{font-weight:700}dl dd{margin:.4rem 0 .8rem 0}.lang-zh,.lang-zh-hans,html:lang(zh),html:lang(zh-Hans){font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Helvetica Neue',sans-serif}.lang-zh-hant,html:lang(zh-Hant){font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'PingFang TC','Hiragino Sans CNS','Microsoft JhengHei','Helvetica Neue',sans-serif}.lang-ja,html:lang(ja){font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Hiragino Sans','Hiragino Kaku Gothic Pro','Yu Gothic',YuGothic,Meiryo,'Helvetica Neue',sans-serif}.lang-ko,html:lang(ko){font-family:-apple-system,system-ui,BlinkMacSystemFont,'Segoe UI',Roboto,'Malgun Gothic','Helvetica Neue',sans-serif}.lang-cjk ins,.lang-cjk u,:lang(ja) ins,:lang(ja) u,:lang(zh) ins,:lang(zh) u{text-decoration:none;border-bottom:.05rem solid}.lang-cjk del+del,.lang-cjk del+s,.lang-cjk ins+ins,.lang-cjk ins+u,.lang-cjk s+del,.lang-cjk s+s,.lang-cjk u+ins,.lang-cjk u+u,:lang(ja) del+del,:lang(ja) del+s,:lang(ja) ins+ins,:lang(ja) ins+u,:lang(ja) s+del,:lang(ja) s+s,:lang(ja) u+ins,:lang(ja) u+u,:lang(zh) del+del,:lang(zh) del+s,:lang(zh) ins+ins,:lang(zh) ins+u,:lang(zh) s+del,:lang(zh) s+s,:lang(zh) u+ins,:lang(zh) u+u{margin-left:.125em}.table{width:100%;border-spacing:0;border-collapse:collapse;text-align:left}.table.table-striped tbody tr:nth-of-type(odd){background:#f8f9fa}.table tbody tr.active,.table.table-striped tbody tr.active{background:#f0f1f4}.table.table-hover tbody tr:hover{background:#f0f1f4}.table.table-scroll{display:block;overflow-x:auto;padding-bottom:.75rem;white-space:nowrap}.table td,.table th{padding:.6rem .4rem;border-bottom:.05rem solid #e7e9ed}.table th{border-bottom-width:.1rem}.btn,.button{font-size:.85rem;line-height:1.2rem;display:inline-block;height:1.8rem;padding:.25rem .4rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;transition:background .2s,border .2s,box-shadow .2s,color .2s;text-align:center;vertical-align:middle;white-space:nowrap;text-decoration:none;color:#1aa3ed;border:.05rem solid #1aa3ed;border-radius:.1rem;outline:0;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:focus,.button:focus{box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.btn:focus,.btn:hover,.button:focus,.button:hover{text-decoration:none;border-color:#129be6;background:#38c5c7}.active.button,.btn.active,.btn:active,.button:active{text-decoration:none;color:#fff;border-color:#108bce;background:#129be6}.active.loading.button::after,.btn.active.loading::after,.btn:active.loading::after,.button:active.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.disabled,.btn:disabled,.btn[disabled],.button:disabled,.button[disabled],.disabled.button{cursor:default;pointer-events:none;opacity:.5}.btn-primary.button,.btn.btn-primary{color:#fff;border-color:#129be6;background:#1aa3ed}.btn-primary.button:focus,.btn-primary.button:hover,.btn.btn-primary:focus,.btn.btn-primary:hover{color:#fff;border-color:#108bce;background:#1195dc}.btn-primary.active.button,.btn-primary.button:active,.btn.btn-primary.active,.btn.btn-primary:active{color:#fff;border-color:#0f85c5;background:#118fd3}.btn-primary.loading.button::after,.btn.btn-primary.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn-success.button,.btn.btn-success{color:#fff;border-color:#2faa3f;background:#32b643}.btn-success.button:focus,.btn.btn-success:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.btn-success.button:focus,.btn-success.button:hover,.btn.btn-success:focus,.btn.btn-success:hover{color:#fff;border-color:#2da23c;background:#30ae40}.btn-success.active.button,.btn-success.button:active,.btn.btn-success.active,.btn.btn-success:active{color:#fff;border-color:#278e34;background:#2a9a39}.btn-success.loading.button::after,.btn.btn-success.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn-error.button,.btn.btn-error{color:#fff;border-color:#d95000;background:#e85600}.btn-error.button:focus,.btn.btn-error:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.btn-error.button:focus,.btn-error.button:hover,.btn.btn-error:focus,.btn.btn-error:hover{color:#fff;border-color:#cf4d00;background:#de5200}.btn-error.active.button,.btn-error.button:active,.btn.btn-error.active,.btn.btn-error:active{color:#fff;border-color:#b54300;background:#c44900}.btn-error.loading.button::after,.btn.btn-error.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn-link.button,.btn.btn-link{color:#1195dc;border-color:transparent;background:0 0}.btn-link.active.button,.btn-link.button:active,.btn-link.button:focus,.btn-link.button:hover,.btn.btn-link.active,.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover{color:#0e75ad}.btn-sm.button,.btn.btn-sm{font-size:.7rem;height:1.4rem;padding:.05rem .3rem}.btn-lg.button,.btn.btn-lg{font-size:.9rem;height:2rem;padding:.35rem .6rem}.btn-block.button,.btn.btn-block{display:block;width:100%}.btn-action.button,.btn.btn-action{width:1.8rem;padding-right:0;padding-left:0}.btn-action.btn-sm.button,.btn.btn-action.btn-sm{width:1.4rem}.btn-action.btn-lg.button,.btn.btn-action.btn-lg{width:2rem}.btn-clear.button,.btn.btn-clear{line-height:.8rem;width:1rem;height:1rem;margin-right:-2px;margin-left:.2rem;padding:.1rem;text-decoration:none;opacity:1;color:currentColor;border:0;background:0 0}.btn-clear.button:focus,.btn-clear.button:hover,.btn.btn-clear:focus,.btn.btn-clear:hover{opacity:.95;background:rgba(248,249,250,.5)}.btn-clear.button::before,.btn.btn-clear::before{content:'\2715'}.btn-group{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.btn-group .btn,.btn-group .button{-ms-flex:1 0 auto;flex:1 0 auto}.btn-group .btn:first-child:not(:last-child),.btn-group .button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn:not(:first-child):not(:last-child),.btn-group .button:not(:first-child):not(:last-child){margin-left:-.05rem;border-radius:0}.btn-group .btn:last-child:not(:first-child),.btn-group .button:last-child:not(:first-child){margin-left:-.05rem;border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .active.button,.btn-group .btn.active,.btn-group .btn:active,.btn-group .btn:focus,.btn-group .btn:hover,.btn-group .button:active,.btn-group .button:focus,.btn-group .button:hover{z-index:1}.btn-group.btn-group-block{display:-ms-flexbox;display:flex}.btn-group.btn-group-block .btn,.btn-group.btn-group-block .button{-ms-flex:1 0 0;flex:1 0 0}.form-group:not(:last-child){margin-bottom:.4rem}fieldset{margin-bottom:.8rem}legend{font-size:.9rem;font-weight:500;margin-bottom:.8rem}.form-label{line-height:1.2rem;display:block;padding:.3rem 0}.form-label.label-sm{font-size:.7rem;padding:.1rem 0}.form-label.label-lg{font-size:.9rem;padding:.4rem 0}.form-input,.search-input,[data-grav-field=array] input,[data-grav-field=array] textarea{font-size:.85rem;line-height:1.2rem;position:relative;display:block;width:100%;max-width:100%;height:1.8rem;padding:.25rem .4rem;transition:background .2s,border .2s,box-shadow .2s,color .2s;color:#3a414e;border:.05rem solid #caced7;border-radius:.1rem;outline:0;background:#fff;background-image:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.search-input:focus,[data-grav-field=array] input:focus,[data-grav-field=array] textarea:focus{border-color:#1aa3ed;box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.form-input:-ms-input-placeholder,.search-input:-ms-input-placeholder,[data-grav-field=array] input:-ms-input-placeholder,[data-grav-field=array] textarea:-ms-input-placeholder{color:#acb3c2}.form-input::-ms-input-placeholder,.search-input::-ms-input-placeholder,[data-grav-field=array] input::-ms-input-placeholder,[data-grav-field=array] textarea::-ms-input-placeholder{color:#acb3c2}.form-input::placeholder,.search-input::placeholder,[data-grav-field=array] input::placeholder,[data-grav-field=array] textarea::placeholder{color:#acb3c2}.form-input.input-sm,.input-sm.search-input,[data-grav-field=array] input.input-sm,[data-grav-field=array] textarea.input-sm{font-size:.7rem;height:1.4rem;padding:.05rem .3rem}.form-input.input-lg,.input-lg.search-input,[data-grav-field=array] input.input-lg,[data-grav-field=array] textarea.input-lg{font-size:.9rem;height:2rem;padding:.35rem .6rem}.form-input.input-inline,.input-inline.search-input,[data-grav-field=array] input.input-inline,[data-grav-field=array] textarea.input-inline{display:inline-block;width:auto;vertical-align:middle}.form-input[type=file],.search-input[type=file],[data-grav-field=array] input[type=file],[data-grav-field=array] textarea[type=file]{height:auto}[data-grav-field=array] textarea,[data-grav-field=array] textarea.input-lg,[data-grav-field=array] textarea.input-sm,textarea.form-input,textarea.form-input.input-lg,textarea.form-input.input-sm,textarea.input-lg.search-input,textarea.input-sm.search-input,textarea.search-input{height:auto}.form-input-hint{font-size:.7rem;margin-top:.2rem;color:#acb3c2}.has-success .form-input-hint,.is-success+.form-input-hint{color:#32b643}.has-error .form-input-hint,.is-error+.form-input-hint{color:#e85600}.form-select{font-size:.85rem;line-height:1.2rem;width:100%;height:1.8rem;padding:.25rem .4rem;vertical-align:middle;color:inherit;border:.05rem solid #caced7;border-radius:.1rem;outline:0;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:#1aa3ed;box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.form-select::-ms-expand{display:none}.form-select.select-sm{font-size:.7rem;height:1.4rem;padding:.05rem 1.1rem .05rem .3rem}.form-select.select-lg{font-size:.9rem;height:2rem;padding:.35rem 1.4rem .35rem .6rem}.form-select[multiple],.form-select[size]{height:auto;padding:.25rem .4rem}.form-select[multiple] option,.form-select[size] option{padding:.1rem .2rem}.form-select:not([multiple]):not([size]){padding-right:1.2rem;background:#fff url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns=\'http://www.w3.org/2000/svg\'%20viewBox=\'0%200%204%205\'%3E%3Cpath%20fill=\'%23667189\'%20d=\'M2%200L0%202h4zm0%205L0%203h4z\'/%3E%3C/svg%3E') no-repeat right .35rem center/.4rem .5rem}.has-icon-left,.has-icon-right{position:relative}.has-icon-left .form-icon,.has-icon-right .form-icon{position:absolute;z-index:2;top:50%;width:.8rem;height:.8rem;margin:0 .25rem;transform:translateY(-50%)}.has-icon-left .form-icon{left:.05rem}.has-icon-left .form-input,.has-icon-left .search-input,.has-icon-left [data-grav-field=array] input,.has-icon-left [data-grav-field=array] textarea,[data-grav-field=array] .has-icon-left input,[data-grav-field=array] .has-icon-left textarea{padding-left:1.3rem}.has-icon-right .form-icon{right:.05rem}.has-icon-right .form-input,.has-icon-right .search-input,.has-icon-right [data-grav-field=array] input,.has-icon-right [data-grav-field=array] textarea,[data-grav-field=array] .has-icon-right input,[data-grav-field=array] .has-icon-right textarea{padding-right:1.3rem}.form-checkbox,.form-radio,.form-switch{line-height:1.2rem;position:relative;display:block;min-height:1.4rem;margin:.2rem 0;padding:.1rem .4rem .1rem 1.2rem}.form-checkbox input,.form-radio input,.form-switch input{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px}.form-checkbox input:focus+.form-icon,.form-radio input:focus+.form-icon,.form-switch input:focus+.form-icon{border-color:#1aa3ed;box-shadow:0 0 0 .1rem rgba(26,163,237,.2)}.form-checkbox input:checked+.form-icon,.form-radio input:checked+.form-icon,.form-switch input:checked+.form-icon{border-color:#1aa3ed;background:#1aa3ed}.form-checkbox .form-icon,.form-radio .form-icon,.form-switch .form-icon{position:absolute;display:inline-block;cursor:pointer;transition:background .2s,border .2s,box-shadow .2s,color .2s;border:.05rem solid #caced7}.form-checkbox.input-sm,.form-radio.input-sm,.form-switch.input-sm{font-size:.7rem;margin:0}.form-checkbox.input-lg,.form-radio.input-lg,.form-switch.input-lg{font-size:.9rem;margin:.3rem 0}.form-checkbox .form-icon,.form-radio .form-icon{top:.3rem;left:0;width:.8rem;height:.8rem;background:#fff}.form-checkbox input:active+.form-icon,.form-radio input:active+.form-icon{background:#f0f1f4}.form-checkbox .form-icon{border-radius:.1rem}.form-checkbox input:checked+.form-icon::before{position:absolute;top:50%;left:50%;width:6px;height:9px;margin-top:-6px;margin-left:-3px;content:'';transform:rotate(45deg);border:.1rem solid #fff;border-top-width:0;border-left-width:0;background-clip:padding-box}.form-checkbox input:indeterminate+.form-icon{border-color:#1aa3ed;background:#1aa3ed}.form-checkbox input:indeterminate+.form-icon::before{position:absolute;top:50%;left:50%;width:10px;height:2px;margin-top:-1px;margin-left:-5px;content:'';background:#fff}.form-radio .form-icon{border-radius:50%}.form-radio input:checked+.form-icon::before{position:absolute;top:50%;left:50%;width:6px;height:6px;content:'';transform:translate(-50%,-50%);border-radius:50%;background:#fff}.form-switch{padding-left:2rem}.form-switch .form-icon{top:.25rem;left:0;width:1.6rem;height:.9rem;border-radius:.45rem;background:#acb3c2;background-clip:padding-box}.form-switch .form-icon::before{position:absolute;top:0;left:0;display:block;width:.8rem;height:.8rem;content:'';transition:background .2s,border .2s,box-shadow .2s,color .2s,left .2s;border-radius:50%;background:#fff}.form-switch input:checked+.form-icon::before{left:14px}.form-switch input:active+.form-icon::before{background:#f8f9fa}.input-group{display:-ms-flexbox;display:flex}.input-group .input-group-addon{line-height:1.2rem;padding:.25rem .4rem;white-space:nowrap;border:.05rem solid #caced7;border-radius:.1rem;background:#f8f9fa}.input-group .input-group-addon.addon-sm{font-size:.7rem;padding:.05rem .3rem}.input-group .input-group-addon.addon-lg{font-size:.9rem;padding:.35rem .6rem}.input-group .form-input,.input-group .form-select,.input-group .search-input,.input-group [data-grav-field=array] input,.input-group [data-grav-field=array] textarea,[data-grav-field=array] .input-group input,[data-grav-field=array] .input-group textarea{width:1%;-ms-flex:1 1 auto;flex:1 1 auto}.input-group .input-group-btn{z-index:1}.input-group .form-input:first-child:not(:last-child),.input-group .form-select:first-child:not(:last-child),.input-group .input-group-addon:first-child:not(:last-child),.input-group .input-group-btn:first-child:not(:last-child),.input-group .search-input:first-child:not(:last-child),.input-group [data-grav-field=array] input:first-child:not(:last-child),.input-group [data-grav-field=array] textarea:first-child:not(:last-child),[data-grav-field=array] .input-group input:first-child:not(:last-child),[data-grav-field=array] .input-group textarea:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group .form-input:not(:first-child):not(:last-child),.input-group .form-select:not(:first-child):not(:last-child),.input-group .input-group-addon:not(:first-child):not(:last-child),.input-group .input-group-btn:not(:first-child):not(:last-child),.input-group .search-input:not(:first-child):not(:last-child),.input-group [data-grav-field=array] input:not(:first-child):not(:last-child),.input-group [data-grav-field=array] textarea:not(:first-child):not(:last-child),[data-grav-field=array] .input-group input:not(:first-child):not(:last-child),[data-grav-field=array] .input-group textarea:not(:first-child):not(:last-child){margin-left:-.05rem;border-radius:0}.input-group .form-input:last-child:not(:first-child),.input-group .form-select:last-child:not(:first-child),.input-group .input-group-addon:last-child:not(:first-child),.input-group .input-group-btn:last-child:not(:first-child),.input-group .search-input:last-child:not(:first-child),.input-group [data-grav-field=array] input:last-child:not(:first-child),.input-group [data-grav-field=array] textarea:last-child:not(:first-child),[data-grav-field=array] .input-group input:last-child:not(:first-child),[data-grav-field=array] .input-group textarea:last-child:not(:first-child){margin-left:-.05rem;border-top-left-radius:0;border-bottom-left-radius:0}.input-group .form-input:focus,.input-group .form-select:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus,.input-group .search-input:focus,.input-group [data-grav-field=array] input:focus,.input-group [data-grav-field=array] textarea:focus,[data-grav-field=array] .input-group input:focus,[data-grav-field=array] .input-group textarea:focus{z-index:2}.input-group .form-select{width:auto}.input-group.input-inline{display:-ms-inline-flexbox;display:inline-flex}.form-input.is-success,.form-select.is-success,.has-success .form-input,.has-success .form-select,.has-success .search-input,.has-success [data-grav-field=array] input,.has-success [data-grav-field=array] textarea,.is-success.search-input,[data-grav-field=array] .has-success input,[data-grav-field=array] .has-success textarea,[data-grav-field=array] input.is-success,[data-grav-field=array] textarea.is-success{border-color:#32b643;background:#f9fdfa}.form-input.is-success:focus,.form-select.is-success:focus,.has-success .form-input:focus,.has-success .form-select:focus,.has-success .search-input:focus,.has-success [data-grav-field=array] input:focus,.has-success [data-grav-field=array] textarea:focus,.is-success.search-input:focus,[data-grav-field=array] .has-success input:focus,[data-grav-field=array] .has-success textarea:focus,[data-grav-field=array] input.is-success:focus,[data-grav-field=array] textarea.is-success:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.form-input.is-error,.form-select.is-error,.has-error .form-input,.has-error .form-select,.has-error .search-input,.has-error [data-grav-field=array] input,.has-error [data-grav-field=array] textarea,.is-error.search-input,[data-grav-field=array] .has-error input,[data-grav-field=array] .has-error textarea,[data-grav-field=array] input.is-error,[data-grav-field=array] textarea.is-error{border-color:#e85600;background:#fffaf7}.form-input.is-error:focus,.form-select.is-error:focus,.has-error .form-input:focus,.has-error .form-select:focus,.has-error .search-input:focus,.has-error [data-grav-field=array] input:focus,.has-error [data-grav-field=array] textarea:focus,.is-error.search-input:focus,[data-grav-field=array] .has-error input:focus,[data-grav-field=array] .has-error textarea:focus,[data-grav-field=array] input.is-error:focus,[data-grav-field=array] textarea.is-error:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error .form-icon,.form-radio.is-error .form-icon,.form-switch.is-error .form-icon,.has-error .form-checkbox .form-icon,.has-error .form-radio .form-icon,.has-error .form-switch .form-icon{border-color:#e85600}.form-checkbox.is-error input:checked+.form-icon,.form-radio.is-error input:checked+.form-icon,.form-switch.is-error input:checked+.form-icon,.has-error .form-checkbox input:checked+.form-icon,.has-error .form-radio input:checked+.form-icon,.has-error .form-switch input:checked+.form-icon{border-color:#e85600;background:#e85600}.form-checkbox.is-error input:focus+.form-icon,.form-radio.is-error input:focus+.form-icon,.form-switch.is-error input:focus+.form-icon,.has-error .form-checkbox input:focus+.form-icon,.has-error .form-radio input:focus+.form-icon,.has-error .form-switch input:focus+.form-icon{border-color:#e85600;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error input:indeterminate+.form-icon,.has-error .form-checkbox input:indeterminate+.form-icon{border-color:#e85600;background:#e85600}.form-input:not(:placeholder-shown):invalid,.search-input:not(:placeholder-shown):invalid,[data-grav-field=array] input:not(:placeholder-shown):invalid,[data-grav-field=array] textarea:not(:placeholder-shown):invalid{border-color:#e85600}.form-input:not(:placeholder-shown):invalid:focus,.search-input:not(:placeholder-shown):invalid:focus,[data-grav-field=array] input:not(:placeholder-shown):invalid:focus,[data-grav-field=array] textarea:not(:placeholder-shown):invalid:focus{background:#fffaf7;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid+.form-input-hint,.search-input:not(:placeholder-shown):invalid+.form-input-hint,[data-grav-field=array] input:not(:placeholder-shown):invalid+.form-input-hint,[data-grav-field=array] textarea:not(:placeholder-shown):invalid+.form-input-hint{color:#e85600}.disabled.search-input,.form-input.disabled,.form-input:disabled,.form-select.disabled,.form-select:disabled,.search-input:disabled,[data-grav-field=array] input.disabled,[data-grav-field=array] input:disabled,[data-grav-field=array] textarea.disabled,[data-grav-field=array] textarea:disabled{cursor:not-allowed;opacity:.5;background-color:#f0f1f4}.form-input[readonly],.search-input[readonly],[data-grav-field=array] input[readonly],[data-grav-field=array] textarea[readonly]{background-color:#f8f9fa}input.disabled+.form-icon,input:disabled+.form-icon{cursor:not-allowed;opacity:.5;background:#f0f1f4}.form-switch input.disabled+.form-icon::before,.form-switch input:disabled+.form-icon::before{background:#fff}.form-horizontal{padding:.4rem 0}.form-horizontal .form-group{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.form-inline{display:inline-block}.label{line-height:1.25;display:inline-block;padding:.1rem .2rem;color:#454d5d;border-radius:.1rem;background:#f0f1f4}.label.label-rounded{padding-right:.4rem;padding-left:.4rem;border-radius:5rem}.label.label-primary{color:#fff;background:#1aa3ed}.label.label-secondary{color:#1aa3ed;background:#38c5c7}.label.label-success{color:#fff;background:#32b643}.label.label-warning{color:#fff;background:#ffb700}.label.label-error{color:#fff;background:#e85600}code{font-size:85%;line-height:1.25;padding:.1rem .2rem;color:#7676f4;border-radius:.1rem;background:#f1f1fe}.code{position:relative;color:#3a414e;border-radius:.1rem}.code::before{font-size:.7rem;position:absolute;top:.1rem;right:.4rem;content:attr(data-lang);color:#acb3c2}.code code{line-height:1.5;display:block;overflow-x:auto;width:100%;padding:1rem;color:inherit;background:#f8f9fa}.img-responsive{display:block;max-width:100%;height:auto}.img-fit-cover{object-fit:cover}.img-fit-contain{object-fit:contain}.video-responsive{position:relative;display:block;overflow:hidden;width:100%;padding:0}.video-responsive::before{display:block;padding-bottom:56.25%;content:''}.video-responsive embed,.video-responsive iframe,.video-responsive object{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}video.video-responsive{max-width:100%;height:auto}video.video-responsive::before{content:none}.video-responsive-4-3::before{padding-bottom:75%}.video-responsive-1-1::before{padding-bottom:100%}.figure{margin:0 0 .4rem 0}.figure .figure-caption{margin-top:.4rem;color:#667189}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:.4rem;padding-left:.4rem}.container.grid-xl{max-width:1296px}.container.grid-lg{max-width:976px}.container.grid-md{max-width:856px}.container.grid-sm{max-width:616px}.container.grid-xs{max-width:496px}.show-lg,.show-md,.show-sm,.show-xl,.show-xs{display:none!important}.columns{display:-ms-flexbox;display:flex;margin-right:-.4rem;margin-left:-.4rem;-ms-flex-wrap:wrap;flex-wrap:wrap}.columns.col-gapless{margin-right:0;margin-left:0}.columns.col-gapless>.column{padding-right:0;padding-left:0}.columns.col-oneline{overflow-x:auto;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.column{max-width:100%;padding-right:.4rem;padding-left:.4rem;-ms-flex:1;flex:1}.column.col-1,.column.col-10,.column.col-11,.column.col-12,.column.col-2,.column.col-3,.column.col-4,.column.col-5,.column.col-6,.column.col-7,.column.col-8,.column.col-9,.column.col-auto{-ms-flex:none;flex:none}.col-12{width:100%}.col-11{width:91.66666667%}.col-10{width:83.33333333%}.col-9{width:75%}.col-8{width:66.66666667%}.col-7{width:58.33333333%}.col-6{width:50%}.col-5{width:41.66666667%}.col-4{width:33.33333333%}.col-3{width:25%}.col-2{width:16.66666667%}.col-1{width:8.33333333%}.col-auto{width:auto;max-width:none;-ms-flex:0 0 auto;flex:0 0 auto}.col-mx-auto{margin-right:auto;margin-left:auto}.col-ml-auto{margin-left:auto}.col-mr-auto{margin-right:auto}@media (max-width:1280px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{-ms-flex:none;flex:none}.col-xl-12{width:100%}.col-xl-11{width:91.66666667%}.col-xl-10{width:83.33333333%}.col-xl-9{width:75%}.col-xl-8{width:66.66666667%}.col-xl-7{width:58.33333333%}.col-xl-6{width:50%}.col-xl-5{width:41.66666667%}.col-xl-4{width:33.33333333%}.col-xl-3{width:25%}.col-xl-2{width:16.66666667%}.col-xl-1{width:8.33333333%}.col-xl-auto{width:auto}.hide-xl{display:none!important}.show-xl{display:block!important}}@media (max-width:960px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto{-ms-flex:none;flex:none}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-auto{width:auto}.hide-lg{display:none!important}.show-lg{display:block!important}}@media (max-width:840px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto{-ms-flex:none;flex:none}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-auto{width:auto}.hide-md{display:none!important}.show-md{display:block!important}}@media (max-width:600px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto{-ms-flex:none;flex:none}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-auto{width:auto}.hide-sm{display:none!important}.show-sm{display:block!important}}@media (max-width:480px){.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-auto{-ms-flex:none;flex:none}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-auto{width:auto}.hide-xs{display:none!important}.show-xs{display:block!important}}.hero{display:-ms-flexbox;display:flex;flex-direction:column;padding-top:4rem;padding-bottom:4rem;-ms-flex-direction:column;-ms-flex-pack:justify;justify-content:space-between}.hero.hero-sm{padding-top:2rem;padding-bottom:2rem}.hero.hero-lg{padding-top:8rem;padding-bottom:8rem}.hero .hero-body{padding:.4rem}.navbar{display:-ms-flexbox;display:flex;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.navbar .navbar-section{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex:1 0 0;flex:1 0 0}.navbar .navbar-section:not(:first-child):last-child{-ms-flex-pack:end;justify-content:flex-end}.navbar .navbar-center{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex:0 0 auto;flex:0 0 auto}.navbar .navbar-brand{font-size:.9rem;text-decoration:none}.accordion input:checked~.accordion-header .icon,.accordion[open] .accordion-header .icon{transform:rotate(90deg)}.accordion input:checked~.accordion-body,.accordion[open] .accordion-body{max-height:50rem}.accordion .accordion-header{display:block;padding:.2rem .4rem}.accordion .accordion-header .icon{transition:transform .25s}.accordion .accordion-body{overflow:hidden;max-height:0;margin-bottom:.4rem;transition:max-height .25s}summary.accordion-header::-webkit-details-marker{display:none}.avatar{font-size:.8rem;font-weight:300;line-height:1.25;position:relative;display:inline-block;width:1.6rem;height:1.6rem;margin:0;vertical-align:middle;color:rgba(255,255,255,.85);border-radius:50%;background:#1aa3ed}.avatar.avatar-xs{font-size:.4rem;width:.8rem;height:.8rem}.avatar.avatar-sm{font-size:.6rem;width:1.2rem;height:1.2rem}.avatar.avatar-lg{font-size:1.2rem;width:2.4rem;height:2.4rem}.avatar.avatar-xl{font-size:1.6rem;width:3.2rem;height:3.2rem}.avatar img{position:relative;z-index:1;width:100%;height:100%;border-radius:50%}.avatar .avatar-icon,.avatar .avatar-presence{position:absolute;z-index:2;right:14.64%;bottom:14.64%;width:50%;height:50%;padding:.1rem;transform:translate(50%,50%);background:#fff}.avatar .avatar-presence{width:.5em;height:.5em;border-radius:50%;background:#acb3c2;box-shadow:0 0 0 .1rem #fff}.avatar .avatar-presence.online{background:#32b643}.avatar .avatar-presence.busy{background:#e85600}.avatar .avatar-presence.away{background:#ffb700}.avatar[data-initial]::before{position:absolute;z-index:1;top:50%;left:50%;content:attr(data-initial);transform:translate(-50%,-50%);color:currentColor}.badge{position:relative;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge]::after{display:inline-block;content:attr(data-badge);transform:translate(-.05rem,-.5rem);color:#fff;border-radius:.5rem;background:#1aa3ed;background-clip:padding-box;box-shadow:0 0 0 .1rem #fff}.badge[data-badge]::after{font-size:.7rem;line-height:1;min-width:.9rem;height:.9rem;padding:.1rem .2rem;text-align:center;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge='']::after{width:6px;min-width:6px;height:6px;padding:0}.badge.btn::after,.badge.button::after{position:absolute;top:0;right:0;transform:translate(50%,-50%)}.badge.avatar::after{position:absolute;z-index:100;top:14.64%;right:14.64%;transform:translate(50%,-50%)}.breadcrumb{margin:.2rem 0;padding:.2rem 0;list-style:none}.breadcrumb .breadcrumb-item{display:inline-block;margin:0;padding:.2rem 0;color:#667189}.breadcrumb .breadcrumb-item:not(:last-child){margin-right:.2rem}.breadcrumb .breadcrumb-item:not(:last-child) a{color:#667189}.breadcrumb .breadcrumb-item:not(:first-child)::before{padding-right:.4rem;content:'/';color:#667189}.bar{display:-ms-flexbox;display:flex;width:100%;height:.8rem;border-radius:.1rem;background:#f0f1f4;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.bar.bar-sm{height:.2rem}.bar .bar-item{font-size:.7rem;line-height:.8rem;position:relative;display:block;width:0;height:100%;text-align:center;color:#fff;background:#1aa3ed;-ms-flex-negative:0;flex-shrink:0}.bar .bar-item:first-child{border-top-left-radius:.1rem;border-bottom-left-radius:.1rem}.bar .bar-item:last-child{border-top-right-radius:.1rem;border-bottom-right-radius:.1rem;-ms-flex-negative:1;flex-shrink:1}.bar-slider{position:relative;height:.1rem;margin:.4rem 0}.bar-slider .bar-item{position:absolute;left:0;padding:0}.bar-slider .bar-item:not(:last-child):first-child{z-index:1;background:#f0f1f4}.bar-slider .bar-slider-btn{position:absolute;top:50%;right:0;width:.6rem;height:.6rem;padding:0;transform:translate(50%,-50%);border:0;border-radius:50%;background:#1aa3ed}.bar-slider .bar-slider-btn:active{box-shadow:0 0 0 .1rem #1aa3ed}.card{display:-ms-flexbox;display:flex;flex-direction:column;border:.05rem solid #e7e9ed;border-radius:.1rem;background:#fff;-ms-flex-direction:column}.card .card-body,.card .card-footer,.card .card-header{padding:.8rem;padding-bottom:0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:.8rem}.card .card-body{-ms-flex:1 1 auto;flex:1 1 auto}.card .card-image{padding-top:.8rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.1rem;border-top-right-radius:.1rem}.card .card-image:last-child img{border-bottom-right-radius:.1rem;border-bottom-left-radius:.1rem}.chip{font-size:90%;line-height:.8rem;display:-ms-inline-flexbox;display:inline-flex;overflow:hidden;max-width:320px;height:1.2rem;margin:.1rem;padding:.2rem .4rem;vertical-align:middle;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;border-radius:5rem;background:#f0f1f4;-ms-flex-align:center;align-items:center}.chip.active{color:#fff;background:#1aa3ed}.chip .avatar{margin-right:.2rem;margin-left:-.4rem}.chip .btn-clear{transform:scale(.75);border-radius:50%}.dropdown{position:relative;display:inline-block}.dropdown .menu{position:absolute;top:100%;left:0;display:none;overflow-y:auto;max-height:50vh;animation:slide-down .15s ease 1}.dropdown.dropdown-right .menu{right:0;left:auto}.dropdown .dropdown-toggle:focus+.menu,.dropdown .menu:hover,.dropdown.active .menu{display:block}.dropdown .btn-group .dropdown-toggle:nth-last-child(2){border-top-right-radius:.1rem;border-bottom-right-radius:.1rem}.empty{padding:3.2rem 1.6rem;text-align:center;color:#667189;border-radius:.1rem;background:#f8f9fa}.empty .empty-icon{margin-bottom:.8rem}.empty .empty-subtitle,.empty .empty-title{margin:.4rem auto}.empty .empty-action{margin-top:.8rem}.menu{z-index:300;min-width:180px;margin:0;padding:.4rem;list-style:none;transform:translateY(.2rem);border-radius:.1rem;background:#fff;box-shadow:0 .05rem .2rem rgba(69,77,93,.3)}.menu.menu-nav{background:0 0;box-shadow:none}.menu .menu-item{position:relative;margin-top:0;padding:0 .4rem;text-decoration:none}.menu .menu-item>a{display:block;margin:0 -.4rem;padding:.2rem .4rem;text-decoration:none;color:inherit;border-radius:.1rem}.menu .menu-item>a:focus,.menu .menu-item>a:hover{color:#1aa3ed;background:#38c5c7}.menu .menu-item>a.active,.menu .menu-item>a:active{color:#1aa3ed;background:#38c5c7}.menu .menu-item .form-checkbox,.menu .menu-item .form-radio,.menu .menu-item .form-switch{margin:.1rem 0}.menu .menu-item+.menu-item{margin-top:.2rem}.menu .menu-badge{position:absolute;top:0;right:0;display:-ms-flexbox;display:flex;height:100%;-ms-flex-align:center;align-items:center}.menu .menu-badge .label{margin-right:.4rem}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;overflow:hidden;padding:.4rem;opacity:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.modal.active,.modal:target{z-index:400;display:-ms-flexbox;display:flex;opacity:1}.modal.active .modal-overlay,.modal:target .modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;cursor:default;background:rgba(248,249,250,.75)}.modal.active .modal-container,.modal:target .modal-container{z-index:1;animation:slide-down .2s ease 1}.modal.modal-sm .modal-container{max-width:320px;padding:0 .4rem}.modal.modal-lg .modal-overlay{background:#fff}.modal.modal-lg .modal-container{max-width:960px;box-shadow:none}.modal-container{display:-ms-flexbox;display:flex;flex-direction:column;width:100%;max-width:640px;max-height:75vh;padding:0 .8rem;border-radius:.1rem;background:#fff;box-shadow:0 .2rem .5rem rgba(69,77,93,.3);-ms-flex-direction:column}.modal-container.modal-fullheight{max-height:100vh}.modal-container .modal-header{padding:.8rem;color:#454d5d}.modal-container .modal-body{position:relative;overflow-y:auto;padding:.8rem}.modal-container .modal-footer{padding:.8rem;text-align:right}.nav{display:-ms-flexbox;display:flex;flex-direction:column;margin:.2rem 0;list-style:none;-ms-flex-direction:column}.nav .nav-item a{padding:.2rem .4rem;text-decoration:none;color:#667189}.nav .nav-item a:focus,.nav .nav-item a:hover{color:#1aa3ed}.nav .nav-item.active>a{font-weight:700;color:#50596c}.nav .nav-item.active>a:focus,.nav .nav-item.active>a:hover{color:#1aa3ed}.nav .nav{margin-bottom:.4rem;margin-left:.8rem}.pagination{display:-ms-flexbox;display:flex;margin:.2rem 0;padding:.2rem 0;list-style:none}.pagination .page-item{margin:.2rem .05rem}.pagination .page-item span{display:inline-block;padding:.2rem .2rem}.pagination .page-item a{display:inline-block;padding:.2rem .4rem;text-decoration:none;border-radius:.1rem}.pagination .page-item a:focus,.pagination .page-item a:hover{color:#1aa3ed}.pagination .page-item.disabled a{cursor:default;pointer-events:none;opacity:.5}.pagination .page-item.active a{color:#fff;background:#1aa3ed}.pagination .page-item.page-next,.pagination .page-item.page-prev{-ms-flex:1 0 50%;flex:1 0 50%}.pagination .page-item.page-next{text-align:right}.pagination .page-item .page-item-title{margin:0}.pagination .page-item .page-item-subtitle{margin:0;opacity:.5}.panel{display:-ms-flexbox;display:flex;flex-direction:column;border:.05rem solid #e7e9ed;border-radius:.1rem;-ms-flex-direction:column}.panel .panel-footer,.panel .panel-header{padding:.8rem;-ms-flex:0 0 auto;flex:0 0 auto}.panel .panel-nav{-ms-flex:0 0 auto;flex:0 0 auto}.panel .panel-body{overflow-y:auto;padding:0 .8rem;-ms-flex:1 1 auto;flex:1 1 auto}.popover{position:relative;display:inline-block}.popover .popover-container{position:absolute;z-index:300;top:0;left:50%;width:320px;padding:.4rem;transition:transform .2s;transform:translate(-50%,-50%) scale(0);opacity:0}.popover :focus+.popover-container,.popover:hover .popover-container{display:block;transform:translate(-50%,-100%) scale(1);opacity:1}.popover.popover-right .popover-container{top:50%;left:100%}.popover.popover-right :focus+.popover-container,.popover.popover-right:hover .popover-container{transform:translate(0,-50%) scale(1)}.popover.popover-bottom .popover-container{top:100%;left:50%}.popover.popover-bottom :focus+.popover-container,.popover.popover-bottom:hover .popover-container{transform:translate(-50%,0) scale(1)}.popover.popover-left .popover-container{top:50%;left:0}.popover.popover-left :focus+.popover-container,.popover.popover-left:hover .popover-container{transform:translate(-100%,-50%) scale(1)}.popover .card{border:0;box-shadow:0 .2rem .5rem rgba(69,77,93,.3)}.step{display:-ms-flexbox;display:flex;width:100%;margin:.2rem 0;list-style:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.step .step-item{position:relative;min-height:1rem;margin-top:0;text-align:center;-ms-flex:1 1 0;flex:1 1 0}.step .step-item:not(:first-child)::before{position:absolute;top:9px;left:-50%;width:100%;height:2px;content:'';background:#1aa3ed}.step .step-item a{display:inline-block;padding:20px 10px 0;text-decoration:none;color:#1aa3ed}.step .step-item a::before{position:absolute;z-index:1;top:.2rem;left:50%;display:block;width:.6rem;height:.6rem;content:'';transform:translateX(-50%);border:.1rem solid #fff;border-radius:50%;background:#1aa3ed}.step .step-item.active a::before{border:.1rem solid #1aa3ed;background:#fff}.step .step-item.active~.step-item::before{background:#e7e9ed}.step .step-item.active~.step-item a{color:#acb3c2}.step .step-item.active~.step-item a::before{background:#e7e9ed}.tile{display:-ms-flexbox;display:flex;-ms-flex-line-pack:justify;align-content:space-between;-ms-flex-align:start;align-items:flex-start}.tile .tile-action,.tile .tile-icon{-ms-flex:0 0 auto;flex:0 0 auto}.tile .tile-content{-ms-flex:1 1 auto;flex:1 1 auto}.tile .tile-content:not(:first-child){padding-left:.4rem}.tile .tile-content:not(:last-child){padding-right:.4rem}.tile .tile-subtitle,.tile .tile-title{line-height:1.2rem}.tile.tile-centered{-ms-flex-align:center;align-items:center}.tile.tile-centered .tile-content{overflow:hidden}.tile.tile-centered .tile-subtitle,.tile.tile-centered .tile-title{overflow:hidden;margin-bottom:0;white-space:nowrap;text-overflow:ellipsis}.toast{display:block;width:100%;padding:.4rem;color:#fff;border:.05rem solid #454d5d;border-color:#454d5d;border-radius:.1rem;background:rgba(69,77,93,.95)}.toast.toast-primary{border-color:#1aa3ed;background:rgba(26,163,237,.95)}.toast.toast-success{border-color:#32b643;background:rgba(50,182,67,.95)}.toast.toast-warning{border-color:#ffb700;background:rgba(255,183,0,.95)}.toast.toast-error{border-color:#e85600;background:rgba(232,86,0,.95)}.toast a{text-decoration:underline;color:#fff}.toast a.active,.toast a:active,.toast a:focus,.toast a:hover{opacity:.75}.toast .btn-clear{margin:.1rem}.toast p:last-child{margin-bottom:0}.tooltip{position:relative}.tooltip::after{font-size:.7rem;position:absolute;z-index:300;bottom:100%;left:50%;display:block;overflow:hidden;max-width:320px;padding:.2rem .4rem;content:attr(data-tooltip);transition:opacity .2s,transform .2s;transform:translate(-50%,.4rem);white-space:pre;text-overflow:ellipsis;pointer-events:none;opacity:0;color:#fff;border-radius:.1rem;background:rgba(69,77,93,.95)}.tooltip:focus::after,.tooltip:hover::after{transform:translate(-50%,-.2rem);opacity:1}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;transform:translate(-.2rem,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{transform:translate(.2rem,50%)}.tooltip.tooltip-bottom::after{top:100%;bottom:auto;transform:translate(-50%,-.4rem)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{transform:translate(-50%,.2rem)}.tooltip.tooltip-left::after{right:100%;bottom:50%;left:auto;transform:translate(.4rem,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{transform:translate(-.2rem,50%)}@keyframes loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes slide-down{0%{transform:translateY(-1.6rem);opacity:0}100%{transform:translateY(0);opacity:1}}.text-primary{color:#1aa3ed!important}a.text-primary:focus,a.text-primary:hover{color:#1195dc}a.text-primary:visited{color:#32acef}.text-secondary{color:#35b9bb!important}a.text-secondary:focus,a.text-secondary:hover{color:#2fa5a7}a.text-secondary:visited{color:#40c7c9}.text-gray{color:#acb3c2!important}a.text-gray:focus,a.text-gray:hover{color:#9ea6b7}a.text-gray:visited{color:#bbc1cd}.text-light{color:#fff!important}a.text-light:focus,a.text-light:hover{color:#f2f2f2}a.text-light:visited{color:#fff}.text-dark{color:#3a414e!important}a.text-dark:focus,a.text-dark:hover{color:#2f3540}a.text-dark:visited{color:#454d5d}.text-success{color:#32b643!important}a.text-success:focus,a.text-success:hover{color:#2da23c}a.text-success:visited{color:#39c94b}.text-warning{color:#ffb700!important}a.text-warning:focus,a.text-warning:hover{color:#e6a500}a.text-warning:visited{color:#ffbe1a}.text-error{color:#e85600!important}a.text-error:focus,a.text-error:hover{color:#cf4d00}a.text-error:visited{color:#ff6003}.bg-primary{color:#fff;background:#1aa3ed!important}.bg-secondary{color:#fff;background:#38c5c7!important}.bg-dark{color:#fff;background:#454d5d!important}.bg-gray{background:#f8f9fa!important}.bg-success{color:#fff;background:#32b643!important}.bg-warning{color:#fff;background:#ffb700!important}.bg-error{color:#fff;background:#e85600!important}.c-hand{cursor:pointer}.c-move{cursor:move}.c-zoom-in{cursor:zoom-in}.c-zoom-out{cursor:zoom-out}.c-not-allowed{cursor:not-allowed}.c-auto{cursor:auto}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.d-hide,.d-none{display:none!important}.d-visible{visibility:visible}.d-invisible{visibility:hidden}.text-hide{font-size:0;line-height:0;color:transparent;border:0;background:0 0;text-shadow:none}.text-assistive{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border:0}.divider,.divider-vert{position:relative;display:block}.divider-vert[data-content]::after,.divider[data-content]::after{font-size:.7rem;display:inline-block;padding:0 .4rem;content:attr(data-content);transform:translateY(-.65rem);color:#acb3c2;background:#fff}.divider{height:.05rem;margin:.4rem 0;border-top:.05rem solid #fefefe}.divider[data-content]{margin:.8rem 0}.divider-vert{display:block;padding:.8rem}.divider-vert::before{position:absolute;top:.4rem;bottom:.4rem;left:50%;display:block;content:'';transform:translateX(-50%);border-left:.05rem solid #e7e9ed}.divider-vert[data-content]::after{position:absolute;top:50%;left:50%;padding:.2rem 0;transform:translate(-50%,-50%)}.loading{position:relative;min-height:.8rem;pointer-events:none;color:transparent!important}.loading::after{position:absolute;z-index:1;top:50%;left:50%;display:block;width:.8rem;height:.8rem;margin-top:-.4rem;margin-left:-.4rem;content:'';animation:loading .5s infinite linear;border:.1rem solid #1aa3ed;border-top-color:transparent;border-right-color:transparent;border-radius:50%}.loading.loading-lg{min-height:2rem}.loading.loading-lg::after{width:1.6rem;height:1.6rem;margin-top:-.8rem;margin-left:-.8rem}.clearfix::after{display:table;clear:both;content:''}.float-left{float:left!important}.float-right{float:right!important}.p-relative{position:relative!important}.p-absolute{position:absolute!important}.p-fixed{position:fixed!important}.p-sticky{position:-webkit-sticky!important;position:sticky!important}.p-centered{display:block;float:none;margin-right:auto;margin-left:auto}.flex-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mr-0{margin-right:0!important}.mt-0{margin-top:0!important}.mx-0{margin-right:0!important;margin-left:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.2rem!important}.mb-1{margin-bottom:.2rem!important}.ml-1{margin-left:.2rem!important}.mr-1{margin-right:.2rem!important}.mt-1{margin-top:.2rem!important}.mx-1{margin-right:.2rem!important;margin-left:.2rem!important}.my-1{margin-top:.2rem!important;margin-bottom:.2rem!important}.m-2{margin:.4rem!important}.mb-2{margin-bottom:.4rem!important}.ml-2{margin-left:.4rem!important}.mr-2{margin-right:.4rem!important}.mt-2{margin-top:.4rem!important}.mx-2{margin-right:.4rem!important;margin-left:.4rem!important}.my-2{margin-top:.4rem!important;margin-bottom:.4rem!important}.p-0{padding:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}.pt-0{padding-top:0!important}.px-0{padding-right:0!important;padding-left:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.2rem!important}.pb-1{padding-bottom:.2rem!important}.pl-1{padding-left:.2rem!important}.pr-1{padding-right:.2rem!important}.pt-1{padding-top:.2rem!important}.px-1{padding-right:.2rem!important;padding-left:.2rem!important}.py-1{padding-top:.2rem!important;padding-bottom:.2rem!important}.p-2{padding:.4rem!important}.pb-2{padding-bottom:.4rem!important}.pl-2{padding-left:.4rem!important}.pr-2{padding-right:.4rem!important}.pt-2{padding-top:.4rem!important}.px-2{padding-right:.4rem!important;padding-left:.4rem!important}.py-2{padding-top:.4rem!important;padding-bottom:.4rem!important}.s-rounded{border-radius:.1rem}.s-circle{border-radius:50%}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-normal{font-weight:400}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-large{font-size:1.2em}.text-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.text-clip{overflow:hidden;white-space:nowrap;text-overflow:clip}.text-break{word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;-ms-hyphens:auto}.off-canvas{position:relative;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-flow:nowrap;flex-flow:nowrap}.off-canvas .off-canvas-toggle{position:absolute;z-index:1;top:.4rem;left:.4rem;display:block;transition:none}.off-canvas .off-canvas-sidebar{position:fixed;z-index:200;top:0;bottom:0;left:0;overflow-y:auto;min-width:10rem;transition:transform .25s;transform:translateX(-100%);background:#f8f9fa}.off-canvas .off-canvas-content{height:100%;padding:.4rem .4rem .4rem 4rem;-ms-flex:1 1 auto;flex:1 1 auto}.off-canvas .off-canvas-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;width:100%;height:100%;border-color:transparent;border-radius:0;background:rgba(69,77,93,.1)}.off-canvas .off-canvas-sidebar.active,.off-canvas .off-canvas-sidebar:target{transform:translateX(0)}.off-canvas .off-canvas-sidebar.active~.off-canvas-overlay,.off-canvas .off-canvas-sidebar:target~.off-canvas-overlay{z-index:100;display:block}@media (min-width:960px){.off-canvas.off-canvas-sidebar-show .off-canvas-toggle{display:none}.off-canvas.off-canvas-sidebar-show .off-canvas-sidebar{position:relative;transform:none;-ms-flex:0 0 auto;flex:0 0 auto}.off-canvas.off-canvas-sidebar-show .off-canvas-overlay{display:none!important}} \ No newline at end of file diff --git a/themes/learn4/css-compiled/theme.css b/themes/learn4/css-compiled/theme.css deleted file mode 100644 index 30e0f599..00000000 --- a/themes/learn4/css-compiled/theme.css +++ /dev/null @@ -1,469 +0,0 @@ -.off-canvas { min-height: 100vh; } - -.off-canvas .off-canvas-toggle { position: fixed; top: 0.3rem; left: 0.3rem; width: 1.6rem; height: 1.6rem; padding-top: .15rem; z-index: 3; font-size: 16px !important; } - -.off-canvas .off-canvas-content { padding: inherit; } - -.off-canvas .off-canvas-overlay { background: rgba(69, 77, 93, 0.5); } - -.off-canvas .learn-sidebar { width: 14rem; color: rgba(255, 255, 255, 0.6); overflow-y: inherit; } - -.off-canvas .learn-sidebar:before { position: fixed; content: ''; height: 100vh; width: 14rem; top: 0; left: 0; } - -.off-canvas .learn-sidebar a { color: rgba(255, 255, 255, 0.8); } - -.off-canvas .learn-sidebar a:hover { color: #fff; } - -.off-canvas .learn-sidebar .padding { padding-left: 1rem; } - -.off-canvas .learn-sidebar hr { border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } - -.off-canvas .learn-sidebar .learn-brand { position: fixed; height: 7rem; width: 14rem; top: 0; padding: 10px 20px; box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.3); } - -.off-canvas .learn-sidebar .learn-brand #logo { display: inline-block; margin: 0 2.5rem 0.5rem; } - -.off-canvas .learn-sidebar .learn-brand #logo path { fill: rgba(255, 255, 255, 0.8) !important; } - -.off-canvas .learn-sidebar .learn-nav { top: 7rem; bottom: 0; width: 14rem; padding-bottom: 1rem; position: fixed; } - -.off-canvas .learn-sidebar .learn-nav .read-icon { float: right; margin-right: 12px; margin-top: 5px; display: none; opacity: 0.8; color: rgba(255, 255, 255, 0.6); font-size: 12px; } - -.off-canvas .learn-sidebar .learn-nav .visited > a > .read-icon { display: inline; } - -.off-canvas .learn-sidebar .learn-nav ul { list-style: none; margin-left: 1rem; margin-top: .2rem; } - -.off-canvas .learn-sidebar .learn-nav ul.topics { margin-top: 0; } - -.off-canvas .learn-sidebar .learn-nav ul.topics > li:first-child { margin-top: 0; } - -.off-canvas .learn-sidebar .learn-nav ul a { display: block; padding-top: 0.1rem; padding-bottom: 0.1rem; } - -.off-canvas .learn-sidebar .learn-nav ul.searched a { color: rgba(255, 255, 255, 0.5); } - -.off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { color: rgba(255, 255, 255, 0.8); } - -.off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover { color: rgba(255, 255, 255, 0.9); } - -.off-canvas .learn-sidebar .learn-nav ul.topics.searched ul { display: block; } - -.off-canvas .learn-sidebar .learn-nav ul.topics > li { margin-top: .3rem; } - -.off-canvas .learn-sidebar .learn-nav ul.topics > li.active, .off-canvas .learn-sidebar .learn-nav ul.topics > li.parent { background-color: rgba(0, 0, 0, 0.2); margin-left: -1rem; padding-left: 1rem; padding-top: 0.25rem; padding-bottom: 0.25rem; } - -.off-canvas .learn-sidebar .learn-nav ul li, .off-canvas .learn-sidebar .learn-nav ul ol { margin-top: .1rem; } - -.off-canvas .learn-sidebar .learn-nav ul ul { font-size: 0.75rem; display: none; margin-top: 0; margin-bottom: 0; } - -.off-canvas .learn-sidebar .learn-nav ul li.active > a { background-color: #1AA3ED; color: #fff; margin-left: -0.4rem; padding-left: 0.4rem; } - -.off-canvas .learn-sidebar .learn-nav ul li a > span > b { font-weight: 300; color: rgba(255, 255, 255, 0.6); } - -.off-canvas .learn-sidebar .learn-nav ul .active ul, .off-canvas .learn-sidebar .learn-nav ul .parent ul { display: block; } - -.off-canvas .learn-sidebar .searchbox { position: relative; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(0, 0, 0, 0.1); color: rgba(255, 255, 255, 0.6); border-radius: 2px; } - -.off-canvas .learn-sidebar .searchbox :-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } - -.off-canvas .learn-sidebar .searchbox ::-ms-input-placeholder { color: rgba(255, 255, 255, 0.5); } - -.off-canvas .learn-sidebar .searchbox ::placeholder { color: rgba(255, 255, 255, 0.5); } - -.off-canvas .learn-sidebar .searchbox input { border: 0; background: transparent; width: 100%; padding: 4px 25px 4px 30px; color: rgba(255, 255, 255, 0.8); font-weight: 200; font-size: 0.7rem; } - -.off-canvas .learn-sidebar .searchbox label { position: absolute; left: 8px; top: 2px; } - -.off-canvas .learn-sidebar .searchbox span { position: absolute; right: 8px; top: 2px; cursor: pointer; } - -.off-canvas .learn-sidebar .search-options { margin-top: 10px; } - -.off-canvas .learn-sidebar .search-options .adv-search { font-size: 85%; display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; padding-left: 0.6rem; } - -.off-canvas .learn-sidebar .search-options .adv-search i { margin-right: 5px; } - -.off-canvas .learn-sidebar .search-options .version-chooser select { display: inline-block; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(0, 0, 0, 0.1); color: #fff; border-radius: 2px; font-size: .8rem; font-weight: 700; margin: 0; letter-spacing: 1px; } - -.off-canvas .learn-sidebar .side-tools { font-size: 90%; color: rgba(255, 255, 255, 0.5); } - -/** Defaults (purple) **/ -.off-canvas .learn-sidebar:before { background: linear-gradient(150deg, #8E44AD 0, #283A63 100%); } - -/** Secondary (green) **/ -body.sidebar-green .off-canvas .learn-sidebar:before { background: linear-gradient(150deg, #16A085 0, #283A63 100%); } - -/** Tertiary (blue)**/ -body.sidebar-blue .off-canvas .learn-sidebar:before { background: linear-gradient(150deg, #1AA3ED 0, #283A63 100%); } - -/** High Contrast **/ -body.sidebar-contrast .off-canvas .learn-sidebar a { color: #fff; } - -body.sidebar-contrast .off-canvas .learn-sidebar:before { background: linear-gradient(150deg, #3B4349 0, #1E2329 100%); } - -body.sidebar-contrast .off-canvas .learn-sidebar .searchbox :-ms-input-placeholder { color: rgba(255, 255, 255, 0.7); } - -body.sidebar-contrast .off-canvas .learn-sidebar .searchbox ::-ms-input-placeholder { color: rgba(255, 255, 255, 0.7); } - -body.sidebar-contrast .off-canvas .learn-sidebar .searchbox ::placeholder { color: rgba(255, 255, 255, 0.7); } - -@font-face { font-family: 'Metropolis'; src: url("../fonts/metropolis-bold-webfont.woff2") format("woff2"), url("../fonts/metropolis-bold-webfont.woff") format("woff"); font-weight: 400; font-style: normal; } - -@font-face { font-family: 'Public Sans'; src: url("../fonts/PublicSans-Light.woff2") format("woff2"), url("../fonts/PublicSans-Light.woff") format("woff"); font-weight: 300; font-style: normal; } - -@font-face { font-family: 'Public Sans'; src: url("../fonts/PublicSans-SemiBold.woff2") format("woff2"), url("../fonts/PublicSans-SemiBold.woff") format("woff"); font-weight: 500; font-style: normal; } - -@font-face { font-family: 'Hack'; src: url("../fonts/hack-regular-subset.woff2") format("woff2"), url("../fonts/hack-regular-subset.woff") format("woff"); font-weight: 400; font-style: normal; } - -#top-bar { position: fixed; display: -ms-flexbox; display: flex; background: #f8f9fa; border-bottom: 1px solid #edeef1; z-index: 2; -ms-flex-align: center; align-items: center; top: 0; right: 0; left: 14rem; } - -@media (max-width: 960px) { #top-bar { left: 0; } } - -#top-bar #breadcrumbs { padding-left: 0.5rem; line-height: 1; height: auto; width: 100%; } - -@media (max-width: 600px) { #top-bar #breadcrumbs * { display: none; } } - -#top-bar #breadcrumbs > span, #top-bar #breadcrumbs > a { padding: 0 .5rem !important; } - -#top-bar #breadcrumbs > span span, #top-bar #breadcrumbs > a span { padding: 0 !important; } - -@media (max-width: 960px) { #top-bar #breadcrumbs { padding-left: 2rem; } } - -#top-bar #navigation { width: 400px; display: -ms-flexbox; display: flex; } - -#top-bar #navigation > a, #top-bar #navigation span { width: 50%; text-align: center; border-left: 1px solid #edeef1; font-size: 27px; text-decoration: none; transition: background-color 0.5s ease, color 0.5s ease; } - -#top-bar #navigation > a.disabled, #top-bar #navigation span.disabled { color: #bbc1cd; } - -#top-bar #navigation > a:hover { background: #edeef1; color: #0e75ad; } - -#top-bar .progress { position: absolute; bottom: -1px; background: linear-gradient(to right, #1AA3ED var(--scroll), transparent 0); background-repeat: no-repeat; width: 100%; height: 1px; z-index: 1; } - -.center-content #start { -ms-flex: 1; flex: 1; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-pack: center; justify-content: center; } - -.learn-content { position: relative; display: -ms-flexbox; display: flex; min-height: 100vh; -ms-flex-direction: column; flex-direction: column; } - -.learn-content #start { padding: 2rem 3rem; } - -@media (max-width: 1280px) { .learn-content #start { padding: 2rem 2rem; } } - -@media (max-width: 960px) { .learn-content #start { padding: 2rem 1rem; } } - -#footer { border-top: 1px solid #e7e9ed; margin-top: 1rem; text-align: center; } - -#footer p { margin: 1rem 0; } - -.page-toc { float: right; width: 250px; padding: 0.5rem 0.75rem; background: #f3f4f6; margin-left: 1.5rem; margin-right: 0; margin-bottom: 1rem; margin-top: 10px; font-size: 0.7rem; overflow: hidden; } - -@media (max-width: 600px) { .page-toc { float: none; width: 100%; margin-top: 0.5rem; margin-left: 0; margin-bottom: 0; } } - -.page-toc .toc-toggle { font-size: 1.2rem; display: block; float: right; margin-top: -8px; margin-right: -10px; padding: 5px 10px; line-height: 1; color: #667189; cursor: pointer; } - -.page-toc.toc-closed { height: 40px; margin-bottom: 0.5rem; } - -.page-toc.toc-closed .toc-toggle .fa:before { content: '\f107'; } - -.page-toc h5 { margin: 0 0 1rem; } - -.page-toc ul { margin-left: 1rem; margin-bottom: 0; } - -.page-toc li { margin-top: 0; list-style: decimal; color: #808ba1; } - -.page-toc li li { list-style: decimal; } - -.page-toc li li li { list-style: square; } - -.page-toc ul > li.first.last { list-style: none; margin: 0; margin-left: -1rem; } - -.page-toc + #body-inner > .notices, .page-toc + #body-inner > .code-toolbar { overflow: hidden; } - -html { font-size: 18px; } - -@media screen and (min-width: 480px) { html { font-size: calc(18px + 2 * ((100vw - 480px) / 800)); } } - -@media screen and (min-width: 1280px) { html { font-size: 20px; } } - -body { font-weight: 300; letter-spacing: -0.015rem; } - -body ::-moz-selection { background: #ECECFE; } - -body ::selection { background: #ECECFE; } - -div { min-width: 0; } - -pre { padding: 1em; } - -mark { padding: 0; } - -h1, h2, h3, h4, h5, h6 { font-family: "Metropolis", "Helvetica Neue", sans-serif; letter-spacing: -0.05rem; margin-top: 2rem; color: #242931; line-height: 1; font-weight: 500; } - -h1 { font-size: 2.5rem; font-weight: 500; } - -@media (max-width: 600px) { h1 { font-size: 2rem; } } - -a:hover, a:focus, a:active, a.active { color: #0e75ad; text-decoration: none; } - -a:focus { outline: none !important; box-shadow: none !important; } - -a:visited { color: #1195dc; } - -.table-keycol { overflow: hidden; } - -.table { width: auto; } - -table { border-collapse: collapse; border-spacing: 0; width: 100%; overflow-x: auto; margin-bottom: 1.5rem; text-align: left; } - -table tbody tr:nth-of-type(odd) { background: #f8f9fa; } - -table tbody tr.active { background: #f0f1f4; } - -table td, table th { border-bottom: 0.05rem solid #e7e9ed; padding: 0.6rem 0.4rem; } - -table th { border-bottom-width: 0.1rem; } - -.table-keycol table tr > td:first-child, .table-keycol table tr > th:first-child { white-space: nowrap; width: 15%; } - -img, .video-container { max-width: 100%; margin: 3rem auto; display: block; text-align: center; } - -img.border, .video-container.border { border: 2px solid #e6e6e6 !important; padding: 2px; } - -img.shadow, .video-container.shadow { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } - -hr { border: 0; border-top: 1px solid #e7e9ed; } - -ul, ol { margin: 0 0 1.2rem 0; } - -ul ul, ul ol, ol ul, ol ol { margin: 0; } - -ul ol, ol ol { list-style-type: decimal; } - -ul li, ol li { padding-top: 0; } - -#chapter { text-align: center; max-width: 600px; margin: 0 auto; } - -#chapter h3 { opacity: 0.7; } - -#chapter h3 + h1 { display: inline-block; margin: 1rem auto 2rem; border-bottom: 3px solid #e7e9ed; } - -@media (max-width: 600px) { #chapter h3 + h1 { font-size: 2.5rem; } } - -#body-inner :target:before { content: ""; display: block; margin-top: -60px; height: 60px; width: 1px; } - -pre.xdebug-var-dump { background: #fafafa; display: block; padding: 1rem; line-height: 1.5; color: inherit; border-radius: 2px; overflow-x: auto; } - -#body-inner pre { margin: 0.5rem 0; } - -#body-inner pre ::-moz-selection { background: #ECECFE; } - -#body-inner pre ::selection { background: #ECECFE; } - -#body-inner code { word-break: break-word; } - -#body-inner .code-toolbar { margin: 0.5rem 0; } - -#body-inner .code-toolbar pre[class*="language-"] { margin: 0; } - -#body-inner code[class*="language-"], #body-inner pre[class*="language-"] { font-family: "Hack", monospace; } - -#body-inner pre[class*="language-"] { font-size: .7rem; } - -#body-inner pre[class*="language-"] code { padding: initial; font-size: .7rem; } - -#body-inner .no-margin-top { margin-top: -1em; } - -#body-inner .no-margin-top .code-toolbar { margin-top: 0; } - -#body-inner .no-margin-top .code-toolbar > pre { padding-top: 3px; } - -#body-inner .no-margin-bottom .code-toolbar { margin-bottom: 0; } - -#body-inner .line-highlight { background: linear-gradient(to right, rgba(255, 233, 179, 0.3) 70%, rgba(255, 233, 179, 0)); } - -#body-inner .line-highlight:before { background-color: #ffbd1a; box-shadow: none; top: 0.15rem; } - -i.fa.fa-heart.pulse, i.fa.fa-heart-o.pulse { color: #920; } - -b, strong { font-weight: 500; } - -.heavy { font-weight: 700; } - -.light { font-weight: 200; } - -#error { text-align: center; position: relative; margin-top: 5rem; } - -#error .icon { font-size: 50px; } - -#messages { margin-bottom: 1rem; } - -#messages .icon { font-size: 1rem; } - -ul, ol { margin-left: 1.6rem; } - -ul ul, ul ol, ol ul, ol ol { margin-left: 1.6rem; } - -ul { list-style: disc outside; } - -ol { list-style: decimal outside; } - -#navigation a.github-link { font-size: inherit !important; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; padding: 0 1rem; } - -#navigation a.github-link i { padding-right: 5px; } - -.tabs-wrapper.ui-theme-badges { background: #F8F9FA; border: 1px solid #f2f4f6; border-radius: 0; } - -.tabs-wrapper.ui-theme-badges .tabs-nav { margin: 0.25rem; } - -.tabs-wrapper.ui-theme-badges .tabs-nav > li { margin-top: 0; } - -.tabs-wrapper.ui-theme-badges .tabs-nav li a { color: #767693; background: #e6eaed; border-radius: 0; } - -.tabs-wrapper.ui-theme-badges .tabs-nav li.current a { background: #8193a5; color: #fff; } - -.tabs-wrapper.ui-theme-badges .tabs-nav li:not(.current) a:hover { background: #dde2e7; } - -.tabs-wrapper.ui-theme-badges .tabs .tab { padding: 0.25rem 0; } - -.tabs-wrapper.ui-theme-badges .tabs .tab pre { margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; } - -.notices { margin: 1.5rem 0; padding: 0.4rem; } - -.notices p { margin: 0 0 1.5rem 0.5rem; } - -.notices p:last-child { margin-bottom: 0; } - -.notices.info { border-left: 5px solid #f0ad4e; background: #fcf8f2; color: #df8a13; } - -.notices.warning { border-left: 5px solid #d9534f; background: #fdf7f7; color: #b52b27; } - -.notices.note { border-left: 5px solid #5bc0de; background: #f4f8fa; color: #28a1c5; } - -.notices.tip { border-left: 5px solid #5cb85c; background: #f1f9f1; color: #3d8b3d; } - -audio { max-width: 100%; } - -pre { max-width: 100%; } - -pre[class*="language-"]:not(.command-line), pre[class*="language-"]:not(.command-line) > code[class*="language-"] { word-break: break-word; white-space: pre-wrap; } - -.tntsearch-results em { background: #ffe9b3; color: #3a414e; border-bottom: 0.05rem solid #ffd367; border-radius: 0.1rem; padding: 0.05rem 0.1rem 0; } - -.lifecycle #body-inner .level { position: relative; } - -.lifecycle #body-inner .level h3 { font-size: 18px; position: absolute; margin: 0; padding: 2px 10px 4px; left: 0; z-index: 1000; color: #fff; } - -.lifecycle #body-inner .level .level { margin-top: 0.5rem; margin-left: -1rem; margin-right: 1rem; margin-bottom: 0.5rem; padding-bottom: 1rem; } - -.lifecycle #body-inner .level ol li { padding-top: 0.1rem; margin-top: 0.2rem; } - -.lifecycle #body-inner .level > ol { margin-top: 2rem; } - -.lifecycle #body-inner .level.level-1 { background: #f6fefc; border: 4px solid #1ABC9C; color: #1ABC9C; margin-bottom: 1rem; } - -.lifecycle #body-inner .level.level-1 h3 { background: #1ABC9C; } - -.lifecycle #body-inner .level.level-2 { background: #f7fdf9; border: 4px solid #2ECC71; color: #2ECC71; } - -.lifecycle #body-inner .level.level-2 h3 { background: #2ECC71; } - -.lifecycle #body-inner .level.level-3 { background: #f3f9fd; border: 4px solid #3498DB; color: #3498DB; } - -.lifecycle #body-inner .level.level-3 h3 { background: #3498DB; } - -.lifecycle #body-inner .level.level-4 { background: #e4eaf0; border: 4px solid #34495E; color: #34495E; } - -.lifecycle #body-inner .level.level-4 h3 { background: #34495E; } - -form { /** Reset some defaults for Quark Theme **/ } - -form .button-wrapper { margin-top: 0.75rem; margin-bottom: 1rem; } - -form span.required { color: #e85600; font-weight: 700; font-size: 1.2rem; } - -form .form-input[type=range] { -webkit-appearance: slider-horizontal; -moz-appearance: slider-horizontal; appearance: slider-horizontal; } - -form .form-input[type=range]:focus { box-shadow: none; border: none; } - -form .form-group:not(.form-field-toggleable) .checkboxes { display: inherit; } - -form .form-group:not(.form-field-toggleable) .checkboxes label { display: inherit; padding: 0.1rem 0.4rem 0.1rem 1.2rem; margin: inherit; } - -form .form-group:not(.form-field-toggleable) .checkboxes label:before { display: none; } - -#grav-login > form { margin: 2rem auto 0; max-width: 350px; } - -#grav-login .form-label { display: none; } - -#grav-login .form-data { margin: 1rem 0; } - -#grav-login .form-input { text-align: center; } - -#grav-login .button-wrapper { text-align: right; } - -#grav-login .button-wrapper .form-data.rememberme { margin: 0; float: left; } - -#grav-login .login-form button[type="submit"] { background: #1AA3ED; border-color: #129be6; color: #fff; } - -#grav-login .login-form button[type="submit"]:focus, #grav-login .login-form button[type="submit"]:hover { background: #1195dc; border-color: #108bce; color: #fff; } - -#grav-login .login-form button[type="submit"]:active, #grav-login .login-form button[type="submit"].active { background: #118fd3; border-color: #0f85c5; color: #fff; } - -#grav-login .twofa-form button[type="submit"]:first-child { background: #1AA3ED; border-color: #129be6; color: #fff; float: right; margin-left: 4px; } - -#grav-login .twofa-form button[type="submit"]:first-child:focus, #grav-login .twofa-form button[type="submit"]:first-child:hover { background: #1195dc; border-color: #108bce; color: #fff; } - -#grav-login .twofa-form button[type="submit"]:first-child:active, #grav-login .twofa-form button[type="submit"]:first-child.active { background: #118fd3; border-color: #0f85c5; color: #fff; } - -.default-animation, a { transition: all 0.5s ease; } - -.pulse { animation-name: pulse_animation; animation-duration: 2000ms; transform-origin: 70% 70%; animation-iteration-count: infinite; animation-timing-function: linear; } - -@keyframes pulse_animation { 0% { transform: scale(1); } - 30% { transform: scale(1); } - 40% { transform: scale(1.08); } - 50% { transform: scale(1); } - 60% { transform: scale(1); } - 70% { transform: scale(1.05); } - 80% { transform: scale(1); } - 100% { transform: scale(1); } } - -[data-simplebar] { position: relative; -ms-flex-direction: column; flex-direction: column; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: start; justify-content: flex-start; -ms-flex-line-pack: start; align-content: flex-start; -ms-flex-align: start; align-items: flex-start; width: inherit; height: inherit; max-width: inherit; max-height: inherit; } - -.simplebar-wrapper { overflow: hidden; width: inherit; height: inherit; max-width: inherit; max-height: inherit; } - -.simplebar-mask { direction: inherit; position: absolute; overflow: hidden; padding: 0; margin: 0; left: 0; top: 0; bottom: 0; right: 0; width: auto !important; height: auto !important; z-index: 0; } - -.simplebar-offset { direction: inherit !important; box-sizing: inherit !important; resize: none !important; position: absolute; top: 0; left: 0; bottom: 0; right: 0; padding: 0; margin: 0; -webkit-overflow-scrolling: touch; } - -.simplebar-content-wrapper { direction: inherit; box-sizing: border-box !important; position: relative; display: block; height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */ width: auto; visibility: visible; overflow: auto; /* Scroll on this element otherwise element can't have a padding applied properly */ max-width: 100%; /* Not required for horizontal scroll to trigger */ max-height: 100%; /* Needed for vertical scroll to trigger */ } - -.simplebar-content:before, .simplebar-content:after { content: " "; display: table; } - -.simplebar-placeholder { max-height: 100%; max-width: 100%; width: 100%; pointer-events: none; } - -.simplebar-height-auto-observer-wrapper { box-sizing: inherit !important; height: 100%; width: inherit; max-width: 1px; position: relative; float: left; max-height: 1px; overflow: hidden; z-index: -1; padding: 0; margin: 0; pointer-events: none; -ms-flex-positive: inherit; flex-grow: inherit; -ms-flex-negative: 0; flex-shrink: 0; -ms-flex-preferred-size: 0; flex-basis: 0; } - -.simplebar-height-auto-observer { box-sizing: inherit; display: block; opacity: 0; position: absolute; top: 0; left: 0; height: 1000%; width: 1000%; min-height: 1px; min-width: 1px; overflow: hidden; pointer-events: none; z-index: -1; } - -.simplebar-track { z-index: 1; position: absolute; right: 0; bottom: 0; pointer-events: none; overflow: hidden; } - -[data-simplebar].simplebar-dragging .simplebar-track { pointer-events: all; } - -.simplebar-scrollbar { position: absolute; right: 2px; width: 7px; min-height: 10px; } - -.simplebar-scrollbar:before { position: absolute; content: ""; background: rgba(255, 255, 255, 0.5); border-radius: 7px; left: 0; right: 0; opacity: 0; transition: opacity 0.2s linear; } - -.simplebar-track .simplebar-scrollbar.simplebar-visible:before { /* When hovered, remove all transitions from drag handle */ opacity: 0.5; transition: opacity 0s linear; } - -.simplebar-track.simplebar-vertical { top: 0; width: 11px; } - -.simplebar-track.simplebar-vertical .simplebar-scrollbar:before { top: 2px; bottom: 2px; } - -.simplebar-track.simplebar-horizontal { left: 0; height: 11px; } - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before { height: 100%; left: 2px; right: 2px; } - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar { right: auto; left: 0; top: 2px; height: 7px; min-height: 0; min-width: 10px; width: auto; } - -/* Rtl support */ -[data-simplebar-direction="rtl"] .simplebar-track.simplebar-vertical { right: auto; left: 0; } - -.hs-dummy-scrollbar-size { direction: rtl; position: fixed; opacity: 0; visibility: hidden; height: 500px; width: 500px; overflow-y: hidden; overflow-x: scroll; } - -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlcyI6WyJ0aGVtZS5zY3NzIiwidGhlbWUvX3ZhcmlhYmxlcy5zY3NzIiwic3BlY3RyZS9fdmFyaWFibGVzLnNjc3MiLCJzcGVjdHJlL19taXhpbnMuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19hdmF0YXIuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19idXR0b24uc2NzcyIsInNwZWN0cmUvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwic3BlY3RyZS9taXhpbnMvX2NvbG9yLnNjc3MiLCJzcGVjdHJlL21peGlucy9fbGFiZWwuc2NzcyIsInNwZWN0cmUvbWl4aW5zL19wb3NpdGlvbi5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3NoYWRvdy5zY3NzIiwic3BlY3RyZS9taXhpbnMvX3RleHQuc2NzcyIsInNwZWN0cmUvbWl4aW5zL190b2FzdC5zY3NzIiwidGhlbWUvX21peGlucy5zY3NzIiwidGhlbWUvX29mZmNhbnZhcy5zY3NzIiwidGhlbWUvX2ZvbnRzLnNjc3MiLCJ0aGVtZS9fdG9wYmFyLnNjc3MiLCJ0aGVtZS9fYm9keS5zY3NzIiwidGhlbWUvX3R5cG9ncmFwaHkuc2NzcyIsInRoZW1lL19saWZlY3ljbGUuc2NzcyIsInRoZW1lL19mb3Jtcy5zY3NzIiwidGhlbWUvX2FuaW1hdGlvbi5zY3NzIiwidGhlbWUvX3NpbXBsZWJhci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgJ3RoZW1lL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdzcGVjdHJlL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdzcGVjdHJlL21peGlucyc7XG5cbkBpbXBvcnQgJ3RoZW1lL21peGlucyc7XG5AaW1wb3J0ICd0aGVtZS9vZmZjYW52YXMnO1xuQGltcG9ydCAndGhlbWUvZm9udHMnO1xuQGltcG9ydCAndGhlbWUvdG9wYmFyJztcbkBpbXBvcnQgJ3RoZW1lL2JvZHknO1xuQGltcG9ydCAndGhlbWUvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICd0aGVtZS9saWZlY3ljbGUnO1xuQGltcG9ydCAndGhlbWUvZm9ybXMnO1xuQGltcG9ydCAndGhlbWUvYW5pbWF0aW9uJztcbkBpbXBvcnQgJ3RoZW1lL3NpbXBsZWJhcic7XG5cblxuIiwiLy8gQ29sb3JzXG4kdHVycXVvaXNlOiAjMUFCQzlDO1xuJGdyZWVuLXNlYTogIzE2QTA4NTtcbiRlbWVyYWxkOiAjMkVDQzcxO1xuJG5lcGhyaXRpczogIzI3QUU2MDtcbiRwZXRlci1yaXZlcjogIzM0OThEQjtcbiRiZWxpemVfaG9sZTogIzI5ODBCOTtcbiRkZWVwLXdlbGw6ICMyODNBNjM7XG4kbGF2ZW5kZXI6ICM3Njc2ZjQ7XG4kYW1ldGh5c3Q6ICNBNjZCQkU7XG4kd2lzdGVyaWE6ICM4RTQ0QUQ7XG4kd2V0LWFzcGhhbHQ6ICMzNDQ5NUU7XG4kbWlkbmlnaHQtYmx1ZTogIzJDM0U1MDtcbiRzdW5mbG93ZXI6ICNGMkNBMjc7XG4kb3JhbmdlOiAjRjM5QzEyO1xuJGNhcnJvdDogI0U2N0UyMjtcbiRwdW1wa2luOiAjRDM1NDAwO1xuJGFsaXphcmluOiAjRTc0QzNDO1xuJHBvbWVncmFuYXRlOiAjQzAzOTJCO1xuJGNsb3VkczogI0VDRjBGMTtcbiRzaWx2ZXI6ICNCREMzQzc7XG4kY29uY3JldGU6ICM5NUE1QTY7XG4kYXNiZXN0b3M6ICM3RjhDOEQ7XG5cbiRwcmltYXJ5LWNvbG9yOiAjMUFBM0VEICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogIzM4QzVDNyAhZGVmYXVsdDtcbiRkYXJrLWNvbG9yOiAjNDU0ZDVkICFkZWZhdWx0O1xuJGJvZHktZm9udC1jb2xvcjogZGFya2VuKCRkYXJrLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kZ3JheS1jb2xvcjogbGlnaHRlbigkZGFyay1jb2xvciwgNDAlKSAhZGVmYXVsdDtcbiRncmF5LWNvbG9yLWRhcms6IGRhcmtlbigkZ3JheS1jb2xvciwgMjUlKSAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDYwJSkgIWRlZmF1bHQ7XG4kYmctY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDY2JSkgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogJGxhdmVuZGVyICFkZWZhdWx0O1xuJHNlbGVjdGlvbi1jb2xvcjogI0VDRUNGRTtcblxuLy8gU2lkZWJhclxuJHNpZGViYXItd2lkdGg6IDE0cmVtO1xuJHNpZGViYXItYnJhbmQtaGVpZ2h0OiA3cmVtO1xuXG4vLyBGb250c1xuJGJhc2UtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byAhZGVmYXVsdDtcbiRmYWxsYmFjay1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGJvZHktZm9udC1mYW1pbHk6IFwiUHVibGljIFNhbnNcIiwgICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiR0aXRsZS1mb250LWZhbWlseTogXCJNZXRyb3BvbGlzXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRtb25vLWZvbnQtZmFtaWx5OiBcIkhhY2tcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZTogLjg1cmVtICFkZWZhdWx0O1xuJG1pbi1yZXNwb25zaXZlLWZvbnQtc2l6ZTogMThweDtcbiIsIi8vIENvcmUgdmFyaWFibGVzXG4kdmVyc2lvbjogXCIwLjUuOFwiO1xuXG4vLyBDb3JlIGZlYXR1cmVzXG4kcnRsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gQ29yZSBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiAjNTc1NWQ5ICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZGFyazogZGFya2VuKCRwcmltYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci1saWdodDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMzcuNSUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1kYXJrOiBkYXJrZW4oJHNlY29uZGFyeS1jb2xvciwgMyUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci1saWdodDogbGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzJSkgIWRlZmF1bHQ7XG5cbi8vIEdyYXkgY29sb3JzXG4kZGFyay1jb2xvcjogIzMwMzc0MiAhZGVmYXVsdDtcbiRsaWdodC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA1NSUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItZGFyazogZGFya2VuKCRncmF5LWNvbG9yLCAzMCUpICFkZWZhdWx0O1xuJGdyYXktY29sb3ItbGlnaHQ6IGxpZ2h0ZW4oJGdyYXktY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG5cbiRib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDY1JSkgIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yLWRhcms6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1saWdodDogbGlnaHRlbigkYm9yZGVyLWNvbG9yLCA4JSkgIWRlZmF1bHQ7XG4kYmctY29sb3I6IGxpZ2h0ZW4oJGRhcmstY29sb3IsIDc1JSkgIWRlZmF1bHQ7XG4kYmctY29sb3ItZGFyazogZGFya2VuKCRiZy1jb2xvciwgMyUpICFkZWZhdWx0O1xuJGJnLWNvbG9yLWxpZ2h0OiAkbGlnaHQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2wgY29sb3JzXG4kc3VjY2Vzcy1jb2xvcjogIzMyYjY0MyAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiAjZmZiNzAwICFkZWZhdWx0O1xuJGVycm9yLWNvbG9yOiAjZTg1NjAwICFkZWZhdWx0O1xuXG4vLyBPdGhlciBjb2xvcnNcbiRjb2RlLWNvbG9yOiAjZDczZTQ4ICFkZWZhdWx0O1xuJGhpZ2hsaWdodC1jb2xvcjogI2ZmZTliMyAhZGVmYXVsdDtcbiRib2R5LWJnOiAkYmctY29sb3ItbGlnaHQgIWRlZmF1bHQ7XG4kYm9keS1mb250LWNvbG9yOiBsaWdodGVuKCRkYXJrLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kbGluay1jb2xvci1kYXJrOiBkYXJrZW4oJGxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbGluay1jb2xvci1saWdodDogbGlnaHRlbigkbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcblxuLy8gRm9udHNcbi8vIENyZWRpdDogaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNS8xMS91c2luZy1zeXN0ZW0tdWktZm9udHMtcHJhY3RpY2FsLWd1aWRlL1xuJGJhc2UtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90byAhZGVmYXVsdDtcbiRtb25vLWZvbnQtZmFtaWx5OiBcIlNGIE1vbm9cIiwgXCJTZWdvZSBVSSBNb25vXCIsIFwiUm9ib3RvIE1vbm9cIiwgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmYWxsYmFjay1mb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGNqay16aC1oYW5zLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJQaW5nRmFuZyBTQ1wiLCBcIkhpcmFnaW5vIFNhbnMgR0JcIiwgXCJNaWNyb3NvZnQgWWFIZWlcIiwgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay16aC1oYW50LWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseSwgXCJQaW5nRmFuZyBUQ1wiLCBcIkhpcmFnaW5vIFNhbnMgQ05TXCIsIFwiTWljcm9zb2Z0IEpoZW5nSGVpXCIsICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjamstanAtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5LCBcIkhpcmFnaW5vIFNhbnNcIiwgXCJIaXJhZ2lubyBLYWt1IEdvdGhpYyBQcm9cIiwgXCJZdSBHb3RoaWNcIiwgWXVHb3RoaWMsIE1laXJ5bywgJGZhbGxiYWNrLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGNqay1rby1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksIFwiTWFsZ3VuIEdvdGhpY1wiLCAkZmFsbGJhY2stZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHksICRmYWxsYmFjay1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8gVW5pdCBzaXplc1xuJHVuaXQtbzogLjA1cmVtICFkZWZhdWx0O1xuJHVuaXQtaDogLjFyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xOiAuMnJlbSAhZGVmYXVsdDtcbiR1bml0LTI6IC40cmVtICFkZWZhdWx0O1xuJHVuaXQtMzogLjZyZW0gIWRlZmF1bHQ7XG4kdW5pdC00OiAuOHJlbSAhZGVmYXVsdDtcbiR1bml0LTU6IDFyZW0gIWRlZmF1bHQ7XG4kdW5pdC02OiAxLjJyZW0gIWRlZmF1bHQ7XG4kdW5pdC03OiAxLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC04OiAxLjZyZW0gIWRlZmF1bHQ7XG4kdW5pdC05OiAxLjhyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xMDogMnJlbSAhZGVmYXVsdDtcbiR1bml0LTEyOiAyLjRyZW0gIWRlZmF1bHQ7XG4kdW5pdC0xNjogMy4ycmVtICFkZWZhdWx0O1xuXG4vLyBGb250IHNpemVzXG4kaHRtbC1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaHRtbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAuN3JlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6IC45cmVtICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0OiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIFNpemVzXG4kbGF5b3V0LXNwYWNpbmc6ICR1bml0LTIgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctc206ICR1bml0LTEgIWRlZmF1bHQ7XG4kbGF5b3V0LXNwYWNpbmctbGc6ICR1bml0LTQgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogJHVuaXQtaCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6ICR1bml0LW8gIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoLWxnOiAkdW5pdC1oICFkZWZhdWx0O1xuJGNvbnRyb2wtc2l6ZTogJHVuaXQtOSAhZGVmYXVsdDtcbiRjb250cm9sLXNpemUtc206ICR1bml0LTcgIWRlZmF1bHQ7XG4kY29udHJvbC1zaXplLWxnOiAkdW5pdC0xMCAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteDogJHVuaXQtMiAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1zbTogJHVuaXQtMiAqIC43NSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteC1sZzogJHVuaXQtMiAqIDEuNSAhZGVmYXVsdDtcbiRjb250cm9sLXBhZGRpbmcteTogKCRjb250cm9sLXNpemUgLSAkbGluZS1oZWlnaHQpIC8gMiAtICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY29udHJvbC1wYWRkaW5nLXktc206ICgkY29udHJvbC1zaXplLXNtIC0gJGxpbmUtaGVpZ2h0KSAvIDIgLSAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNvbnRyb2wtcGFkZGluZy15LWxnOiAoJGNvbnRyb2wtc2l6ZS1sZyAtICRsaW5lLWhlaWdodCkgLyAyIC0gJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjb250cm9sLWljb24tc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG5cbiRjb250cm9sLXdpZHRoLXhzOiAxODBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXNtOiAzMjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLW1kOiA2NDBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRjb250cm9sLXdpZHRoLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHNcbiRzaXplLXhzOiA0ODBweCAhZGVmYXVsdDtcbiRzaXplLXNtOiA2MDBweCAhZGVmYXVsdDtcbiRzaXplLW1kOiA4NDBweCAhZGVmYXVsdDtcbiRzaXplLWxnOiA5NjBweCAhZGVmYXVsdDtcbiRzaXplLXhsOiAxMjgwcHggIWRlZmF1bHQ7XG4kc2l6ZS0yeDogMTQ0MHB4ICFkZWZhdWx0O1xuXG4kcmVzcG9uc2l2ZS1icmVha3BvaW50OiAkc2l6ZS14cyAhZGVmYXVsdDtcblxuLy8gWi1pbmRleFxuJHppbmRleC0wOiAxICFkZWZhdWx0O1xuJHppbmRleC0xOiAxMDAgIWRlZmF1bHQ7XG4kemluZGV4LTI6IDIwMCAhZGVmYXVsdDtcbiR6aW5kZXgtMzogMzAwICFkZWZhdWx0O1xuJHppbmRleC00OiA0MDAgIWRlZmF1bHQ7XG4iLCIvLyBNaXhpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYXZhdGFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvblwiO1xuQGltcG9ydCBcIm1peGlucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvclwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbFwiO1xuQGltcG9ydCBcIm1peGlucy9wb3NpdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90b2FzdFwiOyIsIi8vIEF2YXRhciBtaXhpblxuQG1peGluIGF2YXRhci1iYXNlKCRzaXplOiAkdW5pdC04KSB7XG4gIGZvbnQtc2l6ZTogJHNpemUgLyAyO1xuICBoZWlnaHQ6ICRzaXplO1xuICB3aWR0aDogJHNpemU7XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudCBtaXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yO1xuICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDMlKTtcbiAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCAyJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3IsIDclKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgfVxuICAmLmxvYWRpbmcge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRsaWdodC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgY29udHJvbC1zaGFkb3coJGNvbG9yKTtcbiAgfVxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgNTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDIlKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJi5sb2FkaW5nIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXggbWl4aW5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbn1cbiIsIi8vIEJhY2tncm91bmQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIGJnLWNvbG9yLXZhcmlhbnQoJG5hbWU6IFwiLmJnLXByaW1hcnlcIiwgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAjeyRuYW1lfSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpIDwgNjApIHtcbiAgICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgY29sb3IgdXRpbGl0eSBtaXhpblxuQG1peGluIHRleHQtY29sb3ItdmFyaWFudCgkbmFtZTogXCIudGV4dC1wcmltYXJ5XCIsICRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgI3skbmFtZX0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIGEjeyRuYW1lfSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCA1JSk7XG4gICAgfVxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogbGlnaHRlbigkY29sb3IsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExhYmVsIGJhc2Ugc3R5bGVcbkBtaXhpbiBsYWJlbC1iYXNlKCkge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIHBhZGRpbmc6IC4xcmVtIC4ycmVtO1xufVxuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3I6ICRsaWdodC1jb2xvciwgJGJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBiYWNrZ3JvdW5kOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBNYXJnaW4gdXRpbGl0eSBtaXhpblxuQG1peGluIG1hcmdpbi12YXJpYW50KCRpZDogMSwgJHNpemU6ICR1bml0LTEpIHtcbiAgLm0tI3skaWR9IHtcbiAgICBtYXJnaW46ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWItI3skaWR9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1sLSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXItI3skaWR9IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubXQtI3skaWR9IHtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm14LSN7JGlkfSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm15LSN7JGlkfSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpemUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFBhZGRpbmcgdXRpbGl0eSBtaXhpblxuQG1peGluIHBhZGRpbmctdmFyaWFudCgkaWQ6IDEsICRzaXplOiAkdW5pdC0xKSB7XG4gIC5wLSN7JGlkfSB7XG4gICAgcGFkZGluZzogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wYi0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnBsLSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByLSN7JGlkfSB7XG4gICAgcGFkZGluZy1yaWdodDogJHNpemUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wdC0jeyRpZH0ge1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnB4LSN7JGlkfSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzaXplICFpbXBvcnRhbnQ7XG4gIH1cbiAgXG4gIC5weS0jeyRpZH0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2l6ZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAkc2l6ZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBDb21wb25lbnQgZm9jdXMgc2hhZG93XG5AbWl4aW4gY29udHJvbC1zaGFkb3coJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICBib3gtc2hhZG93OiAwIDAgMCAuMXJlbSByZ2JhKCRjb2xvciwgLjIpO1xufVxuXG4vLyBTaGFkb3cgbWl4aW5cbkBtaXhpbiBzaGFkb3ctdmFyaWFudCgkb2Zmc2V0KSB7XG4gIGJveC1zaGFkb3c6IDAgJG9mZnNldCAoJG9mZnNldCArIC4wNXJlbSkgKiAyIHJnYmEoJGRhcmstY29sb3IsIC4zKTtcbn1cbiIsIi8vIFRleHQgRWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFRvYXN0IHZhcmlhbnQgbWl4aW5cbkBtaXhpbiB0b2FzdC12YXJpYW50KCRjb2xvcjogJGRhcmstY29sb3IpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsIC45NSk7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xufVxuIiwiQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XG4gIEBpZiAkcG9pbnQgPT0gMngge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiRzaXplLTJ4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IHhsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNpemUteGwpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICB9IEBlbHNlIGlmICRwb2ludCA9PSBsZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLWxnKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHBvaW50ID09IG1kIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHNpemUtbWQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkcG9pbnQgPT0gc20ge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2l6ZS1zbSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRwb2ludCA9PSB4cyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzaXplLXhzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gIEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgbWl4aW4gc3VwcG9ydHM6IHhzLCBzbSwgbWQsIGxnLCB4bCwgMnhcIjtcbiAgfVxufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gYnV0dG9uLXByaW1hcnkoKSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLWRhcms7XG4gIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvci1kYXJrLCAyJSk7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJHByaW1hcnktY29sb3ItZGFyaywgNSUpO1xuICAgIGNvbG9yOiAkbGlnaHQtY29sb3I7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHByaW1hcnktY29sb3ItZGFyaywgNCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRwcmltYXJ5LWNvbG9yLWRhcmssIDclKTtcbiAgICBjb2xvcjogJGxpZ2h0LWNvbG9yO1xuICB9XG59XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XG59XG5cbkBtaXhpbiBmbHVpZC10eXBlKCRtaW4tdncsICRtYXgtdncsICRtaW4tZm9udC1zaXplLCAkbWF4LWZvbnQtc2l6ZSkge1xuICAkdTE6IHVuaXQoJG1pbi12dyk7XG4gICR1MjogdW5pdCgkbWF4LXZ3KTtcbiAgJHUzOiB1bml0KCRtaW4tZm9udC1zaXplKTtcbiAgJHU0OiB1bml0KCRtYXgtZm9udC1zaXplKTtcblxuICBAaWYgJHUxID09ICR1MiBhbmQgJHUxID09ICR1MyBhbmQgJHUxID09ICR1NCB7XG4gICAgJiB7XG4gICAgICBmb250LXNpemU6ICRtaW4tZm9udC1zaXplO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi12dykge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtdncpIHtcbiAgICAgICAgZm9udC1zaXplOiAkbWF4LWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5vZmYtY2FudmFzIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgIC5vZmYtY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwLjNyZW07XG4gICAgICAgIGxlZnQ6IDAuM3JlbTtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAuMTVyZW07XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLWNvbG9yLCAuNSk7XG4gICAgfVxuXG4gICAgLmxlYXJuLXNpZGViYXIge1xuICAgICAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNik7XG4gICAgICAgIG92ZXJmbG93LXk6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC44KTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZGRpbmcge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoI2ZmZiwgMC4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWFybi1icmFuZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjMpO1xuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgjZmZmLCAwLjEpO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgjMDAwLCAwLjMpO1xuXG4gICAgICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyLjVyZW0gMC41cmVtO1xuXG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHJnYmEoI2ZmZiwgMC44KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxlYXJuLW5hdiB7XG4gICAgICAgICAgICB0b3A6ICRzaWRlYmFyLWJyYW5kLWhlaWdodDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAkc2lkZWJhci13aWR0aDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgICAgICAgICAucmVhZC1pY29uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjYpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZpc2l0ZWQgPiBhID4gLnJlYWQtaWNvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAuMnJlbTtcblxuICAgICAgICAgICAgICAgICYudG9waWNzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4xcmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4xcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2VhcmNoZWQge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuc2VhcmNoLW1hdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuOCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuOSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi50b3BpY3Mge1xuXG4gICAgICAgICAgICAgICAgICAgICYuc2VhcmNoZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLjNyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLCAmLnBhcmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpLCBvbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNHJlbTtcblxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSA+IHNwYW4gPiBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjYpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSB1bCwgLnBhcmVudCB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hib3gge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmLCAwLjEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjEpO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC42KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgICAgICAgOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMjVweCA0cHggMzBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG5cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIC5hZHYtc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDg1JTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjZyZW07XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmVyc2lvbi1jaG9vc2VyIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoI2ZmZiwgMC4xKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuMSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlLXRvb2xzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIERlZmF1bHRzIChwdXJwbGUpICoqL1xuLm9mZi1jYW52YXMgLmxlYXJuLXNpZGViYXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAkd2lzdGVyaWEgMCwgJGRlZXAtd2VsbCAxMDAlKTtcbn1cblxuLyoqIFNlY29uZGFyeSAoZ3JlZW4pICoqL1xuYm9keS5zaWRlYmFyLWdyZWVuIHtcbiAgICAub2ZmLWNhbnZhcyAubGVhcm4tc2lkZWJhcjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAkZ3JlZW4tc2VhIDAsICRkZWVwLXdlbGwgMTAwJSk7XG4gICAgfVxufVxuXG4vKiogVGVydGlhcnkgKGJsdWUpKiovXG5ib2R5LnNpZGViYXItYmx1ZSB7XG4gICAgLm9mZi1jYW52YXMgLmxlYXJuLXNpZGViYXI6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgJHByaW1hcnktY29sb3IgMCwgJGRlZXAtd2VsbCAxMDAlKTtcbiAgICB9XG59XG5cbi8qKiBIaWdoIENvbnRyYXN0ICoqL1xuYm9keS5zaWRlYmFyLWNvbnRyYXN0IHtcblxuICAgIGEge1xuICAgICAgICAvL2NvbG9yOiBtaXgoIzAwMCwgJGxpbmstY29sb3IsIDIwJSk7XG4gICAgfVxuXG4gICAgLm9mZi1jYW52YXMgLmxlYXJuLXNpZGViYXIge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgIzNCNDM0OSAwLCAjMUUyMzI5IDEwMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGJveCB7XG4gICAgICAgICAgICA6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTWV0cm9wb2xpcyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL21ldHJvcG9saXMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9tZXRyb3BvbGlzLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1B1YmxpYyBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvUHVibGljU2Fucy1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvUHVibGljU2Fucy1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1B1YmxpYyBTYW5zJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvUHVibGljU2Fucy1TZW1pQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvUHVibGljU2Fucy1TZW1pQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0hhY2snO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9oYWNrLXJlZ3VsYXItc3Vic2V0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICAgdXJsKCcuLi9mb250cy9oYWNrLXJlZ3VsYXItc3Vic2V0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIjdG9wLWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogJGJnLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGJnLWNvbG9yLCA0JSk7XG4gICAgei1pbmRleDogMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6ICRzaWRlYmFyLXdpZHRoO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsZykge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICNicmVhZGNydW1icyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtKSB7XG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuLCA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgXG5cbiAgICB9XG5cbiAgICAjbmF2aWdhdGlvbiB7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICA+IGEsIHNwYW4ge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZGFya2VuKCRiZy1jb2xvciwgNCUpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDI3cHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZSwgY29sb3IgMC41cyBlYXNlO1xuXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYm9keS1mb250LWNvbG9yLCA1MCUpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRiZy1jb2xvciwgNCUpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1kYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyZXNzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHByaW1hcnktY29sb3IgdmFyKC0tc2Nyb2xsKSwgdHJhbnNwYXJlbnQgMCk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59IiwiLmNlbnRlci1jb250ZW50IHtcbiAgICAjc3RhcnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG4ubGVhcm4tY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICNzdGFydCB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gM3JlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNmb290ZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1jb2xvci1saWdodDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgfVxufVxuXG4ucGFnZS10b2Mge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRiZy1jb2xvciwgMiUpO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRvYy10b2dnbGUge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkYm9keS1mb250LWNvbG9yLCAyMCUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi50b2MtY2xvc2VkIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICAgLnRvYy10b2dnbGUgLmZhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJvZHktZm9udC1jb2xvciwgMzAlKTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBzcXVhcmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHVsID4gbGkuZmlyc3QubGFzdCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICAgIH1cblxuICAgIC8vIEZpeCBpc3N1ZSB3aXRoIG5vdGljZXMgZ29pbmcgdW5kZXIgVE9DXG4gICAgJiArICNib2R5LWlubmVyIHtcbiAgICAgICAgPiAubm90aWNlcywgPiAuY29kZS10b29sYmFyIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsImh0bWwge1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoJHNpemUteHMsICRzaXplLXhsLCAkbWluLXJlc3BvbnNpdmUtZm9udC1zaXplLCAkaHRtbC1mb250LXNpemUpO1xufVxuXG5ib2R5IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTVyZW07XG4gICAgOjpzZWxlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uLWNvbG9yO1xuICAgIH1cbn1cblxuZGl2IHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbnByZSB7XG4gICAgcGFkZGluZzogMWVtO1xufVxuXG5tYXJrIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vLyBIZWFkZXIgT3ZlcnJpZGVzXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGNvbG9yOiBkYXJrZW4oJGJvZHktZm9udC1jb2xvciwgMTAlKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc20pIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbn1cblxuYSB7XG4gICAgQGV4dGVuZCAuZGVmYXVsdC1hbmltYXRpb247XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3ItZGFyaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxufVxuXG4vLyBUYWJsZXNcbi50YWJsZS1rZXljb2wge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaWYgJHJ0bCA9PSB0cnVlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgICB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICB0ciB7XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJnLWNvbG9yLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogJHVuaXQtMyAkdW5pdC0yO1xuICAgIH1cbiAgICB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRib3JkZXItd2lkdGgtbGc7XG4gICAgfVxuXG4gICAgLnRhYmxlLWtleWNvbCAmIHtcbiAgICAgICAgdHIgPiB0ZDpmaXJzdC1jaGlsZCwgdHIgPiB0aDpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuaW1nLCAudmlkZW8tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG5cbiAgICAmLmJvcmRlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNlNmU2ZTYgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMnB4O1xuICAgIH1cblxuICAgICYuc2hhZG93IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIH1cblxufVxuXG5ociB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xufVxuXG51bCwgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuMnJlbSAwO1xuXG4gICAgdWwsIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4jY2hhcHRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBoMyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcblxuICAgICAgICAmICsgaDEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkZ3JheS1jb2xvci1saWdodDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jYm9keS1pbm5lciB7XG5cbiAgICA6dGFyZ2V0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgIH1cbn1cblxuLy8gRGVidWcgQ29kZSBCbG9ja3NcbnByZS54ZGVidWctdmFyLWR1bXAge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4jYm9keS1pbm5lciB7XG5cbiAgICBwcmUge1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwO1xuICAgICAgICA6OnNlbGVjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0aW9uLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLmNvZGUtdG9vbGJhciB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAgIHByZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0sIHByZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xuICAgICAgICBmb250LWZhbWlseTogJG1vbm8tZm9udC1mYW1pbHk7XG4gICAgfVxuXG4gICAgcHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgICAgIGNvZGUge1xuICAgICAgICAgICAgcGFkZGluZzogaW5pdGlhbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjdyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tbWFyZ2luLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgICAgIC5jb2RlLXRvb2xiYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgID4gcHJlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubm8tbWFyZ2luLWJvdHRvbSAuY29kZS10b29sYmFyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubGluZS1oaWdobGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGhpZ2hsaWdodC1jb2xvciwgMC4zKSA3MCUsIHJnYmEoJGhpZ2hsaWdodC1jb2xvciwgMCkpO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGhpZ2hsaWdodC1jb2xvciwgMzAlKTtcbiAgICAgICAgICAgIC8vY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgdG9wOiAwLjE1cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBJY29uIFR3ZWFrc1xuaS5mYSB7XG4gICAgJi5mYS1oZWFydCwgJi5mYS1oZWFydC1vIHtcbiAgICAgICAgJi5wdWxzZSB7XG4gICAgICAgICAgICBjb2xvcjogIzkyMFxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBGb250IFdlaWdodHNcbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5oZWF2eSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMjAwO1xufVxuXG4vLyBFcnJvciBjb25maWd1cmF0aW9uXG4jZXJyb3Ige1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgIH1cbn1cblxuLy8gTWVzc2FnZXNcbiNtZXNzYWdlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC5pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbn1cblxuLy8gTGlzdHNcbnVsLFxub2wge1xuICAgIG1hcmdpbi1sZWZ0OiAkdW5pdC04O1xuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHVuaXQtODtcbiAgICB9XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG59XG5cbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIG91dHNpZGU7XG59XG5cbiNuYXZpZ2F0aW9uIHtcbiAgICBhLmdpdGh1Yi1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFRhYnNcbiR0YWJzLWNvbG9yOiAjNzY3NjkzO1xuJHRhYnMtYmc6ICNGOEY5RkE7XG4udGFicy13cmFwcGVyIHtcblxuICAgICYudWktdGhlbWUtYmFkZ2VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYnMtYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkdGFicy1iZywgMiUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgIC50YWJzLW5hdiB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMjVyZW07XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHRhYnMtYmcsIDYlKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJHRhYnMtYmcsIDQwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOm5vdCguY3VycmVudCkge1xuICAgICAgICAgICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkdGFicy1iZywgOSUpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFicyB7XG4gICAgICAgICAgICAudGFiIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG5cbiAgICAgICAgICAgICAgICBwcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vIE5vdGljZXNcbi5ub3RpY2VzIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgIHBhZGRpbmc6IDAuNHJlbTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMC41cmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pbmZvIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZjBhZDRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmNmOGYyO1xuICAgICAgICBjb2xvcjogI2RmOGExMztcbiAgICB9XG5cbiAgICAmLndhcm5pbmcge1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNkOTUzNGY7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZGY3Zjc7XG4gICAgICAgIGNvbG9yOiAjYjUyYjI3O1xuICAgIH1cblxuICAgICYubm90ZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzViYzBkZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y0ZjhmYTtcbiAgICAgICAgY29sb3I6ICMyOGExYzU7XG4gICAgfVxuXG4gICAgJi50aXAge1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM1Y2I4NWM7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWY5ZjE7XG4gICAgICAgIGNvbG9yOiAjM2Q4YjNkO1xuICAgIH1cblxufVxuXG5cbi8vIFdyYXAgZml4ZXNcbmF1ZGlvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbnByZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5wcmVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdOm5vdCguY29tbWFuZC1saW5lKSB7XG5cbiAgICAmLCAmPmNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdIHtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIH1cbn1cblxuLnRudHNlYXJjaC1yZXN1bHRzIGVtIHtcbiAgICBAaW5jbHVkZSBsYWJlbC12YXJpYW50KCRib2R5LWZvbnQtY29sb3IsICRoaWdobGlnaHQtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b206ICR1bml0LW8gc29saWQgZGFya2VuKCRoaWdobGlnaHQtY29sb3IsIDE1JSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJHVuaXQtbyAkdW5pdC1oIDA7XG59XG5cbi8vcHJlLmNvbW1hbmQtbGluZSB7XG4vLyAgICAmLCAmID4gY29kZSB7XG4vLyAgICAgICAgd29yZC1icmVhazogaW5pdGlhbDtcbi8vICAgICAgICB3aGl0ZS1zcGFjZTogcHJlXG4vLyAgICB9XG4vL31cblxuIiwiLy9MaWZlY3ljbGVcbi5saWZlY3ljbGUge1xuXG4gICAgI2JvZHktaW5uZXIge1xuXG4gICAgICAgIC5sZXZlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMTBweCA0cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sZXZlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvbCBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgPiBvbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sZXZlbC0xIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCR0dXJxdW9pc2UsNTYlKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkdHVycXVvaXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdHVycXVvaXNlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0dXJxdW9pc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxldmVsLTIgICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZW1lcmFsZCw0OSUpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRlbWVyYWxkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZW1lcmFsZDtcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGVtZXJhbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxldmVsLTMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHBldGVyLXJpdmVyLDQ0JSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHBldGVyLXJpdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGV0ZXItcml2ZXI7XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwZXRlci1yaXZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubGV2ZWwtNCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkd2V0LWFzcGhhbHQsNjMlKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkd2V0LWFzcGhhbHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3ZXQtYXNwaGFsdDtcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdldC1hc3BoYWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJmb3JtIHtcbiAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBzcGFuLnJlcXVpcmVkIHtcbiAgICBjb2xvcjogJGVycm9yLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cblxuICAuZm9ybS1pbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgYXBwZWFyYW5jZTogc2xpZGVyLWhvcml6b250YWw7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXNldCBzb21lIGRlZmF1bHRzIGZvciBRdWFyayBUaGVtZSAqKi9cbiAgLmZvcm0tZ3JvdXA6bm90KC5mb3JtLWZpZWxkLXRvZ2dsZWFibGUpIHtcbiAgICAuY2hlY2tib3hlcyB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6ICgoJGNvbnRyb2wtc2l6ZS1zbSAtICRsaW5lLWhlaWdodCkgLyAyKSAkY29udHJvbC1wYWRkaW5nLXggKCgkY29udHJvbC1zaXplLXNtIC0gJGxpbmUtaGVpZ2h0KSAvIDIpICgkY29udHJvbC1pY29uLXNpemUgKyAkY29udHJvbC1wYWRkaW5nLXgpO1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4jZ3Jhdi1sb2dpbiB7XG5cbiAgPiBmb3JtIHtcbiAgICBtYXJnaW46IDJyZW0gYXV0byAwO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gIH1cbiAgLmZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmZvcm0tZGF0YSB7XG4gICAgbWFyZ2luOiAxcmVtIDA7XG4gIH1cbiAgLmZvcm0taW5wdXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYnV0dG9uLXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgLmZvcm0tZGF0YS5yZW1lbWJlcm1lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5sb2dpbi1mb3JtIHtcbiAgICBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAudHdvZmEtZm9ybSB7XG4gICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXByaW1hcnk7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmRlZmF1bHQtYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8gUHVsc2UgQW5pbWF0aW9uXG4ucHVsc2Uge1xuICBhbmltYXRpb24tbmFtZTogcHVsc2VfYW5pbWF0aW9uO1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgdHJhbnNmb3JtLW9yaWdpbjo3MCUgNzAlO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlX2FuaW1hdGlvbiB7XG4gIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA2MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDcwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgODAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuIiwiW2RhdGEtc2ltcGxlYmFyXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbn1cblxuLnNpbXBsZWJhci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgbWF4LWhlaWdodDogaW5oZXJpdDtcbn1cblxuLnNpbXBsZWJhci1tYXNrIHtcbiAgICBkaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogMDtcbn1cblxuLnNpbXBsZWJhci1vZmZzZXQge1xuICAgIGRpcmVjdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICByZXNpemU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnNpbXBsZWJhci1jb250ZW50LXdyYXBwZXIge1xuICAgIGRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTsgLyogUmVxdWlyZWQgZm9yIGhvcml6b250YWwgbmF0aXZlIHNjcm9sbGJhciB0byBub3QgYXBwZWFyIGlmIHBhcmVudCBpcyB0YWxsZXIgdGhhbiBuYXR1cmFsIGhlaWdodCAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIFNjcm9sbCBvbiB0aGlzIGVsZW1lbnQgb3RoZXJ3aXNlIGVsZW1lbnQgY2FuJ3QgaGF2ZSBhIHBhZGRpbmcgYXBwbGllZCBwcm9wZXJseSAqL1xuICAgIG1heC13aWR0aDogMTAwJTsgLyogTm90IHJlcXVpcmVkIGZvciBob3Jpem9udGFsIHNjcm9sbCB0byB0cmlnZ2VyICovXG4gICAgbWF4LWhlaWdodDogMTAwJTsgLyogTmVlZGVkIGZvciB2ZXJ0aWNhbCBzY3JvbGwgdG8gdHJpZ2dlciAqL1xufVxuXG4uc2ltcGxlYmFyLWNvbnRlbnQ6YmVmb3JlLFxuLnNpbXBsZWJhci1jb250ZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnNpbXBsZWJhci1wbGFjZWhvbGRlciB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zaW1wbGViYXItaGVpZ2h0LWF1dG8tb2JzZXJ2ZXItd3JhcHBlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBtYXgtd2lkdGg6IDFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LWhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogLTE7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZmxleC1ncm93OiBpbmhlcml0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IDA7XG59XG5cbi5zaW1wbGViYXItaGVpZ2h0LWF1dG8tb2JzZXJ2ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAwJTtcbiAgICB3aWR0aDogMTAwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5zaW1wbGViYXItdHJhY2sge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5bZGF0YS1zaW1wbGViYXJdLnNpbXBsZWJhci1kcmFnZ2luZyAuc2ltcGxlYmFyLXRyYWNrIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2ltcGxlYmFyLXNjcm9sbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDdweDtcbiAgICBtaW4taGVpZ2h0OiAxMHB4O1xufVxuXG4uc2ltcGxlYmFyLXNjcm9sbGJhcjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG59XG5cbi5zaW1wbGViYXItdHJhY2sgLnNpbXBsZWJhci1zY3JvbGxiYXIuc2ltcGxlYmFyLXZpc2libGU6YmVmb3JlIHtcbiAgICAvKiBXaGVuIGhvdmVyZWQsIHJlbW92ZSBhbGwgdHJhbnNpdGlvbnMgZnJvbSBkcmFnIGhhbmRsZSAqL1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDBzIGxpbmVhcjtcbn1cblxuLnNpbXBsZWJhci10cmFjay5zaW1wbGViYXItdmVydGljYWwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTFweDtcbn1cblxuLnNpbXBsZWJhci10cmFjay5zaW1wbGViYXItdmVydGljYWwgLnNpbXBsZWJhci1zY3JvbGxiYXI6YmVmb3JlIHtcbiAgICB0b3A6IDJweDtcbiAgICBib3R0b206IDJweDtcbn1cblxuLnNpbXBsZWJhci10cmFjay5zaW1wbGViYXItaG9yaXpvbnRhbCB7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDExcHg7XG59XG5cbi5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLWhvcml6b250YWwgLnNpbXBsZWJhci1zY3JvbGxiYXI6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG59XG5cbi5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLWhvcml6b250YWwgLnNpbXBsZWJhci1zY3JvbGxiYXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAycHg7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8qIFJ0bCBzdXBwb3J0ICovXG5bZGF0YS1zaW1wbGViYXItZGlyZWN0aW9uPVwicnRsXCJdIC5zaW1wbGViYXItdHJhY2suc2ltcGxlYmFyLXZlcnRpY2FsIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xufVxuXG4uaHMtZHVtbXktc2Nyb2xsYmFyLXNpemUge1xuICAgIGRpcmVjdGlvbjogcnRsO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHdpZHRoOiA1MDBweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBY0FBLEFBQUEsV0FBVyxDQUFDLEVBQ1IsVUFBVSxFQUFFLEtBQUssR0ErUHBCOztBQWhRRCxBQUdJLFdBSE8sQ0FHUCxrQkFBa0IsQ0FBQyxFQUNmLFFBQVEsRUFBRSxLQUFLLEVBQ2YsR0FBRyxFQUFFLE1BQU0sRUFDWCxJQUFJLEVBQUUsTUFBTSxFQUNaLEtBQUssRUFBRSxNQUFNLEVBQ2IsTUFBTSxFQUFFLE1BQU0sRUFDZCxXQUFXLEVBQUUsTUFBTSxFQUNuQixPQUFPLEVBQUUsQ0FBQyxFQUNWLFNBQVMsRUFBRSxlQUFlLEdBQzdCOztBQVpMLEFBY0ksV0FkTyxDQWNQLG1CQUFtQixDQUFDLEVBQ2hCLE9BQU8sRUFBRSxPQUFPLEdBQ25COztBQWhCTCxBQWtCSSxXQWxCTyxDQWtCUCxtQkFBbUIsQ0FBQyxFQUNoQixVQUFVLEViT0wscUJBQU8sR2FOZjs7QUFwQkwsQUFzQkksV0F0Qk8sQ0FzQlAsY0FBYyxDQUFDLEVBQ1gsS0FBSyxFYmNHLEtBQUssRWFiYixLQUFLLEVBQU8sd0JBQUksRUFDaEIsVUFBVSxFQUFFLE9BQU8sR0FzT3RCOztBQS9QTCxBQTJCUSxXQTNCRyxDQXNCUCxjQUFjLEFBS1QsT0FBTyxDQUFDLEVBQ0wsUUFBUSxFQUFFLEtBQUssRUFDZixPQUFPLEVBQUUsRUFBRSxFQUNYLE1BQU0sRUFBRSxLQUFLLEVBQ2IsS0FBSyxFYk1ELEtBQUssRWFMVCxH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 */ diff --git a/themes/learn4/css-compiled/theme.min.css b/themes/learn4/css-compiled/theme.min.css deleted file mode 100644 index 40e7af5b..00000000 --- a/themes/learn4/css-compiled/theme.min.css +++ /dev/null @@ -1 +0,0 @@ -.off-canvas{min-height:100vh}.off-canvas .off-canvas-toggle{font-size:16px!important;position:fixed;z-index:3;top:.3rem;left:.3rem;width:1.6rem;height:1.6rem;padding-top:.15rem}.off-canvas .off-canvas-content{padding:inherit}.off-canvas .off-canvas-overlay{background:rgba(69,77,93,.5)}.off-canvas .learn-sidebar{overflow-y:inherit;width:14rem;color:rgba(255,255,255,.6)}.off-canvas .learn-sidebar:before{position:fixed;top:0;left:0;width:14rem;height:100vh;content:''}.off-canvas .learn-sidebar a{color:rgba(255,255,255,.8)}.off-canvas .learn-sidebar a:hover{color:#fff}.off-canvas .learn-sidebar .padding{padding-left:1rem}.off-canvas .learn-sidebar hr{border:0;border-bottom:1px solid rgba(255,255,255,.1)}.off-canvas .learn-sidebar .learn-brand{position:fixed;top:0;width:14rem;height:7rem;padding:10px 20px;box-shadow:0 10px 10px -10px rgba(0,0,0,.3)}.off-canvas .learn-sidebar .learn-brand #logo{display:inline-block;margin:0 2.5rem .5rem}.off-canvas .learn-sidebar .learn-brand #logo path{fill:rgba(255,255,255,.8)!important}.off-canvas .learn-sidebar .learn-nav{position:fixed;top:7rem;bottom:0;width:14rem;padding-bottom:1rem}.off-canvas .learn-sidebar .learn-nav .read-icon{font-size:12px;display:none;float:right;margin-top:5px;margin-right:12px;opacity:.8;color:rgba(255,255,255,.6)}.off-canvas .learn-sidebar .learn-nav .visited>a>.read-icon{display:inline}.off-canvas .learn-sidebar .learn-nav ul{margin-top:.2rem;margin-left:1rem;list-style:none}.off-canvas .learn-sidebar .learn-nav ul.topics{margin-top:0}.off-canvas .learn-sidebar .learn-nav ul.topics>li:first-child{margin-top:0}.off-canvas .learn-sidebar .learn-nav ul a{display:block;padding-top:.1rem;padding-bottom:.1rem}.off-canvas .learn-sidebar .learn-nav ul.searched a{color:rgba(255,255,255,.5)}.off-canvas .learn-sidebar .learn-nav ul.searched .search-match a{color:rgba(255,255,255,.8)}.off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover{color:rgba(255,255,255,.9)}.off-canvas .learn-sidebar .learn-nav ul.topics.searched ul{display:block}.off-canvas .learn-sidebar .learn-nav ul.topics>li{margin-top:.3rem}.off-canvas .learn-sidebar .learn-nav ul.topics>li.active,.off-canvas .learn-sidebar .learn-nav ul.topics>li.parent{margin-left:-1rem;padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem;background-color:rgba(0,0,0,.2)}.off-canvas .learn-sidebar .learn-nav ul li,.off-canvas .learn-sidebar .learn-nav ul ol{margin-top:.1rem}.off-canvas .learn-sidebar .learn-nav ul ul{font-size:.75rem;display:none;margin-top:0;margin-bottom:0}.off-canvas .learn-sidebar .learn-nav ul li.active>a{margin-left:-.4rem;padding-left:.4rem;color:#fff;background-color:#1aa3ed}.off-canvas .learn-sidebar .learn-nav ul li a>span>b{font-weight:300;color:rgba(255,255,255,.6)}.off-canvas .learn-sidebar .learn-nav ul .active ul,.off-canvas .learn-sidebar .learn-nav ul .parent ul{display:block}.off-canvas .learn-sidebar .searchbox{position:relative;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.1);border-radius:2px;background:rgba(0,0,0,.1)}.off-canvas .learn-sidebar .searchbox :-ms-input-placeholder{color:rgba(255,255,255,.5)}.off-canvas .learn-sidebar .searchbox ::-ms-input-placeholder{color:rgba(255,255,255,.5)}.off-canvas .learn-sidebar .searchbox ::placeholder{color:rgba(255,255,255,.5)}.off-canvas .learn-sidebar .searchbox input{font-size:.7rem;font-weight:200;width:100%;padding:4px 25px 4px 30px;color:rgba(255,255,255,.8);border:0;background:0 0}.off-canvas .learn-sidebar .searchbox label{position:absolute;top:2px;left:8px}.off-canvas .learn-sidebar .searchbox span{position:absolute;top:2px;right:8px;cursor:pointer}.off-canvas .learn-sidebar .search-options{margin-top:10px}.off-canvas .learn-sidebar .search-options .adv-search{font-size:85%;display:-ms-flexbox;display:flex;padding-left:.6rem;-ms-flex-align:center;align-items:center}.off-canvas .learn-sidebar .search-options .adv-search i{margin-right:5px}.off-canvas .learn-sidebar .search-options .version-chooser select{font-size:.8rem;font-weight:700;display:inline-block;margin:0;letter-spacing:1px;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:2px;background:rgba(0,0,0,.1)}.off-canvas .learn-sidebar .side-tools{font-size:90%;color:rgba(255,255,255,.5)}.off-canvas .learn-sidebar:before{background:linear-gradient(150deg,#8e44ad 0,#283a63 100%)}body.sidebar-green .off-canvas .learn-sidebar:before{background:linear-gradient(150deg,#16a085 0,#283a63 100%)}body.sidebar-blue .off-canvas .learn-sidebar:before{background:linear-gradient(150deg,#1aa3ed 0,#283a63 100%)}body.sidebar-contrast .off-canvas .learn-sidebar a{color:#fff}body.sidebar-contrast .off-canvas .learn-sidebar:before{background:linear-gradient(150deg,#3b4349 0,#1e2329 100%)}body.sidebar-contrast .off-canvas .learn-sidebar .searchbox :-ms-input-placeholder{color:rgba(255,255,255,.7)}body.sidebar-contrast .off-canvas .learn-sidebar .searchbox ::-ms-input-placeholder{color:rgba(255,255,255,.7)}body.sidebar-contrast .off-canvas .learn-sidebar .searchbox ::placeholder{color:rgba(255,255,255,.7)}@font-face{font-family:Metropolis;font-weight:400;font-style:normal;src:url(../fonts/metropolis-bold-webfont.woff2) format('woff2'),url(../fonts/metropolis-bold-webfont.woff) format('woff')}@font-face{font-family:'Public Sans';font-weight:300;font-style:normal;src:url(../fonts/PublicSans-Light.woff2) format('woff2'),url(../fonts/PublicSans-Light.woff) format('woff')}@font-face{font-family:'Public Sans';font-weight:500;font-style:normal;src:url(../fonts/PublicSans-SemiBold.woff2) format('woff2'),url(../fonts/PublicSans-SemiBold.woff) format('woff')}@font-face{font-family:Hack;font-weight:400;font-style:normal;src:url(../fonts/hack-regular-subset.woff2) format('woff2'),url(../fonts/hack-regular-subset.woff) format('woff')}#top-bar{position:fixed;z-index:2;top:0;right:0;left:14rem;display:-ms-flexbox;display:flex;border-bottom:1px solid #edeef1;background:#f8f9fa;-ms-flex-align:center;align-items:center}@media (max-width:960px){#top-bar{left:0}}#top-bar #breadcrumbs{line-height:1;width:100%;height:auto;padding-left:.5rem}@media (max-width:600px){#top-bar #breadcrumbs *{display:none}}#top-bar #breadcrumbs>a,#top-bar #breadcrumbs>span{padding:0 .5rem!important}#top-bar #breadcrumbs>a span,#top-bar #breadcrumbs>span span{padding:0!important}@media (max-width:960px){#top-bar #breadcrumbs{padding-left:2rem}}#top-bar #navigation{display:-ms-flexbox;display:flex;width:400px}#top-bar #navigation span,#top-bar #navigation>a{font-size:27px;width:50%;transition:background-color .5s ease,color .5s ease;text-align:center;text-decoration:none;border-left:1px solid #edeef1}#top-bar #navigation span.disabled,#top-bar #navigation>a.disabled{color:#bbc1cd}#top-bar #navigation>a:hover{color:#0e75ad;background:#edeef1}#top-bar .progress{position:absolute;z-index:1;bottom:-1px;width:100%;height:1px;background:linear-gradient(to right,#1aa3ed var(--scroll),transparent 0);background-repeat:no-repeat}.center-content #start{display:-ms-flexbox;display:flex;flex-direction:column;-ms-flex:1;flex:1;-ms-flex-direction:column;-ms-flex-pack:center;justify-content:center}.learn-content{position:relative;display:-ms-flexbox;display:flex;flex-direction:column;min-height:100vh;-ms-flex-direction:column}.learn-content #start{padding:2rem 3rem}@media (max-width:1280px){.learn-content #start{padding:2rem 2rem}}@media (max-width:960px){.learn-content #start{padding:2rem 1rem}}#footer{margin-top:1rem;text-align:center;border-top:1px solid #e7e9ed}#footer p{margin:1rem 0}.page-toc{font-size:.7rem;float:right;overflow:hidden;width:250px;margin-top:10px;margin-right:0;margin-bottom:1rem;margin-left:1.5rem;padding:.5rem .75rem;background:#f3f4f6}@media (max-width:600px){.page-toc{float:none;width:100%;margin-top:.5rem;margin-bottom:0;margin-left:0}}.page-toc .toc-toggle{font-size:1.2rem;line-height:1;display:block;float:right;margin-top:-8px;margin-right:-10px;padding:5px 10px;cursor:pointer;color:#667189}.page-toc.toc-closed{height:40px;margin-bottom:.5rem}.page-toc.toc-closed .toc-toggle .fa:before{content:'\f107'}.page-toc h5{margin:0 0 1rem}.page-toc ul{margin-bottom:0;margin-left:1rem}.page-toc li{margin-top:0;list-style:decimal;color:#808ba1}.page-toc li li{list-style:decimal}.page-toc li li li{list-style:square}.page-toc ul>li.first.last{margin:0;margin-left:-1rem;list-style:none}.page-toc+#body-inner>.code-toolbar,.page-toc+#body-inner>.notices{overflow:hidden}html{font-size:18px}@media screen and (min-width:480px){html{font-size:calc(18px + 2 * ((100vw - 480px)/ 800))}}@media screen and (min-width:1280px){html{font-size:20px}}body{font-weight:300;letter-spacing:-.015rem}body ::-moz-selection{background:#ececfe}body ::selection{background:#ececfe}div{min-width:0}pre{padding:1em}mark{padding:0}h1,h2,h3,h4,h5,h6{font-family:Metropolis,'Helvetica Neue',sans-serif;font-weight:500;line-height:1;margin-top:2rem;letter-spacing:-.05rem;color:#242931}h1{font-size:2.5rem;font-weight:500}@media (max-width:600px){h1{font-size:2rem}}a.active,a:active,a:focus,a:hover{text-decoration:none;color:#0e75ad}a:focus{outline:0!important;box-shadow:none!important}a:visited{color:#1195dc}.table-keycol{overflow:hidden}.table{width:auto}table{overflow-x:auto;width:100%;margin-bottom:1.5rem;border-spacing:0;border-collapse:collapse;text-align:left}table tbody tr:nth-of-type(odd){background:#f8f9fa}table tbody tr.active{background:#f0f1f4}table td,table th{padding:.6rem .4rem;border-bottom:.05rem solid #e7e9ed}table th{border-bottom-width:.1rem}.table-keycol table tr>td:first-child,.table-keycol table tr>th:first-child{width:15%;white-space:nowrap}.video-container,img{display:block;max-width:100%;margin:3rem auto;text-align:center}.video-container.border,img.border{padding:2px;border:2px solid #e6e6e6!important}.video-container.shadow,img.shadow{box-shadow:0 10px 30px rgba(0,0,0,.1)}hr{border:0;border-top:1px solid #e7e9ed}ol,ul{margin:0 0 1.2rem 0}ol ol,ol ul,ul ol,ul ul{margin:0}ol ol,ul ol{list-style-type:decimal}ol li,ul li{padding-top:0}#chapter{max-width:600px;margin:0 auto;text-align:center}#chapter h3{opacity:.7}#chapter h3+h1{display:inline-block;margin:1rem auto 2rem;border-bottom:3px solid #e7e9ed}@media (max-width:600px){#chapter h3+h1{font-size:2.5rem}}#body-inner :target:before{display:block;width:1px;height:60px;margin-top:-60px;content:''}pre.xdebug-var-dump{line-height:1.5;display:block;overflow-x:auto;padding:1rem;color:inherit;border-radius:2px;background:#fafafa}#body-inner pre{margin:.5rem 0}#body-inner pre ::-moz-selection{background:#ececfe}#body-inner pre ::selection{background:#ececfe}#body-inner code{word-break:break-word}#body-inner .code-toolbar{margin:.5rem 0}#body-inner .code-toolbar pre[class*=language-]{margin:0}#body-inner code[class*=language-],#body-inner pre[class*=language-]{font-family:Hack,monospace}#body-inner pre[class*=language-]{font-size:.7rem}#body-inner pre[class*=language-] code{font-size:.7rem;padding:initial}#body-inner .no-margin-top{margin-top:-1em}#body-inner .no-margin-top .code-toolbar{margin-top:0}#body-inner .no-margin-top .code-toolbar>pre{padding-top:3px}#body-inner .no-margin-bottom .code-toolbar{margin-bottom:0}#body-inner .line-highlight{background:linear-gradient(to right,rgba(255,233,179,.3) 70%,rgba(255,233,179,0))}#body-inner .line-highlight:before{top:.15rem;background-color:#ffbd1a;box-shadow:none}i.fa.fa-heart-o.pulse,i.fa.fa-heart.pulse{color:#920}b,strong{font-weight:500}.heavy{font-weight:700}.light{font-weight:200}#error{position:relative;margin-top:5rem;text-align:center}#error .icon{font-size:50px}#messages{margin-bottom:1rem}#messages .icon{font-size:1rem}ol,ul{margin-left:1.6rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.6rem}ul{list-style:disc outside}ol{list-style:decimal outside}#navigation a.github-link{font-size:inherit!important;display:-ms-flexbox;display:flex;padding:0 1rem;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}#navigation a.github-link i{padding-right:5px}.tabs-wrapper.ui-theme-badges{border:1px solid #f2f4f6;border-radius:0;background:#f8f9fa}.tabs-wrapper.ui-theme-badges .tabs-nav{margin:.25rem}.tabs-wrapper.ui-theme-badges .tabs-nav>li{margin-top:0}.tabs-wrapper.ui-theme-badges .tabs-nav li a{color:#767693;border-radius:0;background:#e6eaed}.tabs-wrapper.ui-theme-badges .tabs-nav li.current a{color:#fff;background:#8193a5}.tabs-wrapper.ui-theme-badges .tabs-nav li:not(.current) a:hover{background:#dde2e7}.tabs-wrapper.ui-theme-badges .tabs .tab{padding:.25rem 0}.tabs-wrapper.ui-theme-badges .tabs .tab pre{margin-top:.5rem!important;margin-bottom:.5rem!important}.notices{margin:1.5rem 0;padding:.4rem}.notices p{margin:0 0 1.5rem .5rem}.notices p:last-child{margin-bottom:0}.notices.info{color:#df8a13;border-left:5px solid #f0ad4e;background:#fcf8f2}.notices.warning{color:#b52b27;border-left:5px solid #d9534f;background:#fdf7f7}.notices.note{color:#28a1c5;border-left:5px solid #5bc0de;background:#f4f8fa}.notices.tip{color:#3d8b3d;border-left:5px solid #5cb85c;background:#f1f9f1}audio{max-width:100%}pre{max-width:100%}pre[class*=language-]:not(.command-line),pre[class*=language-]:not(.command-line)>code[class*=language-]{white-space:pre-wrap;word-break:break-word}.tntsearch-results em{padding:.05rem .1rem 0;color:#3a414e;border-bottom:.05rem solid #ffd367;border-radius:.1rem;background:#ffe9b3}.lifecycle #body-inner .level{position:relative}.lifecycle #body-inner .level h3{font-size:18px;position:absolute;z-index:1000;left:0;margin:0;padding:2px 10px 4px;color:#fff}.lifecycle #body-inner .level .level{margin-top:.5rem;margin-right:1rem;margin-bottom:.5rem;margin-left:-1rem;padding-bottom:1rem}.lifecycle #body-inner .level ol li{margin-top:.2rem;padding-top:.1rem}.lifecycle #body-inner .level>ol{margin-top:2rem}.lifecycle #body-inner .level.level-1{margin-bottom:1rem;color:#1abc9c;border:4px solid #1abc9c;background:#f6fefc}.lifecycle #body-inner .level.level-1 h3{background:#1abc9c}.lifecycle #body-inner .level.level-2{color:#2ecc71;border:4px solid #2ecc71;background:#f7fdf9}.lifecycle #body-inner .level.level-2 h3{background:#2ecc71}.lifecycle #body-inner .level.level-3{color:#3498db;border:4px solid #3498db;background:#f3f9fd}.lifecycle #body-inner .level.level-3 h3{background:#3498db}.lifecycle #body-inner .level.level-4{color:#34495e;border:4px solid #34495e;background:#e4eaf0}.lifecycle #body-inner .level.level-4 h3{background:#34495e}form .button-wrapper{margin-top:.75rem;margin-bottom:1rem}form span.required{font-size:1.2rem;font-weight:700;color:#e85600}form .form-input[type=range]{-webkit-appearance:slider-horizontal;-moz-appearance:slider-horizontal;appearance:slider-horizontal}form .form-input[type=range]:focus{border:none;box-shadow:none}form .form-group:not(.form-field-toggleable) .checkboxes{display:inherit}form .form-group:not(.form-field-toggleable) .checkboxes label{display:inherit;margin:inherit;padding:.1rem .4rem .1rem 1.2rem}form .form-group:not(.form-field-toggleable) .checkboxes label:before{display:none}#grav-login>form{max-width:350px;margin:2rem auto 0}#grav-login .form-label{display:none}#grav-login .form-data{margin:1rem 0}#grav-login .form-input{text-align:center}#grav-login .button-wrapper{text-align:right}#grav-login .button-wrapper .form-data.rememberme{float:left;margin:0}#grav-login .login-form button[type=submit]{color:#fff;border-color:#129be6;background:#1aa3ed}#grav-login .login-form button[type=submit]:focus,#grav-login .login-form button[type=submit]:hover{color:#fff;border-color:#108bce;background:#1195dc}#grav-login .login-form button[type=submit].active,#grav-login .login-form button[type=submit]:active{color:#fff;border-color:#0f85c5;background:#118fd3}#grav-login .twofa-form button[type=submit]:first-child{float:right;margin-left:4px;color:#fff;border-color:#129be6;background:#1aa3ed}#grav-login .twofa-form button[type=submit]:first-child:focus,#grav-login .twofa-form button[type=submit]:first-child:hover{color:#fff;border-color:#108bce;background:#1195dc}#grav-login .twofa-form button[type=submit]:first-child.active,#grav-login .twofa-form button[type=submit]:first-child:active{color:#fff;border-color:#0f85c5;background:#118fd3}.default-animation,a{transition:all .5s ease}.pulse{transform-origin:70% 70%;animation-name:pulse_animation;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pulse_animation{0%{transform:scale(1)}30%{transform:scale(1)}40%{transform:scale(1.08)}50%{transform:scale(1)}60%{transform:scale(1)}70%{transform:scale(1.05)}80%{transform:scale(1)}100%{transform:scale(1)}}[data-simplebar]{position:relative;flex-direction:column;width:inherit;max-width:inherit;height:inherit;max-height:inherit;-ms-flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start;-ms-flex-align:start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;max-width:inherit;height:inherit;max-height:inherit}.simplebar-mask{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;width:auto!important;height:auto!important;margin:0;padding:0;direction:inherit}.simplebar-offset{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:inherit!important;margin:0;padding:0;resize:none!important;direction:inherit!important;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{position:relative;display:block;visibility:visible;overflow:auto;box-sizing:border-box!important;width:auto;max-width:100%;height:100%;max-height:100%;direction:inherit}.simplebar-content:after,.simplebar-content:before{display:table;content:' '}.simplebar-placeholder{width:100%;max-width:100%;max-height:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{position:relative;z-index:-1;float:left;overflow:hidden;box-sizing:inherit!important;width:inherit;max-width:1px;height:100%;max-height:1px;margin:0;padding:0;pointer-events:none;-ms-flex-positive:inherit;flex-grow:inherit;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:0;flex-basis:0}.simplebar-height-auto-observer{position:absolute;z-index:-1;top:0;left:0;display:block;overflow:hidden;box-sizing:inherit;width:1000%;min-width:1px;height:1000%;min-height:1px;pointer-events:none;opacity:0}.simplebar-track{position:absolute;z-index:1;right:0;bottom:0;overflow:hidden;pointer-events:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;right:2px;width:7px;min-height:10px}.simplebar-scrollbar:before{position:absolute;right:0;left:0;content:'';transition:opacity .2s linear;opacity:0;border-radius:7px;background:rgba(255,255,255,.5)}.simplebar-track .simplebar-scrollbar.simplebar-visible:before{transition:opacity 0s linear;opacity:.5}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{right:2px;left:2px;height:100%}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{top:2px;right:auto;left:0;width:auto;min-width:10px;height:7px;min-height:0}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.hs-dummy-scrollbar-size{position:fixed;visibility:hidden;overflow-x:scroll;overflow-y:hidden;width:500px;height:500px;opacity:0;direction:rtl} \ No newline at end of file diff --git a/themes/learn4/css/bricklayer.css b/themes/learn4/css/bricklayer.css deleted file mode 100644 index 45054803..00000000 --- a/themes/learn4/css/bricklayer.css +++ /dev/null @@ -1,49 +0,0 @@ -.bricklayer { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-box-align: start; - -webkit-align-items: flex-start; - -ms-flex-align: start; - align-items: flex-start; - -webkit-box-pack: center; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.bricklayer-column-sizer { - width: 100%; - display: none; -} - -@media screen and (min-width: 640px) { - .bricklayer-column-sizer { - width: 100%; - } -} - -@media screen and (min-width: 980px) { - .bricklayer-column-sizer { - width: 50%; - } -} - -/*@media screen and (min-width: 1200px) {*/ - /*.bricklayer-column-sizer {*/ - /*width: 33.33333%;*/ - /*}*/ -/*}*/ - -.bricklayer-column { - -webkit-box-flex: 1; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - padding-left: 5px; - padding-right: 5px; -} \ No newline at end of file diff --git a/themes/learn4/css/custom.css b/themes/learn4/css/custom.css deleted file mode 100644 index e69de29b..00000000 diff --git a/themes/learn4/css/fork-awesome.min.css b/themes/learn4/css/fork-awesome.min.css deleted file mode 100644 index 6c4010ca..00000000 --- a/themes/learn4/css/fork-awesome.min.css +++ /dev/null @@ -1,12 +0,0 @@ -/*! -Fork Awesome 1.1.7 -License - https://forkaweso.me/Fork-Awesome/license - -Copyright 2018 Dave Gandy & Fork Awesome - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */@font-face{font-family:ForkAwesome;src:url(../fonts/forkawesome-webfont.eot?v=1.1.7);src:url(../fonts/forkawesome-webfont.eot?#iefix&v=1.1.7) format('embedded-opentype'),url(../fonts/forkawesome-webfont.woff2?v=1.1.7) format('woff2'),url(../fonts/forkawesome-webfont.woff?v=1.1.7) format('woff'),url(../fonts/forkawesome-webfont.ttf?v=1.1.7) format('truetype'),url(../fonts/forkawesome-webfont.svg?v=1.1.7#forkawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 ForkAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell-o:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-globe-e:before{content:"\f304"}.fa-globe-w:before{content:"\f305"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-community:before,.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus-g:before,.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before,.fa-utensils:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before,.fa-pound:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-desc:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-desc:before,.fa-sort-amount-up:before{content:"\f161"}.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-desc:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before,.fa-closed-captioning:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before,.fa-gem:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-medium-square:before{content:"\f2f8"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo-v:before,.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.fa-mastodon:before{content:"\f2e1"}.fa-mastodon-alt:before{content:"\f2e2"}.fa-fork-awesome:before,.fa-fork-circle:before{content:"\f2e3"}.fa-peertube:before{content:"\f2e4"}.fa-diaspora:before{content:"\f2e5"}.fa-friendica:before{content:"\f2e6"}.fa-gnu-social:before{content:"\f2e7"}.fa-liberapay-square:before{content:"\f2e8"}.fa-liberapay:before{content:"\f2e9"}.fa-scuttlebutt:before,.fa-ssb:before{content:"\f2ea"}.fa-hubzilla:before{content:"\f2eb"}.fa-social-home:before{content:"\f2ec"}.fa-artstation:before{content:"\f2ed"}.fa-discord:before{content:"\f2ee"}.fa-discord-alt:before{content:"\f2ef"}.fa-patreon:before{content:"\f2f0"}.fa-snowdrift:before{content:"\f2f1"}.fa-activitypub:before{content:"\f2f2"}.fa-ethereum:before{content:"\f2f3"}.fa-keybase:before{content:"\f2f4"}.fa-shaarli:before{content:"\f2f5"}.fa-shaarli-o:before{content:"\f2f6"}.fa-cut-key:before,.fa-key-modern:before{content:"\f2f7"}.fa-xmpp:before{content:"\f2f9"}.fa-archive-org:before{content:"\f2fc"}.fa-freedombox:before{content:"\f2fd"}.fa-facebook-messenger:before{content:"\f2fe"}.fa-debian:before{content:"\f2ff"}.fa-mastodon-square:before{content:"\f300"}.fa-tipeee:before{content:"\f301"}.fa-react:before{content:"\f302"}.fa-dogmazic:before{content:"\f303"}.fa-zotero:before{content:"\f309"}.fa-nodejs:before{content:"\f308"}.fa-nextcloud:before{content:"\f306"}.fa-nextcloud-square:before{content:"\f307"}.fa-hackaday:before{content:"\f30a"}.fa-laravel:before{content:"\f30b"}.fa-signalapp:before{content:"\f30c"}.fa-gnupg:before{content:"\f30d"}.fa-php:before{content:"\f30e"}.fa-ffmpeg:before{content:"\f30f"}.fa-joplin:before{content:"\f310"}.fa-syncthing:before{content:"\f311"}.fa-inkscape:before{content:"\f312"}.fa-matrix-org:before{content:"\f313"}.fa-pixelfed:before{content:"\f314"}.fa-bootstrap:before{content:"\f315"}.fa-dev-to:before{content:"\f316"}.fa-hashnode:before{content:"\f317"}.fa-jirafeau:before{content:"\f318"}.fa-emby:before{content:"\f319"}.fa-wikidata:before{content:"\f31a"}.fa-gimp:before{content:"\f31b"}.fa-c:before{content:"\f31c"}.fa-digitalocean:before{content:"\f31d"}.fa-att:before{content:"\f31e"}.fa-gitea:before{content:"\f31f"}.fa-file-epub:before{content:"\f321"}.fa-python:before{content:"\f322"}.fa-archlinux:before{content:"\f323"}.fa-pleroma:before{content:"\f324"}.fa-unsplash:before{content:"\f325"}.fa-hackster:before{content:"\f326"}.fa-spell-check:before{content:"\f327"}.fa-moon:before{content:"\f328"}.fa-sun:before{content:"\f329"}.fa-f-droid:before{content:"\f32a"}.fa-biometric:before{content:"\f32b"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*# sourceMappingURL=fork-awesome.min.css.map */ \ No newline at end of file diff --git a/themes/learn4/fonts/PublicSans-Light.woff b/themes/learn4/fonts/PublicSans-Light.woff deleted file mode 100644 index 29f8ea44..00000000 Binary files a/themes/learn4/fonts/PublicSans-Light.woff and /dev/null differ diff --git a/themes/learn4/fonts/PublicSans-Light.woff2 b/themes/learn4/fonts/PublicSans-Light.woff2 deleted file mode 100644 index be3d146b..00000000 Binary files a/themes/learn4/fonts/PublicSans-Light.woff2 and /dev/null differ diff --git a/themes/learn4/fonts/PublicSans-SemiBold.woff b/themes/learn4/fonts/PublicSans-SemiBold.woff deleted file mode 100644 index bbefee0f..00000000 Binary files a/themes/learn4/fonts/PublicSans-SemiBold.woff and /dev/null differ diff --git a/themes/learn4/fonts/PublicSans-SemiBold.woff2 b/themes/learn4/fonts/PublicSans-SemiBold.woff2 deleted file mode 100644 index a3caec32..00000000 Binary files a/themes/learn4/fonts/PublicSans-SemiBold.woff2 and /dev/null differ diff --git a/themes/learn4/fonts/forkawesome-webfont.eot b/themes/learn4/fonts/forkawesome-webfont.eot deleted file mode 100644 index b96d208f..00000000 Binary files a/themes/learn4/fonts/forkawesome-webfont.eot and /dev/null differ diff --git a/themes/learn4/fonts/forkawesome-webfont.svg b/themes/learn4/fonts/forkawesome-webfont.svg deleted file mode 100644 index e9972045..00000000 --- a/themes/learn4/fonts/forkawesome-webfont.svg +++ /dev/null @@ -1,2849 +0,0 @@ - - - - - -Created by FontForge 20180321 at Mon Feb 18 18:29:30 2019 - By Julien Deswaef -The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/OFL). Fork Awesome is a fork based of off Font Awesome 4.7.0 by Dave Gandy. More info on licenses at https://forkawesome.github.io - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/themes/learn4/fonts/forkawesome-webfont.ttf b/themes/learn4/fonts/forkawesome-webfont.ttf deleted file mode 100644 index 6cf62efb..00000000 Binary files a/themes/learn4/fonts/forkawesome-webfont.ttf and /dev/null differ diff --git a/themes/learn4/fonts/forkawesome-webfont.woff b/themes/learn4/fonts/forkawesome-webfont.woff deleted file mode 100644 index 477da445..00000000 Binary files a/themes/learn4/fonts/forkawesome-webfont.woff and /dev/null differ diff --git a/themes/learn4/fonts/forkawesome-webfont.woff2 b/themes/learn4/fonts/forkawesome-webfont.woff2 deleted file mode 100644 index f3520b53..00000000 Binary files a/themes/learn4/fonts/forkawesome-webfont.woff2 and /dev/null differ diff --git a/themes/learn4/fonts/hack-regular-subset.woff b/themes/learn4/fonts/hack-regular-subset.woff deleted file mode 100644 index 85583a52..00000000 Binary files a/themes/learn4/fonts/hack-regular-subset.woff and /dev/null differ diff --git a/themes/learn4/fonts/hack-regular-subset.woff2 b/themes/learn4/fonts/hack-regular-subset.woff2 deleted file mode 100644 index 1e3abb96..00000000 Binary files a/themes/learn4/fonts/hack-regular-subset.woff2 and /dev/null differ diff --git a/themes/learn4/fonts/metropolis-bold-webfont.woff b/themes/learn4/fonts/metropolis-bold-webfont.woff deleted file mode 100644 index c566402d..00000000 Binary files a/themes/learn4/fonts/metropolis-bold-webfont.woff and /dev/null differ diff --git a/themes/learn4/fonts/metropolis-bold-webfont.woff2 b/themes/learn4/fonts/metropolis-bold-webfont.woff2 deleted file mode 100644 index fccea4d2..00000000 Binary files a/themes/learn4/fonts/metropolis-bold-webfont.woff2 and /dev/null differ diff --git a/themes/learn4/gulpfile.js b/themes/learn4/gulpfile.js deleted file mode 100644 index 74e7bed2..00000000 --- a/themes/learn4/gulpfile.js +++ /dev/null @@ -1,43 +0,0 @@ -var gulp = require('gulp'); -var sass = require('gulp-sass'); -var cleancss = require('gulp-clean-css'); -var csscomb = require('gulp-csscomb'); -var rename = require('gulp-rename'); -var autoprefixer = require('gulp-autoprefixer'); -var sourcemaps = require('gulp-sourcemaps'); - -// configure the paths -var watch_dir = './scss/**/*.scss'; -var src_dir = './scss/*.scss'; -var dest_dir = './css-compiled'; - -var paths = { - source: src_dir -}; - -function watch() { - return gulp.watch(watch_dir, build); -} - -function build() { - return gulp.src(paths.source) - .pipe(sourcemaps.init()) - .pipe(sass({ - outputStyle: 'compact', - precision: 10 - }).on('error', sass.logError) - ) - .pipe(sourcemaps.write()) - .pipe(autoprefixer()) - .pipe(gulp.dest(dest_dir)) - .pipe(csscomb()) - .pipe(cleancss()) - .pipe(rename({ - suffix: '.min' - })) - .pipe(gulp.dest(dest_dir)); -} - -exports.watch = watch; -exports.build = build; -exports.default = build; diff --git a/themes/learn4/images/favicon.png b/themes/learn4/images/favicon.png deleted file mode 100644 index 85526cf4..00000000 Binary files a/themes/learn4/images/favicon.png and /dev/null differ diff --git a/themes/learn4/images/grav-logo.svg b/themes/learn4/images/grav-logo.svg deleted file mode 100644 index 845a9944..00000000 --- a/themes/learn4/images/grav-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/learn4/images/logo/0.png b/themes/learn4/images/logo/0.png deleted file mode 100644 index 582a1e15..00000000 Binary files a/themes/learn4/images/logo/0.png and /dev/null differ diff --git a/themes/learn4/images/logo/airtable.svg b/themes/learn4/images/logo/airtable.svg deleted file mode 100644 index 867c3b5a..00000000 --- a/themes/learn4/images/logo/airtable.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/themes/learn4/images/logo/logo.svg b/themes/learn4/images/logo/logo.svg deleted file mode 100644 index d63e31f1..00000000 --- a/themes/learn4/images/logo/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/themes/learn4/images/logo/screenshot.jpg b/themes/learn4/images/logo/screenshot.jpg deleted file mode 100644 index 6698e272..00000000 Binary files a/themes/learn4/images/logo/screenshot.jpg and /dev/null differ diff --git a/themes/learn4/js/learn4.js b/themes/learn4/js/learn4.js deleted file mode 100644 index 073d7f76..00000000 --- a/themes/learn4/js/learn4.js +++ /dev/null @@ -1,37 +0,0 @@ -!function(a){var n={};function r(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,r),t.l=!0,t.exports}r.m=a,r.c=n,r.d=function(e,t,a){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="./app/main.js")}({"./app/history.js": -/*!************************!*\ - !*** ./app/history.js ***! - \************************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery");(0,((n=r)&&n.__esModule?n:{default:n}).default)(document).on("click","[data-clear-history-toggle]",function(e){e.preventDefault(),window.sessionStorage.clear(),window.location.reload()})},"./app/main.js": -/*!*********************!*\ - !*** ./app/main.js ***! - \*********************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery"),i=(n=r)&&n.__esModule?n:{default:n};a(/*! ./utils */"./app/utils/index.js"),a(/*! ./toc */"./app/toc.js"),a(/*! ./history */"./app/history.js"),a(/*! ./search */"./app/search.js"),a(/*! ./nav */"./app/nav.js"),(0,i.default)(window).on("load",function(){for(var e in window.sessionStorage.setItem((0,i.default)("body").data("url"),"1"),window.sessionStorage)"1"===window.sessionStorage.getItem(e)&&(0,i.default)('[data-nav-id="'+e+'"]').addClass("visited");(0,i.default)(".highlightable").highlight(window.sessionStorage.getItem("search-value"),{element:"mark"})})},"./app/nav.js": -/*!********************!*\ - !*** ./app/nav.js ***! - \********************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery"),i=(n=r)&&n.__esModule?n:{default:n};window.sessionStorage.getItem("search-value")&&((0,i.default)(document.body).removeClass("searchbox-hidden"),(0,i.default)("[data-search-input]").val(sessionStorage.getItem("search-value")).trigger("input")),(0,i.default)(document).on("click",".nav-prev, .nav-next",function(e){var t=(0,i.default)(e.currentTarget);window.location.href=t.attr("href")}),(0,i.default)(document).on("keydown",function(e){var t=37===e.which?(0,i.default)("a.nav-prev"):39===e.which?(0,i.default)("a.nav-next"):null;t&&t.click()})},"./app/search.js": -/*!***********************!*\ - !*** ./app/search.js ***! - \***********************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery"),s=(n=r)&&n.__esModule?n:{default:n};var l=void 0;(0,s.default)(document).on("input","[data-search-input]",function(e){var t=(0,s.default)(e.currentTarget),a=t.val(),n=(0,s.default)("[data-nav-id]");n.removeClass("search-match");var r=(0,s.default)("ul.topics"),i=(0,s.default)(".highlightable");if(!a.length)return r.removeClass("searched"),n.css("display","block"),window.sessionStorage.removeItem("search-value"),void i.unhighlight({element:"mark"});window.sessionStorage.setItem("search-value",a),i.unhighlight({element:"mark"}).highlight(a,{element:"mark"}),l&&l.abort&&l.abort(),l=s.default.ajax({url:t.data("search-input")+":"+a}).done(function(e){e&&e.results&&e.results.length&&(n.css("display","none"),r.addClass("searched"),e.results.forEach(function(e){var t=(0,s.default)('[data-nav-id="'+e+'"]');t.css("display","block").addClass("search-match"),t.parents("li").css("display","block")}))})}),(0,s.default)(document).on("click","[data-search-clear]",function(){(0,s.default)("[data-search-input]").val("").trigger("input"),window.sessionStorage.removeItem("search-input"),(0,s.default)(".highlightable").unhighlight({element:"mark"})})},"./app/toc.js": -/*!********************!*\ - !*** ./app/toc.js ***! - \********************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery"),i=(n=r)&&n.__esModule?n:{default:n};(0,i.default)(document).on("click",".toc-toggle",function(){(0,i.default)(".page-toc").toggleClass("toc-closed")})},"./app/utils/highlight.js": -/*!********************************!*\ - !*** ./app/utils/highlight.js ***! - \********************************/ -/*! no static exports found */function(e,t,a){"use strict";var n,r=a(/*! jquery */"jquery"),u=(n=r)&&n.__esModule?n:{default:n};u.default.extend({highlight:function(e,t,a,n){if(3===e.nodeType){var r=e.data.match(t);if(r){var i=document.createElement(a||"span");i.className=n||"highlight";var s=e.splitText(r.index);s.splitText(r[0].length);var l=s.cloneNode(!0);return i.appendChild(l),s.parentNode.replaceChild(i,s),1}}else if(1===e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName)&&(e.tagName!==a.toUpperCase()||e.className!==n))for(var o=0;o Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ./_to-absolute-index */ \"./node_modules/core-js/modules/_to-absolute-index.js\");\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19hcnJheS1pbmNsdWRlcy5qcz9jMzY2Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QyxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMsc0JBQXNCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxZQUFZLGVBQWU7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2FycmF5LWluY2x1ZGVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFsc2UgLT4gQXJyYXkjaW5kZXhPZlxuLy8gdHJ1ZSAgLT4gQXJyYXkjaW5jbHVkZXNcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciB0b0Fic29sdXRlSW5kZXggPSByZXF1aXJlKCcuL190by1hYnNvbHV0ZS1pbmRleCcpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoSVNfSU5DTFVERVMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICgkdGhpcywgZWwsIGZyb21JbmRleCkge1xuICAgIHZhciBPID0gdG9JT2JqZWN0KCR0aGlzKTtcbiAgICB2YXIgbGVuZ3RoID0gdG9MZW5ndGgoTy5sZW5ndGgpO1xuICAgIHZhciBpbmRleCA9IHRvQWJzb2x1dGVJbmRleChmcm9tSW5kZXgsIGxlbmd0aCk7XG4gICAgdmFyIHZhbHVlO1xuICAgIC8vIEFycmF5I2luY2x1ZGVzIHVzZXMgU2FtZVZhbHVlWmVybyBlcXVhbGl0eSBhbGdvcml0aG1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gICAgaWYgKElTX0lOQ0xVREVTICYmIGVsICE9IGVsKSB3aGlsZSAobGVuZ3RoID4gaW5kZXgpIHtcbiAgICAgIHZhbHVlID0gT1tpbmRleCsrXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICAgIGlmICh2YWx1ZSAhPSB2YWx1ZSkgcmV0dXJuIHRydWU7XG4gICAgLy8gQXJyYXkjaW5kZXhPZiBpZ25vcmVzIGhvbGVzLCBBcnJheSNpbmNsdWRlcyAtIG5vdFxuICAgIH0gZWxzZSBmb3IgKDtsZW5ndGggPiBpbmRleDsgaW5kZXgrKykgaWYgKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pIHtcbiAgICAgIGlmIChPW2luZGV4XSA9PT0gZWwpIHJldHVybiBJU19JTkNMVURFUyB8fCBpbmRleCB8fCAwO1xuICAgIH0gcmV0dXJuICFJU19JTkNMVURFUyAmJiAtMTtcbiAgfTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_array-includes.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_classof.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_classof.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jbGFzc29mLmpzPzIzYzYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUIsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCO0FBQ0EsMkJBQTJCLGtCQUFrQixFQUFFOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsWUFBWTtBQUNmOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fY2xhc3NvZi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGdldHRpbmcgdGFnIGZyb20gMTkuMS4zLjYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpXG52YXIgY29mID0gcmVxdWlyZSgnLi9fY29mJyk7XG52YXIgVEFHID0gcmVxdWlyZSgnLi9fd2tzJykoJ3RvU3RyaW5nVGFnJyk7XG4vLyBFUzMgd3JvbmcgaGVyZVxudmFyIEFSRyA9IGNvZihmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSkgPT0gJ0FyZ3VtZW50cyc7XG5cbi8vIGZhbGxiYWNrIGZvciBJRTExIFNjcmlwdCBBY2Nlc3MgRGVuaWVkIGVycm9yXG52YXIgdHJ5R2V0ID0gZnVuY3Rpb24gKGl0LCBrZXkpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gaXRba2V5XTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgTywgVCwgQjtcbiAgcmV0dXJuIGl0ID09PSB1bmRlZmluZWQgPyAnVW5kZWZpbmVkJyA6IGl0ID09PSBudWxsID8gJ051bGwnXG4gICAgLy8gQEB0b1N0cmluZ1RhZyBjYXNlXG4gICAgOiB0eXBlb2YgKFQgPSB0cnlHZXQoTyA9IE9iamVjdChpdCksIFRBRykpID09ICdzdHJpbmcnID8gVFxuICAgIC8vIGJ1aWx0aW5UYWcgY2FzZVxuICAgIDogQVJHID8gY29mKE8pXG4gICAgLy8gRVMzIGFyZ3VtZW50cyBmYWxsYmFja1xuICAgIDogKEIgPSBjb2YoTykpID09ICdPYmplY3QnICYmIHR5cGVvZiBPLmNhbGxlZSA9PSAnZnVuY3Rpb24nID8gJ0FyZ3VtZW50cycgOiBCO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_classof.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_cof.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_cof.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb2YuanM/MmQ5NSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7O0FBRWpCO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvZi5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciB0b1N0cmluZyA9IHt9LnRvU3RyaW5nO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdG9TdHJpbmcuY2FsbChpdCkuc2xpY2UoOCwgLTEpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_cof.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_core.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_core.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jb3JlLmpzPzgzNzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLHVDQUF1QyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2NvcmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgY29yZSA9IG1vZHVsZS5leHBvcnRzID0geyB2ZXJzaW9uOiAnMi42LjUnIH07XG5pZiAodHlwZW9mIF9fZSA9PSAnbnVtYmVyJykgX19lID0gY29yZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_core.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_create-property.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/_create-property.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar $defineProperty = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jcmVhdGUtcHJvcGVydHkuanM/ZjFhZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHNCQUFzQixtQkFBTyxDQUFDLGtFQUFjO0FBQzVDLGlCQUFpQixtQkFBTyxDQUFDLDBFQUFrQjs7QUFFM0M7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jcmVhdGUtcHJvcGVydHkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgJGRlZmluZVByb3BlcnR5ID0gcmVxdWlyZSgnLi9fb2JqZWN0LWRwJyk7XG52YXIgY3JlYXRlRGVzYyA9IHJlcXVpcmUoJy4vX3Byb3BlcnR5LWRlc2MnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob2JqZWN0LCBpbmRleCwgdmFsdWUpIHtcbiAgaWYgKGluZGV4IGluIG9iamVjdCkgJGRlZmluZVByb3BlcnR5LmYob2JqZWN0LCBpbmRleCwgY3JlYXRlRGVzYygwLCB2YWx1ZSkpO1xuICBlbHNlIG9iamVjdFtpbmRleF0gPSB2YWx1ZTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_create-property.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ctx.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_ctx.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// optional / simple context binding\nvar aFunction = __webpack_require__(/*! ./_a-function */ \"./node_modules/core-js/modules/_a-function.js\");\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19jdHguanM/OWI0MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdCQUFnQixtQkFBTyxDQUFDLG9FQUFlO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2N0eC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_ctx.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_defined.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_defined.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZWZpbmVkLmpzP2JlMTMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2RlZmluZWQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjIuMSBSZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGFyZ3VtZW50KVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gIFwiICsgaXQpO1xuICByZXR1cm4gaXQ7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_defined.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_descriptors.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_descriptors.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcz85ZTFlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0Esa0JBQWtCLG1CQUFPLENBQUMsMERBQVU7QUFDcEMsaUNBQWlDLFFBQVEsbUJBQW1CLFVBQVUsRUFBRSxFQUFFO0FBQzFFLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kZXNjcmlwdG9ycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_descriptors.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_dom-create.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_dom-create.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\nvar document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19kb20tY3JlYXRlLmpzPzIzMGUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyw0REFBVztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZG9tLWNyZWF0ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4vX2lzLW9iamVjdCcpO1xudmFyIGRvY3VtZW50ID0gcmVxdWlyZSgnLi9fZ2xvYmFsJykuZG9jdW1lbnQ7XG4vLyB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBpcyAnb2JqZWN0JyBpbiBvbGQgSUVcbnZhciBpcyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpcyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_dom-create.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_enum-bug-keys.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzP2UxMWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19lbnVtLWJ1Zy1rZXlzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSUUgOC0gZG9uJ3QgZW51bSBidWcga2V5c1xubW9kdWxlLmV4cG9ydHMgPSAoXG4gICdjb25zdHJ1Y3RvcixoYXNPd25Qcm9wZXJ0eSxpc1Byb3RvdHlwZU9mLHByb3BlcnR5SXNFbnVtZXJhYmxlLHRvTG9jYWxlU3RyaW5nLHRvU3RyaW5nLHZhbHVlT2YnXG4pLnNwbGl0KCcsJyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_enum-bug-keys.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_export.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_export.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\");\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19leHBvcnQuanM/NWNhMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxhQUFhLG1CQUFPLENBQUMsNERBQVc7QUFDaEMsV0FBVyxtQkFBTyxDQUFDLHdEQUFTO0FBQzVCLFdBQVcsbUJBQU8sQ0FBQyx3REFBUztBQUM1QixlQUFlLG1CQUFPLENBQUMsZ0VBQWE7QUFDcEMsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtGQUFrRix1QkFBdUI7QUFDekcsaUVBQWlFO0FBQ2pFLCtEQUErRDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2QsY0FBYztBQUNkLGNBQWM7QUFDZCxjQUFjO0FBQ2QsZUFBZTtBQUNmLGVBQWU7QUFDZixlQUFlO0FBQ2YsZ0JBQWdCO0FBQ2hCIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZXhwb3J0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpO1xudmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgY3R4ID0gcmVxdWlyZSgnLi9fY3R4Jyk7XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbnZhciAkZXhwb3J0ID0gZnVuY3Rpb24gKHR5cGUsIG5hbWUsIHNvdXJjZSkge1xuICB2YXIgSVNfRk9SQ0VEID0gdHlwZSAmICRleHBvcnQuRjtcbiAgdmFyIElTX0dMT0JBTCA9IHR5cGUgJiAkZXhwb3J0Lkc7XG4gIHZhciBJU19TVEFUSUMgPSB0eXBlICYgJGV4cG9ydC5TO1xuICB2YXIgSVNfUFJPVE8gPSB0eXBlICYgJGV4cG9ydC5QO1xuICB2YXIgSVNfQklORCA9IHR5cGUgJiAkZXhwb3J0LkI7XG4gIHZhciB0YXJnZXQgPSBJU19HTE9CQUwgPyBnbG9iYWwgOiBJU19TVEFUSUMgPyBnbG9iYWxbbmFtZV0gfHwgKGdsb2JhbFtuYW1lXSA9IHt9KSA6IChnbG9iYWxbbmFtZV0gfHwge30pW1BST1RPVFlQRV07XG4gIHZhciBleHBvcnRzID0gSVNfR0xPQkFMID8gY29yZSA6IGNvcmVbbmFtZV0gfHwgKGNvcmVbbmFtZV0gPSB7fSk7XG4gIHZhciBleHBQcm90byA9IGV4cG9ydHNbUFJPVE9UWVBFXSB8fCAoZXhwb3J0c1tQUk9UT1RZUEVdID0ge30pO1xuICB2YXIga2V5LCBvd24sIG91dCwgZXhwO1xuICBpZiAoSVNfR0xPQkFMKSBzb3VyY2UgPSBuYW1lO1xuICBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICAvLyBjb250YWlucyBpbiBuYXRpdmVcbiAgICBvd24gPSAhSVNfRk9SQ0VEICYmIHRhcmdldCAmJiB0YXJnZXRba2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIC8vIGV4cG9ydCBuYXRpdmUgb3IgcGFzc2VkXG4gICAgb3V0ID0gKG93biA/IHRhcmdldCA6IHNvdXJjZSlba2V5XTtcbiAgICAvLyBiaW5kIHRpbWVycyB0byBnbG9iYWwgZm9yIGNhbGwgZnJvbSBleHBvcnQgY29udGV4dFxuICAgIGV4cCA9IElTX0JJTkQgJiYgb3duID8gY3R4KG91dCwgZ2xvYmFsKSA6IElTX1BST1RPICYmIHR5cGVvZiBvdXQgPT0gJ2Z1bmN0aW9uJyA/IGN0eChGdW5jdGlvbi5jYWxsLCBvdXQpIDogb3V0O1xuICAgIC8vIGV4dGVuZCBnbG9iYWxcbiAgICBpZiAodGFyZ2V0KSByZWRlZmluZSh0YXJnZXQsIGtleSwgb3V0LCB0eXBlICYgJGV4cG9ydC5VKTtcbiAgICAvLyBleHBvcnRcbiAgICBpZiAoZXhwb3J0c1trZXldICE9IG91dCkgaGlkZShleHBvcnRzLCBrZXksIGV4cCk7XG4gICAgaWYgKElTX1BST1RPICYmIGV4cFByb3RvW2tleV0gIT0gb3V0KSBleHBQcm90b1trZXldID0gb3V0O1xuICB9XG59O1xuZ2xvYmFsLmNvcmUgPSBjb3JlO1xuLy8gdHlwZSBiaXRtYXBcbiRleHBvcnQuRiA9IDE7ICAgLy8gZm9yY2VkXG4kZXhwb3J0LkcgPSAyOyAgIC8vIGdsb2JhbFxuJGV4cG9ydC5TID0gNDsgICAvLyBzdGF0aWNcbiRleHBvcnQuUCA9IDg7ICAgLy8gcHJvdG9cbiRleHBvcnQuQiA9IDE2OyAgLy8gYmluZFxuJGV4cG9ydC5XID0gMzI7ICAvLyB3cmFwXG4kZXhwb3J0LlUgPSA2NDsgIC8vIHNhZmVcbiRleHBvcnQuUiA9IDEyODsgLy8gcmVhbCBwcm90byBtZXRob2QgZm9yIGBsaWJyYXJ5YFxubW9kdWxlLmV4cG9ydHMgPSAkZXhwb3J0O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_export.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_fails.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/_fails.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcz83OWU1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mYWlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_fails.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_fix-re-wks.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_fix-re-wks.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n__webpack_require__(/*! ./es6.regexp.exec */ \"./node_modules/core-js/modules/es6.regexp.exec.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar fails = __webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nvar wks = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\");\nvar regexpExec = __webpack_require__(/*! ./_regexp-exec */ \"./node_modules/core-js/modules/_regexp-exec.js\");\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19maXgtcmUtd2tzLmpzPzIxNGYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixtQkFBTyxDQUFDLDRFQUFtQjtBQUMzQixlQUFlLG1CQUFPLENBQUMsZ0VBQWE7QUFDcEMsV0FBVyxtQkFBTyxDQUFDLHdEQUFTO0FBQzVCLFlBQVksbUJBQU8sQ0FBQywwREFBVTtBQUM5QixjQUFjLG1CQUFPLENBQUMsOERBQVk7QUFDbEMsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCLGlCQUFpQixtQkFBTyxDQUFDLHNFQUFnQjs7QUFFekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qiw0Q0FBNEM7QUFDckU7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw2QkFBNkIsVUFBVTtBQUN2QztBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsbUJBQW1CLGFBQWE7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsV0FBVztBQUN4RDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MscUNBQXFDO0FBQ3JFO0FBQ0E7QUFDQSwyQkFBMkIsZ0NBQWdDO0FBQzNEO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2ZpeC1yZS13a3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5yZXF1aXJlKCcuL2VzNi5yZWdleHAuZXhlYycpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGZhaWxzID0gcmVxdWlyZSgnLi9fZmFpbHMnKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xudmFyIHdrcyA9IHJlcXVpcmUoJy4vX3drcycpO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xuXG52YXIgU1BFQ0lFUyA9IHdrcygnc3BlY2llcycpO1xuXG52YXIgUkVQTEFDRV9TVVBQT1JUU19OQU1FRF9HUk9VUFMgPSAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICAvLyAjcmVwbGFjZSBuZWVkcyBidWlsdC1pbiBzdXBwb3J0IGZvciBuYW1lZCBncm91cHMuXG4gIC8vICNtYXRjaCB3b3JrcyBmaW5lIGJlY2F1c2UgaXQganVzdCByZXR1cm4gdGhlIGV4ZWMgcmVzdWx0cywgZXZlbiBpZiBpdCBoYXNcbiAgLy8gYSBcImdyb3BzXCIgcHJvcGVydHkuXG4gIHZhciByZSA9IC8uLztcbiAgcmUuZXhlYyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgcmVzdWx0Lmdyb3VwcyA9IHsgYTogJzcnIH07XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcmV0dXJuICcnLnJlcGxhY2UocmUsICckPGE+JykgIT09ICc3Jztcbn0pO1xuXG52YXIgU1BMSVRfV09SS1NfV0lUSF9PVkVSV1JJVFRFTl9FWEVDID0gKGZ1bmN0aW9uICgpIHtcbiAgLy8gQ2hyb21lIDUxIGhhcyBhIGJ1Z2d5IFwic3BsaXRcIiBpbXBsZW1lbnRhdGlvbiB3aGVuIFJlZ0V4cCNleGVjICE9PSBuYXRpdmVFeGVjXG4gIHZhciByZSA9IC8oPzopLztcbiAgdmFyIG9yaWdpbmFsRXhlYyA9IHJlLmV4ZWM7XG4gIHJlLmV4ZWMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBvcmlnaW5hbEV4ZWMuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgfTtcbiAgdmFyIHJlc3VsdCA9ICdhYicuc3BsaXQocmUpO1xuICByZXR1cm4gcmVzdWx0Lmxlbmd0aCA9PT0gMiAmJiByZXN1bHRbMF0gPT09ICdhJyAmJiByZXN1bHRbMV0gPT09ICdiJztcbn0pKCk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEtFWSwgbGVuZ3RoLCBleGVjKSB7XG4gIHZhciBTWU1CT0wgPSB3a3MoS0VZKTtcblxuICB2YXIgREVMRUdBVEVTX1RPX1NZTUJPTCA9ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gICAgLy8gU3RyaW5nIG1ldGhvZHMgY2FsbCBzeW1ib2wtbmFtZWQgUmVnRXAgbWV0aG9kc1xuICAgIHZhciBPID0ge307XG4gICAgT1tTWU1CT0xdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfTtcbiAgICByZXR1cm4gJydbS0VZXShPKSAhPSA3O1xuICB9KTtcblxuICB2YXIgREVMRUdBVEVTX1RPX0VYRUMgPSBERUxFR0FURVNfVE9fU1lNQk9MID8gIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgICAvLyBTeW1ib2wtbmFtZWQgUmVnRXhwIG1ldGhvZHMgY2FsbCAuZXhlY1xuICAgIHZhciBleGVjQ2FsbGVkID0gZmFsc2U7XG4gICAgdmFyIHJlID0gL2EvO1xuICAgIHJlLmV4ZWMgPSBmdW5jdGlvbiAoKSB7IGV4ZWNDYWxsZWQgPSB0cnVlOyByZXR1cm4gbnVsbDsgfTtcbiAgICBpZiAoS0VZID09PSAnc3BsaXQnKSB7XG4gICAgICAvLyBSZWdFeHBbQEBzcGxpdF0gZG9lc24ndCBjYWxsIHRoZSByZWdleCdzIGV4ZWMgbWV0aG9kLCBidXQgZmlyc3QgY3JlYXRlc1xuICAgICAgLy8gYSBuZXcgb25lLiBXZSBuZWVkIHRvIHJldHVybiB0aGUgcGF0Y2hlZCByZWdleCB3aGVuIGNyZWF0aW5nIHRoZSBuZXcgb25lLlxuICAgICAgcmUuY29uc3RydWN0b3IgPSB7fTtcbiAgICAgIHJlLmNvbnN0cnVjdG9yW1NQRUNJRVNdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gcmU7IH07XG4gICAgfVxuICAgIHJlW1NZTUJPTF0oJycpO1xuICAgIHJldHVybiAhZXhlY0NhbGxlZDtcbiAgfSkgOiB1bmRlZmluZWQ7XG5cbiAgaWYgKFxuICAgICFERUxFR0FURVNfVE9fU1lNQk9MIHx8XG4gICAgIURFTEVHQVRFU19UT19FWEVDIHx8XG4gICAgKEtFWSA9PT0gJ3JlcGxhY2UnICYmICFSRVBMQUNFX1NVUFBPUlRTX05BTUVEX0dST1VQUykgfHxcbiAgICAoS0VZID09PSAnc3BsaXQnICYmICFTUExJVF9XT1JLU19XSVRIX09WRVJXUklUVEVOX0VYRUMpXG4gICkge1xuICAgIHZhciBuYXRpdmVSZWdFeHBNZXRob2QgPSAvLi9bU1lNQk9MXTtcbiAgICB2YXIgZm5zID0gZXhlYyhcbiAgICAgIGRlZmluZWQsXG4gICAgICBTWU1CT0wsXG4gICAgICAnJ1tLRVldLFxuICAgICAgZnVuY3Rpb24gbWF5YmVDYWxsTmF0aXZlKG5hdGl2ZU1ldGhvZCwgcmVnZXhwLCBzdHIsIGFyZzIsIGZvcmNlU3RyaW5nTWV0aG9kKSB7XG4gICAgICAgIGlmIChyZWdleHAuZXhlYyA9PT0gcmVnZXhwRXhlYykge1xuICAgICAgICAgIGlmIChERUxFR0FURVNfVE9fU1lNQk9MICYmICFmb3JjZVN0cmluZ01ldGhvZCkge1xuICAgICAgICAgICAgLy8gVGhlIG5hdGl2ZSBTdHJpbmcgbWV0aG9kIGFscmVhZHkgZGVsZWdhdGVzIHRvIEBAbWV0aG9kICh0aGlzXG4gICAgICAgICAgICAvLyBwb2x5ZmlsbGVkIGZ1bmN0aW9uKSwgbGVhc2luZyB0byBpbmZpbml0ZSByZWN1cnNpb24uXG4gICAgICAgICAgICAvLyBXZSBhdm9pZCBpdCBieSBkaXJlY3RseSBjYWxsaW5nIHRoZSBuYXRpdmUgQEBtZXRob2QgbWV0aG9kLlxuICAgICAgICAgICAgcmV0dXJuIHsgZG9uZTogdHJ1ZSwgdmFsdWU6IG5hdGl2ZVJlZ0V4cE1ldGhvZC5jYWxsKHJlZ2V4cCwgc3RyLCBhcmcyKSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyBkb25lOiB0cnVlLCB2YWx1ZTogbmF0aXZlTWV0aG9kLmNhbGwoc3RyLCByZWdleHAsIGFyZzIpIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZG9uZTogZmFsc2UgfTtcbiAgICAgIH1cbiAgICApO1xuICAgIHZhciBzdHJmbiA9IGZuc1swXTtcbiAgICB2YXIgcnhmbiA9IGZuc1sxXTtcblxuICAgIHJlZGVmaW5lKFN0cmluZy5wcm90b3R5cGUsIEtFWSwgc3RyZm4pO1xuICAgIGhpZGUoUmVnRXhwLnByb3RvdHlwZSwgU1lNQk9MLCBsZW5ndGggPT0gMlxuICAgICAgLy8gMjEuMi41LjggUmVnRXhwLnByb3RvdHlwZVtAQHJlcGxhY2VdKHN0cmluZywgcmVwbGFjZVZhbHVlKVxuICAgICAgLy8gMjEuMi41LjExIFJlZ0V4cC5wcm90b3R5cGVbQEBzcGxpdF0oc3RyaW5nLCBsaW1pdClcbiAgICAgID8gZnVuY3Rpb24gKHN0cmluZywgYXJnKSB7IHJldHVybiByeGZuLmNhbGwoc3RyaW5nLCB0aGlzLCBhcmcpOyB9XG4gICAgICAvLyAyMS4yLjUuNiBSZWdFeHAucHJvdG90eXBlW0BAbWF0Y2hdKHN0cmluZylcbiAgICAgIC8vIDIxLjIuNS45IFJlZ0V4cC5wcm90b3R5cGVbQEBzZWFyY2hdKHN0cmluZylcbiAgICAgIDogZnVuY3Rpb24gKHN0cmluZykgeyByZXR1cm4gcnhmbi5jYWxsKHN0cmluZywgdGhpcyk7IH1cbiAgICApO1xuICB9XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_fix-re-wks.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_flags.js": -/*!************************************************!*\ - !*** ./node_modules/core-js/modules/_flags.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qcz8wYmZiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2I7QUFDQSxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mbGFncy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0Jztcbi8vIDIxLjIuNS4zIGdldCBSZWdFeHAucHJvdG90eXBlLmZsYWdzXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICB2YXIgdGhhdCA9IGFuT2JqZWN0KHRoaXMpO1xuICB2YXIgcmVzdWx0ID0gJyc7XG4gIGlmICh0aGF0Lmdsb2JhbCkgcmVzdWx0ICs9ICdnJztcbiAgaWYgKHRoYXQuaWdub3JlQ2FzZSkgcmVzdWx0ICs9ICdpJztcbiAgaWYgKHRoYXQubXVsdGlsaW5lKSByZXN1bHQgKz0gJ20nO1xuICBpZiAodGhhdC51bmljb2RlKSByZXN1bHQgKz0gJ3UnO1xuICBpZiAodGhhdC5zdGlja3kpIHJlc3VsdCArPSAneSc7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_flags.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_function-to-string.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/_function-to-string.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('native-function-to-string', Function.toString);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19mdW5jdGlvbi10by1zdHJpbmcuanM/ZmE1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsbUJBQU8sQ0FBQyw0REFBVyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2Z1bmN0aW9uLXRvLXN0cmluZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9fc2hhcmVkJykoJ25hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmcnLCBGdW5jdGlvbi50b1N0cmluZyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_function-to-string.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_global.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_global.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19nbG9iYWwuanM/NzcyNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fZ2xvYmFsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbnZhciBnbG9iYWwgPSBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiB3aW5kb3cgIT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT0gTWF0aFxuICA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9ICd1bmRlZmluZWQnICYmIHNlbGYuTWF0aCA9PSBNYXRoID8gc2VsZlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmV3LWZ1bmNcbiAgOiBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuaWYgKHR5cGVvZiBfX2cgPT0gJ251bWJlcicpIF9fZyA9IGdsb2JhbDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_global.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_has.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_has.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oYXMuanM/NjlhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGFzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGhhc093blByb3BlcnR5ID0ge30uaGFzT3duUHJvcGVydHk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwga2V5KSB7XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGl0LCBrZXkpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_has.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_hide.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_hide.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar createDesc = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19oaWRlLmpzPzMyZTkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxtQkFBTyxDQUFDLGtFQUFjO0FBQy9CLGlCQUFpQixtQkFBTyxDQUFDLDBFQUFrQjtBQUMzQyxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekM7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faGlkZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpO1xudmFyIGNyZWF0ZURlc2MgPSByZXF1aXJlKCcuL19wcm9wZXJ0eS1kZXNjJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBmdW5jdGlvbiAob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gIHJldHVybiBkUC5mKG9iamVjdCwga2V5LCBjcmVhdGVEZXNjKDEsIHZhbHVlKSk7XG59IDogZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICBvYmplY3Rba2V5XSA9IHZhbHVlO1xuICByZXR1cm4gb2JqZWN0O1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_hide.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_html.js": -/*!***********************************************!*\ - !*** ./node_modules/core-js/modules/_html.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var document = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").document;\nmodule.exports = document && document.documentElement;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19odG1sLmpzP2ZhYjIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxtQkFBTyxDQUFDLDREQUFXO0FBQ2xDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faHRtbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkb2N1bWVudCA9IHJlcXVpcmUoJy4vX2dsb2JhbCcpLmRvY3VtZW50O1xubW9kdWxlLmV4cG9ydHMgPSBkb2N1bWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_html.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_ie8-dom-define.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = !__webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") && !__webpack_require__(/*! ./_fails */ \"./node_modules/core-js/modules/_fails.js\")(function () {\n return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pZTgtZG9tLWRlZmluZS5qcz9jNjlhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixtQkFBTyxDQUFDLHNFQUFnQixNQUFNLG1CQUFPLENBQUMsMERBQVU7QUFDbEUsK0JBQStCLG1CQUFPLENBQUMsb0VBQWUsZ0JBQWdCLG1CQUFtQixVQUFVLEVBQUUsRUFBRTtBQUN2RyxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faWU4LWRvbS1kZWZpbmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_ie8-dom-define.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iobject.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_iobject.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(/*! ./_cof */ \"./node_modules/core-js/modules/_cof.js\");\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzPzYyNmEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUI7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pb2JqZWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZmFsbGJhY2sgZm9yIG5vbi1hcnJheS1saWtlIEVTMyBhbmQgbm9uLWVudW1lcmFibGUgb2xkIFY4IHN0cmluZ3NcbnZhciBjb2YgPSByZXF1aXJlKCcuL19jb2YnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0KCd6JykucHJvcGVydHlJc0VudW1lcmFibGUoMCkgPyBPYmplY3QgOiBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNvZihpdCkgPT0gJ1N0cmluZycgPyBpdC5zcGxpdCgnJykgOiBPYmplY3QoaXQpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iobject.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-array-iter.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_is-array-iter.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// check on default Array iterator\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1hcnJheS1pdGVyLmpzPzMzYTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxrRUFBYztBQUN0QyxlQUFlLG1CQUFPLENBQUMsc0RBQVE7QUFDL0I7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXMtYXJyYXktaXRlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNoZWNrIG9uIGRlZmF1bHQgQXJyYXkgaXRlcmF0b3JcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciBJVEVSQVRPUiA9IHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpO1xudmFyIEFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGU7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCAhPT0gdW5kZWZpbmVkICYmIChJdGVyYXRvcnMuQXJyYXkgPT09IGl0IHx8IEFycmF5UHJvdG9bSVRFUkFUT1JdID09PSBpdCk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_is-array-iter.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_is-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_is-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanM/ZDNmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pcy1vYmplY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_is-object.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-call.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-call.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWNhbGwuanM/MWZhOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9faXRlci1jYWxsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gY2FsbCBzb21ldGhpbmcgb24gaXRlcmF0b3Igc3RlcCB3aXRoIHNhZmUgY2xvc2luZyBvbiBlcnJvclxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdGVyYXRvciwgZm4sIHZhbHVlLCBlbnRyaWVzKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVudHJpZXMgPyBmbihhbk9iamVjdCh2YWx1ZSlbMF0sIHZhbHVlWzFdKSA6IGZuKHZhbHVlKTtcbiAgLy8gNy40LjYgSXRlcmF0b3JDbG9zZShpdGVyYXRvciwgY29tcGxldGlvbilcbiAgfSBjYXRjaCAoZSkge1xuICAgIHZhciByZXQgPSBpdGVyYXRvclsncmV0dXJuJ107XG4gICAgaWYgKHJldCAhPT0gdW5kZWZpbmVkKSBhbk9iamVjdChyZXQuY2FsbChpdGVyYXRvcikpO1xuICAgIHRocm93IGU7XG4gIH1cbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-call.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-create.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-create.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar create = __webpack_require__(/*! ./_object-create */ \"./node_modules/core-js/modules/_object-create.js\");\nvar descriptor = __webpack_require__(/*! ./_property-desc */ \"./node_modules/core-js/modules/_property-desc.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\")(IteratorPrototype, __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWNyZWF0ZS5qcz80MWEwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsYUFBYSxtQkFBTyxDQUFDLDBFQUFrQjtBQUN2QyxpQkFBaUIsbUJBQU8sQ0FBQywwRUFBa0I7QUFDM0MscUJBQXFCLG1CQUFPLENBQUMsa0ZBQXNCO0FBQ25EOztBQUVBO0FBQ0EsbUJBQU8sQ0FBQyx3REFBUyxxQkFBcUIsbUJBQU8sQ0FBQyxzREFBUSw0QkFBNEIsYUFBYSxFQUFFOztBQUVqRztBQUNBLHFEQUFxRCw0QkFBNEI7QUFDakY7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItY3JlYXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIGNyZWF0ZSA9IHJlcXVpcmUoJy4vX29iamVjdC1jcmVhdGUnKTtcbnZhciBkZXNjcmlwdG9yID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi9fc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBJdGVyYXRvclByb3RvdHlwZSA9IHt9O1xuXG4vLyAyNS4xLjIuMS4xICVJdGVyYXRvclByb3RvdHlwZSVbQEBpdGVyYXRvcl0oKVxucmVxdWlyZSgnLi9faGlkZScpKEl0ZXJhdG9yUHJvdG90eXBlLCByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKSwgZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIENvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBkZXNjcmlwdG9yKDEsIG5leHQpIH0pO1xuICBzZXRUb1N0cmluZ1RhZyhDb25zdHJ1Y3RvciwgTkFNRSArICcgSXRlcmF0b3InKTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-create.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-define.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-define.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar LIBRARY = __webpack_require__(/*! ./_library */ \"./node_modules/core-js/modules/_library.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar $iterCreate = __webpack_require__(/*! ./_iter-create */ \"./node_modules/core-js/modules/_iter-create.js\");\nvar setToStringTag = __webpack_require__(/*! ./_set-to-string-tag */ \"./node_modules/core-js/modules/_set-to-string-tag.js\");\nvar getPrototypeOf = __webpack_require__(/*! ./_object-gpo */ \"./node_modules/core-js/modules/_object-gpo.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRlZmluZS5qcz8wMWY5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsY0FBYyxtQkFBTyxDQUFDLDhEQUFZO0FBQ2xDLGNBQWMsbUJBQU8sQ0FBQyw0REFBVztBQUNqQyxlQUFlLG1CQUFPLENBQUMsZ0VBQWE7QUFDcEMsV0FBVyxtQkFBTyxDQUFDLHdEQUFTO0FBQzVCLGdCQUFnQixtQkFBTyxDQUFDLGtFQUFjO0FBQ3RDLGtCQUFrQixtQkFBTyxDQUFDLHNFQUFnQjtBQUMxQyxxQkFBcUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDbkQscUJBQXFCLG1CQUFPLENBQUMsb0VBQWU7QUFDNUMsZUFBZSxtQkFBTyxDQUFDLHNEQUFRO0FBQy9CLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7O0FBRUEsOEJBQThCLGFBQWE7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsb0NBQW9DO0FBQzdFLDZDQUE2QyxvQ0FBb0M7QUFDakYsS0FBSyw0QkFBNEIsb0NBQW9DO0FBQ3JFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQW1CO0FBQ25DO0FBQ0E7QUFDQSxrQ0FBa0MsMkJBQTJCO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItZGVmaW5lLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIExJQlJBUlkgPSByZXF1aXJlKCcuL19saWJyYXJ5Jyk7XG52YXIgJGV4cG9ydCA9IHJlcXVpcmUoJy4vX2V4cG9ydCcpO1xudmFyIHJlZGVmaW5lID0gcmVxdWlyZSgnLi9fcmVkZWZpbmUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4vX2l0ZXJhdG9ycycpO1xudmFyICRpdGVyQ3JlYXRlID0gcmVxdWlyZSgnLi9faXRlci1jcmVhdGUnKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4vX3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuL19vYmplY3QtZ3BvJyk7XG52YXIgSVRFUkFUT1IgPSByZXF1aXJlKCcuL193a3MnKSgnaXRlcmF0b3InKTtcbnZhciBCVUdHWSA9ICEoW10ua2V5cyAmJiAnbmV4dCcgaW4gW10ua2V5cygpKTsgLy8gU2FmYXJpIGhhcyBidWdneSBpdGVyYXRvcnMgdy9vIGBuZXh0YFxudmFyIEZGX0lURVJBVE9SID0gJ0BAaXRlcmF0b3InO1xudmFyIEtFWVMgPSAna2V5cyc7XG52YXIgVkFMVUVTID0gJ3ZhbHVlcyc7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQmFzZSwgTkFNRSwgQ29uc3RydWN0b3IsIG5leHQsIERFRkFVTFQsIElTX1NFVCwgRk9SQ0VEKSB7XG4gICRpdGVyQ3JlYXRlKENvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KTtcbiAgdmFyIGdldE1ldGhvZCA9IGZ1bmN0aW9uIChraW5kKSB7XG4gICAgaWYgKCFCVUdHWSAmJiBraW5kIGluIHByb3RvKSByZXR1cm4gcHJvdG9ba2luZF07XG4gICAgc3dpdGNoIChraW5kKSB7XG4gICAgICBjYXNlIEtFWVM6IHJldHVybiBmdW5jdGlvbiBrZXlzKCkgeyByZXR1cm4gbmV3IENvbnN0cnVjdG9yKHRoaXMsIGtpbmQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgQ29uc3RydWN0b3IodGhpcywga2luZCk7IH07XG4gICAgfSByZXR1cm4gZnVuY3Rpb24gZW50cmllcygpIHsgcmV0dXJuIG5ldyBDb25zdHJ1Y3Rvcih0aGlzLCBraW5kKTsgfTtcbiAgfTtcbiAgdmFyIFRBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIERFRl9WQUxVRVMgPSBERUZBVUxUID09IFZBTFVFUztcbiAgdmFyIFZBTFVFU19CVUcgPSBmYWxzZTtcbiAgdmFyIHByb3RvID0gQmFzZS5wcm90b3R5cGU7XG4gIHZhciAkbmF0aXZlID0gcHJvdG9bSVRFUkFUT1JdIHx8IHByb3RvW0ZGX0lURVJBVE9SXSB8fCBERUZBVUxUICYmIHByb3RvW0RFRkFVTFRdO1xuICB2YXIgJGRlZmF1bHQgPSAkbmF0aXZlIHx8IGdldE1ldGhvZChERUZBVUxUKTtcbiAgdmFyICRlbnRyaWVzID0gREVGQVVMVCA/ICFERUZfVkFMVUVTID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoJ2VudHJpZXMnKSA6IHVuZGVmaW5lZDtcbiAgdmFyICRhbnlOYXRpdmUgPSBOQU1FID09ICdBcnJheScgPyBwcm90by5lbnRyaWVzIHx8ICRuYXRpdmUgOiAkbmF0aXZlO1xuICB2YXIgbWV0aG9kcywga2V5LCBJdGVyYXRvclByb3RvdHlwZTtcbiAgLy8gRml4IG5hdGl2ZVxuICBpZiAoJGFueU5hdGl2ZSkge1xuICAgIEl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoJGFueU5hdGl2ZS5jYWxsKG5ldyBCYXNlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgSXRlcmF0b3JQcm90b3R5cGUubmV4dCkge1xuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoSXRlcmF0b3JQcm90b3R5cGUsIFRBRywgdHJ1ZSk7XG4gICAgICAvLyBmaXggZm9yIHNvbWUgb2xkIGVuZ2luZXNcbiAgICAgIGlmICghTElCUkFSWSAmJiB0eXBlb2YgSXRlcmF0b3JQcm90b3R5cGVbSVRFUkFUT1JdICE9ICdmdW5jdGlvbicpIGhpZGUoSXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICB9XG4gIH1cbiAgLy8gZml4IEFycmF5I3t2YWx1ZXMsIEBAaXRlcmF0b3J9Lm5hbWUgaW4gVjggLyBGRlxuICBpZiAoREVGX1ZBTFVFUyAmJiAkbmF0aXZlICYmICRuYXRpdmUubmFtZSAhPT0gVkFMVUVTKSB7XG4gICAgVkFMVUVTX0JVRyA9IHRydWU7XG4gICAgJGRlZmF1bHQgPSBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiAkbmF0aXZlLmNhbGwodGhpcyk7IH07XG4gIH1cbiAgLy8gRGVmaW5lIGl0ZXJhdG9yXG4gIGlmICgoIUxJQlJBUlkgfHwgRk9SQ0VEKSAmJiAoQlVHR1kgfHwgVkFMVUVTX0JVRyB8fCAhcHJvdG9bSVRFUkFUT1JdKSkge1xuICAgIGhpZGUocHJvdG8sIElURVJBVE9SLCAkZGVmYXVsdCk7XG4gIH1cbiAgLy8gUGx1ZyBmb3IgbGlicmFyeVxuICBJdGVyYXRvcnNbTkFNRV0gPSAkZGVmYXVsdDtcbiAgSXRlcmF0b3JzW1RBR10gPSByZXR1cm5UaGlzO1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IERFRl9WQUxVRVMgPyAkZGVmYXVsdCA6IGdldE1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gJGRlZmF1bHQgOiBnZXRNZXRob2QoS0VZUyksXG4gICAgICBlbnRyaWVzOiAkZW50cmllc1xuICAgIH07XG4gICAgaWYgKEZPUkNFRCkgZm9yIChrZXkgaW4gbWV0aG9kcykge1xuICAgICAgaWYgKCEoa2V5IGluIHByb3RvKSkgcmVkZWZpbmUocHJvdG8sIGtleSwgbWV0aG9kc1trZXldKTtcbiAgICB9IGVsc2UgJGV4cG9ydCgkZXhwb3J0LlAgKyAkZXhwb3J0LkYgKiAoQlVHR1kgfHwgVkFMVUVTX0JVRyksIE5BTUUsIG1ldGhvZHMpO1xuICB9XG4gIHJldHVybiBtZXRob2RzO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-define.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-detect.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-detect.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRldGVjdC5qcz81Y2M1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQWUsbUJBQU8sQ0FBQyxzREFBUTtBQUMvQjs7QUFFQTtBQUNBO0FBQ0EsaUNBQWlDLHFCQUFxQjtBQUN0RDtBQUNBLGlDQUFpQyxTQUFTLEVBQUU7QUFDNUMsQ0FBQyxZQUFZOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QixTQUFTLHFCQUFxQjtBQUMzRCxpQ0FBaUMsYUFBYTtBQUM5QztBQUNBLEdBQUcsWUFBWTtBQUNmO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLWRldGVjdC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBJVEVSQVRPUiA9IHJlcXVpcmUoJy4vX3drcycpKCdpdGVyYXRvcicpO1xudmFyIFNBRkVfQ0xPU0lORyA9IGZhbHNlO1xuXG50cnkge1xuICB2YXIgcml0ZXIgPSBbN11bSVRFUkFUT1JdKCk7XG4gIHJpdGVyWydyZXR1cm4nXSA9IGZ1bmN0aW9uICgpIHsgU0FGRV9DTE9TSU5HID0gdHJ1ZTsgfTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcbiAgQXJyYXkuZnJvbShyaXRlciwgZnVuY3Rpb24gKCkgeyB0aHJvdyAyOyB9KTtcbn0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjLCBza2lwQ2xvc2luZykge1xuICBpZiAoIXNraXBDbG9zaW5nICYmICFTQUZFX0NMT1NJTkcpIHJldHVybiBmYWxzZTtcbiAgdmFyIHNhZmUgPSBmYWxzZTtcbiAgdHJ5IHtcbiAgICB2YXIgYXJyID0gWzddO1xuICAgIHZhciBpdGVyID0gYXJyW0lURVJBVE9SXSgpO1xuICAgIGl0ZXIubmV4dCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHsgZG9uZTogc2FmZSA9IHRydWUgfTsgfTtcbiAgICBhcnJbSVRFUkFUT1JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gaXRlcjsgfTtcbiAgICBleGVjKGFycik7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICByZXR1cm4gc2FmZTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-detect.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iter-step.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iter-step.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyLXN0ZXAuanM/ZDUzYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLFVBQVU7QUFDViIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXItc3RlcC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGRvbmUsIHZhbHVlKSB7XG4gIHJldHVybiB7IHZhbHVlOiB2YWx1ZSwgZG9uZTogISFkb25lIH07XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iter-step.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_iterators.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_iterators.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = {};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19pdGVyYXRvcnMuanM/ODRmMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX2l0ZXJhdG9ycy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0ge307XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_iterators.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_library.js": -/*!**************************************************!*\ - !*** ./node_modules/core-js/modules/_library.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = false;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19saWJyYXJ5LmpzPzJkMDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19saWJyYXJ5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmYWxzZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_library.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-create.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_object-create.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar dPs = __webpack_require__(/*! ./_object-dps */ \"./node_modules/core-js/modules/_object-dps.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(/*! ./_dom-create */ \"./node_modules/core-js/modules/_dom-create.js\")('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(/*! ./_html */ \"./node_modules/core-js/modules/_html.js\").appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzPzJhZWIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMsVUFBVSxtQkFBTyxDQUFDLG9FQUFlO0FBQ2pDLGtCQUFrQixtQkFBTyxDQUFDLDBFQUFrQjtBQUM1QyxlQUFlLG1CQUFPLENBQUMsb0VBQWU7QUFDdEMseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxvRUFBZTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxtQkFBTyxDQUFDLHdEQUFTO0FBQ25CLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtY3JlYXRlLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjIgLyAxNS4yLjMuNSBPYmplY3QuY3JlYXRlKE8gWywgUHJvcGVydGllc10pXG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBkUHMgPSByZXF1aXJlKCcuL19vYmplY3QtZHBzJyk7XG52YXIgZW51bUJ1Z0tleXMgPSByZXF1aXJlKCcuL19lbnVtLWJ1Zy1rZXlzJyk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG52YXIgRW1wdHkgPSBmdW5jdGlvbiAoKSB7IC8qIGVtcHR5ICovIH07XG52YXIgUFJPVE9UWVBFID0gJ3Byb3RvdHlwZSc7XG5cbi8vIENyZWF0ZSBvYmplY3Qgd2l0aCBmYWtlIGBudWxsYCBwcm90b3R5cGU6IHVzZSBpZnJhbWUgT2JqZWN0IHdpdGggY2xlYXJlZCBwcm90b3R5cGVcbnZhciBjcmVhdGVEaWN0ID0gZnVuY3Rpb24gKCkge1xuICAvLyBUaHJhc2gsIHdhc3RlIGFuZCBzb2RvbXk6IElFIEdDIGJ1Z1xuICB2YXIgaWZyYW1lID0gcmVxdWlyZSgnLi9fZG9tLWNyZWF0ZScpKCdpZnJhbWUnKTtcbiAgdmFyIGkgPSBlbnVtQnVnS2V5cy5sZW5ndGg7XG4gIHZhciBsdCA9ICc8JztcbiAgdmFyIGd0ID0gJz4nO1xuICB2YXIgaWZyYW1lRG9jdW1lbnQ7XG4gIGlmcmFtZS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICByZXF1aXJlKCcuL19odG1sJykuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lLnNyYyA9ICdqYXZhc2NyaXB0Oic7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2NyaXB0LXVybFxuICAvLyBjcmVhdGVEaWN0ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuT2JqZWN0O1xuICAvLyBodG1sLnJlbW92ZUNoaWxkKGlmcmFtZSk7XG4gIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gIGlmcmFtZURvY3VtZW50Lm9wZW4oKTtcbiAgaWZyYW1lRG9jdW1lbnQud3JpdGUobHQgKyAnc2NyaXB0JyArIGd0ICsgJ2RvY3VtZW50LkY9T2JqZWN0JyArIGx0ICsgJy9zY3JpcHQnICsgZ3QpO1xuICBpZnJhbWVEb2N1bWVudC5jbG9zZSgpO1xuICBjcmVhdGVEaWN0ID0gaWZyYW1lRG9jdW1lbnQuRjtcbiAgd2hpbGUgKGktLSkgZGVsZXRlIGNyZWF0ZURpY3RbUFJPVE9UWVBFXVtlbnVtQnVnS2V5c1tpXV07XG4gIHJldHVybiBjcmVhdGVEaWN0KCk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5jcmVhdGUgfHwgZnVuY3Rpb24gY3JlYXRlKE8sIFByb3BlcnRpZXMpIHtcbiAgdmFyIHJlc3VsdDtcbiAgaWYgKE8gIT09IG51bGwpIHtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gYW5PYmplY3QoTyk7XG4gICAgcmVzdWx0ID0gbmV3IEVtcHR5KCk7XG4gICAgRW1wdHlbUFJPVE9UWVBFXSA9IG51bGw7XG4gICAgLy8gYWRkIFwiX19wcm90b19fXCIgZm9yIE9iamVjdC5nZXRQcm90b3R5cGVPZiBwb2x5ZmlsbFxuICAgIHJlc3VsdFtJRV9QUk9UT10gPSBPO1xuICB9IGVsc2UgcmVzdWx0ID0gY3JlYXRlRGljdCgpO1xuICByZXR1cm4gUHJvcGVydGllcyA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogZFBzKHJlc3VsdCwgUHJvcGVydGllcyk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-create.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dp.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dp.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ \"./node_modules/core-js/modules/_ie8-dom-define.js\");\nvar toPrimitive = __webpack_require__(/*! ./_to-primitive */ \"./node_modules/core-js/modules/_to-primitive.js\");\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHAuanM/ODZjYyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMscUJBQXFCLG1CQUFPLENBQUMsNEVBQW1CO0FBQ2hELGtCQUFrQixtQkFBTyxDQUFDLHdFQUFpQjtBQUMzQzs7QUFFQSxZQUFZLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLFlBQVk7QUFDZjtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi9faWU4LWRvbS1kZWZpbmUnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4vX3RvLXByaW1pdGl2ZScpO1xudmFyIGRQID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG5leHBvcnRzLmYgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gT2JqZWN0LmRlZmluZVByb3BlcnR5IDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcykge1xuICBhbk9iamVjdChPKTtcbiAgUCA9IHRvUHJpbWl0aXZlKFAsIHRydWUpO1xuICBhbk9iamVjdChBdHRyaWJ1dGVzKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBkUChPLCBQLCBBdHRyaWJ1dGVzKTtcbiAgfSBjYXRjaCAoZSkgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhJyk7XG4gIGlmICgndmFsdWUnIGluIEF0dHJpYnV0ZXMpIE9bUF0gPSBBdHRyaWJ1dGVzLnZhbHVlO1xuICByZXR1cm4gTztcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-dp.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-dps.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-dps.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\");\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/modules/_object-keys.js\");\n\nmodule.exports = __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZHBzLmpzPzE0OTUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxtQkFBTyxDQUFDLGtFQUFjO0FBQy9CLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxjQUFjLG1CQUFPLENBQUMsc0VBQWdCOztBQUV0QyxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1kcHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIGdldEtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2Rlc2NyaXB0b3JzJykgPyBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXMoTywgUHJvcGVydGllcykge1xuICBhbk9iamVjdChPKTtcbiAgdmFyIGtleXMgPSBnZXRLZXlzKFByb3BlcnRpZXMpO1xuICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gIHZhciBpID0gMDtcbiAgdmFyIFA7XG4gIHdoaWxlIChsZW5ndGggPiBpKSBkUC5mKE8sIFAgPSBrZXlzW2krK10sIFByb3BlcnRpZXNbUF0pO1xuICByZXR1cm4gTztcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-dps.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-gpo.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_object-gpo.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3QtZ3BvLmpzPzM4ZmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUIsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGVBQWUsbUJBQU8sQ0FBQyxvRUFBZTtBQUN0Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fb2JqZWN0LWdwby5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDE5LjEuMi45IC8gMTUuMi4zLjIgT2JqZWN0LmdldFByb3RvdHlwZU9mKE8pXG52YXIgaGFzID0gcmVxdWlyZSgnLi9faGFzJyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBJRV9QUk9UTyA9IHJlcXVpcmUoJy4vX3NoYXJlZC1rZXknKSgnSUVfUFJPVE8nKTtcbnZhciBPYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mIHx8IGZ1bmN0aW9uIChPKSB7XG4gIE8gPSB0b09iamVjdChPKTtcbiAgaWYgKGhhcyhPLCBJRV9QUk9UTykpIHJldHVybiBPW0lFX1BST1RPXTtcbiAgaWYgKHR5cGVvZiBPLmNvbnN0cnVjdG9yID09ICdmdW5jdGlvbicgJiYgTyBpbnN0YW5jZW9mIE8uY29uc3RydWN0b3IpIHtcbiAgICByZXR1cm4gTy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG4gIH0gcmV0dXJuIE8gaW5zdGFuY2VvZiBPYmplY3QgPyBPYmplY3RQcm90byA6IG51bGw7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-gpo.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys-internal.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys-internal.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\nvar arrayIndexOf = __webpack_require__(/*! ./_array-includes */ \"./node_modules/core-js/modules/_array-includes.js\")(false);\nvar IE_PROTO = __webpack_require__(/*! ./_shared-key */ \"./node_modules/core-js/modules/_shared-key.js\")('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcz9jZTEwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQixnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QyxtQkFBbUIsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDOUMsZUFBZSxtQkFBTyxDQUFDLG9FQUFlOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy1pbnRlcm5hbC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG52YXIgYXJyYXlJbmRleE9mID0gcmVxdWlyZSgnLi9fYXJyYXktaW5jbHVkZXMnKShmYWxzZSk7XG52YXIgSUVfUFJPVE8gPSByZXF1aXJlKCcuL19zaGFyZWQta2V5JykoJ0lFX1BST1RPJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZXMpIHtcbiAgdmFyIE8gPSB0b0lPYmplY3Qob2JqZWN0KTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIE8pIGlmIChrZXkgIT0gSUVfUFJPVE8pIGhhcyhPLCBrZXkpICYmIHJlc3VsdC5wdXNoKGtleSk7XG4gIC8vIERvbid0IGVudW0gYnVnICYgaGlkZGVuIGtleXNcbiAgd2hpbGUgKG5hbWVzLmxlbmd0aCA+IGkpIGlmIChoYXMoTywga2V5ID0gbmFtZXNbaSsrXSkpIHtcbiAgICB+YXJyYXlJbmRleE9mKHJlc3VsdCwga2V5KSB8fCByZXN1bHQucHVzaChrZXkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-keys-internal.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_object-keys.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_object-keys.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(/*! ./_object-keys-internal */ \"./node_modules/core-js/modules/_object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ./_enum-bug-keys */ \"./node_modules/core-js/modules/_enum-bug-keys.js\");\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19vYmplY3Qta2V5cy5qcz8wZDU4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsWUFBWSxtQkFBTyxDQUFDLHdGQUF5QjtBQUM3QyxrQkFBa0IsbUJBQU8sQ0FBQywwRUFBa0I7O0FBRTVDO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX29iamVjdC1rZXlzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gMTkuMS4yLjE0IC8gMTUuMi4zLjE0IE9iamVjdC5rZXlzKE8pXG52YXIgJGtleXMgPSByZXF1aXJlKCcuL19vYmplY3Qta2V5cy1pbnRlcm5hbCcpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi9fZW51bS1idWcta2V5cycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IE9iamVjdC5rZXlzIHx8IGZ1bmN0aW9uIGtleXMoTykge1xuICByZXR1cm4gJGtleXMoTywgZW51bUJ1Z0tleXMpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_object-keys.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_property-desc.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/_property-desc.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzPzQ2MzAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3Byb3BlcnR5LWRlc2MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_property-desc.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_redefine.js": -/*!***************************************************!*\ - !*** ./node_modules/core-js/modules/_redefine.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar SRC = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\")('src');\nvar $toString = __webpack_require__(/*! ./_function-to-string */ \"./node_modules/core-js/modules/_function-to-string.js\");\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\").inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWRlZmluZS5qcz8yYWJhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQWEsbUJBQU8sQ0FBQyw0REFBVztBQUNoQyxXQUFXLG1CQUFPLENBQUMsd0RBQVM7QUFDNUIsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQixnQkFBZ0IsbUJBQU8sQ0FBQyxvRkFBdUI7QUFDL0M7QUFDQTs7QUFFQSxtQkFBTyxDQUFDLHdEQUFTO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fcmVkZWZpbmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuL19oYXMnKTtcbnZhciBTUkMgPSByZXF1aXJlKCcuL191aWQnKSgnc3JjJyk7XG52YXIgJHRvU3RyaW5nID0gcmVxdWlyZSgnLi9fZnVuY3Rpb24tdG8tc3RyaW5nJyk7XG52YXIgVE9fU1RSSU5HID0gJ3RvU3RyaW5nJztcbnZhciBUUEwgPSAoJycgKyAkdG9TdHJpbmcpLnNwbGl0KFRPX1NUUklORyk7XG5cbnJlcXVpcmUoJy4vX2NvcmUnKS5pbnNwZWN0U291cmNlID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiAkdG9TdHJpbmcuY2FsbChpdCk7XG59O1xuXG4obW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoTywga2V5LCB2YWwsIHNhZmUpIHtcbiAgdmFyIGlzRnVuY3Rpb24gPSB0eXBlb2YgdmFsID09ICdmdW5jdGlvbic7XG4gIGlmIChpc0Z1bmN0aW9uKSBoYXModmFsLCAnbmFtZScpIHx8IGhpZGUodmFsLCAnbmFtZScsIGtleSk7XG4gIGlmIChPW2tleV0gPT09IHZhbCkgcmV0dXJuO1xuICBpZiAoaXNGdW5jdGlvbikgaGFzKHZhbCwgU1JDKSB8fCBoaWRlKHZhbCwgU1JDLCBPW2tleV0gPyAnJyArIE9ba2V5XSA6IFRQTC5qb2luKFN0cmluZyhrZXkpKSk7XG4gIGlmIChPID09PSBnbG9iYWwpIHtcbiAgICBPW2tleV0gPSB2YWw7XG4gIH0gZWxzZSBpZiAoIXNhZmUpIHtcbiAgICBkZWxldGUgT1trZXldO1xuICAgIGhpZGUoTywga2V5LCB2YWwpO1xuICB9IGVsc2UgaWYgKE9ba2V5XSkge1xuICAgIE9ba2V5XSA9IHZhbDtcbiAgfSBlbHNlIHtcbiAgICBoaWRlKE8sIGtleSwgdmFsKTtcbiAgfVxuLy8gYWRkIGZha2UgRnVuY3Rpb24jdG9TdHJpbmcgZm9yIGNvcnJlY3Qgd29yayB3cmFwcGVkIG1ldGhvZHMgLyBjb25zdHJ1Y3RvcnMgd2l0aCBtZXRob2RzIGxpa2UgTG9EYXNoIGlzTmF0aXZlXG59KShGdW5jdGlvbi5wcm90b3R5cGUsIFRPX1NUUklORywgZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gIHJldHVybiB0eXBlb2YgdGhpcyA9PSAnZnVuY3Rpb24nICYmIHRoaXNbU1JDXSB8fCAkdG9TdHJpbmcuY2FsbCh0aGlzKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_redefine.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_regexp-exec-abstract.js": -/*!***************************************************************!*\ - !*** ./node_modules/core-js/modules/_regexp-exec-abstract.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar classof = __webpack_require__(/*! ./_classof */ \"./node_modules/core-js/modules/_classof.js\");\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy1hYnN0cmFjdC5qcz81ZjFiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGNBQWMsbUJBQU8sQ0FBQyw4REFBWTtBQUNsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZ2V4cC1leGVjLWFic3RyYWN0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4vX2NsYXNzb2YnKTtcbnZhciBidWlsdGluRXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYztcblxuIC8vIGBSZWdFeHBFeGVjYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXJlZ2V4cGV4ZWNcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFIsIFMpIHtcbiAgdmFyIGV4ZWMgPSBSLmV4ZWM7XG4gIGlmICh0eXBlb2YgZXhlYyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZXN1bHQgPSBleGVjLmNhbGwoUiwgUyk7XG4gICAgaWYgKHR5cGVvZiByZXN1bHQgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGwnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBpZiAoY2xhc3NvZihSKSAhPT0gJ1JlZ0V4cCcpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyJyk7XG4gIH1cbiAgcmV0dXJuIGJ1aWx0aW5FeGVjLmNhbGwoUiwgUyk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_regexp-exec-abstract.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_regexp-exec.js": -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/_regexp-exec.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar regexpFlags = __webpack_require__(/*! ./_flags */ \"./node_modules/core-js/modules/_flags.js\");\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19yZWdleHAtZXhlYy5qcz81MjBhIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGtCQUFrQixtQkFBTyxDQUFDLDBEQUFVOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDBCQUEwQjtBQUM3QztBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3JlZ2V4cC1leGVjLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVnZXhwRmxhZ3MgPSByZXF1aXJlKCcuL19mbGFncycpO1xuXG52YXIgbmF0aXZlRXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYztcbi8vIFRoaXMgYWx3YXlzIHJlZmVycyB0byB0aGUgbmF0aXZlIGltcGxlbWVudGF0aW9uLCBiZWNhdXNlIHRoZVxuLy8gU3RyaW5nI3JlcGxhY2UgcG9seWZpbGwgdXNlcyAuL2ZpeC1yZWdleHAtd2VsbC1rbm93bi1zeW1ib2wtbG9naWMuanMsXG4vLyB3aGljaCBsb2FkcyB0aGlzIGZpbGUgYmVmb3JlIHBhdGNoaW5nIHRoZSBtZXRob2QuXG52YXIgbmF0aXZlUmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTtcblxudmFyIHBhdGNoZWRFeGVjID0gbmF0aXZlRXhlYztcblxudmFyIExBU1RfSU5ERVggPSAnbGFzdEluZGV4JztcblxudmFyIFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORyA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciByZTEgPSAvYS8sXG4gICAgICByZTIgPSAvYiovZztcbiAgbmF0aXZlRXhlYy5jYWxsKHJlMSwgJ2EnKTtcbiAgbmF0aXZlRXhlYy5jYWxsKHJlMiwgJ2EnKTtcbiAgcmV0dXJuIHJlMVtMQVNUX0lOREVYXSAhPT0gMCB8fCByZTJbTEFTVF9JTkRFWF0gIT09IDA7XG59KSgpO1xuXG4vLyBub25wYXJ0aWNpcGF0aW5nIGNhcHR1cmluZyBncm91cCwgY29waWVkIGZyb20gZXM1LXNoaW0ncyBTdHJpbmcjc3BsaXQgcGF0Y2guXG52YXIgTlBDR19JTkNMVURFRCA9IC8oKT8/Ly5leGVjKCcnKVsxXSAhPT0gdW5kZWZpbmVkO1xuXG52YXIgUEFUQ0ggPSBVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcgfHwgTlBDR19JTkNMVURFRDtcblxuaWYgKFBBVENIKSB7XG4gIHBhdGNoZWRFeGVjID0gZnVuY3Rpb24gZXhlYyhzdHIpIHtcbiAgICB2YXIgcmUgPSB0aGlzO1xuICAgIHZhciBsYXN0SW5kZXgsIHJlQ29weSwgbWF0Y2gsIGk7XG5cbiAgICBpZiAoTlBDR19JTkNMVURFRCkge1xuICAgICAgcmVDb3B5ID0gbmV3IFJlZ0V4cCgnXicgKyByZS5zb3VyY2UgKyAnJCg/IVxcXFxzKScsIHJlZ2V4cEZsYWdzLmNhbGwocmUpKTtcbiAgICB9XG4gICAgaWYgKFVQREFURVNfTEFTVF9JTkRFWF9XUk9ORykgbGFzdEluZGV4ID0gcmVbTEFTVF9JTkRFWF07XG5cbiAgICBtYXRjaCA9IG5hdGl2ZUV4ZWMuY2FsbChyZSwgc3RyKTtcblxuICAgIGlmIChVUERBVEVTX0xBU1RfSU5ERVhfV1JPTkcgJiYgbWF0Y2gpIHtcbiAgICAgIHJlW0xBU1RfSU5ERVhdID0gcmUuZ2xvYmFsID8gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGggOiBsYXN0SW5kZXg7XG4gICAgfVxuICAgIGlmIChOUENHX0lOQ0xVREVEICYmIG1hdGNoICYmIG1hdGNoLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIEZpeCBicm93c2VycyB3aG9zZSBgZXhlY2AgbWV0aG9kcyBkb24ndCBjb25zaXN0ZW50bHkgcmV0dXJuIGB1bmRlZmluZWRgXG4gICAgICAvLyBmb3IgTlBDRywgbGlrZSBJRTguIE5PVEU6IFRoaXMgZG9lc24nIHdvcmsgZm9yIC8oLj8pPy9cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcbiAgICAgIG5hdGl2ZVJlcGxhY2UuY2FsbChtYXRjaFswXSwgcmVDb3B5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAoaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMjsgaSsrKSB7XG4gICAgICAgICAgaWYgKGFyZ3VtZW50c1tpXSA9PT0gdW5kZWZpbmVkKSBtYXRjaFtpXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoO1xuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHBhdGNoZWRFeGVjO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_regexp-exec.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_set-to-string-tag.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var def = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\").f;\nvar has = __webpack_require__(/*! ./_has */ \"./node_modules/core-js/modules/_has.js\");\nvar TAG = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qcz83ZjIwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVUsbUJBQU8sQ0FBQyxrRUFBYztBQUNoQyxVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUIsVUFBVSxtQkFBTyxDQUFDLHNEQUFROztBQUUxQjtBQUNBLG9FQUFvRSxpQ0FBaUM7QUFDckciLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zZXQtdG8tc3RyaW5nLXRhZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkZWYgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKS5mO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFRBRyA9IHJlcXVpcmUoJy4vX3drcycpKCd0b1N0cmluZ1RhZycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgdGFnLCBzdGF0KSB7XG4gIGlmIChpdCAmJiAhaGFzKGl0ID0gc3RhdCA/IGl0IDogaXQucHJvdG90eXBlLCBUQUcpKSBkZWYoaXQsIFRBRywgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiB0YWcgfSk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_set-to-string-tag.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared-key.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_shared-key.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var shared = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('keys');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQta2V5LmpzPzYxM2IiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsYUFBYSxtQkFBTyxDQUFDLDREQUFXO0FBQ2hDLFVBQVUsbUJBQU8sQ0FBQyxzREFBUTtBQUMxQjtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQta2V5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCdrZXlzJyk7XG52YXIgdWlkID0gcmVxdWlyZSgnLi9fdWlkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuIHNoYXJlZFtrZXldIHx8IChzaGFyZWRba2V5XSA9IHVpZChrZXkpKTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_shared-key.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_shared.js": -/*!*************************************************!*\ - !*** ./node_modules/core-js/modules/_shared.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var core = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(/*! ./_library */ \"./node_modules/core-js/modules/_library.js\") ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zaGFyZWQuanM/NTUzNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXLG1CQUFPLENBQUMsd0RBQVM7QUFDNUIsYUFBYSxtQkFBTyxDQUFDLDREQUFXO0FBQ2hDO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBLHFFQUFxRTtBQUNyRSxDQUFDO0FBQ0Q7QUFDQSxRQUFRLG1CQUFPLENBQUMsOERBQVk7QUFDNUI7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc2hhcmVkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGNvcmUgPSByZXF1aXJlKCcuL19jb3JlJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgU0hBUkVEID0gJ19fY29yZS1qc19zaGFyZWRfXyc7XG52YXIgc3RvcmUgPSBnbG9iYWxbU0hBUkVEXSB8fCAoZ2xvYmFsW1NIQVJFRF0gPSB7fSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG4gIHJldHVybiBzdG9yZVtrZXldIHx8IChzdG9yZVtrZXldID0gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDoge30pO1xufSkoJ3ZlcnNpb25zJywgW10pLnB1c2goe1xuICB2ZXJzaW9uOiBjb3JlLnZlcnNpb24sXG4gIG1vZGU6IHJlcXVpcmUoJy4vX2xpYnJhcnknKSA/ICdwdXJlJyA6ICdnbG9iYWwnLFxuICBjb3B5cmlnaHQ6ICfCqSAyMDE5IERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpJ1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_shared.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_string-at.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_string-at.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL19zdHJpbmctYXQuanM/MDJmNCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QyxjQUFjLG1CQUFPLENBQUMsOERBQVk7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fc3RyaW5nLWF0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBkZWZpbmVkID0gcmVxdWlyZSgnLi9fZGVmaW5lZCcpO1xuLy8gdHJ1ZSAgLT4gU3RyaW5nI2F0XG4vLyBmYWxzZSAtPiBTdHJpbmcjY29kZVBvaW50QXRcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKFRPX1NUUklORykge1xuICByZXR1cm4gZnVuY3Rpb24gKHRoYXQsIHBvcykge1xuICAgIHZhciBzID0gU3RyaW5nKGRlZmluZWQodGhhdCkpO1xuICAgIHZhciBpID0gdG9JbnRlZ2VyKHBvcyk7XG4gICAgdmFyIGwgPSBzLmxlbmd0aDtcbiAgICB2YXIgYSwgYjtcbiAgICBpZiAoaSA8IDAgfHwgaSA+PSBsKSByZXR1cm4gVE9fU1RSSU5HID8gJycgOiB1bmRlZmluZWQ7XG4gICAgYSA9IHMuY2hhckNvZGVBdChpKTtcbiAgICByZXR1cm4gYSA8IDB4ZDgwMCB8fCBhID4gMHhkYmZmIHx8IGkgKyAxID09PSBsIHx8IChiID0gcy5jaGFyQ29kZUF0KGkgKyAxKSkgPCAweGRjMDAgfHwgYiA+IDB4ZGZmZlxuICAgICAgPyBUT19TVFJJTkcgPyBzLmNoYXJBdChpKSA6IGFcbiAgICAgIDogVE9fU1RSSU5HID8gcy5zbGljZShpLCBpICsgMikgOiAoYSAtIDB4ZDgwMCA8PCAxMCkgKyAoYiAtIDB4ZGMwMCkgKyAweDEwMDAwO1xuICB9O1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_string-at.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-absolute-index.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/_to-absolute-index.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1hYnNvbHV0ZS1pbmRleC5qcz83N2YxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQixtQkFBTyxDQUFDLG9FQUFlO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWFic29sdXRlLWluZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBtYXggPSBNYXRoLm1heDtcbnZhciBtaW4gPSBNYXRoLm1pbjtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgaW5kZXggPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW5kZXggPCAwID8gbWF4KGluZGV4ICsgbGVuZ3RoLCAwKSA6IG1pbihpbmRleCwgbGVuZ3RoKTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-absolute-index.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-integer.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-integer.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pbnRlZ2VyLmpzPzQ1ODgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdG8taW50ZWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS40IFRvSW50ZWdlclxudmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzTmFOKGl0ID0gK2l0KSA/IDAgOiAoaXQgPiAwID8gZmxvb3IgOiBjZWlsKShpdCk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-integer.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-iobject.js": -/*!*****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-iobject.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(/*! ./_iobject */ \"./node_modules/core-js/modules/_iobject.js\");\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1pb2JqZWN0LmpzPzY4MjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxjQUFjLG1CQUFPLENBQUMsOERBQVk7QUFDbEMsY0FBYyxtQkFBTyxDQUFDLDhEQUFZO0FBQ2xDO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLWlvYmplY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0byBpbmRleGVkIG9iamVjdCwgdG9PYmplY3Qgd2l0aCBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIHN0cmluZ3NcbnZhciBJT2JqZWN0ID0gcmVxdWlyZSgnLi9faW9iamVjdCcpO1xudmFyIGRlZmluZWQgPSByZXF1aXJlKCcuL19kZWZpbmVkJyk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSU9iamVjdChkZWZpbmVkKGl0KSk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-iobject.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-length.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-length.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 7.1.15 ToLength\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanM/OWRlZiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGdCQUFnQixtQkFBTyxDQUFDLG9FQUFlO0FBQ3ZDO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0QiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1sZW5ndGguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuMTUgVG9MZW5ndGhcbnZhciB0b0ludGVnZXIgPSByZXF1aXJlKCcuL190by1pbnRlZ2VyJyk7XG52YXIgbWluID0gTWF0aC5taW47XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgPiAwID8gbWluKHRvSW50ZWdlcihpdCksIDB4MWZmZmZmZmZmZmZmZmYpIDogMDsgLy8gcG93KDIsIDUzKSAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-length.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-object.js": -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/_to-object.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(/*! ./_defined */ \"./node_modules/core-js/modules/_defined.js\");\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanM/NGJmOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGNBQWMsbUJBQU8sQ0FBQyw4REFBWTtBQUNsQztBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1vYmplY3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA3LjEuMTMgVG9PYmplY3QoYXJndW1lbnQpXG52YXIgZGVmaW5lZCA9IHJlcXVpcmUoJy4vX2RlZmluZWQnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBPYmplY3QoZGVmaW5lZChpdCkpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-object.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_to-primitive.js": -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/_to-primitive.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(/*! ./_is-object */ \"./node_modules/core-js/modules/_is-object.js\");\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL190by1wcmltaXRpdmUuanM/NmE5OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3RvLXByaW1pdGl2ZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_to-primitive.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_uid.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_uid.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL191aWQuanM/Y2E1YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9fdWlkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIGlkID0gMDtcbnZhciBweCA9IE1hdGgucmFuZG9tKCk7XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgcmV0dXJuICdTeW1ib2woJy5jb25jYXQoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSwgJylfJywgKCsraWQgKyBweCkudG9TdHJpbmcoMzYpKTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_uid.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/_wks.js": -/*!**********************************************!*\ - !*** ./node_modules/core-js/modules/_wks.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var store = __webpack_require__(/*! ./_shared */ \"./node_modules/core-js/modules/_shared.js\")('wks');\nvar uid = __webpack_require__(/*! ./_uid */ \"./node_modules/core-js/modules/_uid.js\");\nvar Symbol = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\").Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL193a3MuanM/MmI0YyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLG1CQUFPLENBQUMsNERBQVc7QUFDL0IsVUFBVSxtQkFBTyxDQUFDLHNEQUFRO0FBQzFCLGFBQWEsbUJBQU8sQ0FBQyw0REFBVztBQUNoQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvX3drcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBzdG9yZSA9IHJlcXVpcmUoJy4vX3NoYXJlZCcpKCd3a3MnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuL191aWQnKTtcbnZhciBTeW1ib2wgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5TeW1ib2w7XG52YXIgVVNFX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT0gJ2Z1bmN0aW9uJztcblxudmFyICRleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID1cbiAgICBVU0VfU1lNQk9MICYmIFN5bWJvbFtuYW1lXSB8fCAoVVNFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcblxuJGV4cG9ydHMuc3RvcmUgPSBzdG9yZTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/_wks.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/core.get-iterator-method.js": -/*!******************************************************************!*\ - !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var classof = __webpack_require__(/*! ./_classof */ \"./node_modules/core-js/modules/_classof.js\");\nvar ITERATOR = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\")('iterator');\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nmodule.exports = __webpack_require__(/*! ./_core */ \"./node_modules/core-js/modules/_core.js\").getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZC5qcz8yN2VlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQU8sQ0FBQyw4REFBWTtBQUNsQyxlQUFlLG1CQUFPLENBQUMsc0RBQVE7QUFDL0IsZ0JBQWdCLG1CQUFPLENBQUMsa0VBQWM7QUFDdEMsaUJBQWlCLG1CQUFPLENBQUMsd0RBQVM7QUFDbEM7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2NvcmUuZ2V0LWl0ZXJhdG9yLW1ldGhvZC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBjbGFzc29mID0gcmVxdWlyZSgnLi9fY2xhc3NvZicpO1xudmFyIElURVJBVE9SID0gcmVxdWlyZSgnLi9fd2tzJykoJ2l0ZXJhdG9yJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi9faXRlcmF0b3JzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vX2NvcmUnKS5nZXRJdGVyYXRvck1ldGhvZCA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAoaXQgIT0gdW5kZWZpbmVkKSByZXR1cm4gaXRbSVRFUkFUT1JdXG4gICAgfHwgaXRbJ0BAaXRlcmF0b3InXVxuICAgIHx8IEl0ZXJhdG9yc1tjbGFzc29mKGl0KV07XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/core.get-iterator-method.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.array.from.js": -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es6.array.from.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar ctx = __webpack_require__(/*! ./_ctx */ \"./node_modules/core-js/modules/_ctx.js\");\nvar $export = __webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar call = __webpack_require__(/*! ./_iter-call */ \"./node_modules/core-js/modules/_iter-call.js\");\nvar isArrayIter = __webpack_require__(/*! ./_is-array-iter */ \"./node_modules/core-js/modules/_is-array-iter.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar createProperty = __webpack_require__(/*! ./_create-property */ \"./node_modules/core-js/modules/_create-property.js\");\nvar getIterFn = __webpack_require__(/*! ./core.get-iterator-method */ \"./node_modules/core-js/modules/core.get-iterator-method.js\");\n\n$export($export.S + $export.F * !__webpack_require__(/*! ./_iter-detect */ \"./node_modules/core-js/modules/_iter-detect.js\")(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5mcm9tLmpzPzFjNGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUIsY0FBYyxtQkFBTyxDQUFDLDREQUFXO0FBQ2pDLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxXQUFXLG1CQUFPLENBQUMsa0VBQWM7QUFDakMsa0JBQWtCLG1CQUFPLENBQUMsMEVBQWtCO0FBQzVDLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxxQkFBcUIsbUJBQU8sQ0FBQyw4RUFBb0I7QUFDakQsZ0JBQWdCLG1CQUFPLENBQUMsOEZBQTRCOztBQUVwRCxpQ0FBaUMsbUJBQU8sQ0FBQyxzRUFBZ0IsbUJBQW1CLGtCQUFrQixFQUFFO0FBQ2hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELGdDQUFnQztBQUN2RjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0Esa0NBQWtDLGdCQUFnQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuZnJvbS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciBjYWxsID0gcmVxdWlyZSgnLi9faXRlci1jYWxsJyk7XG52YXIgaXNBcnJheUl0ZXIgPSByZXF1aXJlKCcuL19pcy1hcnJheS1pdGVyJyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuL190by1sZW5ndGgnKTtcbnZhciBjcmVhdGVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4vX2NyZWF0ZS1wcm9wZXJ0eScpO1xudmFyIGdldEl0ZXJGbiA9IHJlcXVpcmUoJy4vY29yZS5nZXQtaXRlcmF0b3ItbWV0aG9kJyk7XG5cbiRleHBvcnQoJGV4cG9ydC5TICsgJGV4cG9ydC5GICogIXJlcXVpcmUoJy4vX2l0ZXItZGV0ZWN0JykoZnVuY3Rpb24gKGl0ZXIpIHsgQXJyYXkuZnJvbShpdGVyKTsgfSksICdBcnJheScsIHtcbiAgLy8gMjIuMS4yLjEgQXJyYXkuZnJvbShhcnJheUxpa2UsIG1hcGZuID0gdW5kZWZpbmVkLCB0aGlzQXJnID0gdW5kZWZpbmVkKVxuICBmcm9tOiBmdW5jdGlvbiBmcm9tKGFycmF5TGlrZSAvKiAsIG1hcGZuID0gdW5kZWZpbmVkLCB0aGlzQXJnID0gdW5kZWZpbmVkICovKSB7XG4gICAgdmFyIE8gPSB0b09iamVjdChhcnJheUxpa2UpO1xuICAgIHZhciBDID0gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyA/IHRoaXMgOiBBcnJheTtcbiAgICB2YXIgYUxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgdmFyIG1hcGZuID0gYUxlbiA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7XG4gICAgdmFyIG1hcHBpbmcgPSBtYXBmbiAhPT0gdW5kZWZpbmVkO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIGl0ZXJGbiA9IGdldEl0ZXJGbihPKTtcbiAgICB2YXIgbGVuZ3RoLCByZXN1bHQsIHN0ZXAsIGl0ZXJhdG9yO1xuICAgIGlmIChtYXBwaW5nKSBtYXBmbiA9IGN0eChtYXBmbiwgYUxlbiA+IDIgPyBhcmd1bWVudHNbMl0gOiB1bmRlZmluZWQsIDIpO1xuICAgIC8vIGlmIG9iamVjdCBpc24ndCBpdGVyYWJsZSBvciBpdCdzIGFycmF5IHdpdGggZGVmYXVsdCBpdGVyYXRvciAtIHVzZSBzaW1wbGUgY2FzZVxuICAgIGlmIChpdGVyRm4gIT0gdW5kZWZpbmVkICYmICEoQyA9PSBBcnJheSAmJiBpc0FycmF5SXRlcihpdGVyRm4pKSkge1xuICAgICAgZm9yIChpdGVyYXRvciA9IGl0ZXJGbi5jYWxsKE8pLCByZXN1bHQgPSBuZXcgQygpOyAhKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmU7IGluZGV4KyspIHtcbiAgICAgICAgY3JlYXRlUHJvcGVydHkocmVzdWx0LCBpbmRleCwgbWFwcGluZyA/IGNhbGwoaXRlcmF0b3IsIG1hcGZuLCBbc3RlcC52YWx1ZSwgaW5kZXhdLCB0cnVlKSA6IHN0ZXAudmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgICBmb3IgKHJlc3VsdCA9IG5ldyBDKGxlbmd0aCk7IGxlbmd0aCA+IGluZGV4OyBpbmRleCsrKSB7XG4gICAgICAgIGNyZWF0ZVByb3BlcnR5KHJlc3VsdCwgaW5kZXgsIG1hcHBpbmcgPyBtYXBmbihPW2luZGV4XSwgaW5kZXgpIDogT1tpbmRleF0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXN1bHQubGVuZ3RoID0gaW5kZXg7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.array.from.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.array.iterator.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es6.array.iterator.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar addToUnscopables = __webpack_require__(/*! ./_add-to-unscopables */ \"./node_modules/core-js/modules/_add-to-unscopables.js\");\nvar step = __webpack_require__(/*! ./_iter-step */ \"./node_modules/core-js/modules/_iter-step.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar toIObject = __webpack_require__(/*! ./_to-iobject */ \"./node_modules/core-js/modules/_to-iobject.js\");\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(/*! ./_iter-define */ \"./node_modules/core-js/modules/_iter-define.js\")(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5pdGVyYXRvci5qcz9jYWRmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsdUJBQXVCLG1CQUFPLENBQUMsb0ZBQXVCO0FBQ3RELFdBQVcsbUJBQU8sQ0FBQyxrRUFBYztBQUNqQyxnQkFBZ0IsbUJBQU8sQ0FBQyxrRUFBYztBQUN0QyxnQkFBZ0IsbUJBQU8sQ0FBQyxvRUFBZTs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsbUJBQU8sQ0FBQyxzRUFBZ0I7QUFDekMsZ0NBQWdDO0FBQ2hDLGNBQWM7QUFDZCxpQkFBaUI7QUFDakI7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuYXJyYXkuaXRlcmF0b3IuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgYWRkVG9VbnNjb3BhYmxlcyA9IHJlcXVpcmUoJy4vX2FkZC10by11bnNjb3BhYmxlcycpO1xudmFyIHN0ZXAgPSByZXF1aXJlKCcuL19pdGVyLXN0ZXAnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciB0b0lPYmplY3QgPSByZXF1aXJlKCcuL190by1pb2JqZWN0Jyk7XG5cbi8vIDIyLjEuMy40IEFycmF5LnByb3RvdHlwZS5lbnRyaWVzKClcbi8vIDIyLjEuMy4xMyBBcnJheS5wcm90b3R5cGUua2V5cygpXG4vLyAyMi4xLjMuMjkgQXJyYXkucHJvdG90eXBlLnZhbHVlcygpXG4vLyAyMi4xLjMuMzAgQXJyYXkucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9faXRlci1kZWZpbmUnKShBcnJheSwgJ0FycmF5JywgZnVuY3Rpb24gKGl0ZXJhdGVkLCBraW5kKSB7XG4gIHRoaXMuX3QgPSB0b0lPYmplY3QoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbiAgdGhpcy5fayA9IGtpbmQ7ICAgICAgICAgICAgICAgIC8vIGtpbmRcbi8vIDIyLjEuNS4yLjEgJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlLm5leHQoKVxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgTyA9IHRoaXMuX3Q7XG4gIHZhciBraW5kID0gdGhpcy5faztcbiAgdmFyIGluZGV4ID0gdGhpcy5faSsrO1xuICBpZiAoIU8gfHwgaW5kZXggPj0gTy5sZW5ndGgpIHtcbiAgICB0aGlzLl90ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBzdGVwKDEpO1xuICB9XG4gIGlmIChraW5kID09ICdrZXlzJykgcmV0dXJuIHN0ZXAoMCwgaW5kZXgpO1xuICBpZiAoa2luZCA9PSAndmFsdWVzJykgcmV0dXJuIHN0ZXAoMCwgT1tpbmRleF0pO1xuICByZXR1cm4gc3RlcCgwLCBbaW5kZXgsIE9baW5kZXhdXSk7XG59LCAndmFsdWVzJyk7XG5cbi8vIGFyZ3VtZW50c0xpc3RbQEBpdGVyYXRvcl0gaXMgJUFycmF5UHJvdG9fdmFsdWVzJSAoOS40LjQuNiwgOS40LjQuNylcbkl0ZXJhdG9ycy5Bcmd1bWVudHMgPSBJdGVyYXRvcnMuQXJyYXk7XG5cbmFkZFRvVW5zY29wYWJsZXMoJ2tleXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ3ZhbHVlcycpO1xuYWRkVG9VbnNjb3BhYmxlcygnZW50cmllcycpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.array.iterator.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.function.name.js": -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es6.function.name.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var dP = __webpack_require__(/*! ./_object-dp */ \"./node_modules/core-js/modules/_object-dp.js\").f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(/*! ./_descriptors */ \"./node_modules/core-js/modules/_descriptors.js\") && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5uYW1lLmpzPzdmN2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUyxtQkFBTyxDQUFDLGtFQUFjO0FBQy9CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFrQixtQkFBTyxDQUFDLHNFQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lczYuZnVuY3Rpb24ubmFtZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBkUCA9IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmY7XG52YXIgRlByb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlO1xudmFyIG5hbWVSRSA9IC9eXFxzKmZ1bmN0aW9uIChbXiAoXSopLztcbnZhciBOQU1FID0gJ25hbWUnO1xuXG4vLyAxOS4yLjQuMiBuYW1lXG5OQU1FIGluIEZQcm90byB8fCByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmIGRQKEZQcm90bywgTkFNRSwge1xuICBjb25maWd1cmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKCcnICsgdGhpcykubWF0Y2gobmFtZVJFKVsxXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.function.name.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.regexp.exec.js": -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es6.regexp.exec.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar regexpExec = __webpack_require__(/*! ./_regexp-exec */ \"./node_modules/core-js/modules/_regexp-exec.js\");\n__webpack_require__(/*! ./_export */ \"./node_modules/core-js/modules/_export.js\")({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAuZXhlYy5qcz9iMGM1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsaUJBQWlCLG1CQUFPLENBQUMsc0VBQWdCO0FBQ3pDLG1CQUFPLENBQUMsNERBQVc7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5leGVjLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xudmFyIHJlZ2V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYycpO1xucmVxdWlyZSgnLi9fZXhwb3J0Jykoe1xuICB0YXJnZXQ6ICdSZWdFeHAnLFxuICBwcm90bzogdHJ1ZSxcbiAgZm9yY2VkOiByZWdleHBFeGVjICE9PSAvLi8uZXhlY1xufSwge1xuICBleGVjOiByZWdleHBFeGVjXG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.regexp.exec.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.regexp.match.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es6.regexp.match.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar advanceStringIndex = __webpack_require__(/*! ./_advance-string-index */ \"./node_modules/core-js/modules/_advance-string-index.js\");\nvar regExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ \"./node_modules/core-js/modules/_regexp-exec-abstract.js\");\n\n// @@match logic\n__webpack_require__(/*! ./_fix-re-wks */ \"./node_modules/core-js/modules/_fix-re-wks.js\")('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAubWF0Y2guanM/NDkxNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLHlCQUF5QixtQkFBTyxDQUFDLHdGQUF5QjtBQUMxRCxpQkFBaUIsbUJBQU8sQ0FBQyx3RkFBeUI7O0FBRWxEO0FBQ0EsbUJBQU8sQ0FBQyxvRUFBZTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAubWF0Y2guanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4vX2FuLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi9fdG8tbGVuZ3RoJyk7XG52YXIgYWR2YW5jZVN0cmluZ0luZGV4ID0gcmVxdWlyZSgnLi9fYWR2YW5jZS1zdHJpbmctaW5kZXgnKTtcbnZhciByZWdFeHBFeGVjID0gcmVxdWlyZSgnLi9fcmVnZXhwLWV4ZWMtYWJzdHJhY3QnKTtcblxuLy8gQEBtYXRjaCBsb2dpY1xucmVxdWlyZSgnLi9fZml4LXJlLXdrcycpKCdtYXRjaCcsIDEsIGZ1bmN0aW9uIChkZWZpbmVkLCBNQVRDSCwgJG1hdGNoLCBtYXliZUNhbGxOYXRpdmUpIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBgU3RyaW5nLnByb3RvdHlwZS5tYXRjaGAgbWV0aG9kXG4gICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtc3RyaW5nLnByb3RvdHlwZS5tYXRjaFxuICAgIGZ1bmN0aW9uIG1hdGNoKHJlZ2V4cCkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIGZuID0gcmVnZXhwID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IHJlZ2V4cFtNQVRDSF07XG4gICAgICByZXR1cm4gZm4gIT09IHVuZGVmaW5lZCA/IGZuLmNhbGwocmVnZXhwLCBPKSA6IG5ldyBSZWdFeHAocmVnZXhwKVtNQVRDSF0oU3RyaW5nKE8pKTtcbiAgICB9LFxuICAgIC8vIGBSZWdFeHAucHJvdG90eXBlW0BAbWF0Y2hdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAbWF0Y2hcbiAgICBmdW5jdGlvbiAocmVnZXhwKSB7XG4gICAgICB2YXIgcmVzID0gbWF5YmVDYWxsTmF0aXZlKCRtYXRjaCwgcmVnZXhwLCB0aGlzKTtcbiAgICAgIGlmIChyZXMuZG9uZSkgcmV0dXJuIHJlcy52YWx1ZTtcbiAgICAgIHZhciByeCA9IGFuT2JqZWN0KHJlZ2V4cCk7XG4gICAgICB2YXIgUyA9IFN0cmluZyh0aGlzKTtcbiAgICAgIGlmICghcnguZ2xvYmFsKSByZXR1cm4gcmVnRXhwRXhlYyhyeCwgUyk7XG4gICAgICB2YXIgZnVsbFVuaWNvZGUgPSByeC51bmljb2RlO1xuICAgICAgcngubGFzdEluZGV4ID0gMDtcbiAgICAgIHZhciBBID0gW107XG4gICAgICB2YXIgbiA9IDA7XG4gICAgICB2YXIgcmVzdWx0O1xuICAgICAgd2hpbGUgKChyZXN1bHQgPSByZWdFeHBFeGVjKHJ4LCBTKSkgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIG1hdGNoU3RyID0gU3RyaW5nKHJlc3VsdFswXSk7XG4gICAgICAgIEFbbl0gPSBtYXRjaFN0cjtcbiAgICAgICAgaWYgKG1hdGNoU3RyID09PSAnJykgcngubGFzdEluZGV4ID0gYWR2YW5jZVN0cmluZ0luZGV4KFMsIHRvTGVuZ3RoKHJ4Lmxhc3RJbmRleCksIGZ1bGxVbmljb2RlKTtcbiAgICAgICAgbisrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG4gPT09IDAgPyBudWxsIDogQTtcbiAgICB9XG4gIF07XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.regexp.match.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.regexp.replace.js": -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es6.regexp.replace.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nvar anObject = __webpack_require__(/*! ./_an-object */ \"./node_modules/core-js/modules/_an-object.js\");\nvar toObject = __webpack_require__(/*! ./_to-object */ \"./node_modules/core-js/modules/_to-object.js\");\nvar toLength = __webpack_require__(/*! ./_to-length */ \"./node_modules/core-js/modules/_to-length.js\");\nvar toInteger = __webpack_require__(/*! ./_to-integer */ \"./node_modules/core-js/modules/_to-integer.js\");\nvar advanceStringIndex = __webpack_require__(/*! ./_advance-string-index */ \"./node_modules/core-js/modules/_advance-string-index.js\");\nvar regExpExec = __webpack_require__(/*! ./_regexp-exec-abstract */ \"./node_modules/core-js/modules/_regexp-exec-abstract.js\");\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(/*! ./_fix-re-wks */ \"./node_modules/core-js/modules/_fix-re-wks.js\")('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAucmVwbGFjZS5qcz9hNDgxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGVBQWUsbUJBQU8sQ0FBQyxrRUFBYztBQUNyQyxlQUFlLG1CQUFPLENBQUMsa0VBQWM7QUFDckMsZUFBZSxtQkFBTyxDQUFDLGtFQUFjO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLG9FQUFlO0FBQ3ZDLHlCQUF5QixtQkFBTyxDQUFDLHdGQUF5QjtBQUMxRCxpQkFBaUIsbUJBQU8sQ0FBQyx3RkFBeUI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBTyxDQUFDLG9FQUFlO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsb0JBQW9CO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixtQkFBbUI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAucmVwbGFjZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi9fYW4tb2JqZWN0Jyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuL190by1vYmplY3QnKTtcbnZhciB0b0xlbmd0aCA9IHJlcXVpcmUoJy4vX3RvLWxlbmd0aCcpO1xudmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4vX3RvLWludGVnZXInKTtcbnZhciBhZHZhbmNlU3RyaW5nSW5kZXggPSByZXF1aXJlKCcuL19hZHZhbmNlLXN0cmluZy1pbmRleCcpO1xudmFyIHJlZ0V4cEV4ZWMgPSByZXF1aXJlKCcuL19yZWdleHAtZXhlYy1hYnN0cmFjdCcpO1xudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xudmFyIGZsb29yID0gTWF0aC5mbG9vcjtcbnZhciBTVUJTVElUVVRJT05fU1lNQk9MUyA9IC9cXCQoWyQmYCddfFxcZFxcZD98PFtePl0qPikvZztcbnZhciBTVUJTVElUVVRJT05fU1lNQk9MU19OT19OQU1FRCA9IC9cXCQoWyQmYCddfFxcZFxcZD8pL2c7XG5cbnZhciBtYXliZVRvU3RyaW5nID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCA9PT0gdW5kZWZpbmVkID8gaXQgOiBTdHJpbmcoaXQpO1xufTtcblxuLy8gQEByZXBsYWNlIGxvZ2ljXG5yZXF1aXJlKCcuL19maXgtcmUtd2tzJykoJ3JlcGxhY2UnLCAyLCBmdW5jdGlvbiAoZGVmaW5lZCwgUkVQTEFDRSwgJHJlcGxhY2UsIG1heWJlQ2FsbE5hdGl2ZSkge1xuICByZXR1cm4gW1xuICAgIC8vIGBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VgIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXN0cmluZy5wcm90b3R5cGUucmVwbGFjZVxuICAgIGZ1bmN0aW9uIHJlcGxhY2Uoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkge1xuICAgICAgdmFyIE8gPSBkZWZpbmVkKHRoaXMpO1xuICAgICAgdmFyIGZuID0gc2VhcmNoVmFsdWUgPT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogc2VhcmNoVmFsdWVbUkVQTEFDRV07XG4gICAgICByZXR1cm4gZm4gIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGZuLmNhbGwoc2VhcmNoVmFsdWUsIE8sIHJlcGxhY2VWYWx1ZSlcbiAgICAgICAgOiAkcmVwbGFjZS5jYWxsKFN0cmluZyhPKSwgc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSk7XG4gICAgfSxcbiAgICAvLyBgUmVnRXhwLnByb3RvdHlwZVtAQHJlcGxhY2VdYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWdleHAucHJvdG90eXBlLUBAcmVwbGFjZVxuICAgIGZ1bmN0aW9uIChyZWdleHAsIHJlcGxhY2VWYWx1ZSkge1xuICAgICAgdmFyIHJlcyA9IG1heWJlQ2FsbE5hdGl2ZSgkcmVwbGFjZSwgcmVnZXhwLCB0aGlzLCByZXBsYWNlVmFsdWUpO1xuICAgICAgaWYgKHJlcy5kb25lKSByZXR1cm4gcmVzLnZhbHVlO1xuXG4gICAgICB2YXIgcnggPSBhbk9iamVjdChyZWdleHApO1xuICAgICAgdmFyIFMgPSBTdHJpbmcodGhpcyk7XG4gICAgICB2YXIgZnVuY3Rpb25hbFJlcGxhY2UgPSB0eXBlb2YgcmVwbGFjZVZhbHVlID09PSAnZnVuY3Rpb24nO1xuICAgICAgaWYgKCFmdW5jdGlvbmFsUmVwbGFjZSkgcmVwbGFjZVZhbHVlID0gU3RyaW5nKHJlcGxhY2VWYWx1ZSk7XG4gICAgICB2YXIgZ2xvYmFsID0gcnguZ2xvYmFsO1xuICAgICAgaWYgKGdsb2JhbCkge1xuICAgICAgICB2YXIgZnVsbFVuaWNvZGUgPSByeC51bmljb2RlO1xuICAgICAgICByeC5sYXN0SW5kZXggPSAwO1xuICAgICAgfVxuICAgICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZWdFeHBFeGVjKHJ4LCBTKTtcbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCkgYnJlYWs7XG4gICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHQpO1xuICAgICAgICBpZiAoIWdsb2JhbCkgYnJlYWs7XG4gICAgICAgIHZhciBtYXRjaFN0ciA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICBpZiAobWF0Y2hTdHIgPT09ICcnKSByeC5sYXN0SW5kZXggPSBhZHZhbmNlU3RyaW5nSW5kZXgoUywgdG9MZW5ndGgocngubGFzdEluZGV4KSwgZnVsbFVuaWNvZGUpO1xuICAgICAgfVxuICAgICAgdmFyIGFjY3VtdWxhdGVkUmVzdWx0ID0gJyc7XG4gICAgICB2YXIgbmV4dFNvdXJjZVBvc2l0aW9uID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgPSByZXN1bHRzW2ldO1xuICAgICAgICB2YXIgbWF0Y2hlZCA9IFN0cmluZyhyZXN1bHRbMF0pO1xuICAgICAgICB2YXIgcG9zaXRpb24gPSBtYXgobWluKHRvSW50ZWdlcihyZXN1bHQuaW5kZXgpLCBTLmxlbmd0aCksIDApO1xuICAgICAgICB2YXIgY2FwdHVyZXMgPSBbXTtcbiAgICAgICAgLy8gTk9URTogVGhpcyBpcyBlcXVpdmFsZW50IHRvXG4gICAgICAgIC8vICAgY2FwdHVyZXMgPSByZXN1bHQuc2xpY2UoMSkubWFwKG1heWJlVG9TdHJpbmcpXG4gICAgICAgIC8vIGJ1dCBmb3Igc29tZSByZWFzb24gYG5hdGl2ZVNsaWNlLmNhbGwocmVzdWx0LCAxLCByZXN1bHQubGVuZ3RoKWAgKGNhbGxlZCBpblxuICAgICAgICAvLyB0aGUgc2xpY2UgcG9seWZpbGwgd2hlbiBzbGljaW5nIG5hdGl2ZSBhcnJheXMpIFwiZG9lc24ndCB3b3JrXCIgaW4gc2FmYXJpIDkgYW5kXG4gICAgICAgIC8vIGNhdXNlcyBhIGNyYXNoIChodHRwczovL3Bhc3RlYmluLmNvbS9OMjFRemVRQSkgd2hlbiB0cnlpbmcgdG8gZGVidWcgaXQuXG4gICAgICAgIGZvciAodmFyIGogPSAxOyBqIDwgcmVzdWx0Lmxlbmd0aDsgaisrKSBjYXB0dXJlcy5wdXNoKG1heWJlVG9TdHJpbmcocmVzdWx0W2pdKSk7XG4gICAgICAgIHZhciBuYW1lZENhcHR1cmVzID0gcmVzdWx0Lmdyb3VwcztcbiAgICAgICAgaWYgKGZ1bmN0aW9uYWxSZXBsYWNlKSB7XG4gICAgICAgICAgdmFyIHJlcGxhY2VyQXJncyA9IFttYXRjaGVkXS5jb25jYXQoY2FwdHVyZXMsIHBvc2l0aW9uLCBTKTtcbiAgICAgICAgICBpZiAobmFtZWRDYXB0dXJlcyAhPT0gdW5kZWZpbmVkKSByZXBsYWNlckFyZ3MucHVzaChuYW1lZENhcHR1cmVzKTtcbiAgICAgICAgICB2YXIgcmVwbGFjZW1lbnQgPSBTdHJpbmcocmVwbGFjZVZhbHVlLmFwcGx5KHVuZGVmaW5lZCwgcmVwbGFjZXJBcmdzKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBnZXRTdWJzdGl0dXRpb24obWF0Y2hlZCwgUywgcG9zaXRpb24sIGNhcHR1cmVzLCBuYW1lZENhcHR1cmVzLCByZXBsYWNlVmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3NpdGlvbiA+PSBuZXh0U291cmNlUG9zaXRpb24pIHtcbiAgICAgICAgICBhY2N1bXVsYXRlZFJlc3VsdCArPSBTLnNsaWNlKG5leHRTb3VyY2VQb3NpdGlvbiwgcG9zaXRpb24pICsgcmVwbGFjZW1lbnQ7XG4gICAgICAgICAgbmV4dFNvdXJjZVBvc2l0aW9uID0gcG9zaXRpb24gKyBtYXRjaGVkLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFjY3VtdWxhdGVkUmVzdWx0ICsgUy5zbGljZShuZXh0U291cmNlUG9zaXRpb24pO1xuICAgIH1cbiAgXTtcblxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWdldHN1YnN0aXR1dGlvblxuICBmdW5jdGlvbiBnZXRTdWJzdGl0dXRpb24obWF0Y2hlZCwgc3RyLCBwb3NpdGlvbiwgY2FwdHVyZXMsIG5hbWVkQ2FwdHVyZXMsIHJlcGxhY2VtZW50KSB7XG4gICAgdmFyIHRhaWxQb3MgPSBwb3NpdGlvbiArIG1hdGNoZWQubGVuZ3RoO1xuICAgIHZhciBtID0gY2FwdHVyZXMubGVuZ3RoO1xuICAgIHZhciBzeW1ib2xzID0gU1VCU1RJVFVUSU9OX1NZTUJPTFNfTk9fTkFNRUQ7XG4gICAgaWYgKG5hbWVkQ2FwdHVyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbmFtZWRDYXB0dXJlcyA9IHRvT2JqZWN0KG5hbWVkQ2FwdHVyZXMpO1xuICAgICAgc3ltYm9scyA9IFNVQlNUSVRVVElPTl9TWU1CT0xTO1xuICAgIH1cbiAgICByZXR1cm4gJHJlcGxhY2UuY2FsbChyZXBsYWNlbWVudCwgc3ltYm9scywgZnVuY3Rpb24gKG1hdGNoLCBjaCkge1xuICAgICAgdmFyIGNhcHR1cmU7XG4gICAgICBzd2l0Y2ggKGNoLmNoYXJBdCgwKSkge1xuICAgICAgICBjYXNlICckJzogcmV0dXJuICckJztcbiAgICAgICAgY2FzZSAnJic6IHJldHVybiBtYXRjaGVkO1xuICAgICAgICBjYXNlICdgJzogcmV0dXJuIHN0ci5zbGljZSgwLCBwb3NpdGlvbik7XG4gICAgICAgIGNhc2UgXCInXCI6IHJldHVybiBzdHIuc2xpY2UodGFpbFBvcyk7XG4gICAgICAgIGNhc2UgJzwnOlxuICAgICAgICAgIGNhcHR1cmUgPSBuYW1lZENhcHR1cmVzW2NoLnNsaWNlKDEsIC0xKV07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IC8vIFxcZFxcZD9cbiAgICAgICAgICB2YXIgbiA9ICtjaDtcbiAgICAgICAgICBpZiAobiA9PT0gMCkgcmV0dXJuIG1hdGNoO1xuICAgICAgICAgIGlmIChuID4gbSkge1xuICAgICAgICAgICAgdmFyIGYgPSBmbG9vcihuIC8gMTApO1xuICAgICAgICAgICAgaWYgKGYgPT09IDApIHJldHVybiBtYXRjaDtcbiAgICAgICAgICAgIGlmIChmIDw9IG0pIHJldHVybiBjYXB0dXJlc1tmIC0gMV0gPT09IHVuZGVmaW5lZCA/IGNoLmNoYXJBdCgxKSA6IGNhcHR1cmVzW2YgLSAxXSArIGNoLmNoYXJBdCgxKTtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaDtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FwdHVyZSA9IGNhcHR1cmVzW24gLSAxXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYXB0dXJlID09PSB1bmRlZmluZWQgPyAnJyA6IGNhcHR1cmU7XG4gICAgfSk7XG4gIH1cbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.regexp.replace.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/es6.string.iterator.js": -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es6.string.iterator.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\nvar $at = __webpack_require__(/*! ./_string-at */ \"./node_modules/core-js/modules/_string-at.js\")(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(/*! ./_iter-define */ \"./node_modules/core-js/modules/_iter-define.js\")(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3IuanM/NWRmMyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTtBQUNiLFVBQVUsbUJBQU8sQ0FBQyxrRUFBYzs7QUFFaEM7QUFDQSxtQkFBTyxDQUFDLHNFQUFnQjtBQUN4Qiw2QkFBNkI7QUFDN0IsY0FBYztBQUNkO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQztBQUNBO0FBQ0EsVUFBVTtBQUNWLENBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzNi5zdHJpbmcuaXRlcmF0b3IuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG52YXIgJGF0ID0gcmVxdWlyZSgnLi9fc3RyaW5nLWF0JykodHJ1ZSk7XG5cbi8vIDIxLjEuMy4yNyBTdHJpbmcucHJvdG90eXBlW0BAaXRlcmF0b3JdKClcbnJlcXVpcmUoJy4vX2l0ZXItZGVmaW5lJykoU3RyaW5nLCAnU3RyaW5nJywgZnVuY3Rpb24gKGl0ZXJhdGVkKSB7XG4gIHRoaXMuX3QgPSBTdHJpbmcoaXRlcmF0ZWQpOyAvLyB0YXJnZXRcbiAgdGhpcy5faSA9IDA7ICAgICAgICAgICAgICAgIC8vIG5leHQgaW5kZXhcbi8vIDIxLjEuNS4yLjEgJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJS5uZXh0KClcbn0sIGZ1bmN0aW9uICgpIHtcbiAgdmFyIE8gPSB0aGlzLl90O1xuICB2YXIgaW5kZXggPSB0aGlzLl9pO1xuICB2YXIgcG9pbnQ7XG4gIGlmIChpbmRleCA+PSBPLmxlbmd0aCkgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICBwb2ludCA9ICRhdChPLCBpbmRleCk7XG4gIHRoaXMuX2kgKz0gcG9pbnQubGVuZ3RoO1xuICByZXR1cm4geyB2YWx1ZTogcG9pbnQsIGRvbmU6IGZhbHNlIH07XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/es6.string.iterator.js\n"); - -/***/ }), - -/***/ "./node_modules/core-js/modules/web.dom.iterable.js": -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/web.dom.iterable.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var $iterators = __webpack_require__(/*! ./es6.array.iterator */ \"./node_modules/core-js/modules/es6.array.iterator.js\");\nvar getKeys = __webpack_require__(/*! ./_object-keys */ \"./node_modules/core-js/modules/_object-keys.js\");\nvar redefine = __webpack_require__(/*! ./_redefine */ \"./node_modules/core-js/modules/_redefine.js\");\nvar global = __webpack_require__(/*! ./_global */ \"./node_modules/core-js/modules/_global.js\");\nvar hide = __webpack_require__(/*! ./_hide */ \"./node_modules/core-js/modules/_hide.js\");\nvar Iterators = __webpack_require__(/*! ./_iterators */ \"./node_modules/core-js/modules/_iterators.js\");\nvar wks = __webpack_require__(/*! ./_wks */ \"./node_modules/core-js/modules/_wks.js\");\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL3dlYi5kb20uaXRlcmFibGUuanM/YWM2YSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsbUJBQU8sQ0FBQyxrRkFBc0I7QUFDL0MsY0FBYyxtQkFBTyxDQUFDLHNFQUFnQjtBQUN0QyxlQUFlLG1CQUFPLENBQUMsZ0VBQWE7QUFDcEMsYUFBYSxtQkFBTyxDQUFDLDREQUFXO0FBQ2hDLFdBQVcsbUJBQU8sQ0FBQyx3REFBUztBQUM1QixnQkFBZ0IsbUJBQU8sQ0FBQyxrRUFBYztBQUN0QyxVQUFVLG1CQUFPLENBQUMsc0RBQVE7QUFDMUI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxvREFBb0Qsd0JBQXdCO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciAkaXRlcmF0b3JzID0gcmVxdWlyZSgnLi9lczYuYXJyYXkuaXRlcmF0b3InKTtcbnZhciBnZXRLZXlzID0gcmVxdWlyZSgnLi9fb2JqZWN0LWtleXMnKTtcbnZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4vX3JlZGVmaW5lJyk7XG52YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4vX2hpZGUnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuL19pdGVyYXRvcnMnKTtcbnZhciB3a3MgPSByZXF1aXJlKCcuL193a3MnKTtcbnZhciBJVEVSQVRPUiA9IHdrcygnaXRlcmF0b3InKTtcbnZhciBUT19TVFJJTkdfVEFHID0gd2tzKCd0b1N0cmluZ1RhZycpO1xudmFyIEFycmF5VmFsdWVzID0gSXRlcmF0b3JzLkFycmF5O1xuXG52YXIgRE9NSXRlcmFibGVzID0ge1xuICBDU1NSdWxlTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIENTU1N0eWxlRGVjbGFyYXRpb246IGZhbHNlLFxuICBDU1NWYWx1ZUxpc3Q6IGZhbHNlLFxuICBDbGllbnRSZWN0TGlzdDogZmFsc2UsXG4gIERPTVJlY3RMaXN0OiBmYWxzZSxcbiAgRE9NU3RyaW5nTGlzdDogZmFsc2UsXG4gIERPTVRva2VuTGlzdDogdHJ1ZSxcbiAgRGF0YVRyYW5zZmVySXRlbUxpc3Q6IGZhbHNlLFxuICBGaWxlTGlzdDogZmFsc2UsXG4gIEhUTUxBbGxDb2xsZWN0aW9uOiBmYWxzZSxcbiAgSFRNTENvbGxlY3Rpb246IGZhbHNlLFxuICBIVE1MRm9ybUVsZW1lbnQ6IGZhbHNlLFxuICBIVE1MU2VsZWN0RWxlbWVudDogZmFsc2UsXG4gIE1lZGlhTGlzdDogdHJ1ZSwgLy8gVE9ETzogTm90IHNwZWMgY29tcGxpYW50LCBzaG91bGQgYmUgZmFsc2UuXG4gIE1pbWVUeXBlQXJyYXk6IGZhbHNlLFxuICBOYW1lZE5vZGVNYXA6IGZhbHNlLFxuICBOb2RlTGlzdDogdHJ1ZSxcbiAgUGFpbnRSZXF1ZXN0TGlzdDogZmFsc2UsXG4gIFBsdWdpbjogZmFsc2UsXG4gIFBsdWdpbkFycmF5OiBmYWxzZSxcbiAgU1ZHTGVuZ3RoTGlzdDogZmFsc2UsXG4gIFNWR051bWJlckxpc3Q6IGZhbHNlLFxuICBTVkdQYXRoU2VnTGlzdDogZmFsc2UsXG4gIFNWR1BvaW50TGlzdDogZmFsc2UsXG4gIFNWR1N0cmluZ0xpc3Q6IGZhbHNlLFxuICBTVkdUcmFuc2Zvcm1MaXN0OiBmYWxzZSxcbiAgU291cmNlQnVmZmVyTGlzdDogZmFsc2UsXG4gIFN0eWxlU2hlZXRMaXN0OiB0cnVlLCAvLyBUT0RPOiBOb3Qgc3BlYyBjb21wbGlhbnQsIHNob3VsZCBiZSBmYWxzZS5cbiAgVGV4dFRyYWNrQ3VlTGlzdDogZmFsc2UsXG4gIFRleHRUcmFja0xpc3Q6IGZhbHNlLFxuICBUb3VjaExpc3Q6IGZhbHNlXG59O1xuXG5mb3IgKHZhciBjb2xsZWN0aW9ucyA9IGdldEtleXMoRE9NSXRlcmFibGVzKSwgaSA9IDA7IGkgPCBjb2xsZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICB2YXIgTkFNRSA9IGNvbGxlY3Rpb25zW2ldO1xuICB2YXIgZXhwbGljaXQgPSBET01JdGVyYWJsZXNbTkFNRV07XG4gIHZhciBDb2xsZWN0aW9uID0gZ2xvYmFsW05BTUVdO1xuICB2YXIgcHJvdG8gPSBDb2xsZWN0aW9uICYmIENvbGxlY3Rpb24ucHJvdG90eXBlO1xuICB2YXIga2V5O1xuICBpZiAocHJvdG8pIHtcbiAgICBpZiAoIXByb3RvW0lURVJBVE9SXSkgaGlkZShwcm90bywgSVRFUkFUT1IsIEFycmF5VmFsdWVzKTtcbiAgICBpZiAoIXByb3RvW1RPX1NUUklOR19UQUddKSBoaWRlKHByb3RvLCBUT19TVFJJTkdfVEFHLCBOQU1FKTtcbiAgICBJdGVyYXRvcnNbTkFNRV0gPSBBcnJheVZhbHVlcztcbiAgICBpZiAoZXhwbGljaXQpIGZvciAoa2V5IGluICRpdGVyYXRvcnMpIGlmICghcHJvdG9ba2V5XSkgcmVkZWZpbmUocHJvdG8sIGtleSwgJGl0ZXJhdG9yc1trZXldLCB0cnVlKTtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/core-js/modules/web.dom.iterable.js\n"); - -/***/ }), - -/***/ "./node_modules/lodash.debounce/index.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash.debounce/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoLmRlYm91bmNlL2luZGV4LmpzP2Y3ZmUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPLFlBQVk7QUFDOUIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsOENBQThDLGtCQUFrQjtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLmRlYm91bmNlL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBsb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJucG1cIiAtbyAuL2BcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL2pxdWVyeS5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG5cbi8qKiBVc2VkIGFzIHRoZSBgVHlwZUVycm9yYCBtZXNzYWdlIGZvciBcIkZ1bmN0aW9uc1wiIG1ldGhvZHMuICovXG52YXIgRlVOQ19FUlJPUl9URVhUID0gJ0V4cGVjdGVkIGEgZnVuY3Rpb24nO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBOQU4gPSAwIC8gMDtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKiogVXNlZCB0byBtYXRjaCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlLiAqL1xudmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCYWRIZXggPSAvXlstK10weFswLTlhLWZdKyQvaTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGJpbmFyeSBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBvY3RhbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbi8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG52YXIgZnJlZVBhcnNlSW50ID0gcGFyc2VJbnQ7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVNYXggPSBNYXRoLm1heCxcbiAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbjtcblxuLyoqXG4gKiBHZXRzIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdGhhdCBoYXZlIGVsYXBzZWQgc2luY2VcbiAqIHRoZSBVbml4IGVwb2NoICgxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBEYXRlXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSB0aW1lc3RhbXAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uZGVmZXIoZnVuY3Rpb24oc3RhbXApIHtcbiAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAqIH0sIF8ubm93KCkpO1xuICogLy8gPT4gTG9ncyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpdCB0b29rIGZvciB0aGUgZGVmZXJyZWQgaW52b2NhdGlvbi5cbiAqL1xudmFyIG5vdyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGVib3VuY2VkIGZ1bmN0aW9uIHRoYXQgZGVsYXlzIGludm9raW5nIGBmdW5jYCB1bnRpbCBhZnRlciBgd2FpdGBcbiAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICogaW52b2tlZC4gVGhlIGRlYm91bmNlZCBmdW5jdGlvbiBjb21lcyB3aXRoIGEgYGNhbmNlbGAgbWV0aG9kIHRvIGNhbmNlbFxuICogZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG8gaW1tZWRpYXRlbHkgaW52b2tlIHRoZW0uXG4gKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAqIGxlYWRpbmcgYW5kL29yIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGB3YWl0YCB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWRcbiAqIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24uIFN1YnNlcXVlbnRcbiAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gKiBpbnZvY2F0aW9uLlxuICpcbiAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAqIGludm9rZWQgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQgb25seSBpZiB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uXG4gKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gKlxuICogSWYgYHdhaXRgIGlzIGAwYCBhbmQgYGxlYWRpbmdgIGlzIGBmYWxzZWAsIGBmdW5jYCBpbnZvY2F0aW9uIGlzIGRlZmVycmVkXG4gKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gKlxuICogU2VlIFtEYXZpZCBDb3JiYWNobydzIGFydGljbGVdKGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZGVib3VuY2luZy10aHJvdHRsaW5nLWV4cGxhaW5lZC1leGFtcGxlcy8pXG4gKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLmRlYm91bmNlYCBhbmQgYF8udGhyb3R0bGVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz1mYWxzZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4V2FpdF1cbiAqICBUaGUgbWF4aW11bSB0aW1lIGBmdW5jYCBpcyBhbGxvd2VkIHRvIGJlIGRlbGF5ZWQgYmVmb3JlIGl0J3MgaW52b2tlZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZGVib3VuY2VkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCBjb3N0bHkgY2FsY3VsYXRpb25zIHdoaWxlIHRoZSB3aW5kb3cgc2l6ZSBpcyBpbiBmbHV4LlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAqXG4gKiAvLyBJbnZva2UgYHNlbmRNYWlsYCB3aGVuIGNsaWNrZWQsIGRlYm91bmNpbmcgc3Vic2VxdWVudCBjYWxscy5cbiAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAqICAgJ2xlYWRpbmcnOiB0cnVlLFxuICogICAndHJhaWxpbmcnOiBmYWxzZVxuICogfSkpO1xuICpcbiAqIC8vIEVuc3VyZSBgYmF0Y2hMb2dgIGlzIGludm9rZWQgb25jZSBhZnRlciAxIHNlY29uZCBvZiBkZWJvdW5jZWQgY2FsbHMuXG4gKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAqIHZhciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJy9zdHJlYW0nKTtcbiAqIGpRdWVyeShzb3VyY2UpLm9uKCdtZXNzYWdlJywgZGVib3VuY2VkKTtcbiAqXG4gKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIGRlYm91bmNlZCBpbnZvY2F0aW9uLlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3BvcHN0YXRlJywgZGVib3VuY2VkLmNhbmNlbCk7XG4gKi9cbmZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgdmFyIGxhc3RBcmdzLFxuICAgICAgbGFzdFRoaXMsXG4gICAgICBtYXhXYWl0LFxuICAgICAgcmVzdWx0LFxuICAgICAgdGltZXJJZCxcbiAgICAgIGxhc3RDYWxsVGltZSxcbiAgICAgIGxhc3RJbnZva2VUaW1lID0gMCxcbiAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgIG1heGluZyA9IGZhbHNlLFxuICAgICAgdHJhaWxpbmcgPSB0cnVlO1xuXG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICB9XG4gIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICBsZWFkaW5nID0gISFvcHRpb25zLmxlYWRpbmc7XG4gICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgbWF4V2FpdCA9IG1heGluZyA/IG5hdGl2ZU1heCh0b051bWJlcihvcHRpb25zLm1heFdhaXQpIHx8IDAsIHdhaXQpIDogbWF4V2FpdDtcbiAgICB0cmFpbGluZyA9ICd0cmFpbGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy50cmFpbGluZyA6IHRyYWlsaW5nO1xuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKSB7XG4gICAgdmFyIGFyZ3MgPSBsYXN0QXJncyxcbiAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgIC8vIFJlc2V0IGFueSBgbWF4V2FpdGAgdGltZXIuXG4gICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAvLyBJbnZva2UgdGhlIGxlYWRpbmcgZWRnZS5cbiAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiByZW1haW5pbmdXYWl0KHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lLFxuICAgICAgICByZXN1bHQgPSB3YWl0IC0gdGltZVNpbmNlTGFzdENhbGw7XG5cbiAgICByZXR1cm4gbWF4aW5nID8gbmF0aXZlTWluKHJlc3VsdCwgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpIDogcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lO1xuXG4gICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAvLyB0cmFpbGluZyBlZGdlLCB0aGUgc3lzdGVtIHRpbWUgaGFzIGdvbmUgYmFja3dhcmRzIGFuZCB3ZSdyZSB0cmVhdGluZ1xuICAgIC8vIGl0IGFzIHRoZSB0cmFpbGluZyBlZGdlLCBvciB3ZSd2ZSBoaXQgdGhlIGBtYXhXYWl0YCBsaW1pdC5cbiAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgKHRpbWVTaW5jZUxhc3RDYWxsIDwgMCkgfHwgKG1heGluZyAmJiB0aW1lU2luY2VMYXN0SW52b2tlID49IG1heFdhaXQpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICB2YXIgdGltZSA9IG5vdygpO1xuICAgIGlmIChzaG91bGRJbnZva2UodGltZSkpIHtcbiAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgfVxuICAgIC8vIFJlc3RhcnQgdGhlIHRpbWVyLlxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gIH1cblxuICBmdW5jdGlvbiB0cmFpbGluZ0VkZ2UodGltZSkge1xuICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBPbmx5IGludm9rZSBpZiB3ZSBoYXZlIGBsYXN0QXJnc2Agd2hpY2ggbWVhbnMgYGZ1bmNgIGhhcyBiZWVuXG4gICAgLy8gZGVib3VuY2VkIGF0IGxlYXN0IG9uY2UuXG4gICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICByZXR1cm4gaW52b2tlRnVuYyh0aW1lKTtcbiAgICB9XG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgIGlmICh0aW1lcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICB9XG4gICAgbGFzdEludm9rZVRpbWUgPSAwO1xuICAgIGxhc3RBcmdzID0gbGFzdENhbGxUaW1lID0gbGFzdFRoaXMgPSB0aW1lcklkID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZmx1c2goKSB7XG4gICAgcmV0dXJuIHRpbWVySWQgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IHRyYWlsaW5nRWRnZShub3coKSk7XG4gIH1cblxuICBmdW5jdGlvbiBkZWJvdW5jZWQoKSB7XG4gICAgdmFyIHRpbWUgPSBub3coKSxcbiAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xuICAgIGxhc3RUaGlzID0gdGhpcztcbiAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgaWYgKGlzSW52b2tpbmcpIHtcbiAgICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgICBpZiAobWF4aW5nKSB7XG4gICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIHJldHVybiBpbnZva2VGdW5jKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZGVib3VuY2VkLmNhbmNlbCA9IGNhbmNlbDtcbiAgZGVib3VuY2VkLmZsdXNoID0gZmx1c2g7XG4gIHJldHVybiBkZWJvdW5jZWQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLiBBIHZhbHVlIGlzIG9iamVjdC1saWtlIGlmIGl0J3Mgbm90IGBudWxsYFxuICogYW5kIGhhcyBhIGB0eXBlb2ZgIHJlc3VsdCBvZiBcIm9iamVjdFwiLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN5bWJvbGAgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzeW1ib2wnIHx8XG4gICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgb2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT0gc3ltYm9sVGFnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgbnVtYmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvTnVtYmVyKDMuMik7XG4gKiAvLyA9PiAzLjJcbiAqXG4gKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gNWUtMzI0XG4gKlxuICogXy50b051bWJlcihJbmZpbml0eSk7XG4gKiAvLyA9PiBJbmZpbml0eVxuICpcbiAqIF8udG9OdW1iZXIoJzMuMicpO1xuICogLy8gPT4gMy4yXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBOQU47XG4gIH1cbiAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHZhciBvdGhlciA9IHR5cGVvZiB2YWx1ZS52YWx1ZU9mID09ICdmdW5jdGlvbicgPyB2YWx1ZS52YWx1ZU9mKCkgOiB2YWx1ZTtcbiAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgfVxuICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UocmVUcmltLCAnJyk7XG4gIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gIHJldHVybiAoaXNCaW5hcnkgfHwgcmVJc09jdGFsLnRlc3QodmFsdWUpKVxuICAgID8gZnJlZVBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCBpc0JpbmFyeSA/IDIgOiA4KVxuICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGRlYm91bmNlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lodash.debounce/index.js\n"); - -/***/ }), - -/***/ "./node_modules/lodash.memoize/index.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash.memoize/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoLm1lbW9pemUvaW5kZXguanM/YmIyMSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsRUFBRTtBQUNmO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtB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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLm1lbW9pemUvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGxvZGFzaCAoQ3VzdG9tIEJ1aWxkKSA8aHR0cHM6Ly9sb2Rhc2guY29tLz5cbiAqIEJ1aWxkOiBgbG9kYXNoIG1vZHVsYXJpemUgZXhwb3J0cz1cIm5wbVwiIC1vIC4vYFxuICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vanF1ZXJ5Lm9yZy8+XG4gKiBSZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZSA8aHR0cHM6Ly9sb2Rhc2guY29tL2xpY2Vuc2U+XG4gKiBCYXNlZCBvbiBVbmRlcnNjb3JlLmpzIDEuOC4zIDxodHRwOi8vdW5kZXJzY29yZWpzLm9yZy9MSUNFTlNFPlxuICogQ29weXJpZ2h0IEplcmVteSBBc2hrZW5hcywgRG9jdW1lbnRDbG91ZCBhbmQgSW52ZXN0aWdhdGl2ZSBSZXBvcnRlcnMgJiBFZGl0b3JzXG4gKi9cblxuLyoqIFVzZWQgYXMgdGhlIGBUeXBlRXJyb3JgIG1lc3NhZ2UgZm9yIFwiRnVuY3Rpb25zXCIgbWV0aG9kcy4gKi9cbnZhciBGVU5DX0VSUk9SX1RFWFQgPSAnRXhwZWN0ZWQgYSBmdW5jdGlvbic7XG5cbi8qKiBVc2VkIHRvIHN0YW5kLWluIGZvciBgdW5kZWZpbmVkYCBoYXNoIHZhbHVlcy4gKi9cbnZhciBIQVNIX1VOREVGSU5FRCA9ICdfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fJztcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIGZ1bmNUYWcgPSAnW29iamVjdCBGdW5jdGlvbl0nLFxuICAgIGdlblRhZyA9ICdbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSc7XG5cbi8qKlxuICogVXNlZCB0byBtYXRjaCBgUmVnRXhwYFxuICogW3N5bnRheCBjaGFyYWN0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1wYXR0ZXJucykuXG4gKi9cbnZhciByZVJlZ0V4cENoYXIgPSAvW1xcXFxeJC4qKz8oKVtcXF17fXxdL2c7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBob3N0IGNvbnN0cnVjdG9ycyAoU2FmYXJpKS4gKi9cbnZhciByZUlzSG9zdEN0b3IgPSAvXlxcW29iamVjdCAuKz9Db25zdHJ1Y3RvclxcXSQvO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGdsb2JhbGAgZnJvbSBOb2RlLmpzLiAqL1xudmFyIGZyZWVHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGdsb2JhbCAmJiBnbG9iYWwuT2JqZWN0ID09PSBPYmplY3QgJiYgZ2xvYmFsO1xuXG4vKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYHNlbGZgLiAqL1xudmFyIGZyZWVTZWxmID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZiAmJiBzZWxmLk9iamVjdCA9PT0gT2JqZWN0ICYmIHNlbGY7XG5cbi8qKiBVc2VkIGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgb2JqZWN0LiAqL1xudmFyIHJvb3QgPSBmcmVlR2xvYmFsIHx8IGZyZWVTZWxmIHx8IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsdWUgYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb2JqZWN0XSBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlKG9iamVjdCwga2V5KSB7XG4gIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgaG9zdCBvYmplY3QgaW4gSUUgPCA5LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgaG9zdCBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNIb3N0T2JqZWN0KHZhbHVlKSB7XG4gIC8vIE1hbnkgaG9zdCBvYmplY3RzIGFyZSBgT2JqZWN0YCBvYmplY3RzIHRoYXQgY2FuIGNvZXJjZSB0byBzdHJpbmdzXG4gIC8vIGRlc3BpdGUgaGF2aW5nIGltcHJvcGVybHkgZGVmaW5lZCBgdG9TdHJpbmdgIG1ldGhvZHMuXG4gIHZhciByZXN1bHQgPSBmYWxzZTtcbiAgaWYgKHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlLnRvU3RyaW5nICE9ICdmdW5jdGlvbicpIHtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gISEodmFsdWUgKyAnJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogVXNlZCBmb3IgYnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMuICovXG52YXIgYXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZSxcbiAgICBmdW5jUHJvdG8gPSBGdW5jdGlvbi5wcm90b3R5cGUsXG4gICAgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuXG4vKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG52YXIgY29yZUpzRGF0YSA9IHJvb3RbJ19fY29yZS1qc19zaGFyZWRfXyddO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgbWV0aG9kcyBtYXNxdWVyYWRpbmcgYXMgbmF0aXZlLiAqL1xudmFyIG1hc2tTcmNLZXkgPSAoZnVuY3Rpb24oKSB7XG4gIHZhciB1aWQgPSAvW14uXSskLy5leGVjKGNvcmVKc0RhdGEgJiYgY29yZUpzRGF0YS5rZXlzICYmIGNvcmVKc0RhdGEua2V5cy5JRV9QUk9UTyB8fCAnJyk7XG4gIHJldHVybiB1aWQgPyAoJ1N5bWJvbChzcmMpXzEuJyArIHVpZCkgOiAnJztcbn0oKSk7XG5cbi8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbnZhciBmdW5jVG9TdHJpbmcgPSBmdW5jUHJvdG8udG9TdHJpbmc7XG5cbi8qKiBVc2VkIHRvIGNoZWNrIG9iamVjdHMgZm9yIG93biBwcm9wZXJ0aWVzLiAqL1xudmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbi8qKlxuICogVXNlZCB0byByZXNvbHZlIHRoZVxuICogW2B0b1N0cmluZ1RhZ2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmcpXG4gKiBvZiB2YWx1ZXMuXG4gKi9cbnZhciBvYmplY3RUb1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaWYgYSBtZXRob2QgaXMgbmF0aXZlLiAqL1xudmFyIHJlSXNOYXRpdmUgPSBSZWdFeHAoJ14nICtcbiAgZnVuY1RvU3RyaW5nLmNhbGwoaGFzT3duUHJvcGVydHkpLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFxcXFwoKXwgZm9yIC4rPyg/PVxcXFxcXF0pL2csICckMS4qPycpICsgJyQnXG4pO1xuXG4vKiogQnVpbHQtaW4gdmFsdWUgcmVmZXJlbmNlcy4gKi9cbnZhciBzcGxpY2UgPSBhcnJheVByb3RvLnNwbGljZTtcblxuLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgdGhhdCBhcmUgdmVyaWZpZWQgdG8gYmUgbmF0aXZlLiAqL1xudmFyIE1hcCA9IGdldE5hdGl2ZShyb290LCAnTWFwJyksXG4gICAgbmF0aXZlQ3JlYXRlID0gZ2V0TmF0aXZlKE9iamVjdCwgJ2NyZWF0ZScpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBoYXNoIG9iamVjdC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAqL1xuZnVuY3Rpb24gSGFzaChlbnRyaWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gZW50cmllcyA/IGVudHJpZXMubGVuZ3RoIDogMDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIGhhc2guXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGNsZWFyXG4gKiBAbWVtYmVyT2YgSGFzaFxuICovXG5mdW5jdGlvbiBoYXNoQ2xlYXIoKSB7XG4gIHRoaXMuX19kYXRhX18gPSBuYXRpdmVDcmVhdGUgPyBuYXRpdmVDcmVhdGUobnVsbCkgOiB7fTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgaGFzaC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZGVsZXRlXG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtPYmplY3R9IGhhc2ggVGhlIGhhc2ggdG8gbW9kaWZ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGhhc2hEZWxldGUoa2V5KSB7XG4gIHJldHVybiB0aGlzLmhhcyhrZXkpICYmIGRlbGV0ZSB0aGlzLl9fZGF0YV9fW2tleV07XG59XG5cbi8qKlxuICogR2V0cyB0aGUgaGFzaCB2YWx1ZSBmb3IgYGtleWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGdldFxuICogQG1lbWJlck9mIEhhc2hcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBoYXNoR2V0KGtleSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gIGlmIChuYXRpdmVDcmVhdGUpIHtcbiAgICB2YXIgcmVzdWx0ID0gZGF0YVtrZXldO1xuICAgIHJldHVybiByZXN1bHQgPT09IEhBU0hfVU5ERUZJTkVEID8gdW5kZWZpbmVkIDogcmVzdWx0O1xuICB9XG4gIHJldHVybiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSkgPyBkYXRhW2tleV0gOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgaGFzaCB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBoYXNcbiAqIEBtZW1iZXJPZiBIYXNoXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaGFzaEhhcyhrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICByZXR1cm4gbmF0aXZlQ3JlYXRlID8gZGF0YVtrZXldICE9PSB1bmRlZmluZWQgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsIGtleSk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgaGFzaCBga2V5YCB0byBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBzZXRcbiAqIEBtZW1iZXJPZiBIYXNoXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGhhc2ggaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGhhc2hTZXQoa2V5LCB2YWx1ZSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gIGRhdGFba2V5XSA9IChuYXRpdmVDcmVhdGUgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkgPyBIQVNIX1VOREVGSU5FRCA6IHZhbHVlO1xuICByZXR1cm4gdGhpcztcbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYEhhc2hgLlxuSGFzaC5wcm90b3R5cGUuY2xlYXIgPSBoYXNoQ2xlYXI7XG5IYXNoLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBoYXNoRGVsZXRlO1xuSGFzaC5wcm90b3R5cGUuZ2V0ID0gaGFzaEdldDtcbkhhc2gucHJvdG90eXBlLmhhcyA9IGhhc2hIYXM7XG5IYXNoLnByb3RvdHlwZS5zZXQgPSBoYXNoU2V0O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gbGlzdCBjYWNoZSBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gKi9cbmZ1bmN0aW9uIExpc3RDYWNoZShlbnRyaWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gZW50cmllcyA/IGVudHJpZXMubGVuZ3RoIDogMDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGNsZWFyXG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUNsZWFyKCkge1xuICB0aGlzLl9fZGF0YV9fID0gW107XG59XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZURlbGV0ZShrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICBpZiAoaW5kZXggPCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciBsYXN0SW5kZXggPSBkYXRhLmxlbmd0aCAtIDE7XG4gIGlmIChpbmRleCA9PSBsYXN0SW5kZXgpIHtcbiAgICBkYXRhLnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIHNwbGljZS5jYWxsKGRhdGEsIGluZGV4LCAxKTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBsaXN0IGNhY2hlIHZhbHVlIGZvciBga2V5YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZ2V0XG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gbGlzdENhY2hlR2V0KGtleSkge1xuICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICBpbmRleCA9IGFzc29jSW5kZXhPZihkYXRhLCBrZXkpO1xuXG4gIHJldHVybiBpbmRleCA8IDAgPyB1bmRlZmluZWQgOiBkYXRhW2luZGV4XVsxXTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSBsaXN0IGNhY2hlIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUhhcyhrZXkpIHtcbiAgcmV0dXJuIGFzc29jSW5kZXhPZih0aGlzLl9fZGF0YV9fLCBrZXkpID4gLTE7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbGlzdCBjYWNoZSBga2V5YCB0byBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBzZXRcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbGlzdCBjYWNoZSBpbnN0YW5jZS5cbiAqL1xuZnVuY3Rpb24gbGlzdENhY2hlU2V0KGtleSwgdmFsdWUpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICBpZiAoaW5kZXggPCAwKSB7XG4gICAgZGF0YS5wdXNoKFtrZXksIHZhbHVlXSk7XG4gIH0gZWxzZSB7XG4gICAgZGF0YVtpbmRleF1bMV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYExpc3RDYWNoZWAuXG5MaXN0Q2FjaGUucHJvdG90eXBlLmNsZWFyID0gbGlzdENhY2hlQ2xlYXI7XG5MaXN0Q2FjaGUucHJvdG90eXBlWydkZWxldGUnXSA9IGxpc3RDYWNoZURlbGV0ZTtcbkxpc3RDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbGlzdENhY2hlR2V0O1xuTGlzdENhY2hlLnByb3RvdHlwZS5oYXMgPSBsaXN0Q2FjaGVIYXM7XG5MaXN0Q2FjaGUucHJvdG90eXBlLnNldCA9IGxpc3RDYWNoZVNldDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbWFwIGNhY2hlIG9iamVjdCB0byBzdG9yZSBrZXktdmFsdWUgcGFpcnMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gKi9cbmZ1bmN0aW9uIE1hcENhY2hlKGVudHJpZXMpIHtcbiAgdmFyIGluZGV4ID0gLTEsXG4gICAgICBsZW5ndGggPSBlbnRyaWVzID8gZW50cmllcy5sZW5ndGggOiAwO1xuXG4gIHRoaXMuY2xlYXIoKTtcbiAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgbWFwLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlQ2xlYXIoKSB7XG4gIHRoaXMuX19kYXRhX18gPSB7XG4gICAgJ2hhc2gnOiBuZXcgSGFzaCxcbiAgICAnbWFwJzogbmV3IChNYXAgfHwgTGlzdENhY2hlKSxcbiAgICAnc3RyaW5nJzogbmV3IEhhc2hcbiAgfTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgbWFwLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBkZWxldGVcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudHJ5IHdhcyByZW1vdmVkLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlRGVsZXRlKGtleSkge1xuICByZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpWydkZWxldGUnXShrZXkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG1hcCB2YWx1ZSBmb3IgYGtleWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGdldFxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gbWFwQ2FjaGVHZXQoa2V5KSB7XG4gIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuZ2V0KGtleSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbWFwIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGhhc1xuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gbWFwQ2FjaGVIYXMoa2V5KSB7XG4gIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuaGFzKGtleSk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbWFwIGBrZXlgIHRvIGB2YWx1ZWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIHNldFxuICogQG1lbWJlck9mIE1hcENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG1hcCBjYWNoZSBpbnN0YW5jZS5cbiAqL1xuZnVuY3Rpb24gbWFwQ2FjaGVTZXQoa2V5LCB2YWx1ZSkge1xuICBnZXRNYXBEYXRhKHRoaXMsIGtleSkuc2V0KGtleSwgdmFsdWUpO1xuICByZXR1cm4gdGhpcztcbn1cblxuLy8gQWRkIG1ldGhvZHMgdG8gYE1hcENhY2hlYC5cbk1hcENhY2hlLnByb3RvdHlwZS5jbGVhciA9IG1hcENhY2hlQ2xlYXI7XG5NYXBDYWNoZS5wcm90b3R5cGVbJ2RlbGV0ZSddID0gbWFwQ2FjaGVEZWxldGU7XG5NYXBDYWNoZS5wcm90b3R5cGUuZ2V0ID0gbWFwQ2FjaGVHZXQ7XG5NYXBDYWNoZS5wcm90b3R5cGUuaGFzID0gbWFwQ2FjaGVIYXM7XG5NYXBDYWNoZS5wcm90b3R5cGUuc2V0ID0gbWFwQ2FjaGVTZXQ7XG5cbi8qKlxuICogR2V0cyB0aGUgaW5kZXggYXQgd2hpY2ggdGhlIGBrZXlgIGlzIGZvdW5kIGluIGBhcnJheWAgb2Yga2V5LXZhbHVlIHBhaXJzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAqIEBwYXJhbSB7Kn0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gKi9cbmZ1bmN0aW9uIGFzc29jSW5kZXhPZihhcnJheSwga2V5KSB7XG4gIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gIHdoaWxlIChsZW5ndGgtLSkge1xuICAgIGlmIChlcShhcnJheVtsZW5ndGhdWzBdLCBrZXkpKSB7XG4gICAgICByZXR1cm4gbGVuZ3RoO1xuICAgIH1cbiAgfVxuICByZXR1cm4gLTE7XG59XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzTmF0aXZlKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcGF0dGVybiA9IChpc0Z1bmN0aW9uKHZhbHVlKSB8fCBpc0hvc3RPYmplY3QodmFsdWUpKSA/IHJlSXNOYXRpdmUgOiByZUlzSG9zdEN0b3I7XG4gIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBkYXRhIGZvciBgbWFwYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgcmVmZXJlbmNlIGtleS5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXAgZGF0YS5cbiAqL1xuZnVuY3Rpb24gZ2V0TWFwRGF0YShtYXAsIGtleSkge1xuICB2YXIgZGF0YSA9IG1hcC5fX2RhdGFfXztcbiAgcmV0dXJuIGlzS2V5YWJsZShrZXkpXG4gICAgPyBkYXRhW3R5cGVvZiBrZXkgPT0gJ3N0cmluZycgPyAnc3RyaW5nJyA6ICdoYXNoJ11cbiAgICA6IGRhdGEubWFwO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG5hdGl2ZSBmdW5jdGlvbiBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBtZXRob2QgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZ1bmN0aW9uIGlmIGl0J3MgbmF0aXZlLCBlbHNlIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiBnZXROYXRpdmUob2JqZWN0LCBrZXkpIHtcbiAgdmFyIHZhbHVlID0gZ2V0VmFsdWUob2JqZWN0LCBrZXkpO1xuICByZXR1cm4gYmFzZUlzTmF0aXZlKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciB1c2UgYXMgdW5pcXVlIG9iamVjdCBrZXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNLZXlhYmxlKHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gKHR5cGUgPT0gJ3N0cmluZycgfHwgdHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nKVxuICAgID8gKHZhbHVlICE9PSAnX19wcm90b19fJylcbiAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgaXRzIHNvdXJjZSBtYXNrZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrZWQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNNYXNrZWQoZnVuYykge1xuICByZXR1cm4gISFtYXNrU3JjS2V5ICYmIChtYXNrU3JjS2V5IGluIGZ1bmMpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGBmdW5jYCB0byBpdHMgc291cmNlIGNvZGUuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHByb2Nlc3MuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzb3VyY2UgY29kZS5cbiAqL1xuZnVuY3Rpb24gdG9Tb3VyY2UoZnVuYykge1xuICBpZiAoZnVuYyAhPSBudWxsKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmdW5jVG9TdHJpbmcuY2FsbChmdW5jKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gKGZ1bmMgKyAnJyk7XG4gICAgfSBjYXRjaCAoZSkge31cbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgbWVtb2l6ZXMgdGhlIHJlc3VsdCBvZiBgZnVuY2AuIElmIGByZXNvbHZlcmAgaXNcbiAqIHByb3ZpZGVkLCBpdCBkZXRlcm1pbmVzIHRoZSBjYWNoZSBrZXkgZm9yIHN0b3JpbmcgdGhlIHJlc3VsdCBiYXNlZCBvbiB0aGVcbiAqIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uIEJ5IGRlZmF1bHQsIHRoZSBmaXJzdCBhcmd1bWVudFxuICogcHJvdmlkZWQgdG8gdGhlIG1lbW9pemVkIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlIG1hcCBjYWNoZSBrZXkuIFRoZSBgZnVuY2BcbiAqIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgb2YgdGhlIG1lbW9pemVkIGZ1bmN0aW9uLlxuICpcbiAqICoqTm90ZToqKiBUaGUgY2FjaGUgaXMgZXhwb3NlZCBhcyB0aGUgYGNhY2hlYCBwcm9wZXJ0eSBvbiB0aGUgbWVtb2l6ZWRcbiAqIGZ1bmN0aW9uLiBJdHMgY3JlYXRpb24gbWF5IGJlIGN1c3RvbWl6ZWQgYnkgcmVwbGFjaW5nIHRoZSBgXy5tZW1vaXplLkNhY2hlYFxuICogY29uc3RydWN0b3Igd2l0aCBvbmUgd2hvc2UgaW5zdGFuY2VzIGltcGxlbWVudCB0aGVcbiAqIFtgTWFwYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtcHJvcGVydGllcy1vZi10aGUtbWFwLXByb3RvdHlwZS1vYmplY3QpXG4gKiBtZXRob2QgaW50ZXJmYWNlIG9mIGBkZWxldGVgLCBgZ2V0YCwgYGhhc2AsIGFuZCBgc2V0YC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDAuMS4wXG4gKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGhhdmUgaXRzIG91dHB1dCBtZW1vaXplZC5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtyZXNvbHZlcl0gVGhlIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIGNhY2hlIGtleS5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG1lbW9pemVkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICogdmFyIG90aGVyID0geyAnYyc6IDMsICdkJzogNCB9O1xuICpcbiAqIHZhciB2YWx1ZXMgPSBfLm1lbW9pemUoXy52YWx1ZXMpO1xuICogdmFsdWVzKG9iamVjdCk7XG4gKiAvLyA9PiBbMSwgMl1cbiAqXG4gKiB2YWx1ZXMob3RoZXIpO1xuICogLy8gPT4gWzMsIDRdXG4gKlxuICogb2JqZWN0LmEgPSAyO1xuICogdmFsdWVzKG9iamVjdCk7XG4gKiAvLyA9PiBbMSwgMl1cbiAqXG4gKiAvLyBNb2RpZnkgdGhlIHJlc3VsdCBjYWNoZS5cbiAqIHZhbHVlcy5jYWNoZS5zZXQob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAqIHZhbHVlcyhvYmplY3QpO1xuICogLy8gPT4gWydhJywgJ2InXVxuICpcbiAqIC8vIFJlcGxhY2UgYF8ubWVtb2l6ZS5DYWNoZWAuXG4gKiBfLm1lbW9pemUuQ2FjaGUgPSBXZWFrTWFwO1xuICovXG5mdW5jdGlvbiBtZW1vaXplKGZ1bmMsIHJlc29sdmVyKSB7XG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nIHx8IChyZXNvbHZlciAmJiB0eXBlb2YgcmVzb2x2ZXIgIT0gJ2Z1bmN0aW9uJykpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gIH1cbiAgdmFyIG1lbW9pemVkID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgIGtleSA9IHJlc29sdmVyID8gcmVzb2x2ZXIuYXBwbHkodGhpcywgYXJncykgOiBhcmdzWzBdLFxuICAgICAgICBjYWNoZSA9IG1lbW9pemVkLmNhY2hlO1xuXG4gICAgaWYgKGNhY2hlLmhhcyhrZXkpKSB7XG4gICAgICByZXR1cm4gY2FjaGUuZ2V0KGtleSk7XG4gICAgfVxuICAgIHZhciByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIG1lbW9pemVkLmNhY2hlID0gY2FjaGUuc2V0KGtleSwgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICBtZW1vaXplZC5jYWNoZSA9IG5ldyAobWVtb2l6ZS5DYWNoZSB8fCBNYXBDYWNoZSk7XG4gIHJldHVybiBtZW1vaXplZDtcbn1cblxuLy8gQXNzaWduIGNhY2hlIHRvIGBfLm1lbW9pemVgLlxubWVtb2l6ZS5DYWNoZSA9IE1hcENhY2hlO1xuXG4vKipcbiAqIFBlcmZvcm1zIGFcbiAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gKiBjb21wYXJpc29uIGJldHdlZW4gdHdvIHZhbHVlcyB0byBkZXRlcm1pbmUgaWYgdGhleSBhcmUgZXF1aXZhbGVudC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEgfTtcbiAqIHZhciBvdGhlciA9IHsgJ2EnOiAxIH07XG4gKlxuICogXy5lcShvYmplY3QsIG9iamVjdCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5lcShvYmplY3QsIG90aGVyKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5lcSgnYScsICdhJyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5lcSgnYScsIE9iamVjdCgnYScpKTtcbiAqIC8vID0+IGZhbHNlXG4gKlxuICogXy5lcShOYU4sIE5hTik7XG4gKiAvLyA9PiB0cnVlXG4gKi9cbmZ1bmN0aW9uIGVxKHZhbHVlLCBvdGhlcikge1xuICByZXR1cm4gdmFsdWUgPT09IG90aGVyIHx8ICh2YWx1ZSAhPT0gdmFsdWUgJiYgb3RoZXIgIT09IG90aGVyKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oXyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgLy8gVGhlIHVzZSBvZiBgT2JqZWN0I3RvU3RyaW5nYCBhdm9pZHMgaXNzdWVzIHdpdGggdGhlIGB0eXBlb2ZgIG9wZXJhdG9yXG4gIC8vIGluIFNhZmFyaSA4LTkgd2hpY2ggcmV0dXJucyAnb2JqZWN0JyBmb3IgdHlwZWQgYXJyYXkgYW5kIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgdmFyIHRhZyA9IGlzT2JqZWN0KHZhbHVlKSA/IG9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpIDogJyc7XG4gIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBtZW1vaXplO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lodash.memoize/index.js\n"); - -/***/ }), - -/***/ "./node_modules/lodash.throttle/index.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash.throttle/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoLnRocm90dGxlL2luZGV4LmpzPzg0YTIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPLFlBQVk7QUFDOUIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsOENBQThDLGtCQUFrQjtBQUNoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPLFlBQVk7QUFDOUIsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsV0FBVyxRQUFRO0FBQ25CO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxvQkFBb0I7QUFDdkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbG9kYXNoLnRocm90dGxlL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBsb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJucG1cIiAtbyAuL2BcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL2pxdWVyeS5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG5cbi8qKiBVc2VkIGFzIHRoZSBgVHlwZUVycm9yYCBtZXNzYWdlIGZvciBcIkZ1bmN0aW9uc1wiIG1ldGhvZHMuICovXG52YXIgRlVOQ19FUlJPUl9URVhUID0gJ0V4cGVjdGVkIGEgZnVuY3Rpb24nO1xuXG4vKiogVXNlZCBhcyByZWZlcmVuY2VzIGZvciB2YXJpb3VzIGBOdW1iZXJgIGNvbnN0YW50cy4gKi9cbnZhciBOQU4gPSAwIC8gMDtcblxuLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xudmFyIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKiogVXNlZCB0byBtYXRjaCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlLiAqL1xudmFyIHJlVHJpbSA9IC9eXFxzK3xcXHMrJC9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgYmFkIHNpZ25lZCBoZXhhZGVjaW1hbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCYWRIZXggPSAvXlstK10weFswLTlhLWZdKyQvaTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGJpbmFyeSBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNCaW5hcnkgPSAvXjBiWzAxXSskL2k7XG5cbi8qKiBVc2VkIHRvIGRldGVjdCBvY3RhbCBzdHJpbmcgdmFsdWVzLiAqL1xudmFyIHJlSXNPY3RhbCA9IC9eMG9bMC03XSskL2k7XG5cbi8qKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyB3aXRob3V0IGEgZGVwZW5kZW5jeSBvbiBgcm9vdGAuICovXG52YXIgZnJlZVBhcnNlSW50ID0gcGFyc2VJbnQ7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgZ2xvYmFsYCBmcm9tIE5vZGUuanMuICovXG52YXIgZnJlZUdsb2JhbCA9IHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsICYmIGdsb2JhbC5PYmplY3QgPT09IE9iamVjdCAmJiBnbG9iYWw7XG5cbi8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG52YXIgZnJlZVNlbGYgPSB0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmICYmIHNlbGYuT2JqZWN0ID09PSBPYmplY3QgJiYgc2VsZjtcblxuLyoqIFVzZWQgYXMgYSByZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBvYmplY3QuICovXG52YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqXG4gKiBVc2VkIHRvIHJlc29sdmUgdGhlXG4gKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAqIG9mIHZhbHVlcy5cbiAqL1xudmFyIG9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIGZvciB0aG9zZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgb3RoZXIgYGxvZGFzaGAgbWV0aG9kcy4gKi9cbnZhciBuYXRpdmVNYXggPSBNYXRoLm1heCxcbiAgICBuYXRpdmVNaW4gPSBNYXRoLm1pbjtcblxuLyoqXG4gKiBHZXRzIHRoZSB0aW1lc3RhbXAgb2YgdGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdGhhdCBoYXZlIGVsYXBzZWQgc2luY2VcbiAqIHRoZSBVbml4IGVwb2NoICgxIEphbnVhcnkgMTk3MCAwMDowMDowMCBVVEMpLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMi40LjBcbiAqIEBjYXRlZ29yeSBEYXRlXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSB0aW1lc3RhbXAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uZGVmZXIoZnVuY3Rpb24oc3RhbXApIHtcbiAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAqIH0sIF8ubm93KCkpO1xuICogLy8gPT4gTG9ncyB0aGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBpdCB0b29rIGZvciB0aGUgZGVmZXJyZWQgaW52b2NhdGlvbi5cbiAqL1xudmFyIG5vdyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZGVib3VuY2VkIGZ1bmN0aW9uIHRoYXQgZGVsYXlzIGludm9raW5nIGBmdW5jYCB1bnRpbCBhZnRlciBgd2FpdGBcbiAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICogaW52b2tlZC4gVGhlIGRlYm91bmNlZCBmdW5jdGlvbiBjb21lcyB3aXRoIGEgYGNhbmNlbGAgbWV0aG9kIHRvIGNhbmNlbFxuICogZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG8gaW1tZWRpYXRlbHkgaW52b2tlIHRoZW0uXG4gKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAqIGxlYWRpbmcgYW5kL29yIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGB3YWl0YCB0aW1lb3V0LiBUaGUgYGZ1bmNgIGlzIGludm9rZWRcbiAqIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24uIFN1YnNlcXVlbnRcbiAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gKiBpbnZvY2F0aW9uLlxuICpcbiAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAqIGludm9rZWQgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQgb25seSBpZiB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uXG4gKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gKlxuICogSWYgYHdhaXRgIGlzIGAwYCBhbmQgYGxlYWRpbmdgIGlzIGBmYWxzZWAsIGBmdW5jYCBpbnZvY2F0aW9uIGlzIGRlZmVycmVkXG4gKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gKlxuICogU2VlIFtEYXZpZCBDb3JiYWNobydzIGFydGljbGVdKGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZGVib3VuY2luZy10aHJvdHRsaW5nLWV4cGxhaW5lZC1leGFtcGxlcy8pXG4gKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLmRlYm91bmNlYCBhbmQgYF8udGhyb3R0bGVgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gZGVib3VuY2UuXG4gKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz1mYWxzZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMubWF4V2FpdF1cbiAqICBUaGUgbWF4aW11bSB0aW1lIGBmdW5jYCBpcyBhbGxvd2VkIHRvIGJlIGRlbGF5ZWQgYmVmb3JlIGl0J3MgaW52b2tlZC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZGVib3VuY2VkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCBjb3N0bHkgY2FsY3VsYXRpb25zIHdoaWxlIHRoZSB3aW5kb3cgc2l6ZSBpcyBpbiBmbHV4LlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAqXG4gKiAvLyBJbnZva2UgYHNlbmRNYWlsYCB3aGVuIGNsaWNrZWQsIGRlYm91bmNpbmcgc3Vic2VxdWVudCBjYWxscy5cbiAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAqICAgJ2xlYWRpbmcnOiB0cnVlLFxuICogICAndHJhaWxpbmcnOiBmYWxzZVxuICogfSkpO1xuICpcbiAqIC8vIEVuc3VyZSBgYmF0Y2hMb2dgIGlzIGludm9rZWQgb25jZSBhZnRlciAxIHNlY29uZCBvZiBkZWJvdW5jZWQgY2FsbHMuXG4gKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAqIHZhciBzb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJy9zdHJlYW0nKTtcbiAqIGpRdWVyeShzb3VyY2UpLm9uKCdtZXNzYWdlJywgZGVib3VuY2VkKTtcbiAqXG4gKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIGRlYm91bmNlZCBpbnZvY2F0aW9uLlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3BvcHN0YXRlJywgZGVib3VuY2VkLmNhbmNlbCk7XG4gKi9cbmZ1bmN0aW9uIGRlYm91bmNlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgdmFyIGxhc3RBcmdzLFxuICAgICAgbGFzdFRoaXMsXG4gICAgICBtYXhXYWl0LFxuICAgICAgcmVzdWx0LFxuICAgICAgdGltZXJJZCxcbiAgICAgIGxhc3RDYWxsVGltZSxcbiAgICAgIGxhc3RJbnZva2VUaW1lID0gMCxcbiAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgIG1heGluZyA9IGZhbHNlLFxuICAgICAgdHJhaWxpbmcgPSB0cnVlO1xuXG4gIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICB9XG4gIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICBsZWFkaW5nID0gISFvcHRpb25zLmxlYWRpbmc7XG4gICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgbWF4V2FpdCA9IG1heGluZyA/IG5hdGl2ZU1heCh0b051bWJlcihvcHRpb25zLm1heFdhaXQpIHx8IDAsIHdhaXQpIDogbWF4V2FpdDtcbiAgICB0cmFpbGluZyA9ICd0cmFpbGluZycgaW4gb3B0aW9ucyA/ICEhb3B0aW9ucy50cmFpbGluZyA6IHRyYWlsaW5nO1xuICB9XG5cbiAgZnVuY3Rpb24gaW52b2tlRnVuYyh0aW1lKSB7XG4gICAgdmFyIGFyZ3MgPSBsYXN0QXJncyxcbiAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgIC8vIFJlc2V0IGFueSBgbWF4V2FpdGAgdGltZXIuXG4gICAgbGFzdEludm9rZVRpbWUgPSB0aW1lO1xuICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgdGltZXJJZCA9IHNldFRpbWVvdXQodGltZXJFeHBpcmVkLCB3YWl0KTtcbiAgICAvLyBJbnZva2UgdGhlIGxlYWRpbmcgZWRnZS5cbiAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gIH1cblxuICBmdW5jdGlvbiByZW1haW5pbmdXYWl0KHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lLFxuICAgICAgICByZXN1bHQgPSB3YWl0IC0gdGltZVNpbmNlTGFzdENhbGw7XG5cbiAgICByZXR1cm4gbWF4aW5nID8gbmF0aXZlTWluKHJlc3VsdCwgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpIDogcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICB0aW1lU2luY2VMYXN0SW52b2tlID0gdGltZSAtIGxhc3RJbnZva2VUaW1lO1xuXG4gICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAvLyB0cmFpbGluZyBlZGdlLCB0aGUgc3lzdGVtIHRpbWUgaGFzIGdvbmUgYmFja3dhcmRzIGFuZCB3ZSdyZSB0cmVhdGluZ1xuICAgIC8vIGl0IGFzIHRoZSB0cmFpbGluZyBlZGdlLCBvciB3ZSd2ZSBoaXQgdGhlIGBtYXhXYWl0YCBsaW1pdC5cbiAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgKHRpbWVTaW5jZUxhc3RDYWxsIDwgMCkgfHwgKG1heGluZyAmJiB0aW1lU2luY2VMYXN0SW52b2tlID49IG1heFdhaXQpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICB2YXIgdGltZSA9IG5vdygpO1xuICAgIGlmIChzaG91bGRJbnZva2UodGltZSkpIHtcbiAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgfVxuICAgIC8vIFJlc3RhcnQgdGhlIHRpbWVyLlxuICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gIH1cblxuICBmdW5jdGlvbiB0cmFpbGluZ0VkZ2UodGltZSkge1xuICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvLyBPbmx5IGludm9rZSBpZiB3ZSBoYXZlIGBsYXN0QXJnc2Agd2hpY2ggbWVhbnMgYGZ1bmNgIGhhcyBiZWVuXG4gICAgLy8gZGVib3VuY2VkIGF0IGxlYXN0IG9uY2UuXG4gICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICByZXR1cm4gaW52b2tlRnVuYyh0aW1lKTtcbiAgICB9XG4gICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgIGlmICh0aW1lcklkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICB9XG4gICAgbGFzdEludm9rZVRpbWUgPSAwO1xuICAgIGxhc3RBcmdzID0gbGFzdENhbGxUaW1lID0gbGFzdFRoaXMgPSB0aW1lcklkID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZmx1c2goKSB7XG4gICAgcmV0dXJuIHRpbWVySWQgPT09IHVuZGVmaW5lZCA/IHJlc3VsdCA6IHRyYWlsaW5nRWRnZShub3coKSk7XG4gIH1cblxuICBmdW5jdGlvbiBkZWJvdW5jZWQoKSB7XG4gICAgdmFyIHRpbWUgPSBub3coKSxcbiAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgIGxhc3RBcmdzID0gYXJndW1lbnRzO1xuICAgIGxhc3RUaGlzID0gdGhpcztcbiAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgaWYgKGlzSW52b2tpbmcpIHtcbiAgICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgICBpZiAobWF4aW5nKSB7XG4gICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIHJldHVybiBpbnZva2VGdW5jKGxhc3RDYWxsVGltZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aW1lcklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZGVib3VuY2VkLmNhbmNlbCA9IGNhbmNlbDtcbiAgZGVib3VuY2VkLmZsdXNoID0gZmx1c2g7XG4gIHJldHVybiBkZWJvdW5jZWQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHRocm90dGxlZCBmdW5jdGlvbiB0aGF0IG9ubHkgaW52b2tlcyBgZnVuY2AgYXQgbW9zdCBvbmNlIHBlclxuICogZXZlcnkgYHdhaXRgIG1pbGxpc2Vjb25kcy4gVGhlIHRocm90dGxlZCBmdW5jdGlvbiBjb21lcyB3aXRoIGEgYGNhbmNlbGBcbiAqIG1ldGhvZCB0byBjYW5jZWwgZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG9cbiAqIGltbWVkaWF0ZWx5IGludm9rZSB0aGVtLiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYFxuICogc2hvdWxkIGJlIGludm9rZWQgb24gdGhlIGxlYWRpbmcgYW5kL29yIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGB3YWl0YFxuICogdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZVxuICogdGhyb3R0bGVkIGZ1bmN0aW9uLiBTdWJzZXF1ZW50IGNhbGxzIHRvIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb24gcmV0dXJuIHRoZVxuICogcmVzdWx0IG9mIHRoZSBsYXN0IGBmdW5jYCBpbnZvY2F0aW9uLlxuICpcbiAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAqIGludm9rZWQgb24gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQgb25seSBpZiB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uXG4gKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gKlxuICogSWYgYHdhaXRgIGlzIGAwYCBhbmQgYGxlYWRpbmdgIGlzIGBmYWxzZWAsIGBmdW5jYCBpbnZvY2F0aW9uIGlzIGRlZmVycmVkXG4gKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gKlxuICogU2VlIFtEYXZpZCBDb3JiYWNobydzIGFydGljbGVdKGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vZGVib3VuY2luZy10aHJvdHRsaW5nLWV4cGxhaW5lZC1leGFtcGxlcy8pXG4gKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLnRocm90dGxlYCBhbmQgYF8uZGVib3VuY2VgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gdGhyb3R0bGUuXG4gKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gdGhyb3R0bGUgaW52b2NhdGlvbnMgdG8uXG4gKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz10cnVlXVxuICogIFNwZWNpZnkgaW52b2tpbmcgb24gdGhlIGxlYWRpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgdGhyb3R0bGVkIGZ1bmN0aW9uLlxuICogQGV4YW1wbGVcbiAqXG4gKiAvLyBBdm9pZCBleGNlc3NpdmVseSB1cGRhdGluZyB0aGUgcG9zaXRpb24gd2hpbGUgc2Nyb2xsaW5nLlxuICogalF1ZXJ5KHdpbmRvdykub24oJ3Njcm9sbCcsIF8udGhyb3R0bGUodXBkYXRlUG9zaXRpb24sIDEwMCkpO1xuICpcbiAqIC8vIEludm9rZSBgcmVuZXdUb2tlbmAgd2hlbiB0aGUgY2xpY2sgZXZlbnQgaXMgZmlyZWQsIGJ1dCBub3QgbW9yZSB0aGFuIG9uY2UgZXZlcnkgNSBtaW51dGVzLlxuICogdmFyIHRocm90dGxlZCA9IF8udGhyb3R0bGUocmVuZXdUb2tlbiwgMzAwMDAwLCB7ICd0cmFpbGluZyc6IGZhbHNlIH0pO1xuICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIHRocm90dGxlZCk7XG4gKlxuICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyB0aHJvdHRsZWQgaW52b2NhdGlvbi5cbiAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIHRocm90dGxlZC5jYW5jZWwpO1xuICovXG5mdW5jdGlvbiB0aHJvdHRsZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gIHZhciBsZWFkaW5nID0gdHJ1ZSxcbiAgICAgIHRyYWlsaW5nID0gdHJ1ZTtcblxuICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgfVxuICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICBsZWFkaW5nID0gJ2xlYWRpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMubGVhZGluZyA6IGxlYWRpbmc7XG4gICAgdHJhaWxpbmcgPSAndHJhaWxpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMudHJhaWxpbmcgOiB0cmFpbGluZztcbiAgfVxuICByZXR1cm4gZGVib3VuY2UoZnVuYywgd2FpdCwge1xuICAgICdsZWFkaW5nJzogbGVhZGluZyxcbiAgICAnbWF4V2FpdCc6IHdhaXQsXG4gICAgJ3RyYWlsaW5nJzogdHJhaWxpbmdcbiAgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgdGhlXG4gKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gKiBvZiBgT2JqZWN0YC4gKGUuZy4gYXJyYXlzLCBmdW5jdGlvbnMsIG9iamVjdHMsIHJlZ2V4ZXMsIGBuZXcgTnVtYmVyKDApYCwgYW5kIGBuZXcgU3RyaW5nKCcnKWApXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3Qoe30pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KF8ubm9vcCk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PSAnb2JqZWN0JyB8fCB0eXBlID09ICdmdW5jdGlvbicpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLiBBIHZhbHVlIGlzIG9iamVjdC1saWtlIGlmIGl0J3Mgbm90IGBudWxsYFxuICogYW5kIGhhcyBhIGB0eXBlb2ZgIHJlc3VsdCBvZiBcIm9iamVjdFwiLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gKiAvLyA9PiBmYWxzZVxuICpcbiAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gIHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN5bWJvbGAgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzeW1ib2wnIHx8XG4gICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgb2JqZWN0VG9TdHJpbmcuY2FsbCh2YWx1ZSkgPT0gc3ltYm9sVGFnKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgbnVtYmVyLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvTnVtYmVyKDMuMik7XG4gKiAvLyA9PiAzLjJcbiAqXG4gKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICogLy8gPT4gNWUtMzI0XG4gKlxuICogXy50b051bWJlcihJbmZpbml0eSk7XG4gKiAvLyA9PiBJbmZpbml0eVxuICpcbiAqIF8udG9OdW1iZXIoJzMuMicpO1xuICogLy8gPT4gMy4yXG4gKi9cbmZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgaWYgKGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiBOQU47XG4gIH1cbiAgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgIHZhciBvdGhlciA9IHR5cGVvZiB2YWx1ZS52YWx1ZU9mID09ICdmdW5jdGlvbicgPyB2YWx1ZS52YWx1ZU9mKCkgOiB2YWx1ZTtcbiAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgfVxuICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UocmVUcmltLCAnJyk7XG4gIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gIHJldHVybiAoaXNCaW5hcnkgfHwgcmVJc09jdGFsLnRlc3QodmFsdWUpKVxuICAgID8gZnJlZVBhcnNlSW50KHZhbHVlLnNsaWNlKDIpLCBpc0JpbmFyeSA/IDIgOiA4KVxuICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHRocm90dGxlO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/lodash.throttle/index.js\n"); - -/***/ }), - -/***/ "./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js": -/*!*************************************************************************!*\ - !*** ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js ***! - \*************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (index);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVzaXplLW9ic2VydmVyLXBvbHlmaWxsL2Rpc3QvUmVzaXplT2JzZXJ2ZXIuZXMuanM/NmRkOCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG1CQUFtQixFQUFFO0FBQ3JCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixFQUFFO0FBQ3JCLG1CQUFtQixFQUFFO0FBQ3JCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLEVBQUU7QUFDckIscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixFQUFFO0FBQ3JCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUztBQUM1QixtQkFBbUIsRUFBRTtBQUNyQixxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGlDQUFpQyxZQUFZO0FBQzdDLG1EQUFtRCxnQkFBZ0I7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxDQUFDOztBQUVEO0FB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LFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHVCQUF1QjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVjLG9FQUFLLEVBQUMiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVzaXplLW9ic2VydmVyLXBvbHlmaWxsL2Rpc3QvUmVzaXplT2JzZXJ2ZXIuZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQSBjb2xsZWN0aW9uIG9mIHNoaW1zIHRoYXQgcHJvdmlkZSBtaW5pbWFsIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIEVTNiBjb2xsZWN0aW9ucy5cclxuICpcclxuICogVGhlc2UgaW1wbGVtZW50YXRpb25zIGFyZSBub3QgbWVhbnQgdG8gYmUgdXNlZCBvdXRzaWRlIG9mIHRoZSBSZXNpemVPYnNlcnZlclxyXG4gKiBtb2R1bGVzIGFzIHRoZXkgY292ZXIgb25seSBhIGxpbWl0ZWQgcmFuZ2Ugb2YgdXNlIGNhc2VzLlxyXG4gKi9cclxuLyogZXNsaW50LWRpc2FibGUgcmVxdWlyZS1qc2RvYywgdmFsaWQtanNkb2MgKi9cclxudmFyIE1hcFNoaW0gPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKHR5cGVvZiBNYXAgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgcmV0dXJuIE1hcDtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBpbmRleCBpbiBwcm92aWRlZCBhcnJheSB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBrZXkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtBcnJheTxBcnJheT59IGFyclxyXG4gICAgICogQHBhcmFtIHsqfSBrZXlcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIGdldEluZGV4KGFyciwga2V5KSB7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IC0xO1xyXG4gICAgICAgIGFyci5zb21lKGZ1bmN0aW9uIChlbnRyeSwgaW5kZXgpIHtcclxuICAgICAgICAgICAgaWYgKGVudHJ5WzBdID09PSBrZXkpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGluZGV4O1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGZ1bmN0aW9uIGNsYXNzXzEoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX19lbnRyaWVzX18gPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNsYXNzXzEucHJvdG90eXBlLCBcInNpemVcIiwge1xyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9fZW50cmllc19fLmxlbmd0aDtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHBhcmFtIHsqfSBrZXlcclxuICAgICAgICAgKiBAcmV0dXJucyB7Kn1cclxuICAgICAgICAgKi9cclxuICAgICAgICBjbGFzc18xLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGdldEluZGV4KHRoaXMuX19lbnRyaWVzX18sIGtleSk7XHJcbiAgICAgICAgICAgIHZhciBlbnRyeSA9IHRoaXMuX19lbnRyaWVzX19baW5kZXhdO1xyXG4gICAgICAgICAgICByZXR1cm4gZW50cnkgJiYgZW50cnlbMV07XHJcbiAgICAgICAgfTtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBAcGFyYW0geyp9IGtleVxyXG4gICAgICAgICAqIEBwYXJhbSB7Kn0gdmFsdWVcclxuICAgICAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAgICAgKi9cclxuICAgICAgICBjbGFzc18xLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgICAgICAgICB2YXIgaW5kZXggPSBnZXRJbmRleCh0aGlzLl9fZW50cmllc19fLCBrZXkpO1xyXG4gICAgICAgICAgICBpZiAofmluZGV4KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9fZW50cmllc19fW2luZGV4XVsxXSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fX2VudHJpZXNfXy5wdXNoKFtrZXksIHZhbHVlXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEBwYXJhbSB7Kn0ga2V5XHJcbiAgICAgICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgY2xhc3NfMS5wcm90b3R5cGUuZGVsZXRlID0gZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgICAgICB2YXIgZW50cmllcyA9IHRoaXMuX19lbnRyaWVzX187XHJcbiAgICAgICAgICAgIHZhciBpbmRleCA9IGdldEluZGV4KGVudHJpZXMsIGtleSk7XHJcbiAgICAgICAgICAgIGlmICh+aW5kZXgpIHtcclxuICAgICAgICAgICAgICAgIGVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHBhcmFtIHsqfSBrZXlcclxuICAgICAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAgICAgKi9cclxuICAgICAgICBjbGFzc18xLnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIX5nZXRJbmRleCh0aGlzLl9fZW50cmllc19fLCBrZXkpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgY2xhc3NfMS5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX19lbnRyaWVzX18uc3BsaWNlKDApO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcclxuICAgICAgICAgKiBAcGFyYW0geyp9IFtjdHg9bnVsbF1cclxuICAgICAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAgICAgKi9cclxuICAgICAgICBjbGFzc18xLnByb3RvdHlwZS5mb3JFYWNoID0gZnVuY3Rpb24gKGNhbGxiYWNrLCBjdHgpIHtcclxuICAgICAgICAgICAgaWYgKGN0eCA9PT0gdm9pZCAwKSB7IGN0eCA9IG51bGw7IH1cclxuICAgICAgICAgICAgZm9yICh2YXIgX2kgPSAwLCBfYSA9IHRoaXMuX19lbnRyaWVzX187IF9pIDwgX2EubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgZW50cnkgPSBfYVtfaV07XHJcbiAgICAgICAgICAgICAgICBjYWxsYmFjay5jYWxsKGN0eCwgZW50cnlbMV0sIGVudHJ5WzBdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGNsYXNzXzE7XHJcbiAgICB9KCkpO1xyXG59KSgpO1xuXG4vKipcclxuICogRGV0ZWN0cyB3aGV0aGVyIHdpbmRvdyBhbmQgZG9jdW1lbnQgb2JqZWN0cyBhcmUgYXZhaWxhYmxlIGluIGN1cnJlbnQgZW52aXJvbm1lbnQuXHJcbiAqL1xyXG52YXIgaXNCcm93c2VyID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuZG9jdW1lbnQgPT09IGRvY3VtZW50O1xuXG4vLyBSZXR1cm5zIGdsb2JhbCBvYmplY3Qgb2YgYSBjdXJyZW50IGVudmlyb25tZW50LlxyXG52YXIgZ2xvYmFsJDEgPSAoZnVuY3Rpb24gKCkge1xyXG4gICAgaWYgKHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnICYmIGdsb2JhbC5NYXRoID09PSBNYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuIGdsb2JhbDtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcgJiYgc2VsZi5NYXRoID09PSBNYXRoKSB7XHJcbiAgICAgICAgcmV0dXJuIHNlbGY7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lk1hdGggPT09IE1hdGgpIHtcclxuICAgICAgICByZXR1cm4gd2luZG93O1xyXG4gICAgfVxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXHJcbiAgICByZXR1cm4gRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcclxufSkoKTtcblxuLyoqXHJcbiAqIEEgc2hpbSBmb3IgdGhlIHJlcXVlc3RBbmltYXRpb25GcmFtZSB3aGljaCBmYWxscyBiYWNrIHRvIHRoZSBzZXRUaW1lb3V0IGlmXHJcbiAqIGZpcnN0IG9uZSBpcyBub3Qgc3VwcG9ydGVkLlxyXG4gKlxyXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXF1ZXN0cycgaWRlbnRpZmllci5cclxuICovXHJcbnZhciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUkMSA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICBpZiAodHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIC8vIEl0J3MgcmVxdWlyZWQgdG8gdXNlIGEgYm91bmRlZCBmdW5jdGlvbiBiZWNhdXNlIElFIHNvbWV0aW1lcyB0aHJvd3NcclxuICAgICAgICAvLyBhbiBcIkludmFsaWQgY2FsbGluZyBvYmplY3RcIiBlcnJvciBpZiByQUYgaXMgaW52b2tlZCB3aXRob3V0IHRoZSBnbG9iYWxcclxuICAgICAgICAvLyBvYmplY3Qgb24gdGhlIGxlZnQgaGFuZCBzaWRlLlxyXG4gICAgICAgIHJldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZChnbG9iYWwkMSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKGNhbGxiYWNrKSB7IHJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGNhbGxiYWNrKERhdGUubm93KCkpOyB9LCAxMDAwIC8gNjApOyB9O1xyXG59KSgpO1xuXG4vLyBEZWZpbmVzIG1pbmltdW0gdGltZW91dCBiZWZvcmUgYWRkaW5nIGEgdHJhaWxpbmcgY2FsbC5cclxudmFyIHRyYWlsaW5nVGltZW91dCA9IDI7XHJcbi8qKlxyXG4gKiBDcmVhdGVzIGEgd3JhcHBlciBmdW5jdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgcHJvdmlkZWQgY2FsbGJhY2sgd2lsbCBiZVxyXG4gKiBpbnZva2VkIG9ubHkgb25jZSBkdXJpbmcgdGhlIHNwZWNpZmllZCBkZWxheSBwZXJpb2QuXHJcbiAqXHJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIC0gRnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUgZGVsYXkgcGVyaW9kLlxyXG4gKiBAcGFyYW0ge251bWJlcn0gZGVsYXkgLSBEZWxheSBhZnRlciB3aGljaCB0byBpbnZva2UgY2FsbGJhY2suXHJcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cclxuICovXHJcbmZ1bmN0aW9uIHRocm90dGxlIChjYWxsYmFjaywgZGVsYXkpIHtcclxuICAgIHZhciBsZWFkaW5nQ2FsbCA9IGZhbHNlLCB0cmFpbGluZ0NhbGwgPSBmYWxzZSwgbGFzdENhbGxUaW1lID0gMDtcclxuICAgIC8qKlxyXG4gICAgICogSW52b2tlcyB0aGUgb3JpZ2luYWwgY2FsbGJhY2sgZnVuY3Rpb24gYW5kIHNjaGVkdWxlcyBuZXcgaW52b2NhdGlvbiBpZlxyXG4gICAgICogdGhlIFwicHJveHlcIiB3YXMgY2FsbGVkIGR1cmluZyBjdXJyZW50IHJlcXVlc3QuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIHJlc29sdmVQZW5kaW5nKCkge1xyXG4gICAgICAgIGlmIChsZWFkaW5nQ2FsbCkge1xyXG4gICAgICAgICAgICBsZWFkaW5nQ2FsbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHJhaWxpbmdDYWxsKSB7XHJcbiAgICAgICAgICAgIHByb3h5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBpbnZva2VkIGFmdGVyIHRoZSBzcGVjaWZpZWQgZGVsYXkuIEl0IHdpbGwgZnVydGhlciBwb3N0cG9uZVxyXG4gICAgICogaW52b2NhdGlvbiBvZiB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gZGVsZWdhdGluZyBpdCB0byB0aGVcclxuICAgICAqIHJlcXVlc3RBbmltYXRpb25GcmFtZS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gdGltZW91dENhbGxiYWNrKCkge1xyXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSQxKHJlc29sdmVQZW5kaW5nKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogU2NoZWR1bGVzIGludm9jYXRpb24gb2YgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBwcm94eSgpIHtcclxuICAgICAgICB2YXIgdGltZVN0YW1wID0gRGF0ZS5ub3coKTtcclxuICAgICAgICBpZiAobGVhZGluZ0NhbGwpIHtcclxuICAgICAgICAgICAgLy8gUmVqZWN0IGltbWVkaWF0ZWx5IGZvbGxvd2luZyBjYWxscy5cclxuICAgICAgICAgICAgaWYgKHRpbWVTdGFtcCAtIGxhc3RDYWxsVGltZSA8IHRyYWlsaW5nVGltZW91dCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFNjaGVkdWxlIG5ldyBjYWxsIHRvIGJlIGluIGludm9rZWQgd2hlbiB0aGUgcGVuZGluZyBvbmUgaXMgcmVzb2x2ZWQuXHJcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgaW1wb3J0YW50IGZvciBcInRyYW5zaXRpb25zXCIgd2hpY2ggbmV2ZXIgYWN0dWFsbHkgc3RhcnRcclxuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHkgc28gdGhlcmUgaXMgYSBjaGFuY2UgdGhhdCB3ZSBtaWdodCBtaXNzIG9uZSBpZiBjaGFuZ2VcclxuICAgICAgICAgICAgLy8gaGFwcGVucyBhbWlkcyB0aGUgcGVuZGluZyBpbnZvY2F0aW9uLlxyXG4gICAgICAgICAgICB0cmFpbGluZ0NhbGwgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgbGVhZGluZ0NhbGwgPSB0cnVlO1xyXG4gICAgICAgICAgICB0cmFpbGluZ0NhbGwgPSBmYWxzZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCh0aW1lb3V0Q2FsbGJhY2ssIGRlbGF5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFzdENhbGxUaW1lID0gdGltZVN0YW1wO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb3h5O1xyXG59XG5cbi8vIE1pbmltdW0gZGVsYXkgYmVmb3JlIGludm9raW5nIHRoZSB1cGRhdGUgb2Ygb2JzZXJ2ZXJzLlxyXG52YXIgUkVGUkVTSF9ERUxBWSA9IDIwO1xyXG4vLyBBIGxpc3Qgb2Ygc3Vic3RyaW5ncyBvZiBDU1MgcHJvcGVydGllcyB1c2VkIHRvIGZpbmQgdHJhbnNpdGlvbiBldmVudHMgdGhhdFxyXG4vLyBtaWdodCBhZmZlY3QgZGltZW5zaW9ucyBvZiBvYnNlcnZlZCBlbGVtZW50cy5cclxudmFyIHRyYW5zaXRpb25LZXlzID0gWyd0b3AnLCAncmlnaHQnLCAnYm90dG9tJywgJ2xlZnQnLCAnd2lkdGgnLCAnaGVpZ2h0JywgJ3NpemUnLCAnd2VpZ2h0J107XHJcbi8vIENoZWNrIGlmIE11dGF0aW9uT2JzZXJ2ZXIgaXMgYXZhaWxhYmxlLlxyXG52YXIgbXV0YXRpb25PYnNlcnZlclN1cHBvcnRlZCA9IHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyICE9PSAndW5kZWZpbmVkJztcclxuLyoqXHJcbiAqIFNpbmdsZXRvbiBjb250cm9sbGVyIGNsYXNzIHdoaWNoIGhhbmRsZXMgdXBkYXRlcyBvZiBSZXNpemVPYnNlcnZlciBpbnN0YW5jZXMuXHJcbiAqL1xyXG52YXIgUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIFJlc2l6ZU9ic2VydmVyQ29udHJvbGxlci5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICovXHJcbiAgICBmdW5jdGlvbiBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIoKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogSW5kaWNhdGVzIHdoZXRoZXIgRE9NIGxpc3RlbmVycyBoYXZlIGJlZW4gYWRkZWQuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZSB7Ym9vbGVhbn1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZF8gPSBmYWxzZTtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBUZWxscyB0aGF0IGNvbnRyb2xsZXIgaGFzIHN1YnNjcmliZWQgZm9yIE11dGF0aW9uIEV2ZW50cy5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlIHtib29sZWFufVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMubXV0YXRpb25FdmVudHNBZGRlZF8gPSBmYWxzZTtcclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBLZWVwcyByZWZlcmVuY2UgdG8gdGhlIGluc3RhbmNlIG9mIE11dGF0aW9uT2JzZXJ2ZXIuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZSB7TXV0YXRpb25PYnNlcnZlcn1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzLm11dGF0aW9uc09ic2VydmVyXyA9IG51bGw7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQSBsaXN0IG9mIGNvbm5lY3RlZCBvYnNlcnZlcnMuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAcHJpdmF0ZSB7QXJyYXk8UmVzaXplT2JzZXJ2ZXJTUEk+fVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMub2JzZXJ2ZXJzXyA9IFtdO1xyXG4gICAgICAgIHRoaXMub25UcmFuc2l0aW9uRW5kXyA9IHRoaXMub25UcmFuc2l0aW9uRW5kXy5iaW5kKHRoaXMpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCA9IHRocm90dGxlKHRoaXMucmVmcmVzaC5iaW5kKHRoaXMpLCBSRUZSRVNIX0RFTEFZKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBvYnNlcnZlciB0byBvYnNlcnZlcnMgbGlzdC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyU1BJfSBvYnNlcnZlciAtIE9ic2VydmVyIHRvIGJlIGFkZGVkLlxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmVyQ29udHJvbGxlci5wcm90b3R5cGUuYWRkT2JzZXJ2ZXIgPSBmdW5jdGlvbiAob2JzZXJ2ZXIpIHtcclxuICAgICAgICBpZiAoIX50aGlzLm9ic2VydmVyc18uaW5kZXhPZihvYnNlcnZlcikpIHtcclxuICAgICAgICAgICAgdGhpcy5vYnNlcnZlcnNfLnB1c2gob2JzZXJ2ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBZGQgbGlzdGVuZXJzIGlmIHRoZXkgaGF2ZW4ndCBiZWVuIGFkZGVkIHlldC5cclxuICAgICAgICBpZiAoIXRoaXMuY29ubmVjdGVkXykge1xyXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3RfKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBvYnNlcnZlciBmcm9tIG9ic2VydmVycyBsaXN0LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7UmVzaXplT2JzZXJ2ZXJTUEl9IG9ic2VydmVyIC0gT2JzZXJ2ZXIgdG8gYmUgcmVtb3ZlZC5cclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlbW92ZU9ic2VydmVyID0gZnVuY3Rpb24gKG9ic2VydmVyKSB7XHJcbiAgICAgICAgdmFyIG9ic2VydmVycyA9IHRoaXMub2JzZXJ2ZXJzXztcclxuICAgICAgICB2YXIgaW5kZXggPSBvYnNlcnZlcnMuaW5kZXhPZihvYnNlcnZlcik7XHJcbiAgICAgICAgLy8gUmVtb3ZlIG9ic2VydmVyIGlmIGl0J3MgcHJlc2VudCBpbiByZWdpc3RyeS5cclxuICAgICAgICBpZiAofmluZGV4KSB7XHJcbiAgICAgICAgICAgIG9ic2VydmVycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZW1vdmUgbGlzdGVuZXJzIGlmIGNvbnRyb2xsZXIgaGFzIG5vIGNvbm5lY3RlZCBvYnNlcnZlcnMuXHJcbiAgICAgICAgaWYgKCFvYnNlcnZlcnMubGVuZ3RoICYmIHRoaXMuY29ubmVjdGVkXykge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RfKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW52b2tlcyB0aGUgdXBkYXRlIG9mIG9ic2VydmVycy4gSXQgd2lsbCBjb250aW51ZSBydW5uaW5nIHVwZGF0ZXMgaW5zb2ZhclxyXG4gICAgICogaXQgZGV0ZWN0cyBjaGFuZ2VzLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlZnJlc2ggPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIGNoYW5nZXNEZXRlY3RlZCA9IHRoaXMudXBkYXRlT2JzZXJ2ZXJzXygpO1xyXG4gICAgICAgIC8vIENvbnRpbnVlIHJ1bm5pbmcgdXBkYXRlcyBpZiBjaGFuZ2VzIGhhdmUgYmVlbiBkZXRlY3RlZCBhcyB0aGVyZSBtaWdodFxyXG4gICAgICAgIC8vIGJlIGZ1dHVyZSBvbmVzIGNhdXNlZCBieSBDU1MgdHJhbnNpdGlvbnMuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNEZXRlY3RlZCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2goKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIGV2ZXJ5IG9ic2VydmVyIGZyb20gb2JzZXJ2ZXJzIGxpc3QgYW5kIG5vdGlmaWVzIHRoZW0gb2YgcXVldWVkXHJcbiAgICAgKiBlbnRyaWVzLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBcInRydWVcIiBpZiBhbnkgb2JzZXJ2ZXIgaGFzIGRldGVjdGVkIGNoYW5nZXMgaW5cclxuICAgICAqICAgICAgZGltZW5zaW9ucyBvZiBpdCdzIGVsZW1lbnRzLlxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIucHJvdG90eXBlLnVwZGF0ZU9ic2VydmVyc18gPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gQ29sbGVjdCBvYnNlcnZlcnMgdGhhdCBoYXZlIGFjdGl2ZSBvYnNlcnZhdGlvbnMuXHJcbiAgICAgICAgdmFyIGFjdGl2ZU9ic2VydmVycyA9IHRoaXMub2JzZXJ2ZXJzXy5maWx0ZXIoZnVuY3Rpb24gKG9ic2VydmVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvYnNlcnZlci5nYXRoZXJBY3RpdmUoKSwgb2JzZXJ2ZXIuaGFzQWN0aXZlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gRGVsaXZlciBub3RpZmljYXRpb25zIGluIGEgc2VwYXJhdGUgY3ljbGUgaW4gb3JkZXIgdG8gYXZvaWQgYW55XHJcbiAgICAgICAgLy8gY29sbGlzaW9ucyBiZXR3ZWVuIG9ic2VydmVycywgZS5nLiB3aGVuIG11bHRpcGxlIGluc3RhbmNlcyBvZlxyXG4gICAgICAgIC8vIFJlc2l6ZU9ic2VydmVyIGFyZSB0cmFja2luZyB0aGUgc2FtZSBlbGVtZW50IGFuZCB0aGUgY2FsbGJhY2sgb2Ygb25lXHJcbiAgICAgICAgLy8gb2YgdGhlbSBjaGFuZ2VzIGNvbnRlbnQgZGltZW5zaW9ucyBvZiB0aGUgb2JzZXJ2ZWQgdGFyZ2V0LiBTb21ldGltZXNcclxuICAgICAgICAvLyB0aGlzIG1heSByZXN1bHQgaW4gbm90aWZpY2F0aW9ucyBiZWluZyBibG9ja2VkIGZvciB0aGUgcmVzdCBvZiBvYnNlcnZlcnMuXHJcbiAgICAgICAgYWN0aXZlT2JzZXJ2ZXJzLmZvckVhY2goZnVuY3Rpb24gKG9ic2VydmVyKSB7IHJldHVybiBvYnNlcnZlci5icm9hZGNhc3RBY3RpdmUoKTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIGFjdGl2ZU9ic2VydmVycy5sZW5ndGggPiAwO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgRE9NIGxpc3RlbmVycy5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmVyQ29udHJvbGxlci5wcm90b3R5cGUuY29ubmVjdF8gPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gRG8gbm90aGluZyBpZiBydW5uaW5nIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnQgb3IgaWYgbGlzdGVuZXJzXHJcbiAgICAgICAgLy8gaGF2ZSBiZWVuIGFscmVhZHkgYWRkZWQuXHJcbiAgICAgICAgaWYgKCFpc0Jyb3dzZXIgfHwgdGhpcy5jb25uZWN0ZWRfKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU3Vic2NyaXB0aW9uIHRvIHRoZSBcIlRyYW5zaXRpb25lbmRcIiBldmVudCBpcyB1c2VkIGFzIGEgd29ya2Fyb3VuZCBmb3JcclxuICAgICAgICAvLyBkZWxheWVkIHRyYW5zaXRpb25zLiBUaGlzIHdheSBpdCdzIHBvc3NpYmxlIHRvIGNhcHR1cmUgYXQgbGVhc3QgdGhlXHJcbiAgICAgICAgLy8gZmluYWwgc3RhdGUgb2YgYW4gZWxlbWVudC5cclxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgdGhpcy5vblRyYW5zaXRpb25FbmRfKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZWZyZXNoKTtcclxuICAgICAgICBpZiAobXV0YXRpb25PYnNlcnZlclN1cHBvcnRlZCkge1xyXG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uc09ic2VydmVyXyA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKHRoaXMucmVmcmVzaCk7XHJcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25zT2JzZXJ2ZXJfLm9ic2VydmUoZG9jdW1lbnQsIHtcclxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBjaGFyYWN0ZXJEYXRhOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgc3VidHJlZTogdHJ1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTVN1YnRyZWVNb2RpZmllZCcsIHRoaXMucmVmcmVzaCk7XHJcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25FdmVudHNBZGRlZF8gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNvbm5lY3RlZF8gPSB0cnVlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogUmVtb3ZlcyBET00gbGlzdGVuZXJzLlxyXG4gICAgICpcclxuICAgICAqIEBwcml2YXRlXHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyLnByb3RvdHlwZS5kaXNjb25uZWN0XyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIHJ1bm5pbmcgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudCBvciBpZiBsaXN0ZW5lcnNcclxuICAgICAgICAvLyBoYXZlIGJlZW4gYWxyZWFkeSByZW1vdmVkLlxyXG4gICAgICAgIGlmICghaXNCcm93c2VyIHx8ICF0aGlzLmNvbm5lY3RlZF8pIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0cmFuc2l0aW9uZW5kJywgdGhpcy5vblRyYW5zaXRpb25FbmRfKTtcclxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZWZyZXNoKTtcclxuICAgICAgICBpZiAodGhpcy5tdXRhdGlvbnNPYnNlcnZlcl8pIHtcclxuICAgICAgICAgICAgdGhpcy5tdXRhdGlvbnNPYnNlcnZlcl8uZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5tdXRhdGlvbkV2ZW50c0FkZGVkXykge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdET01TdWJ0cmVlTW9kaWZpZWQnLCB0aGlzLnJlZnJlc2gpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm11dGF0aW9uc09ic2VydmVyXyA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5tdXRhdGlvbkV2ZW50c0FkZGVkXyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29ubmVjdGVkXyA9IGZhbHNlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogXCJUcmFuc2l0aW9uZW5kXCIgZXZlbnQgaGFuZGxlci5cclxuICAgICAqXHJcbiAgICAgKiBAcHJpdmF0ZVxyXG4gICAgICogQHBhcmFtIHtUcmFuc2l0aW9uRXZlbnR9IGV2ZW50XHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmRfID0gZnVuY3Rpb24gKF9hKSB7XHJcbiAgICAgICAgdmFyIF9iID0gX2EucHJvcGVydHlOYW1lLCBwcm9wZXJ0eU5hbWUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgICAgICAvLyBEZXRlY3Qgd2hldGhlciB0cmFuc2l0aW9uIG1heSBhZmZlY3QgZGltZW5zaW9ucyBvZiBhbiBlbGVtZW50LlxyXG4gICAgICAgIHZhciBpc1JlZmxvd1Byb3BlcnR5ID0gdHJhbnNpdGlvbktleXMuc29tZShmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgIHJldHVybiAhIX5wcm9wZXJ0eU5hbWUuaW5kZXhPZihrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChpc1JlZmxvd1Byb3BlcnR5KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgaW5zdGFuY2Ugb2YgdGhlIFJlc2l6ZU9ic2VydmVyQ29udHJvbGxlci5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7UmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIuZ2V0SW5zdGFuY2UgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmluc3RhbmNlXykge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlXyA9IG5ldyBSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VfO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogSG9sZHMgcmVmZXJlbmNlIHRvIHRoZSBjb250cm9sbGVyJ3MgaW5zdGFuY2UuXHJcbiAgICAgKlxyXG4gICAgICogQHByaXZhdGUge1Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlcn1cclxuICAgICAqL1xyXG4gICAgUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyLmluc3RhbmNlXyA9IG51bGw7XHJcbiAgICByZXR1cm4gUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyO1xyXG59KCkpO1xuXG4vKipcclxuICogRGVmaW5lcyBub24td3JpdGFibGUvZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mIHRoZSBwcm92aWRlZCB0YXJnZXQgb2JqZWN0LlxyXG4gKlxyXG4gKiBAcGFyYW0ge09iamVjdH0gdGFyZ2V0IC0gT2JqZWN0IGZvciB3aGljaCB0byBkZWZpbmUgcHJvcGVydGllcy5cclxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIC0gUHJvcGVydGllcyB0byBiZSBkZWZpbmVkLlxyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUYXJnZXQgb2JqZWN0LlxyXG4gKi9cclxudmFyIGRlZmluZUNvbmZpZ3VyYWJsZSA9IChmdW5jdGlvbiAodGFyZ2V0LCBwcm9wcykge1xyXG4gICAgZm9yICh2YXIgX2kgPSAwLCBfYSA9IE9iamVjdC5rZXlzKHByb3BzKTsgX2kgPCBfYS5sZW5ndGg7IF9pKyspIHtcclxuICAgICAgICB2YXIga2V5ID0gX2FbX2ldO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xyXG4gICAgICAgICAgICB2YWx1ZTogcHJvcHNba2V5XSxcclxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG59KTtcblxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGdsb2JhbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHByb3ZpZGVkIGVsZW1lbnQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSB0YXJnZXRcclxuICogQHJldHVybnMge09iamVjdH1cclxuICovXHJcbnZhciBnZXRXaW5kb3dPZiA9IChmdW5jdGlvbiAodGFyZ2V0KSB7XHJcbiAgICAvLyBBc3N1bWUgdGhhdCB0aGUgZWxlbWVudCBpcyBhbiBpbnN0YW5jZSBvZiBOb2RlLCB3aGljaCBtZWFucyB0aGF0IGl0XHJcbiAgICAvLyBoYXMgdGhlIFwib3duZXJEb2N1bWVudFwiIHByb3BlcnR5IGZyb20gd2hpY2ggd2UgY2FuIHJldHJpZXZlIGFcclxuICAgIC8vIGNvcnJlc3BvbmRpbmcgZ2xvYmFsIG9iamVjdC5cclxuICAgIHZhciBvd25lckdsb2JhbCA9IHRhcmdldCAmJiB0YXJnZXQub3duZXJEb2N1bWVudCAmJiB0YXJnZXQub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcclxuICAgIC8vIFJldHVybiB0aGUgbG9jYWwgZ2xvYmFsIG9iamVjdCBpZiBpdCdzIG5vdCBwb3NzaWJsZSBleHRyYWN0IG9uZSBmcm9tXHJcbiAgICAvLyBwcm92aWRlZCBlbGVtZW50LlxyXG4gICAgcmV0dXJuIG93bmVyR2xvYmFsIHx8IGdsb2JhbCQxO1xyXG59KTtcblxuLy8gUGxhY2Vob2xkZXIgb2YgYW4gZW1wdHkgY29udGVudCByZWN0YW5nbGUuXHJcbnZhciBlbXB0eVJlY3QgPSBjcmVhdGVSZWN0SW5pdCgwLCAwLCAwLCAwKTtcclxuLyoqXHJcbiAqIENvbnZlcnRzIHByb3ZpZGVkIHN0cmluZyB0byBhIG51bWJlci5cclxuICpcclxuICogQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSB2YWx1ZVxyXG4gKiBAcmV0dXJucyB7bnVtYmVyfVxyXG4gKi9cclxuZnVuY3Rpb24gdG9GbG9hdCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpIHx8IDA7XHJcbn1cclxuLyoqXHJcbiAqIEV4dHJhY3RzIGJvcmRlcnMgc2l6ZSBmcm9tIHByb3ZpZGVkIHN0eWxlcy5cclxuICpcclxuICogQHBhcmFtIHtDU1NTdHlsZURlY2xhcmF0aW9ufSBzdHlsZXNcclxuICogQHBhcmFtIHsuLi5zdHJpbmd9IHBvc2l0aW9ucyAtIEJvcmRlcnMgcG9zaXRpb25zICh0b3AsIHJpZ2h0LCAuLi4pXHJcbiAqIEByZXR1cm5zIHtudW1iZXJ9XHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRCb3JkZXJzU2l6ZShzdHlsZXMpIHtcclxuICAgIHZhciBwb3NpdGlvbnMgPSBbXTtcclxuICAgIGZvciAodmFyIF9pID0gMTsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgcG9zaXRpb25zW19pIC0gMV0gPSBhcmd1bWVudHNbX2ldO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9ucy5yZWR1Y2UoZnVuY3Rpb24gKHNpemUsIHBvc2l0aW9uKSB7XHJcbiAgICAgICAgdmFyIHZhbHVlID0gc3R5bGVzWydib3JkZXItJyArIHBvc2l0aW9uICsgJy13aWR0aCddO1xyXG4gICAgICAgIHJldHVybiBzaXplICsgdG9GbG9hdCh2YWx1ZSk7XHJcbiAgICB9LCAwKTtcclxufVxyXG4vKipcclxuICogRXh0cmFjdHMgcGFkZGluZ3Mgc2l6ZXMgZnJvbSBwcm92aWRlZCBzdHlsZXMuXHJcbiAqXHJcbiAqIEBwYXJhbSB7Q1NTU3R5bGVEZWNsYXJhdGlvbn0gc3R5bGVzXHJcbiAqIEByZXR1cm5zIHtPYmplY3R9IFBhZGRpbmdzIGJveC5cclxuICovXHJcbmZ1bmN0aW9uIGdldFBhZGRpbmdzKHN0eWxlcykge1xyXG4gICAgdmFyIHBvc2l0aW9ucyA9IFsndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J107XHJcbiAgICB2YXIgcGFkZGluZ3MgPSB7fTtcclxuICAgIGZvciAodmFyIF9pID0gMCwgcG9zaXRpb25zXzEgPSBwb3NpdGlvbnM7IF9pIDwgcG9zaXRpb25zXzEubGVuZ3RoOyBfaSsrKSB7XHJcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gcG9zaXRpb25zXzFbX2ldO1xyXG4gICAgICAgIHZhciB2YWx1ZSA9IHN0eWxlc1sncGFkZGluZy0nICsgcG9zaXRpb25dO1xyXG4gICAgICAgIHBhZGRpbmdzW3Bvc2l0aW9uXSA9IHRvRmxvYXQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmdzO1xyXG59XHJcbi8qKlxyXG4gKiBDYWxjdWxhdGVzIGNvbnRlbnQgcmVjdGFuZ2xlIG9mIHByb3ZpZGVkIFNWRyBlbGVtZW50LlxyXG4gKlxyXG4gKiBAcGFyYW0ge1NWR0dyYXBoaWNzRWxlbWVudH0gdGFyZ2V0IC0gRWxlbWVudCBjb250ZW50IHJlY3RhbmdsZSBvZiB3aGljaCBuZWVkc1xyXG4gKiAgICAgIHRvIGJlIGNhbGN1bGF0ZWQuXHJcbiAqIEByZXR1cm5zIHtET01SZWN0SW5pdH1cclxuICovXHJcbmZ1bmN0aW9uIGdldFNWR0NvbnRlbnRSZWN0KHRhcmdldCkge1xyXG4gICAgdmFyIGJib3ggPSB0YXJnZXQuZ2V0QkJveCgpO1xyXG4gICAgcmV0dXJuIGNyZWF0ZVJlY3RJbml0KDAsIDAsIGJib3gud2lkdGgsIGJib3guaGVpZ2h0KTtcclxufVxyXG4vKipcclxuICogQ2FsY3VsYXRlcyBjb250ZW50IHJlY3RhbmdsZSBvZiBwcm92aWRlZCBIVE1MRWxlbWVudC5cclxuICpcclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gdGFyZ2V0IC0gRWxlbWVudCBmb3Igd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBjb250ZW50IHJlY3RhbmdsZS5cclxuICogQHJldHVybnMge0RPTVJlY3RJbml0fVxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0SFRNTEVsZW1lbnRDb250ZW50UmVjdCh0YXJnZXQpIHtcclxuICAgIC8vIENsaWVudCB3aWR0aCAmIGhlaWdodCBwcm9wZXJ0aWVzIGNhbid0IGJlXHJcbiAgICAvLyB1c2VkIGV4Y2x1c2l2ZWx5IGFzIHRoZXkgcHJvdmlkZSByb3VuZGVkIHZhbHVlcy5cclxuICAgIHZhciBjbGllbnRXaWR0aCA9IHRhcmdldC5jbGllbnRXaWR0aCwgY2xpZW50SGVpZ2h0ID0gdGFyZ2V0LmNsaWVudEhlaWdodDtcclxuICAgIC8vIEJ5IHRoaXMgY29uZGl0aW9uIHdlIGNhbiBjYXRjaCBhbGwgbm9uLXJlcGxhY2VkIGlubGluZSwgaGlkZGVuIGFuZFxyXG4gICAgLy8gZGV0YWNoZWQgZWxlbWVudHMuIFRob3VnaCBlbGVtZW50cyB3aXRoIHdpZHRoICYgaGVpZ2h0IHByb3BlcnRpZXMgbGVzc1xyXG4gICAgLy8gdGhhbiAwLjUgd2lsbCBiZSBkaXNjYXJkZWQgYXMgd2VsbC5cclxuICAgIC8vXHJcbiAgICAvLyBXaXRob3V0IGl0IHdlIHdvdWxkIG5lZWQgdG8gaW1wbGVtZW50IHNlcGFyYXRlIG1ldGhvZHMgZm9yIGVhY2ggb2ZcclxuICAgIC8vIHRob3NlIGNhc2VzIGFuZCBpdCdzIG5vdCBwb3NzaWJsZSB0byBwZXJmb3JtIGEgcHJlY2lzZSBhbmQgcGVyZm9ybWFuY2VcclxuICAgIC8vIGVmZmVjdGl2ZSB0ZXN0IGZvciBoaWRkZW4gZWxlbWVudHMuIEUuZy4gZXZlbiBqUXVlcnkncyAnOnZpc2libGUnIGZpbHRlclxyXG4gICAgLy8gZ2l2ZXMgd3JvbmcgcmVzdWx0cyBmb3IgZWxlbWVudHMgd2l0aCB3aWR0aCAmIGhlaWdodCBsZXNzIHRoYW4gMC41LlxyXG4gICAgaWYgKCFjbGllbnRXaWR0aCAmJiAhY2xpZW50SGVpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIGVtcHR5UmVjdDtcclxuICAgIH1cclxuICAgIHZhciBzdHlsZXMgPSBnZXRXaW5kb3dPZih0YXJnZXQpLmdldENvbXB1dGVkU3R5bGUodGFyZ2V0KTtcclxuICAgIHZhciBwYWRkaW5ncyA9IGdldFBhZGRpbmdzKHN0eWxlcyk7XHJcbiAgICB2YXIgaG9yaXpQYWQgPSBwYWRkaW5ncy5sZWZ0ICsgcGFkZGluZ3MucmlnaHQ7XHJcbiAgICB2YXIgdmVydFBhZCA9IHBhZGRpbmdzLnRvcCArIHBhZGRpbmdzLmJvdHRvbTtcclxuICAgIC8vIENvbXB1dGVkIHN0eWxlcyBvZiB3aWR0aCAmIGhlaWdodCBhcmUgYmVpbmcgdXNlZCBiZWNhdXNlIHRoZXkgYXJlIHRoZVxyXG4gICAgLy8gb25seSBkaW1lbnNpb25zIGF2YWlsYWJsZSB0byBKUyB0aGF0IGNvbnRhaW4gbm9uLXJvdW5kZWQgdmFsdWVzLiBJdCBjb3VsZFxyXG4gICAgLy8gYmUgcG9zc2libGUgdG8gdXRpbGl6ZSB0aGUgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IGlmIG9ubHkgaXQncyBkYXRhIHdhc24ndFxyXG4gICAgLy8gYWZmZWN0ZWQgYnkgQ1NTIHRyYW5zZm9ybWF0aW9ucyBsZXQgYWxvbmUgcGFkZGluZ3MsIGJvcmRlcnMgYW5kIHNjcm9sbCBiYXJzLlxyXG4gICAgdmFyIHdpZHRoID0gdG9GbG9hdChzdHlsZXMud2lkdGgpLCBoZWlnaHQgPSB0b0Zsb2F0KHN0eWxlcy5oZWlnaHQpO1xyXG4gICAgLy8gV2lkdGggJiBoZWlnaHQgaW5jbHVkZSBwYWRkaW5ncyBhbmQgYm9yZGVycyB3aGVuIHRoZSAnYm9yZGVyLWJveCcgYm94XHJcbiAgICAvLyBtb2RlbCBpcyBhcHBsaWVkIChleGNlcHQgZm9yIElFKS5cclxuICAgIGlmIChzdHlsZXMuYm94U2l6aW5nID09PSAnYm9yZGVyLWJveCcpIHtcclxuICAgICAgICAvLyBGb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgcmVxdWlyZWQgdG8gaGFuZGxlIEludGVybmV0IEV4cGxvcmVyIHdoaWNoXHJcbiAgICAgICAgLy8gZG9lc24ndCBpbmNsdWRlIHBhZGRpbmdzIGFuZCBib3JkZXJzIHRvIGNvbXB1dGVkIENTUyBkaW1lbnNpb25zLlxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gV2UgY2FuIHNheSB0aGF0IGlmIENTUyBkaW1lbnNpb25zICsgcGFkZGluZ3MgYXJlIGVxdWFsIHRvIHRoZSBcImNsaWVudFwiXHJcbiAgICAgICAgLy8gcHJvcGVydGllcyB0aGVuIGl0J3MgZWl0aGVyIElFLCBhbmQgdGh1cyB3ZSBkb24ndCBuZWVkIHRvIHN1YnRyYWN0XHJcbiAgICAgICAgLy8gYW55dGhpbmcsIG9yIGFuIGVsZW1lbnQgbWVyZWx5IGRvZXNuJ3QgaGF2ZSBwYWRkaW5ncy9ib3JkZXJzIHN0eWxlcy5cclxuICAgICAgICBpZiAoTWF0aC5yb3VuZCh3aWR0aCArIGhvcml6UGFkKSAhPT0gY2xpZW50V2lkdGgpIHtcclxuICAgICAgICAgICAgd2lkdGggLT0gZ2V0Qm9yZGVyc1NpemUoc3R5bGVzLCAnbGVmdCcsICdyaWdodCcpICsgaG9yaXpQYWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChNYXRoLnJvdW5kKGhlaWdodCArIHZlcnRQYWQpICE9PSBjbGllbnRIZWlnaHQpIHtcclxuICAgICAgICAgICAgaGVpZ2h0IC09IGdldEJvcmRlcnNTaXplKHN0eWxlcywgJ3RvcCcsICdib3R0b20nKSArIHZlcnRQYWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9sbG93aW5nIHN0ZXBzIGNhbid0IGJlIGFwcGxpZWQgdG8gdGhlIGRvY3VtZW50J3Mgcm9vdCBlbGVtZW50IGFzIGl0c1xyXG4gICAgLy8gY2xpZW50W1dpZHRoL0hlaWdodF0gcHJvcGVydGllcyByZXByZXNlbnQgdmlld3BvcnQgYXJlYSBvZiB0aGUgd2luZG93LlxyXG4gICAgLy8gQmVzaWRlcywgaXQncyBhcyB3ZWxsIG5vdCBuZWNlc3NhcnkgYXMgdGhlIDxodG1sPiBpdHNlbGYgbmVpdGhlciBoYXNcclxuICAgIC8vIHJlbmRlcmVkIHNjcm9sbCBiYXJzIG5vciBpdCBjYW4gYmUgY2xpcHBlZC5cclxuICAgIGlmICghaXNEb2N1bWVudEVsZW1lbnQodGFyZ2V0KSkge1xyXG4gICAgICAgIC8vIEluIHNvbWUgYnJvd3NlcnMgKG9ubHkgaW4gRmlyZWZveCwgYWN0dWFsbHkpIENTUyB3aWR0aCAmIGhlaWdodFxyXG4gICAgICAgIC8vIGluY2x1ZGUgc2Nyb2xsIGJhcnMgc2l6ZSB3aGljaCBjYW4gYmUgcmVtb3ZlZCBhdCB0aGlzIHN0ZXAgYXMgc2Nyb2xsXHJcbiAgICAgICAgLy8gYmFycyBhcmUgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIHJvdW5kZWQgZGltZW5zaW9ucyArIHBhZGRpbmdzXHJcbiAgICAgICAgLy8gYW5kIFwiY2xpZW50XCIgcHJvcGVydGllcywgdGhvdWdoIHRoYXQgaXMgbm90IGFsd2F5cyB0cnVlIGluIENocm9tZS5cclxuICAgICAgICB2YXIgdmVydFNjcm9sbGJhciA9IE1hdGgucm91bmQod2lkdGggKyBob3JpelBhZCkgLSBjbGllbnRXaWR0aDtcclxuICAgICAgICB2YXIgaG9yaXpTY3JvbGxiYXIgPSBNYXRoLnJvdW5kKGhlaWdodCArIHZlcnRQYWQpIC0gY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIC8vIENocm9tZSBoYXMgYSByYXRoZXIgd2VpcmQgcm91bmRpbmcgb2YgXCJjbGllbnRcIiBwcm9wZXJ0aWVzLlxyXG4gICAgICAgIC8vIEUuZy4gZm9yIGFuIGVsZW1lbnQgd2l0aCBjb250ZW50IHdpZHRoIG9mIDMxNC4ycHggaXQgc29tZXRpbWVzIGdpdmVzXHJcbiAgICAgICAgLy8gdGhlIGNsaWVudCB3aWR0aCBvZiAzMTVweCBhbmQgZm9yIHRoZSB3aWR0aCBvZiAzMTQuN3B4IGl0IG1heSBnaXZlXHJcbiAgICAgICAgLy8gMzE0cHguIEFuZCBpdCBkb2Vzbid0IGhhcHBlbiBhbGwgdGhlIHRpbWUuIFNvIGp1c3QgaWdub3JlIHRoaXMgZGVsdGFcclxuICAgICAgICAvLyBhcyBhIG5vbi1yZWxldmFudC5cclxuICAgICAgICBpZiAoTWF0aC5hYnModmVydFNjcm9sbGJhcikgIT09IDEpIHtcclxuICAgICAgICAgICAgd2lkdGggLT0gdmVydFNjcm9sbGJhcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE1hdGguYWJzKGhvcml6U2Nyb2xsYmFyKSAhPT0gMSkge1xyXG4gICAgICAgICAgICBoZWlnaHQgLT0gaG9yaXpTY3JvbGxiYXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNyZWF0ZVJlY3RJbml0KHBhZGRpbmdzLmxlZnQsIHBhZGRpbmdzLnRvcCwgd2lkdGgsIGhlaWdodCk7XHJcbn1cclxuLyoqXHJcbiAqIENoZWNrcyB3aGV0aGVyIHByb3ZpZGVkIGVsZW1lbnQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIFNWR0dyYXBoaWNzRWxlbWVudC5cclxuICpcclxuICogQHBhcmFtIHtFbGVtZW50fSB0YXJnZXQgLSBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXHJcbiAqIEByZXR1cm5zIHtib29sZWFufVxyXG4gKi9cclxudmFyIGlzU1ZHR3JhcGhpY3NFbGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIC8vIFNvbWUgYnJvd3NlcnMsIG5hbWVseSBJRSBhbmQgRWRnZSwgZG9uJ3QgaGF2ZSB0aGUgU1ZHR3JhcGhpY3NFbGVtZW50XHJcbiAgICAvLyBpbnRlcmZhY2UuXHJcbiAgICBpZiAodHlwZW9mIFNWR0dyYXBoaWNzRWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCkgeyByZXR1cm4gdGFyZ2V0IGluc3RhbmNlb2YgZ2V0V2luZG93T2YodGFyZ2V0KS5TVkdHcmFwaGljc0VsZW1lbnQ7IH07XHJcbiAgICB9XHJcbiAgICAvLyBJZiBpdCdzIHNvLCB0aGVuIGNoZWNrIHRoYXQgZWxlbWVudCBpcyBhdCBsZWFzdCBhbiBpbnN0YW5jZSBvZiB0aGVcclxuICAgIC8vIFNWR0VsZW1lbnQgYW5kIHRoYXQgaXQgaGFzIHRoZSBcImdldEJCb3hcIiBtZXRob2QuXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXh0cmEtcGFyZW5zXHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldCkgeyByZXR1cm4gKHRhcmdldCBpbnN0YW5jZW9mIGdldFdpbmRvd09mKHRhcmdldCkuU1ZHRWxlbWVudCAmJlxyXG4gICAgICAgIHR5cGVvZiB0YXJnZXQuZ2V0QkJveCA9PT0gJ2Z1bmN0aW9uJyk7IH07XHJcbn0pKCk7XHJcbi8qKlxyXG4gKiBDaGVja3Mgd2hldGhlciBwcm92aWRlZCBlbGVtZW50IGlzIGEgZG9jdW1lbnQgZWxlbWVudCAoPGh0bWw+KS5cclxuICpcclxuICogQHBhcmFtIHtFbGVtZW50fSB0YXJnZXQgLSBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXHJcbiAqIEByZXR1cm5zIHtib29sZWFufVxyXG4gKi9cclxuZnVuY3Rpb24gaXNEb2N1bWVudEVsZW1lbnQodGFyZ2V0KSB7XHJcbiAgICByZXR1cm4gdGFyZ2V0ID09PSBnZXRXaW5kb3dPZih0YXJnZXQpLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxufVxyXG4vKipcclxuICogQ2FsY3VsYXRlcyBhbiBhcHByb3ByaWF0ZSBjb250ZW50IHJlY3RhbmdsZSBmb3IgcHJvdmlkZWQgaHRtbCBvciBzdmcgZWxlbWVudC5cclxuICpcclxuICogQHBhcmFtIHtFbGVtZW50fSB0YXJnZXQgLSBFbGVtZW50IGNvbnRlbnQgcmVjdGFuZ2xlIG9mIHdoaWNoIG5lZWRzIHRvIGJlIGNhbGN1bGF0ZWQuXHJcbiAqIEByZXR1cm5zIHtET01SZWN0SW5pdH1cclxuICovXHJcbmZ1bmN0aW9uIGdldENvbnRlbnRSZWN0KHRhcmdldCkge1xyXG4gICAgaWYgKCFpc0Jyb3dzZXIpIHtcclxuICAgICAgICByZXR1cm4gZW1wdHlSZWN0O1xyXG4gICAgfVxyXG4gICAgaWYgKGlzU1ZHR3JhcGhpY3NFbGVtZW50KHRhcmdldCkpIHtcclxuICAgICAgICByZXR1cm4gZ2V0U1ZHQ29udGVudFJlY3QodGFyZ2V0KTtcclxuICAgIH1cclxuICAgIHJldHVybiBnZXRIVE1MRWxlbWVudENvbnRlbnRSZWN0KHRhcmdldCk7XHJcbn1cclxuLyoqXHJcbiAqIENyZWF0ZXMgcmVjdGFuZ2xlIHdpdGggYW4gaW50ZXJmYWNlIG9mIHRoZSBET01SZWN0UmVhZE9ubHkuXHJcbiAqIFNwZWM6IGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNkb21yZWN0cmVhZG9ubHlcclxuICpcclxuICogQHBhcmFtIHtET01SZWN0SW5pdH0gcmVjdEluaXQgLSBPYmplY3Qgd2l0aCByZWN0YW5nbGUncyB4L3kgY29vcmRpbmF0ZXMgYW5kIGRpbWVuc2lvbnMuXHJcbiAqIEByZXR1cm5zIHtET01SZWN0UmVhZE9ubHl9XHJcbiAqL1xyXG5mdW5jdGlvbiBjcmVhdGVSZWFkT25seVJlY3QoX2EpIHtcclxuICAgIHZhciB4ID0gX2EueCwgeSA9IF9hLnksIHdpZHRoID0gX2Eud2lkdGgsIGhlaWdodCA9IF9hLmhlaWdodDtcclxuICAgIC8vIElmIERPTVJlY3RSZWFkT25seSBpcyBhdmFpbGFibGUgdXNlIGl0IGFzIGEgcHJvdG90eXBlIGZvciB0aGUgcmVjdGFuZ2xlLlxyXG4gICAgdmFyIENvbnN0ciA9IHR5cGVvZiBET01SZWN0UmVhZE9ubHkgIT09ICd1bmRlZmluZWQnID8gRE9NUmVjdFJlYWRPbmx5IDogT2JqZWN0O1xyXG4gICAgdmFyIHJlY3QgPSBPYmplY3QuY3JlYXRlKENvbnN0ci5wcm90b3R5cGUpO1xyXG4gICAgLy8gUmVjdGFuZ2xlJ3MgcHJvcGVydGllcyBhcmUgbm90IHdyaXRhYmxlIGFuZCBub24tZW51bWVyYWJsZS5cclxuICAgIGRlZmluZUNvbmZpZ3VyYWJsZShyZWN0LCB7XHJcbiAgICAgICAgeDogeCwgeTogeSwgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCxcclxuICAgICAgICB0b3A6IHksXHJcbiAgICAgICAgcmlnaHQ6IHggKyB3aWR0aCxcclxuICAgICAgICBib3R0b206IGhlaWdodCArIHksXHJcbiAgICAgICAgbGVmdDogeFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVjdDtcclxufVxyXG4vKipcclxuICogQ3JlYXRlcyBET01SZWN0SW5pdCBvYmplY3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGRpbWVuc2lvbnMgYW5kIHRoZSB4L3kgY29vcmRpbmF0ZXMuXHJcbiAqIFNwZWM6IGh0dHBzOi8vZHJhZnRzLmZ4dGYub3JnL2dlb21ldHJ5LyNkaWN0ZGVmLWRvbXJlY3Rpbml0XHJcbiAqXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB4IC0gWCBjb29yZGluYXRlLlxyXG4gKiBAcGFyYW0ge251bWJlcn0geSAtIFkgY29vcmRpbmF0ZS5cclxuICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoIC0gUmVjdGFuZ2xlJ3Mgd2lkdGguXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSBoZWlnaHQgLSBSZWN0YW5nbGUncyBoZWlnaHQuXHJcbiAqIEByZXR1cm5zIHtET01SZWN0SW5pdH1cclxuICovXHJcbmZ1bmN0aW9uIGNyZWF0ZVJlY3RJbml0KHgsIHksIHdpZHRoLCBoZWlnaHQpIHtcclxuICAgIHJldHVybiB7IHg6IHgsIHk6IHksIHdpZHRoOiB3aWR0aCwgaGVpZ2h0OiBoZWlnaHQgfTtcclxufVxuXG4vKipcclxuICogQ2xhc3MgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgY29tcHV0YXRpb25zIG9mIHRoZSBjb250ZW50IHJlY3RhbmdsZSBvZlxyXG4gKiBwcm92aWRlZCBET00gZWxlbWVudCBhbmQgZm9yIGtlZXBpbmcgdHJhY2sgb2YgaXQncyBjaGFuZ2VzLlxyXG4gKi9cclxudmFyIFJlc2l6ZU9ic2VydmF0aW9uID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFJlc2l6ZU9ic2VydmF0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gdGFyZ2V0IC0gRWxlbWVudCB0byBiZSBvYnNlcnZlZC5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gUmVzaXplT2JzZXJ2YXRpb24odGFyZ2V0KSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQnJvYWRjYXN0ZWQgd2lkdGggb2YgY29udGVudCByZWN0YW5nbGUuXHJcbiAgICAgICAgICpcclxuICAgICAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0V2lkdGggPSAwO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEJyb2FkY2FzdGVkIGhlaWdodCBvZiBjb250ZW50IHJlY3RhbmdsZS5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5icm9hZGNhc3RIZWlnaHQgPSAwO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbGFzdCBvYnNlcnZlZCBjb250ZW50IHJlY3RhbmdsZS5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlIHtET01SZWN0SW5pdH1cclxuICAgICAgICAgKi9cclxuICAgICAgICB0aGlzLmNvbnRlbnRSZWN0XyA9IGNyZWF0ZVJlY3RJbml0KDAsIDAsIDAsIDApO1xyXG4gICAgICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0O1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIGNvbnRlbnQgcmVjdGFuZ2xlIGFuZCB0ZWxscyB3aGV0aGVyIGl0J3Mgd2lkdGggb3IgaGVpZ2h0IHByb3BlcnRpZXNcclxuICAgICAqIGhhdmUgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCBicm9hZGNhc3QuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmF0aW9uLnByb3RvdHlwZS5pc0FjdGl2ZSA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB2YXIgcmVjdCA9IGdldENvbnRlbnRSZWN0KHRoaXMudGFyZ2V0KTtcclxuICAgICAgICB0aGlzLmNvbnRlbnRSZWN0XyA9IHJlY3Q7XHJcbiAgICAgICAgcmV0dXJuIChyZWN0LndpZHRoICE9PSB0aGlzLmJyb2FkY2FzdFdpZHRoIHx8XHJcbiAgICAgICAgICAgIHJlY3QuaGVpZ2h0ICE9PSB0aGlzLmJyb2FkY2FzdEhlaWdodCk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzICdicm9hZGNhc3RXaWR0aCcgYW5kICdicm9hZGNhc3RIZWlnaHQnIHByb3BlcnRpZXMgd2l0aCBhIGRhdGFcclxuICAgICAqIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydGllcyBvZiB0aGUgbGFzdCBvYnNlcnZlZCBjb250ZW50IHJlY3RhbmdsZS5cclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7RE9NUmVjdEluaXR9IExhc3Qgb2JzZXJ2ZWQgY29udGVudCByZWN0YW5nbGUuXHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmF0aW9uLnByb3RvdHlwZS5icm9hZGNhc3RSZWN0ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciByZWN0ID0gdGhpcy5jb250ZW50UmVjdF87XHJcbiAgICAgICAgdGhpcy5icm9hZGNhc3RXaWR0aCA9IHJlY3Qud2lkdGg7XHJcbiAgICAgICAgdGhpcy5icm9hZGNhc3RIZWlnaHQgPSByZWN0LmhlaWdodDtcclxuICAgICAgICByZXR1cm4gcmVjdDtcclxuICAgIH07XHJcbiAgICByZXR1cm4gUmVzaXplT2JzZXJ2YXRpb247XHJcbn0oKSk7XG5cbnZhciBSZXNpemVPYnNlcnZlckVudHJ5ID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFJlc2l6ZU9ic2VydmVyRW50cnkuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtFbGVtZW50fSB0YXJnZXQgLSBFbGVtZW50IHRoYXQgaXMgYmVpbmcgb2JzZXJ2ZWQuXHJcbiAgICAgKiBAcGFyYW0ge0RPTVJlY3RJbml0fSByZWN0SW5pdCAtIERhdGEgb2YgdGhlIGVsZW1lbnQncyBjb250ZW50IHJlY3RhbmdsZS5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gUmVzaXplT2JzZXJ2ZXJFbnRyeSh0YXJnZXQsIHJlY3RJbml0KSB7XHJcbiAgICAgICAgdmFyIGNvbnRlbnRSZWN0ID0gY3JlYXRlUmVhZE9ubHlSZWN0KHJlY3RJbml0KTtcclxuICAgICAgICAvLyBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb24gZm9sbG93aW5nIHByb3BlcnRpZXMgYXJlIG5vdCB3cml0YWJsZVxyXG4gICAgICAgIC8vIGFuZCBhcmUgYWxzbyBub3QgZW51bWVyYWJsZSBpbiB0aGUgbmF0aXZlIGltcGxlbWVudGF0aW9uLlxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gUHJvcGVydHkgYWNjZXNzb3JzIGFyZSBub3QgYmVpbmcgdXNlZCBhcyB0aGV5J2QgcmVxdWlyZSB0byBkZWZpbmUgYVxyXG4gICAgICAgIC8vIHByaXZhdGUgV2Vha01hcCBzdG9yYWdlIHdoaWNoIG1heSBjYXVzZSBtZW1vcnkgbGVha3MgaW4gYnJvd3NlcnMgdGhhdFxyXG4gICAgICAgIC8vIGRvbid0IHN1cHBvcnQgdGhpcyB0eXBlIG9mIGNvbGxlY3Rpb25zLlxyXG4gICAgICAgIGRlZmluZUNvbmZpZ3VyYWJsZSh0aGlzLCB7IHRhcmdldDogdGFyZ2V0LCBjb250ZW50UmVjdDogY29udGVudFJlY3QgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUmVzaXplT2JzZXJ2ZXJFbnRyeTtcclxufSgpKTtcblxudmFyIFJlc2l6ZU9ic2VydmVyU1BJID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIFJlc2l6ZU9ic2VydmVyLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7UmVzaXplT2JzZXJ2ZXJDYWxsYmFja30gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGludm9rZWRcclxuICAgICAqICAgICAgd2hlbiBvbmUgb2YgdGhlIG9ic2VydmVkIGVsZW1lbnRzIGNoYW5nZXMgaXQncyBjb250ZW50IGRpbWVuc2lvbnMuXHJcbiAgICAgKiBAcGFyYW0ge1Jlc2l6ZU9ic2VydmVyQ29udHJvbGxlcn0gY29udHJvbGxlciAtIENvbnRyb2xsZXIgaW5zdGFuY2Ugd2hpY2hcclxuICAgICAqICAgICAgaXMgcmVzcG9uc2libGUgZm9yIHRoZSB1cGRhdGVzIG9mIG9ic2VydmVyLlxyXG4gICAgICogQHBhcmFtIHtSZXNpemVPYnNlcnZlcn0gY2FsbGJhY2tDdHggLSBSZWZlcmVuY2UgdG8gdGhlIHB1YmxpY1xyXG4gICAgICogICAgICBSZXNpemVPYnNlcnZlciBpbnN0YW5jZSB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBjYWxsYmFjayBmdW5jdGlvbi5cclxuICAgICAqL1xyXG4gICAgZnVuY3Rpb24gUmVzaXplT2JzZXJ2ZXJTUEkoY2FsbGJhY2ssIGNvbnRyb2xsZXIsIGNhbGxiYWNrQ3R4KSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogQ29sbGVjdGlvbiBvZiByZXNpemUgb2JzZXJ2YXRpb25zIHRoYXQgaGF2ZSBkZXRlY3RlZCBjaGFuZ2VzIGluIGRpbWVuc2lvbnNcclxuICAgICAgICAgKiBvZiBlbGVtZW50cy5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlIHtBcnJheTxSZXNpemVPYnNlcnZhdGlvbj59XHJcbiAgICAgICAgICovXHJcbiAgICAgICAgdGhpcy5hY3RpdmVPYnNlcnZhdGlvbnNfID0gW107XHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogUmVnaXN0cnkgb2YgdGhlIFJlc2l6ZU9ic2VydmF0aW9uIGluc3RhbmNlcy5cclxuICAgICAgICAgKlxyXG4gICAgICAgICAqIEBwcml2YXRlIHtNYXA8RWxlbWVudCwgUmVzaXplT2JzZXJ2YXRpb24+fVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMub2JzZXJ2YXRpb25zXyA9IG5ldyBNYXBTaGltKCk7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgY2FsbGJhY2sgcHJvdmlkZWQgYXMgcGFyYW1ldGVyIDEgaXMgbm90IGEgZnVuY3Rpb24uJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2FsbGJhY2tfID0gY2FsbGJhY2s7XHJcbiAgICAgICAgdGhpcy5jb250cm9sbGVyXyA9IGNvbnRyb2xsZXI7XHJcbiAgICAgICAgdGhpcy5jYWxsYmFja0N0eF8gPSBjYWxsYmFja0N0eDtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gICAgICogU3RhcnRzIG9ic2VydmluZyBwcm92aWRlZCBlbGVtZW50LlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gdGFyZ2V0IC0gRWxlbWVudCB0byBiZSBvYnNlcnZlZC5cclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlclNQSS5wcm90b3R5cGUub2JzZXJ2ZSA9IGZ1bmN0aW9uICh0YXJnZXQpIHtcclxuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGN1cnJlbnQgZW52aXJvbm1lbnQgZG9lc24ndCBoYXZlIHRoZSBFbGVtZW50IGludGVyZmFjZS5cclxuICAgICAgICBpZiAodHlwZW9mIEVsZW1lbnQgPT09ICd1bmRlZmluZWQnIHx8ICEoRWxlbWVudCBpbnN0YW5jZW9mIE9iamVjdCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2VvZiBnZXRXaW5kb3dPZih0YXJnZXQpLkVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3BhcmFtZXRlciAxIGlzIG5vdCBvZiB0eXBlIFwiRWxlbWVudFwiLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgb2JzZXJ2YXRpb25zID0gdGhpcy5vYnNlcnZhdGlvbnNfO1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgZWxlbWVudCBpcyBhbHJlYWR5IGJlaW5nIG9ic2VydmVkLlxyXG4gICAgICAgIGlmIChvYnNlcnZhdGlvbnMuaGFzKHRhcmdldCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYnNlcnZhdGlvbnMuc2V0KHRhcmdldCwgbmV3IFJlc2l6ZU9ic2VydmF0aW9uKHRhcmdldCkpO1xyXG4gICAgICAgIHRoaXMuY29udHJvbGxlcl8uYWRkT2JzZXJ2ZXIodGhpcyk7XHJcbiAgICAgICAgLy8gRm9yY2UgdGhlIHVwZGF0ZSBvZiBvYnNlcnZhdGlvbnMuXHJcbiAgICAgICAgdGhpcy5jb250cm9sbGVyXy5yZWZyZXNoKCk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9wcyBvYnNlcnZpbmcgcHJvdmlkZWQgZWxlbWVudC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IHRhcmdldCAtIEVsZW1lbnQgdG8gc3RvcCBvYnNlcnZpbmcuXHJcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cclxuICAgICAqL1xyXG4gICAgUmVzaXplT2JzZXJ2ZXJTUEkucHJvdG90eXBlLnVub2JzZXJ2ZSA9IGZ1bmN0aW9uICh0YXJnZXQpIHtcclxuICAgICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignMSBhcmd1bWVudCByZXF1aXJlZCwgYnV0IG9ubHkgMCBwcmVzZW50LicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGN1cnJlbnQgZW52aXJvbm1lbnQgZG9lc24ndCBoYXZlIHRoZSBFbGVtZW50IGludGVyZmFjZS5cclxuICAgICAgICBpZiAodHlwZW9mIEVsZW1lbnQgPT09ICd1bmRlZmluZWQnIHx8ICEoRWxlbWVudCBpbnN0YW5jZW9mIE9iamVjdCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2VvZiBnZXRXaW5kb3dPZih0YXJnZXQpLkVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3BhcmFtZXRlciAxIGlzIG5vdCBvZiB0eXBlIFwiRWxlbWVudFwiLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgb2JzZXJ2YXRpb25zID0gdGhpcy5vYnNlcnZhdGlvbnNfO1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgZWxlbWVudCBpcyBub3QgYmVpbmcgb2JzZXJ2ZWQuXHJcbiAgICAgICAgaWYgKCFvYnNlcnZhdGlvbnMuaGFzKHRhcmdldCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBvYnNlcnZhdGlvbnMuZGVsZXRlKHRhcmdldCk7XHJcbiAgICAgICAgaWYgKCFvYnNlcnZhdGlvbnMuc2l6ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xsZXJfLnJlbW92ZU9ic2VydmVyKHRoaXMpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFN0b3BzIG9ic2VydmluZyBhbGwgZWxlbWVudHMuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmVyU1BJLnByb3RvdHlwZS5kaXNjb25uZWN0ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJBY3RpdmUoKTtcclxuICAgICAgICB0aGlzLm9ic2VydmF0aW9uc18uY2xlYXIoKTtcclxuICAgICAgICB0aGlzLmNvbnRyb2xsZXJfLnJlbW92ZU9ic2VydmVyKHRoaXMpO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQ29sbGVjdHMgb2JzZXJ2YXRpb24gaW5zdGFuY2VzIHRoZSBhc3NvY2lhdGVkIGVsZW1lbnQgb2Ygd2hpY2ggaGFzIGNoYW5nZWRcclxuICAgICAqIGl0J3MgY29udGVudCByZWN0YW5nbGUuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge3ZvaWR9XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmVyU1BJLnByb3RvdHlwZS5nYXRoZXJBY3RpdmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcclxuICAgICAgICB0aGlzLmNsZWFyQWN0aXZlKCk7XHJcbiAgICAgICAgdGhpcy5vYnNlcnZhdGlvbnNfLmZvckVhY2goZnVuY3Rpb24gKG9ic2VydmF0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmIChvYnNlcnZhdGlvbi5pc0FjdGl2ZSgpKSB7XHJcbiAgICAgICAgICAgICAgICBfdGhpcy5hY3RpdmVPYnNlcnZhdGlvbnNfLnB1c2gob2JzZXJ2YXRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBJbnZva2VzIGluaXRpYWwgY2FsbGJhY2sgZnVuY3Rpb24gd2l0aCBhIGxpc3Qgb2YgUmVzaXplT2JzZXJ2ZXJFbnRyeVxyXG4gICAgICogaW5zdGFuY2VzIGNvbGxlY3RlZCBmcm9tIGFjdGl2ZSByZXNpemUgb2JzZXJ2YXRpb25zLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlclNQSS5wcm90b3R5cGUuYnJvYWRjYXN0QWN0aXZlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIERvIG5vdGhpbmcgaWYgb2JzZXJ2ZXIgZG9lc24ndCBoYXZlIGFjdGl2ZSBvYnNlcnZhdGlvbnMuXHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0FjdGl2ZSgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIGN0eCA9IHRoaXMuY2FsbGJhY2tDdHhfO1xyXG4gICAgICAgIC8vIENyZWF0ZSBSZXNpemVPYnNlcnZlckVudHJ5IGluc3RhbmNlIGZvciBldmVyeSBhY3RpdmUgb2JzZXJ2YXRpb24uXHJcbiAgICAgICAgdmFyIGVudHJpZXMgPSB0aGlzLmFjdGl2ZU9ic2VydmF0aW9uc18ubWFwKGZ1bmN0aW9uIChvYnNlcnZhdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlc2l6ZU9ic2VydmVyRW50cnkob2JzZXJ2YXRpb24udGFyZ2V0LCBvYnNlcnZhdGlvbi5icm9hZGNhc3RSZWN0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY2FsbGJhY2tfLmNhbGwoY3R4LCBlbnRyaWVzLCBjdHgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJBY3RpdmUoKTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIENsZWFycyB0aGUgY29sbGVjdGlvbiBvZiBhY3RpdmUgb2JzZXJ2YXRpb25zLlxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxyXG4gICAgICovXHJcbiAgICBSZXNpemVPYnNlcnZlclNQSS5wcm90b3R5cGUuY2xlYXJBY3RpdmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVPYnNlcnZhdGlvbnNfLnNwbGljZSgwKTtcclxuICAgIH07XHJcbiAgICAvKipcclxuICAgICAqIFRlbGxzIHdoZXRoZXIgb2JzZXJ2ZXIgaGFzIGFjdGl2ZSBvYnNlcnZhdGlvbnMuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59XHJcbiAgICAgKi9cclxuICAgIFJlc2l6ZU9ic2VydmVyU1BJLnByb3RvdHlwZS5oYXNBY3RpdmUgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlT2JzZXJ2YXRpb25zXy5sZW5ndGggPiAwO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBSZXNpemVPYnNlcnZlclNQSTtcclxufSgpKTtcblxuLy8gUmVnaXN0cnkgb2YgaW50ZXJuYWwgb2JzZXJ2ZXJzLiBJZiBXZWFrTWFwIGlzIG5vdCBhdmFpbGFibGUgdXNlIGN1cnJlbnQgc2hpbVxyXG4vLyBmb3IgdGhlIE1hcCBjb2xsZWN0aW9uIGFzIGl0IGhhcyBhbGwgcmVxdWlyZWQgbWV0aG9kcyBhbmQgYmVjYXVzZSBXZWFrTWFwXHJcbi8vIGNhbid0IGJlIGZ1bGx5IHBvbHlmaWxsZWQgYW55d2F5LlxyXG52YXIgb2JzZXJ2ZXJzID0gdHlwZW9mIFdlYWtNYXAgIT09ICd1bmRlZmluZWQnID8gbmV3IFdlYWtNYXAoKSA6IG5ldyBNYXBTaGltKCk7XHJcbi8qKlxyXG4gKiBSZXNpemVPYnNlcnZlciBBUEkuIEVuY2Fwc3VsYXRlcyB0aGUgUmVzaXplT2JzZXJ2ZXIgU1BJIGltcGxlbWVudGF0aW9uXHJcbiAqIGV4cG9zaW5nIG9ubHkgdGhvc2UgbWV0aG9kcyBhbmQgcHJvcGVydGllcyB0aGF0IGFyZSBkZWZpbmVkIGluIHRoZSBzcGVjLlxyXG4gKi9cclxudmFyIFJlc2l6ZU9ic2VydmVyID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIFJlc2l6ZU9ic2VydmVyLlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7UmVzaXplT2JzZXJ2ZXJDYWxsYmFja30gY2FsbGJhY2sgLSBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlblxyXG4gICAgICogICAgICBkaW1lbnNpb25zIG9mIHRoZSBvYnNlcnZlZCBlbGVtZW50cyBjaGFuZ2UuXHJcbiAgICAgKi9cclxuICAgIGZ1bmN0aW9uIFJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJlc2l6ZU9ic2VydmVyKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24uJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCcxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSAwIHByZXNlbnQuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBjb250cm9sbGVyID0gUmVzaXplT2JzZXJ2ZXJDb250cm9sbGVyLmdldEluc3RhbmNlKCk7XHJcbiAgICAgICAgdmFyIG9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyU1BJKGNhbGxiYWNrLCBjb250cm9sbGVyLCB0aGlzKTtcclxuICAgICAgICBvYnNlcnZlcnMuc2V0KHRoaXMsIG9ic2VydmVyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBSZXNpemVPYnNlcnZlcjtcclxufSgpKTtcclxuLy8gRXhwb3NlIHB1YmxpYyBtZXRob2RzIG9mIFJlc2l6ZU9ic2VydmVyLlxyXG5bXHJcbiAgICAnb2JzZXJ2ZScsXHJcbiAgICAndW5vYnNlcnZlJyxcclxuICAgICdkaXNjb25uZWN0J1xyXG5dLmZvckVhY2goZnVuY3Rpb24gKG1ldGhvZCkge1xyXG4gICAgUmVzaXplT2JzZXJ2ZXIucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIF9hO1xyXG4gICAgICAgIHJldHVybiAoX2EgPSBvYnNlcnZlcnMuZ2V0KHRoaXMpKVttZXRob2RdLmFwcGx5KF9hLCBhcmd1bWVudHMpO1xyXG4gICAgfTtcclxufSk7XG5cbnZhciBpbmRleCA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICAvLyBFeHBvcnQgZXhpc3RpbmcgaW1wbGVtZW50YXRpb24gaWYgYXZhaWxhYmxlLlxyXG4gICAgaWYgKHR5cGVvZiBnbG9iYWwkMS5SZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICByZXR1cm4gZ2xvYmFsJDEuUmVzaXplT2JzZXJ2ZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUmVzaXplT2JzZXJ2ZXI7XHJcbn0pKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGluZGV4O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\n"); - -/***/ }), - -/***/ "./node_modules/scrollbarwidth/scrollbarWidth.js": -/*!*******************************************************!*\ - !*** ./node_modules/scrollbarwidth/scrollbarWidth.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! scrollbarWidth.js v0.1.3 | felixexter | MIT | https://github.com/felixexter/scrollbarWidth */\n(function (root, factory) {\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}(this, function () {\n\t'use strict';\n\n\tfunction scrollbarWidth() {\n\t\tif (typeof document === 'undefined') {\n\t\t\treturn 0\n\t\t}\n\n\t\tvar\n\t\t\tbody = document.body,\n\t\t\tbox = document.createElement('div'),\n\t\t\tboxStyle = box.style,\n\t\t\twidth;\n\n\t\tboxStyle.position = 'absolute';\n\t\tboxStyle.top = boxStyle.left = '-9999px';\n\t\tboxStyle.width = boxStyle.height = '100px';\n\t\tboxStyle.overflow = 'scroll';\n\n\t\tbody.appendChild(box);\n\n\t\twidth = box.offsetWidth - box.clientWidth;\n\n\t\tbody.removeChild(box);\n\n\t\treturn width;\n\t}\n\n\treturn scrollbarWidth;\n}));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2Nyb2xsYmFyd2lkdGgvc2Nyb2xsYmFyV2lkdGguanM/NTBmYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0EsS0FBSyxJQUEwQztBQUMvQyxFQUFFLGlDQUFPLEVBQUUsb0NBQUUsT0FBTztBQUFBO0FBQUE7QUFBQSxvR0FBQztBQUNyQixFQUFFLE1BQU0sRUFJTjtBQUNGLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Njcm9sbGJhcndpZHRoL3Njcm9sbGJhcldpZHRoLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIHNjcm9sbGJhcldpZHRoLmpzIHYwLjEuMyB8IGZlbGl4ZXh0ZXIgfCBNSVQgfCBodHRwczovL2dpdGh1Yi5jb20vZmVsaXhleHRlci9zY3JvbGxiYXJXaWR0aCAqL1xuKGZ1bmN0aW9uIChyb290LCBmYWN0b3J5KSB7XG5cdGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHtcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jykge1xuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHR9IGVsc2Uge1xuXHRcdChyb290LmpRdWVyeSB8fCByb290KS5zY3JvbGxiYXJXaWR0aCA9IGZhY3RvcnkoKTtcblx0fVxufSh0aGlzLCBmdW5jdGlvbiAoKSB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHRmdW5jdGlvbiBzY3JvbGxiYXJXaWR0aCgpIHtcblx0XHRpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuXHRcdFx0cmV0dXJuIDBcblx0XHR9XG5cblx0XHR2YXJcblx0XHRcdGJvZHkgPSBkb2N1bWVudC5ib2R5LFxuXHRcdFx0Ym94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JyksXG5cdFx0XHRib3hTdHlsZSA9IGJveC5zdHlsZSxcblx0XHRcdHdpZHRoO1xuXG5cdFx0Ym94U3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuXHRcdGJveFN0eWxlLnRvcCA9IGJveFN0eWxlLmxlZnQgPSAnLTk5OTlweCc7XG5cdFx0Ym94U3R5bGUud2lkdGggPSBib3hTdHlsZS5oZWlnaHQgPSAnMTAwcHgnO1xuXHRcdGJveFN0eWxlLm92ZXJmbG93ID0gJ3Njcm9sbCc7XG5cblx0XHRib2R5LmFwcGVuZENoaWxkKGJveCk7XG5cblx0XHR3aWR0aCA9IGJveC5vZmZzZXRXaWR0aCAtIGJveC5jbGllbnRXaWR0aDtcblxuXHRcdGJvZHkucmVtb3ZlQ2hpbGQoYm94KTtcblxuXHRcdHJldHVybiB3aWR0aDtcblx0fVxuXG5cdHJldHVybiBzY3JvbGxiYXJXaWR0aDtcbn0pKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/scrollbarwidth/scrollbarWidth.js\n"); - -/***/ }), - -/***/ "./node_modules/simplebar/dist/simplebar.esm.js": -/*!******************************************************!*\ - !*** ./node_modules/simplebar/dist/simplebar.esm.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es6.regexp.replace */ \"./node_modules/core-js/modules/es6.regexp.replace.js\");\n/* harmony import */ var core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es6.function.name */ \"./node_modules/core-js/modules/es6.function.name.js\");\n/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es6.regexp.match */ \"./node_modules/core-js/modules/es6.regexp.match.js\");\n/* harmony import */ var core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.dom.iterable */ \"./node_modules/core-js/modules/web.dom.iterable.js\");\n/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es6.string.iterator */ \"./node_modules/core-js/modules/es6.string.iterator.js\");\n/* harmony import */ var core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_string_iterator__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es6.array.from */ \"./node_modules/core-js/modules/es6.array.from.js\");\n/* harmony import */ var core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_from__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var scrollbarwidth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! scrollbarwidth */ \"./node_modules/scrollbarwidth/scrollbarWidth.js\");\n/* harmony import */ var scrollbarwidth__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(scrollbarwidth__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash.throttle */ \"./node_modules/lodash.throttle/index.js\");\n/* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash.debounce */ \"./node_modules/lodash.debounce/index.js\");\n/* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var lodash_memoize__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! lodash.memoize */ \"./node_modules/lodash.memoize/index.js\");\n/* harmony import */ var lodash_memoize__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(lodash_memoize__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! resize-observer-polyfill */ \"./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\");\n/* harmony import */ var can_use_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! can-use-dom */ \"./node_modules/can-use-dom/index.js\");\n/* harmony import */ var can_use_dom__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(can_use_dom__WEBPACK_IMPORTED_MODULE_11__);\n/**\n * SimpleBar.js - v3.1.5\n * Scrollbars, simpler.\n * https://grsmto.github.io/simplebar/\n *\n * Made by Adrien Denat from a fork by Jonathan Nicol\n * Under MIT License\n */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nvar SimpleBar =\n/*#__PURE__*/\nfunction () {\n function SimpleBar(element, options) {\n var _this = this;\n\n _classCallCheck(this, SimpleBar);\n\n this.onScroll = function () {\n if (!_this.scrollXTicking) {\n window.requestAnimationFrame(_this.scrollX);\n _this.scrollXTicking = true;\n }\n\n if (!_this.scrollYTicking) {\n window.requestAnimationFrame(_this.scrollY);\n _this.scrollYTicking = true;\n }\n };\n\n this.scrollX = function () {\n if (_this.axis.x.isOverflowing) {\n _this.showScrollbar('x');\n\n _this.positionScrollbar('x');\n }\n\n _this.scrollXTicking = false;\n };\n\n this.scrollY = function () {\n if (_this.axis.y.isOverflowing) {\n _this.showScrollbar('y');\n\n _this.positionScrollbar('y');\n }\n\n _this.scrollYTicking = false;\n };\n\n this.onMouseEnter = function () {\n _this.showScrollbar('x');\n\n _this.showScrollbar('y');\n };\n\n this.onMouseMove = function (e) {\n _this.mouseX = e.clientX;\n _this.mouseY = e.clientY;\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseMoveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseMoveForAxis('y');\n }\n };\n\n this.onMouseLeave = function () {\n _this.onMouseMove.cancel();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n _this.onMouseLeaveForAxis('x');\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n _this.onMouseLeaveForAxis('y');\n }\n\n _this.mouseX = -1;\n _this.mouseY = -1;\n };\n\n this.onWindowResize = function () {\n // Recalculate scrollbarWidth in case it's a zoom\n _this.scrollbarWidth = scrollbarwidth__WEBPACK_IMPORTED_MODULE_6___default()();\n\n _this.hideNativeScrollbar();\n };\n\n this.hideScrollbars = function () {\n _this.axis.x.track.rect = _this.axis.x.track.el.getBoundingClientRect();\n _this.axis.y.track.rect = _this.axis.y.track.el.getBoundingClientRect();\n\n if (!_this.isWithinBounds(_this.axis.y.track.rect)) {\n _this.axis.y.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.y.isVisible = false;\n }\n\n if (!_this.isWithinBounds(_this.axis.x.track.rect)) {\n _this.axis.x.scrollbar.el.classList.remove(_this.classNames.visible);\n\n _this.axis.x.isVisible = false;\n }\n };\n\n this.onPointerEvent = function (e) {\n var isWithinBoundsY, isWithinBoundsX;\n _this.axis.x.scrollbar.rect = _this.axis.x.scrollbar.el.getBoundingClientRect();\n _this.axis.y.scrollbar.rect = _this.axis.y.scrollbar.el.getBoundingClientRect();\n\n if (_this.axis.x.isOverflowing || _this.axis.x.forceVisible) {\n isWithinBoundsX = _this.isWithinBounds(_this.axis.x.scrollbar.rect);\n }\n\n if (_this.axis.y.isOverflowing || _this.axis.y.forceVisible) {\n isWithinBoundsY = _this.isWithinBounds(_this.axis.y.scrollbar.rect);\n } // If any pointer event is called on the scrollbar\n\n\n if (isWithinBoundsY || isWithinBoundsX) {\n // Preventing the event's default action stops text being\n // selectable during the drag.\n e.preventDefault(); // Prevent event leaking\n\n e.stopPropagation();\n\n if (e.type === 'mousedown') {\n if (isWithinBoundsY) {\n _this.onDragStart(e, 'y');\n }\n\n if (isWithinBoundsX) {\n _this.onDragStart(e, 'x');\n }\n }\n }\n };\n\n this.drag = function (e) {\n var eventOffset;\n var track = _this.axis[_this.draggedAxis].track;\n var trackSize = track.rect[_this.axis[_this.draggedAxis].sizeAttr];\n var scrollbar = _this.axis[_this.draggedAxis].scrollbar;\n e.preventDefault();\n e.stopPropagation();\n\n if (_this.draggedAxis === 'y') {\n eventOffset = e.pageY;\n } else {\n eventOffset = e.pageX;\n } // Calculate how far the user's mouse is from the top/left of the scrollbar (minus the dragOffset).\n\n\n var dragPos = eventOffset - track.rect[_this.axis[_this.draggedAxis].offsetAttr] - _this.axis[_this.draggedAxis].dragOffset; // Convert the mouse position into a percentage of the scrollbar height/width.\n\n var dragPerc = dragPos / track.rect[_this.axis[_this.draggedAxis].sizeAttr]; // Scroll the content by the same percentage.\n\n var scrollPos = dragPerc * _this.contentEl[_this.axis[_this.draggedAxis].scrollSizeAttr]; // Fix browsers inconsistency on RTL\n\n if (_this.draggedAxis === 'x') {\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? scrollPos - (trackSize + scrollbar.size) : scrollPos;\n scrollPos = _this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollPos : scrollPos;\n }\n\n _this.contentEl[_this.axis[_this.draggedAxis].scrollOffsetAttr] = scrollPos;\n };\n\n this.onEndDrag = function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n _this.el.classList.remove(_this.classNames.dragging);\n\n document.removeEventListener('mousemove', _this.drag);\n document.removeEventListener('mouseup', _this.onEndDrag);\n };\n\n this.el = element;\n this.flashTimeout;\n this.contentEl;\n this.offsetEl;\n this.maskEl;\n this.globalObserver;\n this.mutationObserver;\n this.resizeObserver;\n this.scrollbarWidth;\n this.minScrollbarWidth = 20;\n this.options = _objectSpread({}, SimpleBar.defaultOptions, options);\n this.classNames = _objectSpread({}, SimpleBar.defaultOptions.classNames, this.options.classNames);\n this.isRtl;\n this.axis = {\n x: {\n scrollOffsetAttr: 'scrollLeft',\n sizeAttr: 'width',\n scrollSizeAttr: 'scrollWidth',\n offsetAttr: 'left',\n overflowAttr: 'overflowX',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n },\n y: {\n scrollOffsetAttr: 'scrollTop',\n sizeAttr: 'height',\n scrollSizeAttr: 'scrollHeight',\n offsetAttr: 'top',\n overflowAttr: 'overflowY',\n dragOffset: 0,\n isOverflowing: true,\n isVisible: false,\n forceVisible: false,\n track: {},\n scrollbar: {}\n }\n };\n this.recalculate = lodash_throttle__WEBPACK_IMPORTED_MODULE_7___default()(this.recalculate.bind(this), 64);\n this.onMouseMove = lodash_throttle__WEBPACK_IMPORTED_MODULE_7___default()(this.onMouseMove.bind(this), 64);\n this.hideScrollbars = lodash_debounce__WEBPACK_IMPORTED_MODULE_8___default()(this.hideScrollbars.bind(this), this.options.timeout);\n this.onWindowResize = lodash_debounce__WEBPACK_IMPORTED_MODULE_8___default()(this.onWindowResize.bind(this), 64, {\n leading: true\n });\n SimpleBar.getRtlHelpers = lodash_memoize__WEBPACK_IMPORTED_MODULE_9___default()(SimpleBar.getRtlHelpers); // getContentElement is deprecated\n\n this.getContentElement = this.getScrollElement;\n this.init();\n }\n /**\n * Static properties\n */\n\n /**\n * Helper to fix browsers inconsistency on RTL:\n * - Firefox inverts the scrollbar initial position\n * - IE11 inverts both scrollbar position and scrolling offset\n * Directly inspired by @KingSora's OverlayScrollbars https://github.com/KingSora/OverlayScrollbars/blob/master/js/OverlayScrollbars.js#L1634\n */\n\n\n _createClass(SimpleBar, [{\n key: \"init\",\n value: function init() {\n // Save a reference to the instance, so we know this DOM node has already been instancied\n this.el.SimpleBar = this; // We stop here on server-side\n\n if (can_use_dom__WEBPACK_IMPORTED_MODULE_11___default.a) {\n this.initDOM();\n this.scrollbarWidth = scrollbarwidth__WEBPACK_IMPORTED_MODULE_6___default()();\n this.recalculate();\n this.initListeners();\n }\n }\n }, {\n key: \"initDOM\",\n value: function initDOM() {\n var _this2 = this;\n\n // make sure this element doesn't have the elements yet\n if (Array.from(this.el.children).filter(function (child) {\n return child.classList.contains(_this2.classNames.wrapper);\n }).length) {\n // assume that element has his DOM already initiated\n this.wrapperEl = this.el.querySelector(\".\".concat(this.classNames.wrapper));\n this.contentEl = this.el.querySelector(\".\".concat(this.classNames.content));\n this.offsetEl = this.el.querySelector(\".\".concat(this.classNames.offset));\n this.maskEl = this.el.querySelector(\".\".concat(this.classNames.mask));\n this.placeholderEl = this.el.querySelector(\".\".concat(this.classNames.placeholder));\n this.heightAutoObserverWrapperEl = this.el.querySelector(\".\".concat(this.classNames.heightAutoObserverWrapperEl));\n this.heightAutoObserverEl = this.el.querySelector(\".\".concat(this.classNames.heightAutoObserverEl));\n this.axis.x.track.el = this.el.querySelector(\".\".concat(this.classNames.track, \".\").concat(this.classNames.horizontal));\n this.axis.y.track.el = this.el.querySelector(\".\".concat(this.classNames.track, \".\").concat(this.classNames.vertical));\n } else {\n // Prepare DOM\n this.wrapperEl = document.createElement('div');\n this.contentEl = document.createElement('div');\n this.offsetEl = document.createElement('div');\n this.maskEl = document.createElement('div');\n this.placeholderEl = document.createElement('div');\n this.heightAutoObserverWrapperEl = document.createElement('div');\n this.heightAutoObserverEl = document.createElement('div');\n this.wrapperEl.classList.add(this.classNames.wrapper);\n this.contentEl.classList.add(this.classNames.content);\n this.offsetEl.classList.add(this.classNames.offset);\n this.maskEl.classList.add(this.classNames.mask);\n this.placeholderEl.classList.add(this.classNames.placeholder);\n this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl);\n this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);\n\n while (this.el.firstChild) {\n this.contentEl.appendChild(this.el.firstChild);\n }\n\n this.offsetEl.appendChild(this.contentEl);\n this.maskEl.appendChild(this.offsetEl);\n this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl);\n this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl);\n this.wrapperEl.appendChild(this.maskEl);\n this.wrapperEl.appendChild(this.placeholderEl);\n this.el.appendChild(this.wrapperEl);\n }\n\n if (!this.axis.x.track.el || !this.axis.y.track.el) {\n var track = document.createElement('div');\n var scrollbar = document.createElement('div');\n track.classList.add(this.classNames.track);\n scrollbar.classList.add(this.classNames.scrollbar);\n track.appendChild(scrollbar);\n this.axis.x.track.el = track.cloneNode(true);\n this.axis.x.track.el.classList.add(this.classNames.horizontal);\n this.axis.y.track.el = track.cloneNode(true);\n this.axis.y.track.el.classList.add(this.classNames.vertical);\n this.el.appendChild(this.axis.x.track.el);\n this.el.appendChild(this.axis.y.track.el);\n }\n\n this.axis.x.scrollbar.el = this.axis.x.track.el.querySelector(\".\".concat(this.classNames.scrollbar));\n this.axis.y.scrollbar.el = this.axis.y.track.el.querySelector(\".\".concat(this.classNames.scrollbar));\n\n if (!this.options.autoHide) {\n this.axis.x.scrollbar.el.classList.add(this.classNames.visible);\n this.axis.y.scrollbar.el.classList.add(this.classNames.visible);\n }\n\n this.el.setAttribute('data-simplebar', 'init');\n }\n }, {\n key: \"initListeners\",\n value: function initListeners() {\n var _this3 = this;\n\n // Event listeners\n if (this.options.autoHide) {\n this.el.addEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick', 'touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this3.el.addEventListener(e, _this3.onPointerEvent, true);\n });\n this.el.addEventListener('mousemove', this.onMouseMove);\n this.el.addEventListener('mouseleave', this.onMouseLeave);\n this.contentEl.addEventListener('scroll', this.onScroll); // Browser zoom triggers a window resize\n\n window.addEventListener('resize', this.onWindowResize); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // create an observer instance\n this.mutationObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (mutation.target === _this3.contentEl || _this3.isChildNode(mutation.target) || mutation.addedNodes.length || mutation.removedNodes.length) {\n _this3.recalculate();\n }\n });\n });\n this.mutationObserver.observe(this.contentEl, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n\n this.resizeObserver = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_10__[\"default\"](this.recalculate);\n this.resizeObserver.observe(this.el);\n }\n }, {\n key: \"recalculate\",\n value: function recalculate() {\n var isHeightAuto = this.heightAutoObserverEl.offsetHeight <= 1;\n this.elStyles = window.getComputedStyle(this.el);\n this.isRtl = this.elStyles.direction === 'rtl';\n this.contentEl.style.padding = \"\".concat(this.elStyles.paddingTop, \" \").concat(this.elStyles.paddingRight, \" \").concat(this.elStyles.paddingBottom, \" \").concat(this.elStyles.paddingLeft);\n this.contentEl.style.height = isHeightAuto ? 'auto' : '100%';\n this.placeholderEl.style.width = \"\".concat(this.contentEl.scrollWidth, \"px\");\n this.placeholderEl.style.height = \"\".concat(this.contentEl.scrollHeight, \"px\");\n this.wrapperEl.style.margin = \"-\".concat(this.elStyles.paddingTop, \" -\").concat(this.elStyles.paddingRight, \" -\").concat(this.elStyles.paddingBottom, \" -\").concat(this.elStyles.paddingLeft);\n this.axis.x.track.rect = this.axis.x.track.el.getBoundingClientRect();\n this.axis.y.track.rect = this.axis.y.track.el.getBoundingClientRect(); // Set isOverflowing to false if scrollbar is not necessary (content is shorter than offset)\n\n this.axis.x.isOverflowing = (this.scrollbarWidth ? this.contentEl.scrollWidth : this.contentEl.scrollWidth - this.minScrollbarWidth) > Math.ceil(this.axis.x.track.rect.width);\n this.axis.y.isOverflowing = (this.scrollbarWidth ? this.contentEl.scrollHeight : this.contentEl.scrollHeight - this.minScrollbarWidth) > Math.ceil(this.axis.y.track.rect.height); // Set isOverflowing to false if user explicitely set hidden overflow\n\n this.axis.x.isOverflowing = this.elStyles.overflowX === 'hidden' ? false : this.axis.x.isOverflowing;\n this.axis.y.isOverflowing = this.elStyles.overflowY === 'hidden' ? false : this.axis.y.isOverflowing;\n this.axis.x.forceVisible = this.options.forceVisible === \"x\" || this.options.forceVisible === true;\n this.axis.y.forceVisible = this.options.forceVisible === \"y\" || this.options.forceVisible === true;\n this.axis.x.scrollbar.size = this.getScrollbarSize('x');\n this.axis.y.scrollbar.size = this.getScrollbarSize('y');\n this.axis.x.scrollbar.el.style.width = \"\".concat(this.axis.x.scrollbar.size, \"px\");\n this.axis.y.scrollbar.el.style.height = \"\".concat(this.axis.y.scrollbar.size, \"px\");\n this.positionScrollbar('x');\n this.positionScrollbar('y');\n this.toggleTrackVisibility('x');\n this.toggleTrackVisibility('y');\n this.hideNativeScrollbar();\n }\n /**\n * Calculate scrollbar size\n */\n\n }, {\n key: \"getScrollbarSize\",\n value: function getScrollbarSize() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var contentSize = this.scrollbarWidth ? this.contentEl[this.axis[axis].scrollSizeAttr] : this.contentEl[this.axis[axis].scrollSizeAttr] - this.minScrollbarWidth;\n var trackSize = this.axis[axis].track.rect[this.axis[axis].sizeAttr];\n var scrollbarSize;\n\n if (!this.axis[axis].isOverflowing) {\n return;\n }\n\n var scrollbarRatio = trackSize / contentSize; // Calculate new height/position of drag handle.\n\n scrollbarSize = Math.max(~~(scrollbarRatio * trackSize), this.options.scrollbarMinSize);\n\n if (this.options.scrollbarMaxSize) {\n scrollbarSize = Math.min(scrollbarSize, this.options.scrollbarMaxSize);\n }\n\n return scrollbarSize;\n }\n }, {\n key: \"positionScrollbar\",\n value: function positionScrollbar() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var contentSize = this.contentEl[this.axis[axis].scrollSizeAttr];\n var trackSize = this.axis[axis].track.rect[this.axis[axis].sizeAttr];\n var hostSize = parseInt(this.elStyles[this.axis[axis].sizeAttr], 10);\n var scrollbar = this.axis[axis].scrollbar;\n var scrollOffset = this.contentEl[this.axis[axis].scrollOffsetAttr];\n scrollOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollingInverted ? -scrollOffset : scrollOffset;\n var scrollPourcent = scrollOffset / (contentSize - hostSize);\n var handleOffset = ~~((trackSize - scrollbar.size) * scrollPourcent);\n handleOffset = axis === 'x' && this.isRtl && SimpleBar.getRtlHelpers().isRtlScrollbarInverted ? handleOffset + (trackSize - scrollbar.size) : handleOffset;\n scrollbar.el.style.transform = axis === 'x' ? \"translate3d(\".concat(handleOffset, \"px, 0, 0)\") : \"translate3d(0, \".concat(handleOffset, \"px, 0)\");\n }\n }, {\n key: \"toggleTrackVisibility\",\n value: function toggleTrackVisibility() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var track = this.axis[axis].track.el;\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (this.axis[axis].isOverflowing || this.axis[axis].forceVisible) {\n track.style.visibility = 'visible';\n this.contentEl.style[this.axis[axis].overflowAttr] = 'scroll';\n } else {\n track.style.visibility = 'hidden';\n this.contentEl.style[this.axis[axis].overflowAttr] = 'hidden';\n } // Even if forceVisible is enabled, scrollbar itself should be hidden\n\n\n if (this.axis[axis].isOverflowing) {\n scrollbar.style.visibility = 'visible';\n } else {\n scrollbar.style.visibility = 'hidden';\n }\n }\n }, {\n key: \"hideNativeScrollbar\",\n value: function hideNativeScrollbar() {\n this.offsetEl.style[this.isRtl ? 'left' : 'right'] = this.axis.y.isOverflowing || this.axis.y.forceVisible ? \"-\".concat(this.scrollbarWidth || this.minScrollbarWidth, \"px\") : 0;\n this.offsetEl.style.bottom = this.axis.x.isOverflowing || this.axis.x.forceVisible ? \"-\".concat(this.scrollbarWidth || this.minScrollbarWidth, \"px\") : 0; // If floating scrollbar\n\n if (!this.scrollbarWidth) {\n var paddingDirection = [this.isRtl ? 'paddingLeft' : 'paddingRight'];\n this.contentEl.style[paddingDirection] = this.axis.y.isOverflowing || this.axis.y.forceVisible ? \"calc(\".concat(this.elStyles[paddingDirection], \" + \").concat(this.minScrollbarWidth, \"px)\") : this.elStyles[paddingDirection];\n this.contentEl.style.paddingBottom = this.axis.x.isOverflowing || this.axis.x.forceVisible ? \"calc(\".concat(this.elStyles.paddingBottom, \" + \").concat(this.minScrollbarWidth, \"px)\") : this.elStyles.paddingBottom;\n }\n }\n /**\n * On scroll event handling\n */\n\n }, {\n key: \"onMouseMoveForAxis\",\n value: function onMouseMoveForAxis() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n this.axis[axis].track.rect = this.axis[axis].track.el.getBoundingClientRect();\n this.axis[axis].scrollbar.rect = this.axis[axis].scrollbar.el.getBoundingClientRect();\n var isWithinScrollbarBoundsX = this.isWithinBounds(this.axis[axis].scrollbar.rect);\n\n if (isWithinScrollbarBoundsX) {\n this.axis[axis].scrollbar.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n }\n\n if (this.isWithinBounds(this.axis[axis].track.rect)) {\n this.showScrollbar(axis);\n this.axis[axis].track.el.classList.add(this.classNames.hover);\n } else {\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n }\n }\n }, {\n key: \"onMouseLeaveForAxis\",\n value: function onMouseLeaveForAxis() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n this.axis[axis].track.el.classList.remove(this.classNames.hover);\n this.axis[axis].scrollbar.el.classList.remove(this.classNames.hover);\n }\n }, {\n key: \"showScrollbar\",\n\n /**\n * Show scrollbar\n */\n value: function showScrollbar() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'y';\n var scrollbar = this.axis[axis].scrollbar.el;\n\n if (!this.axis[axis].isVisible) {\n scrollbar.classList.add(this.classNames.visible);\n this.axis[axis].isVisible = true;\n }\n\n if (this.options.autoHide) {\n this.hideScrollbars();\n }\n }\n /**\n * Hide Scrollbar\n */\n\n }, {\n key: \"onDragStart\",\n\n /**\n * on scrollbar handle drag movement starts\n */\n value: function onDragStart(e) {\n var axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'y';\n var scrollbar = this.axis[axis].scrollbar.el; // Measure how far the user's mouse is from the top of the scrollbar drag handle.\n\n var eventOffset = axis === 'y' ? e.pageY : e.pageX;\n this.axis[axis].dragOffset = eventOffset - scrollbar.getBoundingClientRect()[this.axis[axis].offsetAttr];\n this.draggedAxis = axis;\n this.el.classList.add(this.classNames.dragging);\n document.addEventListener('mousemove', this.drag);\n document.addEventListener('mouseup', this.onEndDrag);\n }\n /**\n * Drag scrollbar handle\n */\n\n }, {\n key: \"getScrollElement\",\n\n /**\n * Getter for original scrolling element\n */\n value: function getScrollElement() {\n return this.contentEl;\n }\n }, {\n key: \"removeListeners\",\n value: function removeListeners() {\n var _this4 = this;\n\n // Event listeners\n if (this.options.autoHide) {\n this.el.removeEventListener('mouseenter', this.onMouseEnter);\n }\n\n ['mousedown', 'click', 'dblclick', 'touchstart', 'touchend', 'touchmove'].forEach(function (e) {\n _this4.el.removeEventListener(e, _this4.onPointerEvent);\n });\n this.el.removeEventListener('mousemove', this.onMouseMove);\n this.el.removeEventListener('mouseleave', this.onMouseLeave);\n this.contentEl.removeEventListener('scroll', this.onScroll);\n window.removeEventListener('resize', this.onWindowResize);\n this.mutationObserver && this.mutationObserver.disconnect();\n this.resizeObserver.disconnect(); // Cancel all debounced functions\n\n this.recalculate.cancel();\n this.onMouseMove.cancel();\n this.hideScrollbars.cancel();\n this.onWindowResize.cancel();\n }\n /**\n * UnMount mutation observer and delete SimpleBar instance from DOM element\n */\n\n }, {\n key: \"unMount\",\n value: function unMount() {\n this.removeListeners();\n this.el.SimpleBar = null;\n }\n /**\n * Recursively walks up the parent nodes looking for this.el\n */\n\n }, {\n key: \"isChildNode\",\n value: function isChildNode(el) {\n if (el === null) return false;\n if (el === this.el) return true;\n return this.isChildNode(el.parentNode);\n }\n /**\n * Check if mouse is within bounds\n */\n\n }, {\n key: \"isWithinBounds\",\n value: function isWithinBounds(bbox) {\n return this.mouseX >= bbox.left && this.mouseX <= bbox.left + bbox.width && this.mouseY >= bbox.top && this.mouseY <= bbox.top + bbox.height;\n }\n }], [{\n key: \"getRtlHelpers\",\n value: function getRtlHelpers() {\n var dummyDiv = document.createElement('div');\n dummyDiv.innerHTML = '
';\n var scrollbarDummyEl = dummyDiv.firstElementChild;\n document.body.appendChild(scrollbarDummyEl);\n var dummyContainerChild = scrollbarDummyEl.firstElementChild;\n scrollbarDummyEl.scrollLeft = 0;\n var dummyContainerOffset = SimpleBar.getOffset(scrollbarDummyEl);\n var dummyContainerChildOffset = SimpleBar.getOffset(dummyContainerChild);\n scrollbarDummyEl.scrollLeft = 999;\n var dummyContainerScrollOffsetAfterScroll = SimpleBar.getOffset(dummyContainerChild);\n return {\n // determines if the scrolling is responding with negative values\n isRtlScrollingInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left && dummyContainerChildOffset.left - dummyContainerScrollOffsetAfterScroll.left !== 0,\n // determines if the origin scrollbar position is inverted or not (positioned on left or right)\n isRtlScrollbarInverted: dummyContainerOffset.left !== dummyContainerChildOffset.left\n };\n }\n }, {\n key: \"initHtmlApi\",\n value: function initHtmlApi() {\n this.initDOMLoadedElements = this.initDOMLoadedElements.bind(this); // MutationObserver is IE11+\n\n if (typeof MutationObserver !== 'undefined') {\n // Mutation observer to observe dynamically added elements\n this.globalObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n Array.from(mutation.addedNodes).forEach(function (addedNode) {\n if (addedNode.nodeType === 1) {\n if (addedNode.hasAttribute('data-simplebar')) {\n !addedNode.SimpleBar && new SimpleBar(addedNode, SimpleBar.getElOptions(addedNode));\n } else {\n Array.from(addedNode.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n !el.SimpleBar && new SimpleBar(el, SimpleBar.getElOptions(el));\n });\n }\n }\n });\n Array.from(mutation.removedNodes).forEach(function (removedNode) {\n if (removedNode.nodeType === 1) {\n if (removedNode.hasAttribute('data-simplebar')) {\n removedNode.SimpleBar && removedNode.SimpleBar.unMount();\n } else {\n Array.from(removedNode.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n el.SimpleBar && el.SimpleBar.unMount();\n });\n }\n }\n });\n });\n });\n this.globalObserver.observe(document, {\n childList: true,\n subtree: true\n });\n } // Taken from jQuery `ready` function\n // Instantiate elements already present on the page\n\n\n if (document.readyState === 'complete' || document.readyState !== 'loading' && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay init\n window.setTimeout(this.initDOMLoadedElements);\n } else {\n document.addEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.addEventListener('load', this.initDOMLoadedElements);\n }\n } // Helper function to retrieve options from element attributes\n\n }, {\n key: \"getElOptions\",\n value: function getElOptions(el) {\n var options = Array.from(el.attributes).reduce(function (acc, attribute) {\n var option = attribute.name.match(/data-simplebar-(.+)/);\n\n if (option) {\n var key = option[1].replace(/\\W+(.)/g, function (x, chr) {\n return chr.toUpperCase();\n });\n\n switch (attribute.value) {\n case 'true':\n acc[key] = true;\n break;\n\n case 'false':\n acc[key] = false;\n break;\n\n case undefined:\n acc[key] = true;\n break;\n\n default:\n acc[key] = attribute.value;\n }\n }\n\n return acc;\n }, {});\n return options;\n }\n }, {\n key: \"removeObserver\",\n value: function removeObserver() {\n this.globalObserver.disconnect();\n }\n }, {\n key: \"initDOMLoadedElements\",\n value: function initDOMLoadedElements() {\n document.removeEventListener('DOMContentLoaded', this.initDOMLoadedElements);\n window.removeEventListener('load', this.initDOMLoadedElements);\n Array.from(document.querySelectorAll('[data-simplebar]')).forEach(function (el) {\n if (!el.SimpleBar) new SimpleBar(el, SimpleBar.getElOptions(el));\n });\n }\n }, {\n key: \"getOffset\",\n value: function getOffset(el) {\n var rect = el.getBoundingClientRect();\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft)\n };\n }\n }]);\n\n return SimpleBar;\n}();\n/**\n * HTML API\n * Called only in a browser env.\n */\n\n\nSimpleBar.defaultOptions = {\n autoHide: true,\n forceVisible: false,\n classNames: {\n content: 'simplebar-content',\n offset: 'simplebar-offset',\n mask: 'simplebar-mask',\n wrapper: 'simplebar-wrapper',\n placeholder: 'simplebar-placeholder',\n scrollbar: 'simplebar-scrollbar',\n track: 'simplebar-track',\n heightAutoObserverWrapperEl: 'simplebar-height-auto-observer-wrapper',\n heightAutoObserverEl: 'simplebar-height-auto-observer',\n visible: 'simplebar-visible',\n horizontal: 'simplebar-horizontal',\n vertical: 'simplebar-vertical',\n hover: 'simplebar-hover',\n dragging: 'simplebar-dragging'\n },\n scrollbarMinSize: 25,\n scrollbarMaxSize: 0,\n timeout: 1000\n};\n\nif (can_use_dom__WEBPACK_IMPORTED_MODULE_11___default.a) {\n SimpleBar.initHtmlApi();\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SimpleBar);\n//# sourceMappingURL=simplebar.esm.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2ltcGxlYmFyL2Rpc3Qvc2ltcGxlYmFyLmVzbS5qcz9hNmY5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTRDO0FBQ0Q7QUFDRDtBQUNBO0FBQ0c7QUFDTDtBQUNJO0FBQ0w7QUFDQTtBQUNGO0FBQ2lCO0FBQ2xCOztBQUVwQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7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QTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJLG1EQUFTO0FBQ2I7QUFDQTs7QUFFZSx3RUFBUyxFQUFDO0FBQ3pCIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3NpbXBsZWJhci9kaXN0L3NpbXBsZWJhci5lc20uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNpbXBsZUJhci5qcyAtIHYzLjEuNVxuICogU2Nyb2xsYmFycywgc2ltcGxlci5cbiAqIGh0dHBzOi8vZ3JzbXRvLmdpdGh1Yi5pby9zaW1wbGViYXIvXG4gKlxuICogTWFkZSBieSBBZHJpZW4gRGVuYXQgZnJvbSBhIGZvcmsgYnkgSm9uYXRoYW4gTmljb2xcbiAqIFVuZGVyIE1JVCBMaWNlbnNlXG4gKi9cblxuaW1wb3J0ICdjb3JlLWpzL21vZHVsZXMvZXM2LnJlZ2V4cC5yZXBsYWNlJztcbmltcG9ydCAnY29yZS1qcy9tb2R1bGVzL2VzNi5mdW5jdGlvbi5uYW1lJztcbmltcG9ydCAnY29yZS1qcy9tb2R1bGVzL2VzNi5yZWdleHAubWF0Y2gnO1xuaW1wb3J0ICdjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS5pdGVyYWJsZSc7XG5pbXBvcnQgJ2NvcmUtanMvbW9kdWxlcy9lczYuc3RyaW5nLml0ZXJhdG9yJztcbmltcG9ydCAnY29yZS1qcy9tb2R1bGVzL2VzNi5hcnJheS5mcm9tJztcbmltcG9ydCBzY3JvbGxiYXJXaWR0aCBmcm9tICdzY3JvbGxiYXJ3aWR0aCc7XG5pbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJztcbmltcG9ydCBkZWJvdW5jZSBmcm9tICdsb2Rhc2guZGVib3VuY2UnO1xuaW1wb3J0IG1lbW9pemUgZnJvbSAnbG9kYXNoLm1lbW9pemUnO1xuaW1wb3J0IFJlc2l6ZU9ic2VydmVyIGZyb20gJ3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbCc7XG5pbXBvcnQgY2FuVXNlRE9NIGZyb20gJ2Nhbi11c2UtZG9tJztcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gIH1cbn1cblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICB9XG59XG5cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gIGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgcmV0dXJuIENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcbiAgICB2YXIgb3duS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG5cbiAgICBpZiAodHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG93bktleXMgPSBvd25LZXlzLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSkuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlLCBzeW0pLmVudW1lcmFibGU7XG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgb3duS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxudmFyIFNpbXBsZUJhciA9XG4vKiNfX1BVUkVfXyovXG5mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFNpbXBsZUJhcihlbGVtZW50LCBvcHRpb25zKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBTaW1wbGVCYXIpO1xuXG4gICAgdGhpcy5vblNjcm9sbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghX3RoaXMuc2Nyb2xsWFRpY2tpbmcpIHtcbiAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShfdGhpcy5zY3JvbGxYKTtcbiAgICAgICAgX3RoaXMuc2Nyb2xsWFRpY2tpbmcgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIV90aGlzLnNjcm9sbFlUaWNraW5nKSB7XG4gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoX3RoaXMuc2Nyb2xsWSk7XG4gICAgICAgIF90aGlzLnNjcm9sbFlUaWNraW5nID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zY3JvbGxYID0gZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKF90aGlzLmF4aXMueC5pc092ZXJmbG93aW5nKSB7XG4gICAgICAgIF90aGlzLnNob3dTY3JvbGxiYXIoJ3gnKTtcblxuICAgICAgICBfdGhpcy5wb3NpdGlvblNjcm9sbGJhcigneCcpO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5zY3JvbGxYVGlja2luZyA9IGZhbHNlO1xuICAgIH07XG5cbiAgICB0aGlzLnNjcm9sbFkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoX3RoaXMuYXhpcy55LmlzT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgX3RoaXMuc2hvd1Njcm9sbGJhcigneScpO1xuXG4gICAgICAgIF90aGlzLnBvc2l0aW9uU2Nyb2xsYmFyKCd5Jyk7XG4gICAgICB9XG5cbiAgICAgIF90aGlzLnNjcm9sbFlUaWNraW5nID0gZmFsc2U7XG4gICAgfTtcblxuICAgIHRoaXMub25Nb3VzZUVudGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuc2hvd1Njcm9sbGJhcigneCcpO1xuXG4gICAgICBfdGhpcy5zaG93U2Nyb2xsYmFyKCd5Jyk7XG4gICAgfTtcblxuICAgIHRoaXMub25Nb3VzZU1vdmUgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgX3RoaXMubW91c2VYID0gZS5jbGllbnRYO1xuICAgICAgX3RoaXMubW91c2VZID0gZS5jbGllbnRZO1xuXG4gICAgICBpZiAoX3RoaXMuYXhpcy54LmlzT3ZlcmZsb3dpbmcgfHwgX3RoaXMuYXhpcy54LmZvcmNlVmlzaWJsZSkge1xuICAgICAgICBfdGhpcy5vbk1vdXNlTW92ZUZvckF4aXMoJ3gnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKF90aGlzLmF4aXMueS5pc092ZXJmbG93aW5nIHx8IF90aGlzLmF4aXMueS5mb3JjZVZpc2libGUpIHtcbiAgICAgICAgX3RoaXMub25Nb3VzZU1vdmVGb3JBeGlzKCd5Jyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub25Nb3VzZUxlYXZlID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMub25Nb3VzZU1vdmUuY2FuY2VsKCk7XG5cbiAgICAgIGlmIChfdGhpcy5heGlzLnguaXNPdmVyZmxvd2luZyB8fCBfdGhpcy5heGlzLnguZm9yY2VWaXNpYmxlKSB7XG4gICAgICAgIF90aGlzLm9uTW91c2VMZWF2ZUZvckF4aXMoJ3gnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKF90aGlzLmF4aXMueS5pc092ZXJmbG93aW5nIHx8IF90aGlzLmF4aXMueS5mb3JjZVZpc2libGUpIHtcbiAgICAgICAgX3RoaXMub25Nb3VzZUxlYXZlRm9yQXhpcygneScpO1xuICAgICAgfVxuXG4gICAgICBfdGhpcy5tb3VzZVggPSAtMTtcbiAgICAgIF90aGlzLm1vdXNlWSA9IC0xO1xuICAgIH07XG5cbiAgICB0aGlzLm9uV2luZG93UmVzaXplID0gZnVuY3Rpb24gKCkge1xuICAgICAgLy8gUmVjYWxjdWxhdGUgc2Nyb2xsYmFyV2lkdGggaW4gY2FzZSBpdCdzIGEgem9vbVxuICAgICAgX3RoaXMuc2Nyb2xsYmFyV2lkdGggPSBzY3JvbGxiYXJXaWR0aCgpO1xuXG4gICAgICBfdGhpcy5oaWRlTmF0aXZlU2Nyb2xsYmFyKCk7XG4gICAgfTtcblxuICAgIHRoaXMuaGlkZVNjcm9sbGJhcnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBfdGhpcy5heGlzLngudHJhY2sucmVjdCA9IF90aGlzLmF4aXMueC50cmFjay5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIF90aGlzLmF4aXMueS50cmFjay5yZWN0ID0gX3RoaXMuYXhpcy55LnRyYWNrLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICBpZiAoIV90aGlzLmlzV2l0aGluQm91bmRzKF90aGlzLmF4aXMueS50cmFjay5yZWN0KSkge1xuICAgICAgICBfdGhpcy5heGlzLnkuc2Nyb2xsYmFyLmVsLmNsYXNzTGlzdC5yZW1vdmUoX3RoaXMuY2xhc3NOYW1lcy52aXNpYmxlKTtcblxuICAgICAgICBfdGhpcy5heGlzLnkuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghX3RoaXMuaXNXaXRoaW5Cb3VuZHMoX3RoaXMuYXhpcy54LnRyYWNrLnJlY3QpKSB7XG4gICAgICAgIF90aGlzLmF4aXMueC5zY3JvbGxiYXIuZWwuY2xhc3NMaXN0LnJlbW92ZShfdGhpcy5jbGFzc05hbWVzLnZpc2libGUpO1xuXG4gICAgICAgIF90aGlzLmF4aXMueC5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vblBvaW50ZXJFdmVudCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgaXNXaXRoaW5Cb3VuZHNZLCBpc1dpdGhpbkJvdW5kc1g7XG4gICAgICBfdGhpcy5heGlzLnguc2Nyb2xsYmFyLnJlY3QgPSBfdGhpcy5heGlzLnguc2Nyb2xsYmFyLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgX3RoaXMuYXhpcy55LnNjcm9sbGJhci5yZWN0ID0gX3RoaXMuYXhpcy55LnNjcm9sbGJhci5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgaWYgKF90aGlzLmF4aXMueC5pc092ZXJmbG93aW5nIHx8IF90aGlzLmF4aXMueC5mb3JjZVZpc2libGUpIHtcbiAgICAgICAgaXNXaXRoaW5Cb3VuZHNYID0gX3RoaXMuaXNXaXRoaW5Cb3VuZHMoX3RoaXMuYXhpcy54LnNjcm9sbGJhci5yZWN0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKF90aGlzLmF4aXMueS5pc092ZXJmbG93aW5nIHx8IF90aGlzLmF4aXMueS5mb3JjZVZpc2libGUpIHtcbiAgICAgICAgaXNXaXRoaW5Cb3VuZHNZID0gX3RoaXMuaXNXaXRoaW5Cb3VuZHMoX3RoaXMuYXhpcy55LnNjcm9sbGJhci5yZWN0KTtcbiAgICAgIH0gLy8gSWYgYW55IHBvaW50ZXIgZXZlbnQgaXMgY2FsbGVkIG9uIHRoZSBzY3JvbGxiYXJcblxuXG4gICAgICBpZiAoaXNXaXRoaW5Cb3VuZHNZIHx8IGlzV2l0aGluQm91bmRzWCkge1xuICAgICAgICAvLyBQcmV2ZW50aW5nIHRoZSBldmVudCdzIGRlZmF1bHQgYWN0aW9uIHN0b3BzIHRleHQgYmVpbmdcbiAgICAgICAgLy8gc2VsZWN0YWJsZSBkdXJpbmcgdGhlIGRyYWcuXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gUHJldmVudCBldmVudCBsZWFraW5nXG5cbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAoZS50eXBlID09PSAnbW91c2Vkb3duJykge1xuICAgICAgICAgIGlmIChpc1dpdGhpbkJvdW5kc1kpIHtcbiAgICAgICAgICAgIF90aGlzLm9uRHJhZ1N0YXJ0KGUsICd5Jyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGlzV2l0aGluQm91bmRzWCkge1xuICAgICAgICAgICAgX3RoaXMub25EcmFnU3RhcnQoZSwgJ3gnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5kcmFnID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciBldmVudE9mZnNldDtcbiAgICAgIHZhciB0cmFjayA9IF90aGlzLmF4aXNbX3RoaXMuZHJhZ2dlZEF4aXNdLnRyYWNrO1xuICAgICAgdmFyIHRyYWNrU2l6ZSA9IHRyYWNrLnJlY3RbX3RoaXMuYXhpc1tfdGhpcy5kcmFnZ2VkQXhpc10uc2l6ZUF0dHJdO1xuICAgICAgdmFyIHNjcm9sbGJhciA9IF90aGlzLmF4aXNbX3RoaXMuZHJhZ2dlZEF4aXNdLnNjcm9sbGJhcjtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGlmIChfdGhpcy5kcmFnZ2VkQXhpcyA9PT0gJ3knKSB7XG4gICAgICAgIGV2ZW50T2Zmc2V0ID0gZS5wYWdlWTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV2ZW50T2Zmc2V0ID0gZS5wYWdlWDtcbiAgICAgIH0gLy8gQ2FsY3VsYXRlIGhvdyBmYXIgdGhlIHVzZXIncyBtb3VzZSBpcyBmcm9tIHRoZSB0b3AvbGVmdCBvZiB0aGUgc2Nyb2xsYmFyIChtaW51cyB0aGUgZHJhZ09mZnNldCkuXG5cblxuICAgICAgdmFyIGRyYWdQb3MgPSBldmVudE9mZnNldCAtIHRyYWNrLnJlY3RbX3RoaXMuYXhpc1tfdGhpcy5kcmFnZ2VkQXhpc10ub2Zmc2V0QXR0cl0gLSBfdGhpcy5heGlzW190aGlzLmRyYWdnZWRBeGlzXS5kcmFnT2Zmc2V0OyAvLyBDb252ZXJ0IHRoZSBtb3VzZSBwb3NpdGlvbiBpbnRvIGEgcGVyY2VudGFnZSBvZiB0aGUgc2Nyb2xsYmFyIGhlaWdodC93aWR0aC5cblxuICAgICAgdmFyIGRyYWdQZXJjID0gZHJhZ1BvcyAvIHRyYWNrLnJlY3RbX3RoaXMuYXhpc1tfdGhpcy5kcmFnZ2VkQXhpc10uc2l6ZUF0dHJdOyAvLyBTY3JvbGwgdGhlIGNvbnRlbnQgYnkgdGhlIHNhbWUgcGVyY2VudGFnZS5cblxuICAgICAgdmFyIHNjcm9sbFBvcyA9IGRyYWdQZXJjICogX3RoaXMuY29udGVudEVsW190aGlzLmF4aXNbX3RoaXMuZHJhZ2dlZEF4aXNdLnNjcm9sbFNpemVBdHRyXTsgLy8gRml4IGJyb3dzZXJzIGluY29uc2lzdGVuY3kgb24gUlRMXG5cbiAgICAgIGlmIChfdGhpcy5kcmFnZ2VkQXhpcyA9PT0gJ3gnKSB7XG4gICAgICAgIHNjcm9sbFBvcyA9IF90aGlzLmlzUnRsICYmIFNpbXBsZUJhci5nZXRSdGxIZWxwZXJzKCkuaXNSdGxTY3JvbGxiYXJJbnZlcnRlZCA/IHNjcm9sbFBvcyAtICh0cmFja1NpemUgKyBzY3JvbGxiYXIuc2l6ZSkgOiBzY3JvbGxQb3M7XG4gICAgICAgIHNjcm9sbFBvcyA9IF90aGlzLmlzUnRsICYmIFNpbXBsZUJhci5nZXRSdGxIZWxwZXJzKCkuaXNSdGxTY3JvbGxpbmdJbnZlcnRlZCA/IC1zY3JvbGxQb3MgOiBzY3JvbGxQb3M7XG4gICAgICB9XG5cbiAgICAgIF90aGlzLmNvbnRlbnRFbFtfdGhpcy5heGlzW190aGlzLmRyYWdnZWRBeGlzXS5zY3JvbGxPZmZzZXRBdHRyXSA9IHNjcm9sbFBvcztcbiAgICB9O1xuXG4gICAgdGhpcy5vbkVuZERyYWcgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgX3RoaXMuZWwuY2xhc3NMaXN0LnJlbW92ZShfdGhpcy5jbGFzc05hbWVzLmRyYWdnaW5nKTtcblxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX3RoaXMuZHJhZyk7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgX3RoaXMub25FbmREcmFnKTtcbiAgICB9O1xuXG4gICAgdGhpcy5lbCA9IGVsZW1lbnQ7XG4gICAgdGhpcy5mbGFzaFRpbWVvdXQ7XG4gICAgdGhpcy5jb250ZW50RWw7XG4gICAgdGhpcy5vZmZzZXRFbDtcbiAgICB0aGlzLm1hc2tFbDtcbiAgICB0aGlzLmdsb2JhbE9ic2VydmVyO1xuICAgIHRoaXMubXV0YXRpb25PYnNlcnZlcjtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyO1xuICAgIHRoaXMuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy5taW5TY3JvbGxiYXJXaWR0aCA9IDIwO1xuICAgIHRoaXMub3B0aW9ucyA9IF9vYmplY3RTcHJlYWQoe30sIFNpbXBsZUJhci5kZWZhdWx0T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgdGhpcy5jbGFzc05hbWVzID0gX29iamVjdFNwcmVhZCh7fSwgU2ltcGxlQmFyLmRlZmF1bHRPcHRpb25zLmNsYXNzTmFtZXMsIHRoaXMub3B0aW9ucy5jbGFzc05hbWVzKTtcbiAgICB0aGlzLmlzUnRsO1xuICAgIHRoaXMuYXhpcyA9IHtcbiAgICAgIHg6IHtcbiAgICAgICAgc2Nyb2xsT2Zmc2V0QXR0cjogJ3Njcm9sbExlZnQnLFxuICAgICAgICBzaXplQXR0cjogJ3dpZHRoJyxcbiAgICAgICAgc2Nyb2xsU2l6ZUF0dHI6ICdzY3JvbGxXaWR0aCcsXG4gICAgICAgIG9mZnNldEF0dHI6ICdsZWZ0JyxcbiAgICAgICAgb3ZlcmZsb3dBdHRyOiAnb3ZlcmZsb3dYJyxcbiAgICAgICAgZHJhZ09mZnNldDogMCxcbiAgICAgICAgaXNPdmVyZmxvd2luZzogdHJ1ZSxcbiAgICAgICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgZm9yY2VWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgdHJhY2s6IHt9LFxuICAgICAgICBzY3JvbGxiYXI6IHt9XG4gICAgICB9LFxuICAgICAgeToge1xuICAgICAgICBzY3JvbGxPZmZzZXRBdHRyOiAnc2Nyb2xsVG9wJyxcbiAgICAgICAgc2l6ZUF0dHI6ICdoZWlnaHQnLFxuICAgICAgICBzY3JvbGxTaXplQXR0cjogJ3Njcm9sbEhlaWdodCcsXG4gICAgICAgIG9mZnNldEF0dHI6ICd0b3AnLFxuICAgICAgICBvdmVyZmxvd0F0dHI6ICdvdmVyZmxvd1knLFxuICAgICAgICBkcmFnT2Zmc2V0OiAwLFxuICAgICAgICBpc092ZXJmbG93aW5nOiB0cnVlLFxuICAgICAgICBpc1Zpc2libGU6IGZhbHNlLFxuICAgICAgICBmb3JjZVZpc2libGU6IGZhbHNlLFxuICAgICAgICB0cmFjazoge30sXG4gICAgICAgIHNjcm9sbGJhcjoge31cbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMucmVjYWxjdWxhdGUgPSB0aHJvdHRsZSh0aGlzLnJlY2FsY3VsYXRlLmJpbmQodGhpcyksIDY0KTtcbiAgICB0aGlzLm9uTW91c2VNb3ZlID0gdGhyb3R0bGUodGhpcy5vbk1vdXNlTW92ZS5iaW5kKHRoaXMpLCA2NCk7XG4gICAgdGhpcy5oaWRlU2Nyb2xsYmFycyA9IGRlYm91bmNlKHRoaXMuaGlkZVNjcm9sbGJhcnMuYmluZCh0aGlzKSwgdGhpcy5vcHRpb25zLnRpbWVvdXQpO1xuICAgIHRoaXMub25XaW5kb3dSZXNpemUgPSBkZWJvdW5jZSh0aGlzLm9uV2luZG93UmVzaXplLmJpbmQodGhpcyksIDY0LCB7XG4gICAgICBsZWFkaW5nOiB0cnVlXG4gICAgfSk7XG4gICAgU2ltcGxlQmFyLmdldFJ0bEhlbHBlcnMgPSBtZW1vaXplKFNpbXBsZUJhci5nZXRSdGxIZWxwZXJzKTsgLy8gZ2V0Q29udGVudEVsZW1lbnQgaXMgZGVwcmVjYXRlZFxuXG4gICAgdGhpcy5nZXRDb250ZW50RWxlbWVudCA9IHRoaXMuZ2V0U2Nyb2xsRWxlbWVudDtcbiAgICB0aGlzLmluaXQoKTtcbiAgfVxuICAvKipcbiAgICogU3RhdGljIHByb3BlcnRpZXNcbiAgICovXG5cbiAgLyoqXG4gICAqIEhlbHBlciB0byBmaXggYnJvd3NlcnMgaW5jb25zaXN0ZW5jeSBvbiBSVEw6XG4gICAqICAtIEZpcmVmb3ggaW52ZXJ0cyB0aGUgc2Nyb2xsYmFyIGluaXRpYWwgcG9zaXRpb25cbiAgICogIC0gSUUxMSBpbnZlcnRzIGJvdGggc2Nyb2xsYmFyIHBvc2l0aW9uIGFuZCBzY3JvbGxpbmcgb2Zmc2V0XG4gICAqIERpcmVjdGx5IGluc3BpcmVkIGJ5IEBLaW5nU29yYSdzIE92ZXJsYXlTY3JvbGxiYXJzIGh0dHBzOi8vZ2l0aHViLmNvbS9LaW5nU29yYS9PdmVybGF5U2Nyb2xsYmFycy9ibG9iL21hc3Rlci9qcy9PdmVybGF5U2Nyb2xsYmFycy5qcyNMMTYzNFxuICAgKi9cblxuXG4gIF9jcmVhdGVDbGFzcyhTaW1wbGVCYXIsIFt7XG4gICAga2V5OiBcImluaXRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAgIC8vIFNhdmUgYSByZWZlcmVuY2UgdG8gdGhlIGluc3RhbmNlLCBzbyB3ZSBrbm93IHRoaXMgRE9NIG5vZGUgaGFzIGFscmVhZHkgYmVlbiBpbnN0YW5jaWVkXG4gICAgICB0aGlzLmVsLlNpbXBsZUJhciA9IHRoaXM7IC8vIFdlIHN0b3AgaGVyZSBvbiBzZXJ2ZXItc2lkZVxuXG4gICAgICBpZiAoY2FuVXNlRE9NKSB7XG4gICAgICAgIHRoaXMuaW5pdERPTSgpO1xuICAgICAgICB0aGlzLnNjcm9sbGJhcldpZHRoID0gc2Nyb2xsYmFyV2lkdGgoKTtcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZSgpO1xuICAgICAgICB0aGlzLmluaXRMaXN0ZW5lcnMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaW5pdERPTVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpbml0RE9NKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIC8vIG1ha2Ugc3VyZSB0aGlzIGVsZW1lbnQgZG9lc24ndCBoYXZlIHRoZSBlbGVtZW50cyB5ZXRcbiAgICAgIGlmIChBcnJheS5mcm9tKHRoaXMuZWwuY2hpbGRyZW4pLmZpbHRlcihmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgcmV0dXJuIGNoaWxkLmNsYXNzTGlzdC5jb250YWlucyhfdGhpczIuY2xhc3NOYW1lcy53cmFwcGVyKTtcbiAgICAgIH0pLmxlbmd0aCkge1xuICAgICAgICAvLyBhc3N1bWUgdGhhdCBlbGVtZW50IGhhcyBoaXMgRE9NIGFscmVhZHkgaW5pdGlhdGVkXG4gICAgICAgIHRoaXMud3JhcHBlckVsID0gdGhpcy5lbC5xdWVyeVNlbGVjdG9yKFwiLlwiLmNvbmNhdCh0aGlzLmNsYXNzTmFtZXMud3JhcHBlcikpO1xuICAgICAgICB0aGlzLmNvbnRlbnRFbCA9IHRoaXMuZWwucXVlcnlTZWxlY3RvcihcIi5cIi5jb25jYXQodGhpcy5jbGFzc05hbWVzLmNvbnRlbnQpKTtcbiAgICAgICAgdGhpcy5vZmZzZXRFbCA9IHRoaXMuZWwucXVlcnlTZWxlY3RvcihcIi5cIi5jb25jYXQodGhpcy5jbGFzc05hbWVzLm9mZnNldCkpO1xuICAgICAgICB0aGlzLm1hc2tFbCA9IHRoaXMuZWwucXVlcnlTZWxlY3RvcihcIi5cIi5jb25jYXQodGhpcy5jbGFzc05hbWVzLm1hc2spKTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVsID0gdGhpcy5lbC5xdWVyeVNlbGVjdG9yKFwiLlwiLmNvbmNhdCh0aGlzLmNsYXNzTmFtZXMucGxhY2Vob2xkZXIpKTtcbiAgICAgICAgdGhpcy5oZWlnaHRBdXRvT2JzZXJ2ZXJXcmFwcGVyRWwgPSB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoXCIuXCIuY29uY2F0KHRoaXMuY2xhc3NOYW1lcy5oZWlnaHRBdXRvT2JzZXJ2ZXJXcmFwcGVyRWwpKTtcbiAgICAgICAgdGhpcy5oZWlnaHRBdXRvT2JzZXJ2ZXJFbCA9IHRoaXMuZWwucXVlcnlTZWxlY3RvcihcIi5cIi5jb25jYXQodGhpcy5jbGFzc05hbWVzLmhlaWdodEF1dG9PYnNlcnZlckVsKSk7XG4gICAgICAgIHRoaXMuYXhpcy54LnRyYWNrLmVsID0gdGhpcy5lbC5xdWVyeVNlbGVjdG9yKFwiLlwiLmNvbmNhdCh0aGlzLmNsYXNzTmFtZXMudHJhY2ssIFwiLlwiKS5jb25jYXQodGhpcy5jbGFzc05hbWVzLmhvcml6b250YWwpKTtcbiAgICAgICAgdGhpcy5heGlzLnkudHJhY2suZWwgPSB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3IoXCIuXCIuY29uY2F0KHRoaXMuY2xhc3NOYW1lcy50cmFjaywgXCIuXCIpLmNvbmNhdCh0aGlzLmNsYXNzTmFtZXMudmVydGljYWwpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFByZXBhcmUgRE9NXG4gICAgICAgIHRoaXMud3JhcHBlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuY29udGVudEVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMub2Zmc2V0RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5tYXNrRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuaGVpZ2h0QXV0b09ic2VydmVyV3JhcHBlckVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuaGVpZ2h0QXV0b09ic2VydmVyRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy53cmFwcGVyRWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMud3JhcHBlcik7XG4gICAgICAgIHRoaXMuY29udGVudEVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmNvbnRlbnQpO1xuICAgICAgICB0aGlzLm9mZnNldEVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLm9mZnNldCk7XG4gICAgICAgIHRoaXMubWFza0VsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLm1hc2spO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyRWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMucGxhY2Vob2xkZXIpO1xuICAgICAgICB0aGlzLmhlaWdodEF1dG9PYnNlcnZlcldyYXBwZXJFbC5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NOYW1lcy5oZWlnaHRBdXRvT2JzZXJ2ZXJXcmFwcGVyRWwpO1xuICAgICAgICB0aGlzLmhlaWdodEF1dG9PYnNlcnZlckVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmhlaWdodEF1dG9PYnNlcnZlckVsKTtcblxuICAgICAgICB3aGlsZSAodGhpcy5lbC5maXJzdENoaWxkKSB7XG4gICAgICAgICAgdGhpcy5jb250ZW50RWwuYXBwZW5kQ2hpbGQodGhpcy5lbC5maXJzdENoaWxkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2Zmc2V0RWwuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50RWwpO1xuICAgICAgICB0aGlzLm1hc2tFbC5hcHBlbmRDaGlsZCh0aGlzLm9mZnNldEVsKTtcbiAgICAgICAgdGhpcy5oZWlnaHRBdXRvT2JzZXJ2ZXJXcmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5oZWlnaHRBdXRvT2JzZXJ2ZXJFbCk7XG4gICAgICAgIHRoaXMud3JhcHBlckVsLmFwcGVuZENoaWxkKHRoaXMuaGVpZ2h0QXV0b09ic2VydmVyV3JhcHBlckVsKTtcbiAgICAgICAgdGhpcy53cmFwcGVyRWwuYXBwZW5kQ2hpbGQodGhpcy5tYXNrRWwpO1xuICAgICAgICB0aGlzLndyYXBwZXJFbC5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyRWwpO1xuICAgICAgICB0aGlzLmVsLmFwcGVuZENoaWxkKHRoaXMud3JhcHBlckVsKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmF4aXMueC50cmFjay5lbCB8fCAhdGhpcy5heGlzLnkudHJhY2suZWwpIHtcbiAgICAgICAgdmFyIHRyYWNrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHZhciBzY3JvbGxiYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdHJhY2suY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMudHJhY2spO1xuICAgICAgICBzY3JvbGxiYXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMuc2Nyb2xsYmFyKTtcbiAgICAgICAgdHJhY2suYXBwZW5kQ2hpbGQoc2Nyb2xsYmFyKTtcbiAgICAgICAgdGhpcy5heGlzLngudHJhY2suZWwgPSB0cmFjay5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgIHRoaXMuYXhpcy54LnRyYWNrLmVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmhvcml6b250YWwpO1xuICAgICAgICB0aGlzLmF4aXMueS50cmFjay5lbCA9IHRyYWNrLmNsb25lTm9kZSh0cnVlKTtcbiAgICAgICAgdGhpcy5heGlzLnkudHJhY2suZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMudmVydGljYWwpO1xuICAgICAgICB0aGlzLmVsLmFwcGVuZENoaWxkKHRoaXMuYXhpcy54LnRyYWNrLmVsKTtcbiAgICAgICAgdGhpcy5lbC5hcHBlbmRDaGlsZCh0aGlzLmF4aXMueS50cmFjay5lbCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYXhpcy54LnNjcm9sbGJhci5lbCA9IHRoaXMuYXhpcy54LnRyYWNrLmVsLnF1ZXJ5U2VsZWN0b3IoXCIuXCIuY29uY2F0KHRoaXMuY2xhc3NOYW1lcy5zY3JvbGxiYXIpKTtcbiAgICAgIHRoaXMuYXhpcy55LnNjcm9sbGJhci5lbCA9IHRoaXMuYXhpcy55LnRyYWNrLmVsLnF1ZXJ5U2VsZWN0b3IoXCIuXCIuY29uY2F0KHRoaXMuY2xhc3NOYW1lcy5zY3JvbGxiYXIpKTtcblxuICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuYXV0b0hpZGUpIHtcbiAgICAgICAgdGhpcy5heGlzLnguc2Nyb2xsYmFyLmVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLnZpc2libGUpO1xuICAgICAgICB0aGlzLmF4aXMueS5zY3JvbGxiYXIuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMudmlzaWJsZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKCdkYXRhLXNpbXBsZWJhcicsICdpbml0Jyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImluaXRMaXN0ZW5lcnNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdExpc3RlbmVycygpIHtcbiAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICAvLyBFdmVudCBsaXN0ZW5lcnNcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b0hpZGUpIHtcbiAgICAgICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5vbk1vdXNlRW50ZXIpO1xuICAgICAgfVxuXG4gICAgICBbJ21vdXNlZG93bicsICdjbGljaycsICdkYmxjbGljaycsICd0b3VjaHN0YXJ0JywgJ3RvdWNoZW5kJywgJ3RvdWNobW92ZSddLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgX3RoaXMzLmVsLmFkZEV2ZW50TGlzdGVuZXIoZSwgX3RoaXMzLm9uUG9pbnRlckV2ZW50LCB0cnVlKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgIHRoaXMuZWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMub25Nb3VzZUxlYXZlKTtcbiAgICAgIHRoaXMuY29udGVudEVsLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwpOyAvLyBCcm93c2VyIHpvb20gdHJpZ2dlcnMgYSB3aW5kb3cgcmVzaXplXG5cbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uV2luZG93UmVzaXplKTsgLy8gTXV0YXRpb25PYnNlcnZlciBpcyBJRTExK1xuXG4gICAgICBpZiAodHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIC8vIGNyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZVxuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7XG4gICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goZnVuY3Rpb24gKG11dGF0aW9uKSB7XG4gICAgICAgICAgICBpZiAobXV0YXRpb24udGFyZ2V0ID09PSBfdGhpczMuY29udGVudEVsIHx8IF90aGlzMy5pc0NoaWxkTm9kZShtdXRhdGlvbi50YXJnZXQpIHx8IG11dGF0aW9uLmFkZGVkTm9kZXMubGVuZ3RoIHx8IG11dGF0aW9uLnJlbW92ZWROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgX3RoaXMzLnJlY2FsY3VsYXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnRFbCwge1xuICAgICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgICAgIGNoYXJhY3RlckRhdGE6IHRydWUsXG4gICAgICAgICAgc3VidHJlZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLnJlY2FsY3VsYXRlKTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVjYWxjdWxhdGVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVjYWxjdWxhdGUoKSB7XG4gICAgICB2YXIgaXNIZWlnaHRBdXRvID0gdGhpcy5oZWlnaHRBdXRvT2JzZXJ2ZXJFbC5vZmZzZXRIZWlnaHQgPD0gMTtcbiAgICAgIHRoaXMuZWxTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsKTtcbiAgICAgIHRoaXMuaXNSdGwgPSB0aGlzLmVsU3R5bGVzLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XG4gICAgICB0aGlzLmNvbnRlbnRFbC5zdHlsZS5wYWRkaW5nID0gXCJcIi5jb25jYXQodGhpcy5lbFN0eWxlcy5wYWRkaW5nVG9wLCBcIiBcIikuY29uY2F0KHRoaXMuZWxTdHlsZXMucGFkZGluZ1JpZ2h0LCBcIiBcIikuY29uY2F0KHRoaXMuZWxTdHlsZXMucGFkZGluZ0JvdHRvbSwgXCIgXCIpLmNvbmNhdCh0aGlzLmVsU3R5bGVzLnBhZGRpbmdMZWZ0KTtcbiAgICAgIHRoaXMuY29udGVudEVsLnN0eWxlLmhlaWdodCA9IGlzSGVpZ2h0QXV0byA/ICdhdXRvJyA6ICcxMDAlJztcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJFbC5zdHlsZS53aWR0aCA9IFwiXCIuY29uY2F0KHRoaXMuY29udGVudEVsLnNjcm9sbFdpZHRoLCBcInB4XCIpO1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckVsLnN0eWxlLmhlaWdodCA9IFwiXCIuY29uY2F0KHRoaXMuY29udGVudEVsLnNjcm9sbEhlaWdodCwgXCJweFwiKTtcbiAgICAgIHRoaXMud3JhcHBlckVsLnN0eWxlLm1hcmdpbiA9IFwiLVwiLmNvbmNhdCh0aGlzLmVsU3R5bGVzLnBhZGRpbmdUb3AsIFwiIC1cIikuY29uY2F0KHRoaXMuZWxTdHlsZXMucGFkZGluZ1JpZ2h0LCBcIiAtXCIpLmNvbmNhdCh0aGlzLmVsU3R5bGVzLnBhZGRpbmdCb3R0b20sIFwiIC1cIikuY29uY2F0KHRoaXMuZWxTdHlsZXMucGFkZGluZ0xlZnQpO1xuICAgICAgdGhpcy5heGlzLngudHJhY2sucmVjdCA9IHRoaXMuYXhpcy54LnRyYWNrLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy5heGlzLnkudHJhY2sucmVjdCA9IHRoaXMuYXhpcy55LnRyYWNrLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOyAvLyBTZXQgaXNPdmVyZmxvd2luZyB0byBmYWxzZSBpZiBzY3JvbGxiYXIgaXMgbm90IG5lY2Vzc2FyeSAoY29udGVudCBpcyBzaG9ydGVyIHRoYW4gb2Zmc2V0KVxuXG4gICAgICB0aGlzLmF4aXMueC5pc092ZXJmbG93aW5nID0gKHRoaXMuc2Nyb2xsYmFyV2lkdGggPyB0aGlzLmNvbnRlbnRFbC5zY3JvbGxXaWR0aCA6IHRoaXMuY29udGVudEVsLnNjcm9sbFdpZHRoIC0gdGhpcy5taW5TY3JvbGxiYXJXaWR0aCkgPiBNYXRoLmNlaWwodGhpcy5heGlzLngudHJhY2sucmVjdC53aWR0aCk7XG4gICAgICB0aGlzLmF4aXMueS5pc092ZXJmbG93aW5nID0gKHRoaXMuc2Nyb2xsYmFyV2lkdGggPyB0aGlzLmNvbnRlbnRFbC5zY3JvbGxIZWlnaHQgOiB0aGlzLmNvbnRlbnRFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLm1pblNjcm9sbGJhcldpZHRoKSA+IE1hdGguY2VpbCh0aGlzLmF4aXMueS50cmFjay5yZWN0LmhlaWdodCk7IC8vIFNldCBpc092ZXJmbG93aW5nIHRvIGZhbHNlIGlmIHVzZXIgZXhwbGljaXRlbHkgc2V0IGhpZGRlbiBvdmVyZmxvd1xuXG4gICAgICB0aGlzLmF4aXMueC5pc092ZXJmbG93aW5nID0gdGhpcy5lbFN0eWxlcy5vdmVyZmxvd1ggPT09ICdoaWRkZW4nID8gZmFsc2UgOiB0aGlzLmF4aXMueC5pc092ZXJmbG93aW5nO1xuICAgICAgdGhpcy5heGlzLnkuaXNPdmVyZmxvd2luZyA9IHRoaXMuZWxTdHlsZXMub3ZlcmZsb3dZID09PSAnaGlkZGVuJyA/IGZhbHNlIDogdGhpcy5heGlzLnkuaXNPdmVyZmxvd2luZztcbiAgICAgIHRoaXMuYXhpcy54LmZvcmNlVmlzaWJsZSA9IHRoaXMub3B0aW9ucy5mb3JjZVZpc2libGUgPT09IFwieFwiIHx8IHRoaXMub3B0aW9ucy5mb3JjZVZpc2libGUgPT09IHRydWU7XG4gICAgICB0aGlzLmF4aXMueS5mb3JjZVZpc2libGUgPSB0aGlzLm9wdGlvbnMuZm9yY2VWaXNpYmxlID09PSBcInlcIiB8fCB0aGlzLm9wdGlvbnMuZm9yY2VWaXNpYmxlID09PSB0cnVlO1xuICAgICAgdGhpcy5heGlzLnguc2Nyb2xsYmFyLnNpemUgPSB0aGlzLmdldFNjcm9sbGJhclNpemUoJ3gnKTtcbiAgICAgIHRoaXMuYXhpcy55LnNjcm9sbGJhci5zaXplID0gdGhpcy5nZXRTY3JvbGxiYXJTaXplKCd5Jyk7XG4gICAgICB0aGlzLmF4aXMueC5zY3JvbGxiYXIuZWwuc3R5bGUud2lkdGggPSBcIlwiLmNvbmNhdCh0aGlzLmF4aXMueC5zY3JvbGxiYXIuc2l6ZSwgXCJweFwiKTtcbiAgICAgIHRoaXMuYXhpcy55LnNjcm9sbGJhci5lbC5zdHlsZS5oZWlnaHQgPSBcIlwiLmNvbmNhdCh0aGlzLmF4aXMueS5zY3JvbGxiYXIuc2l6ZSwgXCJweFwiKTtcbiAgICAgIHRoaXMucG9zaXRpb25TY3JvbGxiYXIoJ3gnKTtcbiAgICAgIHRoaXMucG9zaXRpb25TY3JvbGxiYXIoJ3knKTtcbiAgICAgIHRoaXMudG9nZ2xlVHJhY2tWaXNpYmlsaXR5KCd4Jyk7XG4gICAgICB0aGlzLnRvZ2dsZVRyYWNrVmlzaWJpbGl0eSgneScpO1xuICAgICAgdGhpcy5oaWRlTmF0aXZlU2Nyb2xsYmFyKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSBzY3JvbGxiYXIgc2l6ZVxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwiZ2V0U2Nyb2xsYmFyU2l6ZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRTY3JvbGxiYXJTaXplKCkge1xuICAgICAgdmFyIGF4aXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6ICd5JztcbiAgICAgIHZhciBjb250ZW50U2l6ZSA9IHRoaXMuc2Nyb2xsYmFyV2lkdGggPyB0aGlzLmNvbnRlbnRFbFt0aGlzLmF4aXNbYXhpc10uc2Nyb2xsU2l6ZUF0dHJdIDogdGhpcy5jb250ZW50RWxbdGhpcy5heGlzW2F4aXNdLnNjcm9sbFNpemVBdHRyXSAtIHRoaXMubWluU2Nyb2xsYmFyV2lkdGg7XG4gICAgICB2YXIgdHJhY2tTaXplID0gdGhpcy5heGlzW2F4aXNdLnRyYWNrLnJlY3RbdGhpcy5heGlzW2F4aXNdLnNpemVBdHRyXTtcbiAgICAgIHZhciBzY3JvbGxiYXJTaXplO1xuXG4gICAgICBpZiAoIXRoaXMuYXhpc1theGlzXS5pc092ZXJmbG93aW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHNjcm9sbGJhclJhdGlvID0gdHJhY2tTaXplIC8gY29udGVudFNpemU7IC8vIENhbGN1bGF0ZSBuZXcgaGVpZ2h0L3Bvc2l0aW9uIG9mIGRyYWcgaGFuZGxlLlxuXG4gICAgICBzY3JvbGxiYXJTaXplID0gTWF0aC5tYXgofn4oc2Nyb2xsYmFyUmF0aW8gKiB0cmFja1NpemUpLCB0aGlzLm9wdGlvbnMuc2Nyb2xsYmFyTWluU2l6ZSk7XG5cbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuc2Nyb2xsYmFyTWF4U2l6ZSkge1xuICAgICAgICBzY3JvbGxiYXJTaXplID0gTWF0aC5taW4oc2Nyb2xsYmFyU2l6ZSwgdGhpcy5vcHRpb25zLnNjcm9sbGJhck1heFNpemUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2Nyb2xsYmFyU2l6ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicG9zaXRpb25TY3JvbGxiYXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcG9zaXRpb25TY3JvbGxiYXIoKSB7XG4gICAgICB2YXIgYXhpcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJ3knO1xuICAgICAgdmFyIGNvbnRlbnRTaXplID0gdGhpcy5jb250ZW50RWxbdGhpcy5heGlzW2F4aXNdLnNjcm9sbFNpemVBdHRyXTtcbiAgICAgIHZhciB0cmFja1NpemUgPSB0aGlzLmF4aXNbYXhpc10udHJhY2sucmVjdFt0aGlzLmF4aXNbYXhpc10uc2l6ZUF0dHJdO1xuICAgICAgdmFyIGhvc3RTaXplID0gcGFyc2VJbnQodGhpcy5lbFN0eWxlc1t0aGlzLmF4aXNbYXhpc10uc2l6ZUF0dHJdLCAxMCk7XG4gICAgICB2YXIgc2Nyb2xsYmFyID0gdGhpcy5heGlzW2F4aXNdLnNjcm9sbGJhcjtcbiAgICAgIHZhciBzY3JvbGxPZmZzZXQgPSB0aGlzLmNvbnRlbnRFbFt0aGlzLmF4aXNbYXhpc10uc2Nyb2xsT2Zmc2V0QXR0cl07XG4gICAgICBzY3JvbGxPZmZzZXQgPSBheGlzID09PSAneCcgJiYgdGhpcy5pc1J0bCAmJiBTaW1wbGVCYXIuZ2V0UnRsSGVscGVycygpLmlzUnRsU2Nyb2xsaW5nSW52ZXJ0ZWQgPyAtc2Nyb2xsT2Zmc2V0IDogc2Nyb2xsT2Zmc2V0O1xuICAgICAgdmFyIHNjcm9sbFBvdXJjZW50ID0gc2Nyb2xsT2Zmc2V0IC8gKGNvbnRlbnRTaXplIC0gaG9zdFNpemUpO1xuICAgICAgdmFyIGhhbmRsZU9mZnNldCA9IH5+KCh0cmFja1NpemUgLSBzY3JvbGxiYXIuc2l6ZSkgKiBzY3JvbGxQb3VyY2VudCk7XG4gICAgICBoYW5kbGVPZmZzZXQgPSBheGlzID09PSAneCcgJiYgdGhpcy5pc1J0bCAmJiBTaW1wbGVCYXIuZ2V0UnRsSGVscGVycygpLmlzUnRsU2Nyb2xsYmFySW52ZXJ0ZWQgPyBoYW5kbGVPZmZzZXQgKyAodHJhY2tTaXplIC0gc2Nyb2xsYmFyLnNpemUpIDogaGFuZGxlT2Zmc2V0O1xuICAgICAgc2Nyb2xsYmFyLmVsLnN0eWxlLnRyYW5zZm9ybSA9IGF4aXMgPT09ICd4JyA/IFwidHJhbnNsYXRlM2QoXCIuY29uY2F0KGhhbmRsZU9mZnNldCwgXCJweCwgMCwgMClcIikgOiBcInRyYW5zbGF0ZTNkKDAsIFwiLmNvbmNhdChoYW5kbGVPZmZzZXQsIFwicHgsIDApXCIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJ0b2dnbGVUcmFja1Zpc2liaWxpdHlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdG9nZ2xlVHJhY2tWaXNpYmlsaXR5KCkge1xuICAgICAgdmFyIGF4aXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6ICd5JztcbiAgICAgIHZhciB0cmFjayA9IHRoaXMuYXhpc1theGlzXS50cmFjay5lbDtcbiAgICAgIHZhciBzY3JvbGxiYXIgPSB0aGlzLmF4aXNbYXhpc10uc2Nyb2xsYmFyLmVsO1xuXG4gICAgICBpZiAodGhpcy5heGlzW2F4aXNdLmlzT3ZlcmZsb3dpbmcgfHwgdGhpcy5heGlzW2F4aXNdLmZvcmNlVmlzaWJsZSkge1xuICAgICAgICB0cmFjay5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xuICAgICAgICB0aGlzLmNvbnRlbnRFbC5zdHlsZVt0aGlzLmF4aXNbYXhpc10ub3ZlcmZsb3dBdHRyXSA9ICdzY3JvbGwnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJhY2suc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgICB0aGlzLmNvbnRlbnRFbC5zdHlsZVt0aGlzLmF4aXNbYXhpc10ub3ZlcmZsb3dBdHRyXSA9ICdoaWRkZW4nO1xuICAgICAgfSAvLyBFdmVuIGlmIGZvcmNlVmlzaWJsZSBpcyBlbmFibGVkLCBzY3JvbGxiYXIgaXRzZWxmIHNob3VsZCBiZSBoaWRkZW5cblxuXG4gICAgICBpZiAodGhpcy5heGlzW2F4aXNdLmlzT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY3JvbGxiYXIuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJoaWRlTmF0aXZlU2Nyb2xsYmFyXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGhpZGVOYXRpdmVTY3JvbGxiYXIoKSB7XG4gICAgICB0aGlzLm9mZnNldEVsLnN0eWxlW3RoaXMuaXNSdGwgPyAnbGVmdCcgOiAncmlnaHQnXSA9IHRoaXMuYXhpcy55LmlzT3ZlcmZsb3dpbmcgfHwgdGhpcy5heGlzLnkuZm9yY2VWaXNpYmxlID8gXCItXCIuY29uY2F0KHRoaXMuc2Nyb2xsYmFyV2lkdGggfHwgdGhpcy5taW5TY3JvbGxiYXJXaWR0aCwgXCJweFwiKSA6IDA7XG4gICAgICB0aGlzLm9mZnNldEVsLnN0eWxlLmJvdHRvbSA9IHRoaXMuYXhpcy54LmlzT3ZlcmZsb3dpbmcgfHwgdGhpcy5heGlzLnguZm9yY2VWaXNpYmxlID8gXCItXCIuY29uY2F0KHRoaXMuc2Nyb2xsYmFyV2lkdGggfHwgdGhpcy5taW5TY3JvbGxiYXJXaWR0aCwgXCJweFwiKSA6IDA7IC8vIElmIGZsb2F0aW5nIHNjcm9sbGJhclxuXG4gICAgICBpZiAoIXRoaXMuc2Nyb2xsYmFyV2lkdGgpIHtcbiAgICAgICAgdmFyIHBhZGRpbmdEaXJlY3Rpb24gPSBbdGhpcy5pc1J0bCA/ICdwYWRkaW5nTGVmdCcgOiAncGFkZGluZ1JpZ2h0J107XG4gICAgICAgIHRoaXMuY29udGVudEVsLnN0eWxlW3BhZGRpbmdEaXJlY3Rpb25dID0gdGhpcy5heGlzLnkuaXNPdmVyZmxvd2luZyB8fCB0aGlzLmF4aXMueS5mb3JjZVZpc2libGUgPyBcImNhbGMoXCIuY29uY2F0KHRoaXMuZWxTdHlsZXNbcGFkZGluZ0RpcmVjdGlvbl0sIFwiICsgXCIpLmNvbmNhdCh0aGlzLm1pblNjcm9sbGJhcldpZHRoLCBcInB4KVwiKSA6IHRoaXMuZWxTdHlsZXNbcGFkZGluZ0RpcmVjdGlvbl07XG4gICAgICAgIHRoaXMuY29udGVudEVsLnN0eWxlLnBhZGRpbmdCb3R0b20gPSB0aGlzLmF4aXMueC5pc092ZXJmbG93aW5nIHx8IHRoaXMuYXhpcy54LmZvcmNlVmlzaWJsZSA/IFwiY2FsYyhcIi5jb25jYXQodGhpcy5lbFN0eWxlcy5wYWRkaW5nQm90dG9tLCBcIiArIFwiKS5jb25jYXQodGhpcy5taW5TY3JvbGxiYXJXaWR0aCwgXCJweClcIikgOiB0aGlzLmVsU3R5bGVzLnBhZGRpbmdCb3R0b207XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE9uIHNjcm9sbCBldmVudCBoYW5kbGluZ1xuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwib25Nb3VzZU1vdmVGb3JBeGlzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTW91c2VNb3ZlRm9yQXhpcygpIHtcbiAgICAgIHZhciBheGlzID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiAneSc7XG4gICAgICB0aGlzLmF4aXNbYXhpc10udHJhY2sucmVjdCA9IHRoaXMuYXhpc1theGlzXS50cmFjay5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMuYXhpc1theGlzXS5zY3JvbGxiYXIucmVjdCA9IHRoaXMuYXhpc1theGlzXS5zY3JvbGxiYXIuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICB2YXIgaXNXaXRoaW5TY3JvbGxiYXJCb3VuZHNYID0gdGhpcy5pc1dpdGhpbkJvdW5kcyh0aGlzLmF4aXNbYXhpc10uc2Nyb2xsYmFyLnJlY3QpO1xuXG4gICAgICBpZiAoaXNXaXRoaW5TY3JvbGxiYXJCb3VuZHNYKSB7XG4gICAgICAgIHRoaXMuYXhpc1theGlzXS5zY3JvbGxiYXIuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLmNsYXNzTmFtZXMuaG92ZXIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5heGlzW2F4aXNdLnNjcm9sbGJhci5lbC5jbGFzc0xpc3QucmVtb3ZlKHRoaXMuY2xhc3NOYW1lcy5ob3Zlcik7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzV2l0aGluQm91bmRzKHRoaXMuYXhpc1theGlzXS50cmFjay5yZWN0KSkge1xuICAgICAgICB0aGlzLnNob3dTY3JvbGxiYXIoYXhpcyk7XG4gICAgICAgIHRoaXMuYXhpc1theGlzXS50cmFjay5lbC5jbGFzc0xpc3QuYWRkKHRoaXMuY2xhc3NOYW1lcy5ob3Zlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmF4aXNbYXhpc10udHJhY2suZWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzTmFtZXMuaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJvbk1vdXNlTGVhdmVGb3JBeGlzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTW91c2VMZWF2ZUZvckF4aXMoKSB7XG4gICAgICB2YXIgYXhpcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogJ3knO1xuICAgICAgdGhpcy5heGlzW2F4aXNdLnRyYWNrLmVsLmNsYXNzTGlzdC5yZW1vdmUodGhpcy5jbGFzc05hbWVzLmhvdmVyKTtcbiAgICAgIHRoaXMuYXhpc1theGlzXS5zY3JvbGxiYXIuZWwuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmNsYXNzTmFtZXMuaG92ZXIpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJzaG93U2Nyb2xsYmFyXCIsXG5cbiAgICAvKipcbiAgICAgKiBTaG93IHNjcm9sbGJhclxuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBzaG93U2Nyb2xsYmFyKCkge1xuICAgICAgdmFyIGF4aXMgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6ICd5JztcbiAgICAgIHZhciBzY3JvbGxiYXIgPSB0aGlzLmF4aXNbYXhpc10uc2Nyb2xsYmFyLmVsO1xuXG4gICAgICBpZiAoIXRoaXMuYXhpc1theGlzXS5pc1Zpc2libGUpIHtcbiAgICAgICAgc2Nyb2xsYmFyLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLnZpc2libGUpO1xuICAgICAgICB0aGlzLmF4aXNbYXhpc10uaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5hdXRvSGlkZSkge1xuICAgICAgICB0aGlzLmhpZGVTY3JvbGxiYXJzKCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEhpZGUgU2Nyb2xsYmFyXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJvbkRyYWdTdGFydFwiLFxuXG4gICAgLyoqXG4gICAgICogb24gc2Nyb2xsYmFyIGhhbmRsZSBkcmFnIG1vdmVtZW50IHN0YXJ0c1xuICAgICAqL1xuICAgIHZhbHVlOiBmdW5jdGlvbiBvbkRyYWdTdGFydChlKSB7XG4gICAgICB2YXIgYXhpcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJ3knO1xuICAgICAgdmFyIHNjcm9sbGJhciA9IHRoaXMuYXhpc1theGlzXS5zY3JvbGxiYXIuZWw7IC8vIE1lYXN1cmUgaG93IGZhciB0aGUgdXNlcidzIG1vdXNlIGlzIGZyb20gdGhlIHRvcCBvZiB0aGUgc2Nyb2xsYmFyIGRyYWcgaGFuZGxlLlxuXG4gICAgICB2YXIgZXZlbnRPZmZzZXQgPSBheGlzID09PSAneScgPyBlLnBhZ2VZIDogZS5wYWdlWDtcbiAgICAgIHRoaXMuYXhpc1theGlzXS5kcmFnT2Zmc2V0ID0gZXZlbnRPZmZzZXQgLSBzY3JvbGxiYXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbdGhpcy5heGlzW2F4aXNdLm9mZnNldEF0dHJdO1xuICAgICAgdGhpcy5kcmFnZ2VkQXhpcyA9IGF4aXM7XG4gICAgICB0aGlzLmVsLmNsYXNzTGlzdC5hZGQodGhpcy5jbGFzc05hbWVzLmRyYWdnaW5nKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuZHJhZyk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbkVuZERyYWcpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEcmFnIHNjcm9sbGJhciBoYW5kbGVcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImdldFNjcm9sbEVsZW1lbnRcIixcblxuICAgIC8qKlxuICAgICAqIEdldHRlciBmb3Igb3JpZ2luYWwgc2Nyb2xsaW5nIGVsZW1lbnRcbiAgICAgKi9cbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0U2Nyb2xsRWxlbWVudCgpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRFbDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlTGlzdGVuZXJzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbW92ZUxpc3RlbmVycygpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICAvLyBFdmVudCBsaXN0ZW5lcnNcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b0hpZGUpIHtcbiAgICAgICAgdGhpcy5lbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5vbk1vdXNlRW50ZXIpO1xuICAgICAgfVxuXG4gICAgICBbJ21vdXNlZG93bicsICdjbGljaycsICdkYmxjbGljaycsICd0b3VjaHN0YXJ0JywgJ3RvdWNoZW5kJywgJ3RvdWNobW92ZSddLmZvckVhY2goZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgX3RoaXM0LmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSwgX3RoaXM0Lm9uUG9pbnRlckV2ZW50KTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgIHRoaXMuZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMub25Nb3VzZUxlYXZlKTtcbiAgICAgIHRoaXMuY29udGVudEVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwpO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25XaW5kb3dSZXNpemUpO1xuICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyICYmIHRoaXMubXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTsgLy8gQ2FuY2VsIGFsbCBkZWJvdW5jZWQgZnVuY3Rpb25zXG5cbiAgICAgIHRoaXMucmVjYWxjdWxhdGUuY2FuY2VsKCk7XG4gICAgICB0aGlzLm9uTW91c2VNb3ZlLmNhbmNlbCgpO1xuICAgICAgdGhpcy5oaWRlU2Nyb2xsYmFycy5jYW5jZWwoKTtcbiAgICAgIHRoaXMub25XaW5kb3dSZXNpemUuY2FuY2VsKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFVuTW91bnQgbXV0YXRpb24gb2JzZXJ2ZXIgYW5kIGRlbGV0ZSBTaW1wbGVCYXIgaW5zdGFuY2UgZnJvbSBET00gZWxlbWVudFxuICAgICAqL1xuXG4gIH0sIHtcbiAgICBrZXk6IFwidW5Nb3VudFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1bk1vdW50KCkge1xuICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMuZWwuU2ltcGxlQmFyID0gbnVsbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVjdXJzaXZlbHkgd2Fsa3MgdXAgdGhlIHBhcmVudCBub2RlcyBsb29raW5nIGZvciB0aGlzLmVsXG4gICAgICovXG5cbiAgfSwge1xuICAgIGtleTogXCJpc0NoaWxkTm9kZVwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBpc0NoaWxkTm9kZShlbCkge1xuICAgICAgaWYgKGVsID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAoZWwgPT09IHRoaXMuZWwpIHJldHVybiB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMuaXNDaGlsZE5vZGUoZWwucGFyZW50Tm9kZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIG1vdXNlIGlzIHdpdGhpbiBib3VuZHNcbiAgICAgKi9cblxuICB9LCB7XG4gICAga2V5OiBcImlzV2l0aGluQm91bmRzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGlzV2l0aGluQm91bmRzKGJib3gpIHtcbiAgICAgIHJldHVybiB0aGlzLm1vdXNlWCA+PSBiYm94LmxlZnQgJiYgdGhpcy5tb3VzZVggPD0gYmJveC5sZWZ0ICsgYmJveC53aWR0aCAmJiB0aGlzLm1vdXNlWSA+PSBiYm94LnRvcCAmJiB0aGlzLm1vdXNlWSA8PSBiYm94LnRvcCArIGJib3guaGVpZ2h0O1xuICAgIH1cbiAgfV0sIFt7XG4gICAga2V5OiBcImdldFJ0bEhlbHBlcnNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0UnRsSGVscGVycygpIHtcbiAgICAgIHZhciBkdW1teURpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZHVtbXlEaXYuaW5uZXJIVE1MID0gJzxkaXYgY2xhc3M9XCJocy1kdW1teS1zY3JvbGxiYXItc2l6ZVwiPjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDIwMCU7IHdpZHRoOiAyMDAlOyBtYXJnaW46IDEwcHggMDtcIj48L2Rpdj48L2Rpdj4nO1xuICAgICAgdmFyIHNjcm9sbGJhckR1bW15RWwgPSBkdW1teURpdi5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2Nyb2xsYmFyRHVtbXlFbCk7XG4gICAgICB2YXIgZHVtbXlDb250YWluZXJDaGlsZCA9IHNjcm9sbGJhckR1bW15RWwuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICBzY3JvbGxiYXJEdW1teUVsLnNjcm9sbExlZnQgPSAwO1xuICAgICAgdmFyIGR1bW15Q29udGFpbmVyT2Zmc2V0ID0gU2ltcGxlQmFyLmdldE9mZnNldChzY3JvbGxiYXJEdW1teUVsKTtcbiAgICAgIHZhciBkdW1teUNvbnRhaW5lckNoaWxkT2Zmc2V0ID0gU2ltcGxlQmFyLmdldE9mZnNldChkdW1teUNvbnRhaW5lckNoaWxkKTtcbiAgICAgIHNjcm9sbGJhckR1bW15RWwuc2Nyb2xsTGVmdCA9IDk5OTtcbiAgICAgIHZhciBkdW1teUNvbnRhaW5lclNjcm9sbE9mZnNldEFmdGVyU2Nyb2xsID0gU2ltcGxlQmFyLmdldE9mZnNldChkdW1teUNvbnRhaW5lckNoaWxkKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vIGRldGVybWluZXMgaWYgdGhlIHNjcm9sbGluZyBpcyByZXNwb25kaW5nIHdpdGggbmVnYXRpdmUgdmFsdWVzXG4gICAgICAgIGlzUnRsU2Nyb2xsaW5nSW52ZXJ0ZWQ6IGR1bW15Q29udGFpbmVyT2Zmc2V0LmxlZnQgIT09IGR1bW15Q29udGFpbmVyQ2hpbGRPZmZzZXQubGVmdCAmJiBkdW1teUNvbnRhaW5lckNoaWxkT2Zmc2V0LmxlZnQgLSBkdW1teUNvbnRhaW5lclNjcm9sbE9mZnNldEFmdGVyU2Nyb2xsLmxlZnQgIT09IDAsXG4gICAgICAgIC8vIGRldGVybWluZXMgaWYgdGhlIG9yaWdpbiBzY3JvbGxiYXIgcG9zaXRpb24gaXMgaW52ZXJ0ZWQgb3Igbm90IChwb3NpdGlvbmVkIG9uIGxlZnQgb3IgcmlnaHQpXG4gICAgICAgIGlzUnRsU2Nyb2xsYmFySW52ZXJ0ZWQ6IGR1bW15Q29udGFpbmVyT2Zmc2V0LmxlZnQgIT09IGR1bW15Q29udGFpbmVyQ2hpbGRPZmZzZXQubGVmdFxuICAgICAgfTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaW5pdEh0bWxBcGlcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdEh0bWxBcGkoKSB7XG4gICAgICB0aGlzLmluaXRET01Mb2FkZWRFbGVtZW50cyA9IHRoaXMuaW5pdERPTUxvYWRlZEVsZW1lbnRzLmJpbmQodGhpcyk7IC8vIE11dGF0aW9uT2JzZXJ2ZXIgaXMgSUUxMStcblxuICAgICAgaWYgKHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAvLyBNdXRhdGlvbiBvYnNlcnZlciB0byBvYnNlcnZlIGR5bmFtaWNhbGx5IGFkZGVkIGVsZW1lbnRzXG4gICAgICAgIHRoaXMuZ2xvYmFsT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbiAobXV0YXRpb25zKSB7XG4gICAgICAgICAgbXV0YXRpb25zLmZvckVhY2goZnVuY3Rpb24gKG11dGF0aW9uKSB7XG4gICAgICAgICAgICBBcnJheS5mcm9tKG11dGF0aW9uLmFkZGVkTm9kZXMpLmZvckVhY2goZnVuY3Rpb24gKGFkZGVkTm9kZSkge1xuICAgICAgICAgICAgICBpZiAoYWRkZWROb2RlLm5vZGVUeXBlID09PSAxKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFkZGVkTm9kZS5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2ltcGxlYmFyJykpIHtcbiAgICAgICAgICAgICAgICAgICFhZGRlZE5vZGUuU2ltcGxlQmFyICYmIG5ldyBTaW1wbGVCYXIoYWRkZWROb2RlLCBTaW1wbGVCYXIuZ2V0RWxPcHRpb25zKGFkZGVkTm9kZSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBBcnJheS5mcm9tKGFkZGVkTm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zaW1wbGViYXJdJykpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICAgICAgICAgICFlbC5TaW1wbGVCYXIgJiYgbmV3IFNpbXBsZUJhcihlbCwgU2ltcGxlQmFyLmdldEVsT3B0aW9ucyhlbCkpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIEFycmF5LmZyb20obXV0YXRpb24ucmVtb3ZlZE5vZGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChyZW1vdmVkTm9kZSkge1xuICAgICAgICAgICAgICBpZiAocmVtb3ZlZE5vZGUubm9kZVR5cGUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVtb3ZlZE5vZGUuaGFzQXR0cmlidXRlKCdkYXRhLXNpbXBsZWJhcicpKSB7XG4gICAgICAgICAgICAgICAgICByZW1vdmVkTm9kZS5TaW1wbGVCYXIgJiYgcmVtb3ZlZE5vZGUuU2ltcGxlQmFyLnVuTW91bnQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgQXJyYXkuZnJvbShyZW1vdmVkTm9kZS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zaW1wbGViYXJdJykpLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGVsLlNpbXBsZUJhciAmJiBlbC5TaW1wbGVCYXIudW5Nb3VudCgpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZ2xvYmFsT2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudCwge1xuICAgICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgICBzdWJ0cmVlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSAvLyBUYWtlbiBmcm9tIGpRdWVyeSBgcmVhZHlgIGZ1bmN0aW9uXG4gICAgICAvLyBJbnN0YW50aWF0ZSBlbGVtZW50cyBhbHJlYWR5IHByZXNlbnQgb24gdGhlIHBhZ2VcblxuXG4gICAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJyB8fCBkb2N1bWVudC5yZWFkeVN0YXRlICE9PSAnbG9hZGluZycgJiYgIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCkge1xuICAgICAgICAvLyBIYW5kbGUgaXQgYXN5bmNocm9ub3VzbHkgdG8gYWxsb3cgc2NyaXB0cyB0aGUgb3Bwb3J0dW5pdHkgdG8gZGVsYXkgaW5pdFxuICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh0aGlzLmluaXRET01Mb2FkZWRFbGVtZW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgdGhpcy5pbml0RE9NTG9hZGVkRWxlbWVudHMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuaW5pdERPTUxvYWRlZEVsZW1lbnRzKTtcbiAgICAgIH1cbiAgICB9IC8vIEhlbHBlciBmdW5jdGlvbiB0byByZXRyaWV2ZSBvcHRpb25zIGZyb20gZWxlbWVudCBhdHRyaWJ1dGVzXG5cbiAgfSwge1xuICAgIGtleTogXCJnZXRFbE9wdGlvbnNcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0RWxPcHRpb25zKGVsKSB7XG4gICAgICB2YXIgb3B0aW9ucyA9IEFycmF5LmZyb20oZWwuYXR0cmlidXRlcykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGF0dHJpYnV0ZSkge1xuICAgICAgICB2YXIgb3B0aW9uID0gYXR0cmlidXRlLm5hbWUubWF0Y2goL2RhdGEtc2ltcGxlYmFyLSguKykvKTtcblxuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgdmFyIGtleSA9IG9wdGlvblsxXS5yZXBsYWNlKC9cXFcrKC4pL2csIGZ1bmN0aW9uICh4LCBjaHIpIHtcbiAgICAgICAgICAgIHJldHVybiBjaHIudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHN3aXRjaCAoYXR0cmlidXRlLnZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlICd0cnVlJzpcbiAgICAgICAgICAgICAgYWNjW2tleV0gPSB0cnVlO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZmFsc2UnOlxuICAgICAgICAgICAgICBhY2Nba2V5XSA9IGZhbHNlO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgICAgICAgIGFjY1trZXldID0gdHJ1ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGFjY1trZXldID0gYXR0cmlidXRlLnZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwicmVtb3ZlT2JzZXJ2ZXJcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVtb3ZlT2JzZXJ2ZXIoKSB7XG4gICAgICB0aGlzLmdsb2JhbE9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiaW5pdERPTUxvYWRlZEVsZW1lbnRzXCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGluaXRET01Mb2FkZWRFbGVtZW50cygpIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCB0aGlzLmluaXRET01Mb2FkZWRFbGVtZW50cyk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuaW5pdERPTUxvYWRlZEVsZW1lbnRzKTtcbiAgICAgIEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2ltcGxlYmFyXScpKS5mb3JFYWNoKGZ1bmN0aW9uIChlbCkge1xuICAgICAgICBpZiAoIWVsLlNpbXBsZUJhcikgbmV3IFNpbXBsZUJhcihlbCwgU2ltcGxlQmFyLmdldEVsT3B0aW9ucyhlbCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImdldE9mZnNldFwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRPZmZzZXQoZWwpIHtcbiAgICAgIHZhciByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b3A6IHJlY3QudG9wICsgKHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgbGVmdDogcmVjdC5sZWZ0ICsgKHdpbmRvdy5wYWdlWE9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdClcbiAgICAgIH07XG4gICAgfVxuICB9XSk7XG5cbiAgcmV0dXJuIFNpbXBsZUJhcjtcbn0oKTtcbi8qKlxuICogSFRNTCBBUElcbiAqIENhbGxlZCBvbmx5IGluIGEgYnJvd3NlciBlbnYuXG4gKi9cblxuXG5TaW1wbGVCYXIuZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGF1dG9IaWRlOiB0cnVlLFxuICBmb3JjZVZpc2libGU6IGZhbHNlLFxuICBjbGFzc05hbWVzOiB7XG4gICAgY29udGVudDogJ3NpbXBsZWJhci1jb250ZW50JyxcbiAgICBvZmZzZXQ6ICdzaW1wbGViYXItb2Zmc2V0JyxcbiAgICBtYXNrOiAnc2ltcGxlYmFyLW1hc2snLFxuICAgIHdyYXBwZXI6ICdzaW1wbGViYXItd3JhcHBlcicsXG4gICAgcGxhY2Vob2xkZXI6ICdzaW1wbGViYXItcGxhY2Vob2xkZXInLFxuICAgIHNjcm9sbGJhcjogJ3NpbXBsZWJhci1zY3JvbGxiYXInLFxuICAgIHRyYWNrOiAnc2ltcGxlYmFyLXRyYWNrJyxcbiAgICBoZWlnaHRBdXRvT2JzZXJ2ZXJXcmFwcGVyRWw6ICdzaW1wbGViYXItaGVpZ2h0LWF1dG8tb2JzZXJ2ZXItd3JhcHBlcicsXG4gICAgaGVpZ2h0QXV0b09ic2VydmVyRWw6ICdzaW1wbGViYXItaGVpZ2h0LWF1dG8tb2JzZXJ2ZXInLFxuICAgIHZpc2libGU6ICdzaW1wbGViYXItdmlzaWJsZScsXG4gICAgaG9yaXpvbnRhbDogJ3NpbXBsZWJhci1ob3Jpem9udGFsJyxcbiAgICB2ZXJ0aWNhbDogJ3NpbXBsZWJhci12ZXJ0aWNhbCcsXG4gICAgaG92ZXI6ICdzaW1wbGViYXItaG92ZXInLFxuICAgIGRyYWdnaW5nOiAnc2ltcGxlYmFyLWRyYWdnaW5nJ1xuICB9LFxuICBzY3JvbGxiYXJNaW5TaXplOiAyNSxcbiAgc2Nyb2xsYmFyTWF4U2l6ZTogMCxcbiAgdGltZW91dDogMTAwMFxufTtcblxuaWYgKGNhblVzZURPTSkge1xuICBTaW1wbGVCYXIuaW5pdEh0bWxBcGkoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU2ltcGxlQmFyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2ltcGxlYmFyLmVzbS5qcy5tYXBcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/simplebar/dist/simplebar.esm.js\n"); - -/***/ }), - -/***/ "./node_modules/webpack/buildin/global.js": -/*!***********************************!*\ - !*** (webpack)/buildin/global.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzP2NkMDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\n"); - -/***/ }) - -}]); \ No newline at end of file diff --git a/themes/learn4/languages.yaml b/themes/learn4/languages.yaml deleted file mode 100644 index f53da58d..00000000 --- a/themes/learn4/languages.yaml +++ /dev/null @@ -1,41 +0,0 @@ -en: - THEME_LEARN4_GITHUB_EDIT: Edit - THEME_LEARN4_GITHUB_NOTE: "Found errors? Think you can improve this documentation? Simply click the Edit link at the top of the page, and then the icon on Github to make your changes." - THEME_LEARN4_CLEAR_HISTORY: Clear History - THEME_LEARN4_BUILT_WITH_GRAV: Built with
Grav - The Modern Flat File CMS - THEME_LEARN4_SEARCH_DOCUMENTATION: Search... -cn: - THEME_LEARN4_GITHUB_NOTE: 发现错误?请帮忙改进,谢谢! - THEME_LEARN4_CLEAR_HISTORY: 清除历史 - THEME_LEARN4_BUILT_WITH_GRAV: Built with Grav - The Modern Flat File CMS - THEME_LEARN4_SEARCH_DOCUMENTATION: 搜索文档 -cs: - THEME_LEARN4_GITHUB_NOTE: Našli jste chybu? Myslíte, že můžete vylepšit tuto dokumentaci? - THEME_LEARN4_CLEAR_HISTORY: Smazat historii - THEME_LEARN4_BUILT_WITH_GRAV: Postaveno na Grav - Moderní správce obsahu pomocí souborů prostých textů - THEME_LEARN4_SEARCH_DOCUMENTATION: Vyhledat v dokumentaci -de: - THEME_LEARN4_GITHUB_NOTE: Fehler gefunden? Möchten Sie diese Seite verbessern? - THEME_LEARN4_CLEAR_HISTORY: Verlauf löschen - THEME_LEARN4_BUILT_WITH_GRAV: Seite erstellt mit Grav - The Modern Flat File CMS - THEME_LEARN4_SEARCH_DOCUMENTATION: Dokumentation durchsuchen -es: - THEME_LEARN4_GITHUB_NOTE: ¿Encontraste errores? ¿Crees que puedes mejorar esta documentación? - THEME_LEARN4_CLEAR_HISTORY: Limpiar historial - THEME_LEARN4_BUILT_WITH_GRAV: Hecho con Grav - El CMS moderno de archivos planos - THEME_LEARN4_SEARCH_DOCUMENTATION: Buscar en la documentación -fr: - THEME_LEARN4_GITHUB_NOTE: Vous avez découvert des erreurs ? Vous pensez pouvoir améliorer cette documentation ? - THEME_LEARN4_CLEAR_HISTORY: Effacer l'historique - THEME_LEARN4_BUILT_WITH_GRAV: Créé avec Grav - Le CMS moderne sans base de données - THEME_LEARN4_SEARCH_DOCUMENTATION: Rechercher dans la documentation -it: - THEME_LEARN4_GITHUB_NOTE: Hai trovato degli errori? Pensi di poter migliorare questa documentazione? - THEME_LEARN4_CLEAR_HISTORY: Cancella Cronologia - THEME_LEARN4_BUILT_WITH_GRAV: Built with Grav - The Modern Flat File CMS - THEME_LEARN4_SEARCH_DOCUMENTATION: Cerca nella Documentatione -ru: - THEME_LEARN4_GITHUB_NOTE: Нашли ошибки? Думаете, что можете улучшить документацию? - THEME_LEARN4_CLEAR_HISTORY: Очистить историю - THEME_LEARN4_BUILT_WITH_GRAV: Сделано на Grav — современной файловой CMS - THEME_LEARN4_SEARCH_DOCUMENTATION: Поиск по документации diff --git a/themes/learn4/learn4.php b/themes/learn4/learn4.php deleted file mode 100644 index 99ffb6b7..00000000 --- a/themes/learn4/learn4.php +++ /dev/null @@ -1,81 +0,0 @@ - ['onShortcodeHandlers', 0], - 'onTwigInitialized' => ['onTwigInitialized', 0], - 'onTwigPageVariables' => ['onTwigPageVariables', 0], - 'onTNTSearchQuery' => ['onTNTSearchQuery', 1000], - ]; - } - - public function onTwigPageVariables() - { - $this->grav['twig']->twig_vars['grav_version'] = GRAV_VERSION; - } - - public function onTNTSearchQuery(Event $e): void - { - $query = $this->grav['uri']->param('q'); - - if ($query) { - $page = $e['page']; - $fields = $e['fields']; - - $fields->results[] = $page->route(); - $e->stopPropagation(); - } - } - - public function onShortcodeHandlers(): void - { - /** @var ShortcodeManager $sc */ - $sc = $this->grav['shortcode']; - $sc->registerAllShortcodes(__DIR__ . '/classes/Shortcodes'); - } - - public function onTwigInitialized(): void - { - $twig = $this->grav['twig']; - - $form_class_variables = [ -// 'form_outer_classes' => 'form-horizontal', - 'form_button_outer_classes' => 'button-wrapper', - 'form_button_classes' => 'btn', - 'form_errors_classes' => '', - 'form_field_outer_classes' => 'form-group', - 'form_field_outer_label_classes' => 'form-label-wrapper', - 'form_field_label_classes' => 'form-label', -// 'form_field_outer_data_classes' => 'col-9', - 'form_field_input_classes' => 'form-input', - 'form_field_textarea_classes' => 'form-input', - 'form_field_select_classes' => 'form-select', - 'form_field_radio_classes' => 'form-radio', - 'form_field_checkbox_classes' => 'form-checkbox', - ]; - - $twig->twig_vars = array_merge($twig->twig_vars, $form_class_variables); - - $color = $this->grav['uri']->query('color'); - - if (in_array($color, ['purple', 'green', 'blue', 'contrast'])) { - setcookie("sidebar-pref", $color, 0, '/'); - } else { - $color = filter_input(INPUT_COOKIE, 'sidebar-pref') ?: 'purple'; - } - - $twig->twig_vars['sidebar_color'] = "sidebar-$color"; - - } - -} diff --git a/themes/learn4/learn4.yaml b/themes/learn4/learn4.yaml deleted file mode 100644 index 9517ebaa..00000000 --- a/themes/learn4/learn4.yaml +++ /dev/null @@ -1,11 +0,0 @@ -enabled: true -production-mode: false -grid-size: grid-lg -github: - note: true - link: true - tree: https://github.com/getgrav/grav-learn/blob/develop/ - commits: https://github.com/getgrav/grav-learn/commits/develop/ -spectre: - exp: false - icons: false diff --git a/themes/learn4/package.json b/themes/learn4/package.json deleted file mode 100644 index c51e6055..00000000 --- a/themes/learn4/package.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": "Learn4", - "version": "1.0.0", - "main": "app/main.js", - "author": "Team Grav", - "license": "MIT", - "scripts": { - "watch": "NODE_ENV=development webpack --watch --progress --colors --mode development --config webpack.conf.js", - "dev": "NODE_ENV=development webpack --progress --colors --config webpack.conf.js", - "prod": "NODE_ENV=production-wip webpack --mode development --config webpack.conf.js" - }, - "dependencies": {}, - "devDependencies": { - "babel-core": "^6.26.3", - "babel-eslint": "^8.2.6", - "babel-loader": "^7.1.5", - "babel-polyfill": "^6.26.0", - "babel-preset-es2015": "^6.24.1", - "babel-preset-stage-3": "^6.24.1", - "css-loader": "^1.0.0", - "eslint": "^5.2.0", - "eslint-loader": "^2.1.0", - "exports-loader": "^0.7.0", - "gulp": "^4.0.0", - "gulp-autoprefixer": "^6.0.0", - "gulp-clean-css": "^3.9.4", - "gulp-csscomb": "^3.0.8", - "gulp-rename": "^1.3.0", - "gulp-sass": "^4.0.1", - "gulp-sourcemaps": "^2.6.4", - "imports-loader": "^0.8.0", - "json-loader": "^0.5.7", - "style-loader": "^0.21.0", - "uglifyjs-webpack-plugin": "^2.1.1", - "webpack": "^4.16.2", - "webpack-cli": "^3.1.0" - }, - "browserslist": [ - "last 4 Chrome versions", - "Edge >= 12", - "Firefox ESR", - "last 4 Safari versions", - "last 4 Opera versions", - "Explorer >= 10" - ] -} diff --git a/themes/learn4/screenshot.jpg b/themes/learn4/screenshot.jpg deleted file mode 100644 index 2d166b84..00000000 Binary files a/themes/learn4/screenshot.jpg and /dev/null differ diff --git a/themes/learn4/scss/spectre-exp.scss b/themes/learn4/scss/spectre-exp.scss deleted file mode 100644 index a2813b4e..00000000 --- a/themes/learn4/scss/spectre-exp.scss +++ /dev/null @@ -1,19 +0,0 @@ -// Variables and mixins -@import "theme/variables"; -@import "spectre/variables"; -@import "spectre/mixins"; - -/*! Spectre.css Experimentals v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Experimentals -@import "spectre/autocomplete"; -@import "spectre/calendars"; -@import "spectre/carousels"; -@import "spectre/comparison-sliders"; -@import "spectre/filters"; -@import "spectre/meters"; -@import "spectre/off-canvas"; -@import "spectre/parallax"; -@import "spectre/progress"; -@import "spectre/sliders"; -@import "spectre/timelines"; -@import "spectre/viewer-360"; diff --git a/themes/learn4/scss/spectre-icons.scss b/themes/learn4/scss/spectre-icons.scss deleted file mode 100644 index a2233978..00000000 --- a/themes/learn4/scss/spectre-icons.scss +++ /dev/null @@ -1,11 +0,0 @@ -// Variables and mixins -@import "theme/variables"; -@import "spectre/variables"; -@import "spectre/mixins"; - -/*! Spectre.css Icons v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Icons -@import "spectre/icons/icons-core"; -@import "spectre/icons/icons-navigation"; -@import "spectre/icons/icons-action"; -@import "spectre/icons/icons-object"; diff --git a/themes/learn4/scss/spectre.scss b/themes/learn4/scss/spectre.scss deleted file mode 100644 index 4ca68684..00000000 --- a/themes/learn4/scss/spectre.scss +++ /dev/null @@ -1,55 +0,0 @@ -// Variables and mixins -@import "theme/variables"; -@import "spectre/variables"; -@import "spectre/mixins"; - -/*! Spectre.css v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Reset and dependencies -@import "spectre/normalize"; -@import "spectre/base"; - -// Elements -@import "spectre/typography"; -@import "spectre/asian"; -@import "spectre/tables"; -@import "spectre/buttons"; -@import "spectre/forms"; -@import "spectre/labels"; -@import "spectre/codes"; -@import "spectre/media"; - -// Layout -@import "spectre/layout"; -@import "spectre/hero"; -@import "spectre/navbar"; - -// Components -@import "spectre/accordions"; -@import "spectre/avatars"; -@import "spectre/badges"; -@import "spectre/breadcrumbs"; -@import "spectre/bars"; -@import "spectre/cards"; -@import "spectre/chips"; -@import "spectre/dropdowns"; -@import "spectre/empty"; -@import "spectre/menus"; -@import "spectre/modals"; -@import "spectre/navs"; -@import "spectre/pagination"; -@import "spectre/panels"; -@import "spectre/popovers"; -@import "spectre/steps"; -//@import "spectre/tabs"; -@import "spectre/tiles"; -@import "spectre/toasts"; -@import "spectre/tooltips"; - - -// Utility classes -@import "spectre/animations"; -@import "spectre/utilities"; - -// Extras -@import "spectre/off-canvas"; -@import "theme/extensions"; diff --git a/themes/learn4/scss/spectre/_accordions.scss b/themes/learn4/scss/spectre/_accordions.scss deleted file mode 100644 index fd21585d..00000000 --- a/themes/learn4/scss/spectre/_accordions.scss +++ /dev/null @@ -1,38 +0,0 @@ -// Accordions -.accordion { - input:checked ~, - &[open] { - & .accordion-header { - .icon { - transform: rotate(90deg); - } - } - - & .accordion-body { - max-height: 50rem; - } - } - - .accordion-header { - display: block; - padding: $unit-1 $unit-2; - - .icon { - transition: transform .25s; - } - } - - .accordion-body { - margin-bottom: $layout-spacing; - max-height: 0; - overflow: hidden; - transition: max-height .25s; - } -} - -// Remove default details marker in Webkit -summary.accordion-header { - &::-webkit-details-marker { - display: none; - } -} diff --git a/themes/learn4/scss/spectre/_animations.scss b/themes/learn4/scss/spectre/_animations.scss deleted file mode 100644 index e7fde1ac..00000000 --- a/themes/learn4/scss/spectre/_animations.scss +++ /dev/null @@ -1,20 +0,0 @@ -// Animations -@keyframes loading { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} - -@keyframes slide-down { - 0% { - opacity: 0; - transform: translateY(-$unit-8); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} diff --git a/themes/learn4/scss/spectre/_asian.scss b/themes/learn4/scss/spectre/_asian.scss deleted file mode 100644 index e426f39a..00000000 --- a/themes/learn4/scss/spectre/_asian.scss +++ /dev/null @@ -1,43 +0,0 @@ -// Optimized for East Asian CJK -html:lang(zh), -html:lang(zh-Hans), -.lang-zh, -.lang-zh-hans { - font-family: $cjk-zh-hans-font-family; -} - -html:lang(zh-Hant), -.lang-zh-hant { - font-family: $cjk-zh-hant-font-family; -} - -html:lang(ja), -.lang-ja { - font-family: $cjk-jp-font-family; -} - -html:lang(ko), -.lang-ko { - font-family: $cjk-ko-font-family; -} - -:lang(zh), -:lang(ja), -.lang-cjk { - ins, - u { - border-bottom: $border-width solid; - text-decoration: none; - } - - del + del, - del + s, - ins + ins, - ins + u, - s + del, - s + s, - u + ins, - u + u { - margin-left: .125em; - } -} diff --git a/themes/learn4/scss/spectre/_autocomplete.scss b/themes/learn4/scss/spectre/_autocomplete.scss deleted file mode 100644 index 279fa036..00000000 --- a/themes/learn4/scss/spectre/_autocomplete.scss +++ /dev/null @@ -1,47 +0,0 @@ -// Autocomplete -.form-autocomplete { - position: relative; - - .form-autocomplete-input { - align-content: flex-start; - display: flex; - flex-wrap: wrap; - height: auto; - min-height: $unit-8; - padding: $unit-h; - - &.is-focused { - @include control-shadow(); - border-color: $primary-color; - } - - .form-input { - border-color: transparent; - box-shadow: none; - display: inline-block; - flex: 1 0 auto; - height: $unit-6; - line-height: $unit-4; - margin: $unit-h; - width: auto; - } - } - - .menu { - left: 0; - position: absolute; - top: 100%; - width: 100%; - } - - &.autocomplete-oneline { - .form-autocomplete-input { - flex-wrap: nowrap; - overflow-x: auto; - } - - .chip { - flex: 1 0 auto; - } - } -} diff --git a/themes/learn4/scss/spectre/_avatars.scss b/themes/learn4/scss/spectre/_avatars.scss deleted file mode 100644 index b203aa25..00000000 --- a/themes/learn4/scss/spectre/_avatars.scss +++ /dev/null @@ -1,77 +0,0 @@ -// Avatars -.avatar { - @include avatar-base(); - background: $primary-color; - border-radius: 50%; - color: rgba($light-color, .85); - display: inline-block; - font-weight: 300; - line-height: 1.25; - margin: 0; - position: relative; - vertical-align: middle; - - &.avatar-xs { - @include avatar-base($unit-4); - } - &.avatar-sm { - @include avatar-base($unit-6); - } - &.avatar-lg { - @include avatar-base($unit-12); - } - &.avatar-xl { - @include avatar-base($unit-16); - } - - img { - border-radius: 50%; - height: 100%; - position: relative; - width: 100%; - z-index: $zindex-0; - } - - .avatar-icon, - .avatar-presence { - background: $bg-color-light; - bottom: 14.64%; - height: 50%; - padding: $border-width-lg; - position: absolute; - right: 14.64%; - transform: translate(50%, 50%); - width: 50%; - z-index: $zindex-0 + 1; - } - - .avatar-presence { - background: $gray-color; - box-shadow: 0 0 0 $border-width-lg $light-color; - border-radius: 50%; - height: .5em; - width: .5em; - - &.online { - background: $success-color; - } - - &.busy { - background: $error-color; - } - - &.away { - background: $warning-color; - } - } - - &[data-initial]::before { - color: currentColor; - content: attr(data-initial); - left: 50%; - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - z-index: $zindex-0; - } -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/_badges.scss b/themes/learn4/scss/spectre/_badges.scss deleted file mode 100644 index d67f6d19..00000000 --- a/themes/learn4/scss/spectre/_badges.scss +++ /dev/null @@ -1,60 +0,0 @@ -// Badges -.badge { - position: relative; - white-space: nowrap; - - &[data-badge], - &:not([data-badge]) { - &::after { - background: $primary-color; - background-clip: padding-box; - border-radius: .5rem; - box-shadow: 0 0 0 .1rem $bg-color-light; - color: $light-color; - content: attr(data-badge); - display: inline-block; - transform: translate(-.05rem, -.5rem); - } - } - &[data-badge] { - &::after { - font-size: $font-size-sm; - height: .9rem; - line-height: 1; - min-width: .9rem; - padding: .1rem .2rem; - text-align: center; - white-space: nowrap; - } - } - &:not([data-badge]), - &[data-badge=""] { - &::after { - height: 6px; - min-width: 6px; - padding: 0; - width: 6px; - } - } - - // Badges for Buttons - &.btn { - &::after { - position: absolute; - top: 0; - right: 0; - transform: translate(50%, -50%); - } - } - - // Badges for Avatars - &.avatar { - &::after { - position: absolute; - top: 14.64%; - right: 14.64%; - transform: translate(50%, -50%); - z-index: $zindex-1; - } - } -} diff --git a/themes/learn4/scss/spectre/_bars.scss b/themes/learn4/scss/spectre/_bars.scss deleted file mode 100644 index 47e21c9a..00000000 --- a/themes/learn4/scss/spectre/_bars.scss +++ /dev/null @@ -1,71 +0,0 @@ -// Bars -.bar { - background: $bg-color-dark; - border-radius: $border-radius; - display: flex; - flex-wrap: nowrap; - height: $unit-4; - width: 100%; - - &.bar-sm { - height: $unit-1; - } - - // TODO: attr() support - .bar-item { - background: $primary-color; - color: $light-color; - display: block; - font-size: $font-size-sm; - flex-shrink: 0; - line-height: $unit-4; - height: 100%; - position: relative; - text-align: center; - width: 0; - - &:first-child { - border-bottom-left-radius: $border-radius; - border-top-left-radius: $border-radius; - } - &:last-child { - border-bottom-right-radius: $border-radius; - border-top-right-radius: $border-radius; - flex-shrink: 1; - } - } -} - -// Slider bar -.bar-slider { - height: $border-width-lg; - margin: $layout-spacing 0; - position: relative; - - .bar-item { - left: 0; - padding: 0; - position: absolute; - &:not(:last-child):first-child { - background: $bg-color-dark; - z-index: $zindex-0; - } - } - - .bar-slider-btn { - background: $primary-color; - border: 0; - border-radius: 50%; - height: $unit-3; - padding: 0; - position: absolute; - right: 0; - top: 50%; - transform: translate(50%, -50%); - width: $unit-3; - - &:active { - box-shadow: 0 0 0 .1rem $primary-color; - } - } -} diff --git a/themes/learn4/scss/spectre/_base.scss b/themes/learn4/scss/spectre/_base.scss deleted file mode 100644 index 4e01b202..00000000 --- a/themes/learn4/scss/spectre/_base.scss +++ /dev/null @@ -1,44 +0,0 @@ -// Base -*, -*::before, -*::after { - box-sizing: inherit; -} - -html { - box-sizing: border-box; - font-size: $html-font-size; - line-height: $html-line-height; - -webkit-tap-highlight-color: transparent; -} - -body { - background: $body-bg; - color: $body-font-color; - font-family: $body-font-family; - font-size: $font-size; - overflow-x: hidden; - text-rendering: optimizeLegibility; -} - -a { - color: $link-color; - outline: none; - text-decoration: none; - - &:focus { - @include control-shadow(); - } - - &:focus, - &:hover, - &:active, - &.active { - color: $link-color-dark; - text-decoration: underline; - } - - &:visited { - color: $link-color-light; - } -} diff --git a/themes/learn4/scss/spectre/_breadcrumbs.scss b/themes/learn4/scss/spectre/_breadcrumbs.scss deleted file mode 100644 index 6a5af316..00000000 --- a/themes/learn4/scss/spectre/_breadcrumbs.scss +++ /dev/null @@ -1,29 +0,0 @@ -// Breadcrumbs -.breadcrumb { - list-style: none; - margin: $unit-1 0; - padding: $unit-1 0; - - .breadcrumb-item { - color: $gray-color-dark; - display: inline-block; - margin: 0; - padding: $unit-1 0; - - &:not(:last-child) { - margin-right: $unit-1; - - a { - color: $gray-color-dark; - } - } - - &:not(:first-child) { - &::before { - color: $gray-color-dark; - content: "/"; - padding-right: $unit-2; - } - } - } -} diff --git a/themes/learn4/scss/spectre/_buttons.scss b/themes/learn4/scss/spectre/_buttons.scss deleted file mode 100644 index 9158f0fc..00000000 --- a/themes/learn4/scss/spectre/_buttons.scss +++ /dev/null @@ -1,193 +0,0 @@ -// Buttons -.btn { - appearance: none; - background: $bg-color-light; - border: $border-width solid $primary-color; - border-radius: $border-radius; - color: $primary-color; - cursor: pointer; - display: inline-block; - font-size: $font-size; - height: $control-size; - line-height: $line-height; - outline: none; - padding: $control-padding-y $control-padding-x; - text-align: center; - text-decoration: none; - transition: background .2s, border .2s, box-shadow .2s, color .2s; - user-select: none; - vertical-align: middle; - white-space: nowrap; - &:focus { - @include control-shadow(); - } - &:focus, - &:hover { - background: $secondary-color; - border-color: $primary-color-dark; - text-decoration: none; - } - &:active, - &.active { - background: $primary-color-dark; - border-color: darken($primary-color-dark, 5%); - color: $light-color; - text-decoration: none; - &.loading { - &::after { - border-bottom-color: $light-color; - border-left-color: $light-color; - } - } - } - &[disabled], - &:disabled, - &.disabled { - cursor: default; - opacity: .5; - pointer-events: none; - } - - // Button Primary - &.btn-primary { - background: $primary-color; - border-color: $primary-color-dark; - color: $light-color; - &:focus, - &:hover { - background: darken($primary-color-dark, 2%); - border-color: darken($primary-color-dark, 5%); - color: $light-color; - } - &:active, - &.active { - background: darken($primary-color-dark, 4%); - border-color: darken($primary-color-dark, 7%); - color: $light-color; - } - &.loading { - &::after { - border-bottom-color: $light-color; - border-left-color: $light-color; - } - } - } - - // Button Colors - &.btn-success { - @include button-variant($success-color); - } - - &.btn-error { - @include button-variant($error-color); - } - - // Button Link - &.btn-link { - background: transparent; - border-color: transparent; - color: $link-color; - &:focus, - &:hover, - &:active, - &.active { - color: $link-color-dark; - } - } - - // Button Sizes - &.btn-sm { - font-size: $font-size-sm; - height: $control-size-sm; - padding: $control-padding-y-sm $control-padding-x-sm; - } - - &.btn-lg { - font-size: $font-size-lg; - height: $control-size-lg; - padding: $control-padding-y-lg $control-padding-x-lg; - } - - // Button Block - &.btn-block { - display: block; - width: 100%; - } - - // Button Action - &.btn-action { - width: $control-size; - padding-left: 0; - padding-right: 0; - - &.btn-sm { - width: $control-size-sm; - } - - &.btn-lg { - width: $control-size-lg; - } - } - - // Button Clear - &.btn-clear { - background: transparent; - border: 0; - color: currentColor; - height: $unit-5; - line-height: $unit-4; - margin-left: $unit-1; - margin-right: -2px; - opacity: 1; - padding: $unit-h; - text-decoration: none; - width: $unit-5; - - &:focus, - &:hover { - background: rgba($bg-color, .5); - opacity: .95; - } - - &::before { - content: "\2715"; - } - } -} - -// Button groups -.btn-group { - display: inline-flex; - flex-wrap: wrap; - - .btn { - flex: 1 0 auto; - &:first-child:not(:last-child) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - &:not(:first-child):not(:last-child) { - border-radius: 0; - margin-left: -$border-width; - } - &:last-child:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - margin-left: -$border-width; - } - &:focus, - &:hover, - &:active, - &.active { - z-index: $zindex-0; - } - } - - &.btn-group-block { - display: flex; - - .btn { - flex: 1 0 0; - } - } -} diff --git a/themes/learn4/scss/spectre/_calendars.scss b/themes/learn4/scss/spectre/_calendars.scss deleted file mode 100644 index 1e9fd153..00000000 --- a/themes/learn4/scss/spectre/_calendars.scss +++ /dev/null @@ -1,222 +0,0 @@ -// Calendars -.calendar { - border: $border-width solid $border-color; - border-radius: $border-radius; - display: block; - min-width: 280px; - - .calendar-nav { - align-items: center; - background: $bg-color; - border-top-left-radius: $border-radius; - border-top-right-radius: $border-radius; - display: flex; - font-size: $font-size-lg; - padding: $layout-spacing; - } - - .calendar-header, - .calendar-body { - display: flex; - flex-wrap: wrap; - justify-content: center; - padding: $layout-spacing 0; - - .calendar-date { - flex: 0 0 14.28%; // 7 calendar-items each row - max-width: 14.28%; - } - } - - .calendar-header { - background: $bg-color; - border-bottom: $border-width solid $border-color; - color: $gray-color; - font-size: $font-size-sm; - text-align: center; - } - - .calendar-body { - color: $gray-color-dark; - } - - .calendar-date { - border: 0; - padding: $unit-1; - - .date-item { - appearance: none; - background: transparent; - border: $border-width solid transparent; - border-radius: 50%; - color: $gray-color-dark; - cursor: pointer; - font-size: $font-size-sm; - height: $unit-7; - line-height: $unit-5; - outline: none; - padding: $unit-h; - position: relative; - text-align: center; - text-decoration: none; - transition: background .2s, border .2s, box-shadow .2s, color .2s; - vertical-align: middle; - white-space: nowrap; - width: $unit-7; - - &.date-today { - border-color: $secondary-color-dark; - color: $primary-color; - } - - &:focus { - @include control-shadow(); - } - - &:focus, - &:hover { - background: $secondary-color-light; - border-color: $secondary-color-dark; - color: $primary-color; - text-decoration: none; - } - &:active, - &.active { - background: $primary-color-dark; - border-color: darken($primary-color-dark, 5%); - color: $light-color; - } - - // Calendar badge support - &.badge { - &::after { - position: absolute; - top: 3px; - right: 3px; - transform: translate(50%, -50%); - } - } - } - - .date-item, - .calendar-event { - &:disabled, - &.disabled { - cursor: default; - opacity: .25; - pointer-events: none; - } - } - - &.prev-month, - &.next-month { - .date-item, - .calendar-event { - opacity: .25; - } - } - } - - .calendar-range { - position: relative; - - &::before { - background: $secondary-color; - content: ""; - height: $unit-7; - left: 0; - position: absolute; - right: 0; - top: 50%; - transform: translateY(-50%); - } - &.range-start { - &::before { - left: 50%; - } - } - &.range-end { - &::before { - right: 50%; - } - } - - &.range-start, - &.range-end { - .date-item { - background: $primary-color-dark; - border-color: darken($primary-color-dark, 5%); - color: $light-color; - } - } - - .date-item { - color: $primary-color; - } - } - - // Calendars size - &.calendar-lg { - .calendar-body { - padding: 0; - - .calendar-date { - border-bottom: $border-width solid $border-color; - border-right: $border-width solid $border-color; - display: flex; - flex-direction: column; - height: 5.5rem; - padding: 0; - - &:nth-child(7n) { - border-right: 0; - } - &:nth-last-child(-n+7) { - border-bottom: 0; - } - } - } - - .date-item { - align-self: flex-end; - height: $unit-7; - margin-right: $layout-spacing-sm; - margin-top: $layout-spacing-sm; - } - - .calendar-range { - &::before { - top: 19px; - } - &.range-start { - &::before { - left: auto; - width: 19px; - } - } - &.range-end { - &::before { - right: 19px; - } - } - } - - .calendar-events { - flex-grow: 1; - line-height: 1; - overflow-y: auto; - padding: $layout-spacing-sm; - } - - .calendar-event { - border-radius: $border-radius; - font-size: $font-size-sm; - display: block; - margin: $unit-h auto; - overflow: hidden; - padding: 3px 4px; - text-overflow: ellipsis; - white-space: nowrap; - } - } -} diff --git a/themes/learn4/scss/spectre/_cards.scss b/themes/learn4/scss/spectre/_cards.scss deleted file mode 100644 index 6b712e15..00000000 --- a/themes/learn4/scss/spectre/_cards.scss +++ /dev/null @@ -1,43 +0,0 @@ -// Cards -.card { - background: $bg-color-light; - border: $border-width solid $border-color; - border-radius: $border-radius; - display: flex; - flex-direction: column; - - .card-header, - .card-body, - .card-footer { - padding: $layout-spacing-lg; - padding-bottom: 0; - - &:last-child { - padding-bottom: $layout-spacing-lg; - } - } - - .card-body { - flex: 1 1 auto; - } - - .card-image { - padding-top: $layout-spacing-lg; - - &:first-child { - padding-top: 0; - - img { - border-top-left-radius: $border-radius; - border-top-right-radius: $border-radius; - } - } - - &:last-child { - img { - border-bottom-left-radius: $border-radius; - border-bottom-right-radius: $border-radius; - } - } - } -} diff --git a/themes/learn4/scss/spectre/_carousels.scss b/themes/learn4/scss/spectre/_carousels.scss deleted file mode 100644 index 66dc51b2..00000000 --- a/themes/learn4/scss/spectre/_carousels.scss +++ /dev/null @@ -1,136 +0,0 @@ -// Carousels -// The number of carousel images -$carousel-number: 8; - -%carousel-image-checked { - animation: carousel-slidein .75s ease-in-out 1; - opacity: 1; - z-index: $zindex-1; -} - -%carousel-nav-checked { - color: $gray-color-light; -} - -.carousel { - background: $bg-color; - display: block; - overflow: hidden; - position: relative; - width: 100%; - -webkit-overflow-scrolling: touch; - z-index: $zindex-0; - - .carousel-container { - height: 100%; - left: 0; - position: relative; - &::before { - content: ""; - display: block; - padding-bottom: 56.25%; - } - - .carousel-item { - animation: carousel-slideout 1s ease-in-out 1; - height: 100%; - left: 0; - margin: 0; - opacity: 0; - position: absolute; - top: 0; - width: 100%; - - &:hover { - .item-prev, - .item-next { - opacity: 1; - } - } - } - - .item-prev, - .item-next { - background: rgba($gray-color-light, .25); - border-color: rgba($gray-color-light, .5); - color: $gray-color-light; - opacity: 0; - position: absolute; - top: 50%; - transition: all .4s; - transform: translateY(-50%); - z-index: $zindex-1; - } - .item-prev { - left: 1rem; - } - .item-next { - right: 1rem; - } - } - - .carousel-locator { - @for $i from 1 through ($carousel-number) { - &:nth-of-type(#{$i}):checked ~ .carousel-container .carousel-item:nth-of-type(#{$i}) { - @extend %carousel-image-checked; - } - } - - @for $i from 1 through ($carousel-number) { - &:nth-of-type(#{$i}):checked ~ .carousel-nav .nav-item:nth-of-type(#{$i}) { - @extend %carousel-nav-checked; - } - } - } - - .carousel-nav { - bottom: $layout-spacing; - display: flex; - justify-content: center; - left: 50%; - position: absolute; - transform: translateX(-50%); - width: 10rem; - z-index: $zindex-1; - - .nav-item { - color: rgba($gray-color-light, .5); - display: block; - flex: 1 0 auto; - height: $unit-8; - margin: $unit-1; - max-width: 2.5rem; - position: relative; - - &::before { - background: currentColor; - content: ""; - display: block; - height: $unit-h; - position: absolute; - top: .5rem; - width: 100%; - } - } - } -} - -@keyframes carousel-slidein { - 0% { - transform: translateX(100%); - } - 100% { - transform: translateX(0); - } -} - -@keyframes carousel-slideout { - 0% { - opacity: 1; - transform: translateX(0); - } - 100% { - opacity: 1; - transform: translateX(-50%); - } -} diff --git a/themes/learn4/scss/spectre/_chips.scss b/themes/learn4/scss/spectre/_chips.scss deleted file mode 100644 index 6729c560..00000000 --- a/themes/learn4/scss/spectre/_chips.scss +++ /dev/null @@ -1,33 +0,0 @@ -// Chips -.chip { - align-items: center; - background: $bg-color-dark; - border-radius: 5rem; - display: inline-flex; - font-size: 90%; - height: $unit-6; - line-height: $unit-4; - margin: $unit-h; - max-width: $control-width-sm; - overflow: hidden; - padding: $unit-1 $unit-2; - text-decoration: none; - text-overflow: ellipsis; - vertical-align: middle; - white-space: nowrap; - - &.active { - background: $primary-color; - color: $light-color; - } - - .avatar { - margin-left: -$unit-2; - margin-right: $unit-1; - } - - .btn-clear { - border-radius: 50%; - transform: scale(.75); - } -} diff --git a/themes/learn4/scss/spectre/_codes.scss b/themes/learn4/scss/spectre/_codes.scss deleted file mode 100644 index 3e6182c4..00000000 --- a/themes/learn4/scss/spectre/_codes.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Codes -code { - @include label-base(); - @include label-variant($code-color, lighten($code-color, 26%)); - font-size: 85%; -} - -.code { - border-radius: $border-radius; - color: $body-font-color; - position: relative; - - &::before { - color: $gray-color; - content: attr(data-lang); - font-size: $font-size-sm; - position: absolute; - right: $layout-spacing; - top: $unit-h; - } - - code { - background: $bg-color; - color: inherit; - display: block; - line-height: 1.5; - overflow-x: auto; - padding: 1rem; - width: 100%; - } -} diff --git a/themes/learn4/scss/spectre/_comparison-sliders.scss b/themes/learn4/scss/spectre/_comparison-sliders.scss deleted file mode 100644 index 72bb25f8..00000000 --- a/themes/learn4/scss/spectre/_comparison-sliders.scss +++ /dev/null @@ -1,115 +0,0 @@ -// Image comparison slider -// Credit: http://codepen.io/solipsistacp/pen/Gpmaq -.comparison-slider { - height: 50vh; - overflow: hidden; - position: relative; - width: 100%; - -webkit-overflow-scrolling: touch; - - .comparison-before, - .comparison-after { - height: 100%; - left: 0; - margin: 0; - overflow: hidden; - position: absolute; - top: 0; - - img { - height: 100%; - object-fit: cover; - object-position: left center; - position: absolute; - width: 100%; - } - } - - .comparison-before { - width: 100%; - z-index: 1; - - .comparison-label { - right: $unit-4; - } - } - - .comparison-after { - max-width: 100%; - min-width: 0; - z-index: 2; - - &::before { - background: transparent; - content: ""; - cursor: default; - height: 100%; - left: 0; - position: absolute; - right: $unit-4; - top: 0; - z-index: $zindex-0; - } - - &::after { - background: currentColor; - border-radius: 50%; - box-shadow: 0 -5px, 0 5px; - color: $light-color; - content: ""; - height: 3px; - position: absolute; - right: $unit-2; - top: 50%; - transform: translate(50%, -50%); - width: 3px; - } - - .comparison-label { - left: $unit-4; - } - } - - .comparison-resizer { - animation: first-run 1.5s 1 ease-in-out; - cursor: ew-resize; - height: $unit-4; - left: 0; - max-width: 100%; - min-width: $unit-4; - opacity: 0; - outline: none; - position: relative; - resize: horizontal; - top: 50%; - transform: translateY(-50%) scaleY(30); - width: 0; - } - - .comparison-label { - background: rgba($dark-color, .5); - bottom: $unit-4; - color: $light-color; - padding: $unit-1 $unit-2; - position: absolute; - user-select: none; - } -} - -@keyframes first-run { - 0% { - width: 0; - } - 25% { - width: $unit-12; - } - 50% { - width: $unit-4; - } - 75% { - width: $unit-6; - } - 100% { - width: 0; - } -} diff --git a/themes/learn4/scss/spectre/_dropdowns.scss b/themes/learn4/scss/spectre/_dropdowns.scss deleted file mode 100644 index 324440ba..00000000 --- a/themes/learn4/scss/spectre/_dropdowns.scss +++ /dev/null @@ -1,36 +0,0 @@ -// Dropdown -.dropdown { - display: inline-block; - position: relative; - - .menu { - animation: slide-down .15s ease 1; - display: none; - left: 0; - max-height: 50vh; - overflow-y: auto; - position: absolute; - top: 100%; - } - - &.dropdown-right { - .menu { - left: auto; - right: 0; - } - } - - &.active .menu, - .dropdown-toggle:focus + .menu, - .menu:hover { - display: block; - } - - // Fix dropdown-toggle border radius in button groups - .btn-group { - .dropdown-toggle:nth-last-child(2) { - border-bottom-right-radius: $border-radius; - border-top-right-radius: $border-radius; - } - } -} diff --git a/themes/learn4/scss/spectre/_empty.scss b/themes/learn4/scss/spectre/_empty.scss deleted file mode 100644 index accba9ca..00000000 --- a/themes/learn4/scss/spectre/_empty.scss +++ /dev/null @@ -1,21 +0,0 @@ -// Empty states (or Blank slates) -.empty { - background: $bg-color; - border-radius: $border-radius; - color: $gray-color-dark; - text-align: center; - padding: $unit-16 $unit-8; - - .empty-icon { - margin-bottom: $layout-spacing-lg; - } - - .empty-title, - .empty-subtitle { - margin: $layout-spacing auto; - } - - .empty-action { - margin-top: $layout-spacing-lg; - } -} diff --git a/themes/learn4/scss/spectre/_filters.scss b/themes/learn4/scss/spectre/_filters.scss deleted file mode 100644 index 37ccc89e..00000000 --- a/themes/learn4/scss/spectre/_filters.scss +++ /dev/null @@ -1,37 +0,0 @@ -// Filters -// The number of filter options -$filter-number: 8 !default; - -%filter-checked-nav { - background: $primary-color; - color: $light-color; -} - -%filter-checked-body { - display: none; -} - -.filter { - .filter-nav { - margin: $layout-spacing 0; - } - - .filter-body { - display: flex; - flex-wrap: wrap; - } - - .filter-tag { - @for $i from 0 through ($filter-number) { - &#tag-#{$i}:checked ~ .filter-nav .chip[for="tag-#{$i}"] { - @extend %filter-checked-nav; - } - } - - @for $i from 1 through ($filter-number) { - &#tag-#{$i}:checked ~ .filter-body .filter-item:not([data-tag~="tag-#{$i}"]) { - @extend %filter-checked-body; - } - } - } -} diff --git a/themes/learn4/scss/spectre/_forms.scss b/themes/learn4/scss/spectre/_forms.scss deleted file mode 100644 index 20a6b4fa..00000000 --- a/themes/learn4/scss/spectre/_forms.scss +++ /dev/null @@ -1,555 +0,0 @@ -// Forms -.form-group { - &:not(:last-child) { - margin-bottom: $layout-spacing; - } -} - -fieldset { - margin-bottom: $layout-spacing-lg; -} - -legend { - font-size: $font-size-lg; - font-weight: 500; - margin-bottom: $layout-spacing-lg; -} - -// Form element: Label -.form-label { - display: block; - line-height: $line-height; - padding: $control-padding-y + $border-width 0; - - &.label-sm { - font-size: $font-size-sm; - padding: $control-padding-y-sm + $border-width 0; - } - - &.label-lg { - font-size: $font-size-lg; - padding: $control-padding-y-lg + $border-width 0; - } -} - -// Form element: Input -.form-input { - appearance: none; - background: $bg-color-light; - background-image: none; - border: $border-width solid $border-color-dark; - border-radius: $border-radius; - color: $body-font-color; - display: block; - font-size: $font-size; - height: $control-size; - line-height: $line-height; - max-width: 100%; - outline: none; - padding: $control-padding-y $control-padding-x; - position: relative; - transition: background .2s, border .2s, box-shadow .2s, color .2s; - width: 100%; - &:focus { - @include control-shadow(); - border-color: $primary-color; - } - &::placeholder { - color: $gray-color; - } - - // Input sizes - &.input-sm { - font-size: $font-size-sm; - height: $control-size-sm; - padding: $control-padding-y-sm $control-padding-x-sm; - } - - &.input-lg { - font-size: $font-size-lg; - height: $control-size-lg; - padding: $control-padding-y-lg $control-padding-x-lg; - } - - &.input-inline { - display: inline-block; - vertical-align: middle; - width: auto; - } - - // Input types - &[type="file"] { - height: auto; - } -} - -// Form element: Textarea -textarea.form-input { - &, - &.input-lg, - &.input-sm { - height: auto; - } -} - -// Form element: Input hint -.form-input-hint { - color: $gray-color; - font-size: $font-size-sm; - margin-top: $unit-1; - - .has-success &, - .is-success + & { - color: $success-color; - } - - .has-error &, - .is-error + & { - color: $error-color; - } -} - -// Form element: Select -.form-select { - appearance: none; - border: $border-width solid $border-color-dark; - border-radius: $border-radius; - color: inherit; - font-size: $font-size; - height: $control-size; - line-height: $line-height; - outline: none; - padding: $control-padding-y $control-padding-x; - vertical-align: middle; - width: 100%; - background: $bg-color-light; - &:focus { - @include control-shadow(); - border-color: $primary-color; - } - &::-ms-expand { - display: none; - } - - // Select sizes - &.select-sm { - font-size: $font-size-sm; - height: $control-size-sm; - padding: $control-padding-y-sm ($control-icon-size + $control-padding-x-sm) $control-padding-y-sm $control-padding-x-sm; - } - - &.select-lg { - font-size: $font-size-lg; - height: $control-size-lg; - padding: $control-padding-y-lg ($control-icon-size + $control-padding-x-lg) $control-padding-y-lg $control-padding-x-lg; - } - - // Multiple select - &[size], - &[multiple] { - height: auto; - padding: $control-padding-y $control-padding-x; - - option { - padding: $unit-h $unit-1; - } - } - &:not([multiple]):not([size]) { - background: $bg-color-light url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right .35rem center / .4rem .5rem; - padding-right: $control-icon-size + $control-padding-x; - } -} - -// Form Icons -.has-icon-left, -.has-icon-right { - position: relative; - - .form-icon { - height: $control-icon-size; - margin: 0 $control-padding-y; - position: absolute; - top: 50%; - transform: translateY(-50%); - width: $control-icon-size; - z-index: $zindex-0 + 1; - } -} - -.has-icon-left { - .form-icon { - left: $border-width; - } - - .form-input { - padding-left: $control-icon-size + $control-padding-y * 2; - } -} - -.has-icon-right { - .form-icon { - right: $border-width; - } - - .form-input { - padding-right: $control-icon-size + $control-padding-y * 2; - } -} - -// Form element: Checkbox and Radio -.form-checkbox, -.form-radio, -.form-switch { - display: block; - line-height: $line-height; - margin: ($control-size - $control-size-sm) / 2 0; - min-height: $control-size-sm; - padding: (($control-size-sm - $line-height) / 2) $control-padding-x (($control-size-sm - $line-height) / 2) ($control-icon-size + $control-padding-x); - position: relative; - - input { - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - position: absolute; - width: 1px; - &:focus + .form-icon { - @include control-shadow(); - border-color: $primary-color; - } - &:checked + .form-icon { - background: $primary-color; - border-color: $primary-color; - } - } - - .form-icon { - border: $border-width solid $border-color-dark; - cursor: pointer; - display: inline-block; - position: absolute; - transition: background .2s, border .2s, box-shadow .2s, color .2s; - } - - // Input checkbox, radio and switch sizes - &.input-sm { - font-size: $font-size-sm; - margin: 0; - } - - &.input-lg { - font-size: $font-size-lg; - margin: ($control-size-lg - $control-size-sm) / 2 0; - } -} - -.form-checkbox, -.form-radio { - .form-icon { - background: $bg-color-light; - height: $control-icon-size; - left: 0; - top: ($control-size-sm - $control-icon-size) / 2; - width: $control-icon-size; - } - - input { - &:active + .form-icon { - background: $bg-color-dark; - } - } -} -.form-checkbox { - .form-icon { - border-radius: $border-radius; - } - - input { - &:checked + .form-icon { - &::before { - background-clip: padding-box; - border: $border-width-lg solid $light-color; - border-left-width: 0; - border-top-width: 0; - content: ""; - height: 9px; - left: 50%; - margin-left: -3px; - margin-top: -6px; - position: absolute; - top: 50%; - transform: rotate(45deg); - width: 6px; - } - } - &:indeterminate + .form-icon { - background: $primary-color; - border-color: $primary-color; - &::before { - background: $bg-color-light; - content: ""; - height: 2px; - left: 50%; - margin-left: -5px; - margin-top: -1px; - position: absolute; - top: 50%; - width: 10px; - } - } - } -} -.form-radio { - .form-icon { - border-radius: 50%; - } - - input { - &:checked + .form-icon { - &::before { - background: $bg-color-light; - border-radius: 50%; - content: ""; - height: 6px; - left: 50%; - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - width: 6px; - } - } - } -} - -// Form element: Switch -.form-switch { - padding-left: ($unit-8 + $control-padding-x); - - .form-icon { - background: $gray-color; - background-clip: padding-box; - border-radius: $unit-2 + $border-width; - height: $unit-4 + $border-width * 2; - left: 0; - top: ($control-size-sm - $unit-4) / 2 - $border-width; - width: $unit-8; - &::before { - background: $bg-color-light; - border-radius: 50%; - content: ""; - display: block; - height: $unit-4; - left: 0; - position: absolute; - top: 0; - transition: background .2s, border .2s, box-shadow .2s, color .2s, left .2s; - width: $unit-4; - } - } - - input { - &:checked + .form-icon { - &::before { - left: 14px; - } - } - &:active + .form-icon { - &::before { - background: $bg-color; - } - } - } -} - -// Form element: Input groups -.input-group { - display: flex; - - .input-group-addon { - background: $bg-color; - border: $border-width solid $border-color-dark; - border-radius: $border-radius; - line-height: $line-height; - padding: $control-padding-y $control-padding-x; - white-space: nowrap; - - &.addon-sm { - font-size: $font-size-sm; - padding: $control-padding-y-sm $control-padding-x-sm; - } - - &.addon-lg { - font-size: $font-size-lg; - padding: $control-padding-y-lg $control-padding-x-lg; - } - } - - .form-input, - .form-select { - flex: 1 1 auto; - width: 1%; - } - - .input-group-btn { - z-index: $zindex-0; - } - - .form-input, - .form-select, - .input-group-addon, - .input-group-btn { - &:first-child:not(:last-child) { - border-bottom-right-radius: 0; - border-top-right-radius: 0; - } - &:not(:first-child):not(:last-child) { - border-radius: 0; - margin-left: -$border-width; - } - &:last-child:not(:first-child) { - border-bottom-left-radius: 0; - border-top-left-radius: 0; - margin-left: -$border-width; - } - &:focus { - z-index: $zindex-0 + 1; - } - } - - .form-select { - width: auto; - } - - &.input-inline { - display: inline-flex; - } -} - -// Form validation states -.form-input, -.form-select { - .has-success &, - &.is-success { - background: lighten($success-color, 53%); - border-color: $success-color; - &:focus { - @include control-shadow($success-color); - } - } - - .has-error &, - &.is-error { - background: lighten($error-color, 53%); - border-color: $error-color; - &:focus { - @include control-shadow($error-color); - } - } -} - -.form-checkbox, -.form-radio, -.form-switch { - .has-error &, - &.is-error { - .form-icon { - border-color: $error-color; - } - - input { - &:checked + .form-icon { - background: $error-color; - border-color: $error-color; - } - - &:focus + .form-icon { - @include control-shadow($error-color); - border-color: $error-color; - } - } - } -} - -.form-checkbox { - .has-error &, - &.is-error { - input { - &:indeterminate + .form-icon { - background: $error-color; - border-color: $error-color; - } - } - } -} - -// validation based on :placeholder-shown (Edge doesn't support it yet) -.form-input { - &:not(:placeholder-shown) { - &:invalid { - border-color: $error-color; - &:focus { - @include control-shadow($error-color); - background: lighten($error-color, 53%); - } - - & + .form-input-hint { - color: $error-color; - } - } - } -} - -// Form disabled and readonly -.form-input, -.form-select { - &:disabled, - &.disabled { - background-color: $bg-color-dark; - cursor: not-allowed; - opacity: .5; - } -} - -.form-input { - &[readonly] { - background-color: $bg-color; - } -} - -input { - &:disabled, - &.disabled { - & + .form-icon { - background: $bg-color-dark; - cursor: not-allowed; - opacity: .5; - } - } -} - -.form-switch { - input { - &:disabled, - &.disabled { - & + .form-icon::before { - background: $bg-color-light; - } - } - } -} - -// Form horizontal -.form-horizontal { - padding: $layout-spacing 0; - - .form-group { - display: flex; - flex-wrap: wrap; - } -} - -// Form inline -.form-inline { - display: inline-block; -} diff --git a/themes/learn4/scss/spectre/_hero.scss b/themes/learn4/scss/spectre/_hero.scss deleted file mode 100644 index 00444618..00000000 --- a/themes/learn4/scss/spectre/_hero.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Hero -.hero { - display: flex; - flex-direction: column; - justify-content: space-between; - padding-bottom: 4rem; - padding-top: 4rem; - - &.hero-sm { - padding-bottom: 2rem; - padding-top: 2rem; - } - - &.hero-lg { - padding-bottom: 8rem; - padding-top: 8rem; - } - - .hero-body { - padding: $layout-spacing; - } -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/_icons.scss b/themes/learn4/scss/spectre/_icons.scss deleted file mode 100644 index 4f3c5ce6..00000000 --- a/themes/learn4/scss/spectre/_icons.scss +++ /dev/null @@ -1,5 +0,0 @@ -// CSS Icons -@import "icons/icons-core"; -@import "icons/icons-navigation"; -@import "icons/icons-action"; -@import "icons/icons-object"; \ No newline at end of file diff --git a/themes/learn4/scss/spectre/_labels.scss b/themes/learn4/scss/spectre/_labels.scss deleted file mode 100644 index ca693cd2..00000000 --- a/themes/learn4/scss/spectre/_labels.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Labels -.label { - @include label-base(); - @include label-variant(lighten($body-font-color, 5%), $bg-color-dark); - display: inline-block; - - // Label rounded - &.label-rounded { - border-radius: 5rem; - padding-left: .4rem; - padding-right: .4rem; - } - - // Label colors - &.label-primary { - @include label-variant($light-color, $primary-color); - } - - &.label-secondary { - @include label-variant($primary-color, $secondary-color); - } - - &.label-success { - @include label-variant($light-color, $success-color); - } - - &.label-warning { - @include label-variant($light-color, $warning-color); - } - - &.label-error { - @include label-variant($light-color, $error-color); - } -} diff --git a/themes/learn4/scss/spectre/_layout.scss b/themes/learn4/scss/spectre/_layout.scss deleted file mode 100644 index 1f6b77c4..00000000 --- a/themes/learn4/scss/spectre/_layout.scss +++ /dev/null @@ -1,444 +0,0 @@ -// Layout -.container { - margin-left: auto; - margin-right: auto; - padding-left: $layout-spacing; - padding-right: $layout-spacing; - width: 100%; - - $grid-spacing: ($layout-spacing / ($layout-spacing * 0 + 1)) * $html-font-size; - - &.grid-xl { - max-width: $grid-spacing * 2 + $size-xl; - } - - &.grid-lg { - max-width: $grid-spacing * 2 + $size-lg; - } - - &.grid-md { - max-width: $grid-spacing * 2 + $size-md; - } - - &.grid-sm { - max-width: $grid-spacing * 2 + $size-sm; - } - - &.grid-xs { - max-width: $grid-spacing * 2 + $size-xs; - } -} - -// Responsive breakpoint system -.show-xs, -.show-sm, -.show-md, -.show-lg, -.show-xl { - display: none !important; -} - -// Responsive grid system -.columns { - display: flex; - flex-wrap: wrap; - margin-left: -$layout-spacing; - margin-right: -$layout-spacing; - - &.col-gapless { - margin-left: 0; - margin-right: 0; - - & > .column { - padding-left: 0; - padding-right: 0; - } - } - &.col-oneline { - flex-wrap: nowrap; - overflow-x: auto; - } -} -.column { - flex: 1; - max-width: 100%; - padding-left: $layout-spacing; - padding-right: $layout-spacing; - - &.col-12, - &.col-11, - &.col-10, - &.col-9, - &.col-8, - &.col-7, - &.col-6, - &.col-5, - &.col-4, - &.col-3, - &.col-2, - &.col-1, - &.col-auto { - flex: none; - } -} -.col-12 { - width: 100%; -} -.col-11 { - width: 91.66666667%; -} -.col-10 { - width: 83.33333333%; -} -.col-9 { - width: 75%; -} -.col-8 { - width: 66.66666667%; -} -.col-7 { - width: 58.33333333%; -} -.col-6 { - width: 50%; -} -.col-5 { - width: 41.66666667%; -} -.col-4 { - width: 33.33333333%; -} -.col-3 { - width: 25%; -} -.col-2 { - width: 16.66666667%; -} -.col-1 { - width: 8.33333333%; -} -.col-auto { - flex: 0 0 auto; - max-width: none; - width: auto; -} -.col-mx-auto { - margin-left: auto; - margin-right: auto; -} -.col-ml-auto { - margin-left: auto; -} -.col-mr-auto { - margin-right: auto; -} -@media (max-width: $size-xl) { - .col-xl-12, - .col-xl-11, - .col-xl-10, - .col-xl-9, - .col-xl-8, - .col-xl-7, - .col-xl-6, - .col-xl-5, - .col-xl-4, - .col-xl-3, - .col-xl-2, - .col-xl-1, - .col-xl-auto { - flex: none; - } - .col-xl-12 { - width: 100%; - } - .col-xl-11 { - width: 91.66666667%; - } - .col-xl-10 { - width: 83.33333333%; - } - .col-xl-9 { - width: 75%; - } - .col-xl-8 { - width: 66.66666667%; - } - .col-xl-7 { - width: 58.33333333%; - } - .col-xl-6 { - width: 50%; - } - .col-xl-5 { - width: 41.66666667%; - } - .col-xl-4 { - width: 33.33333333%; - } - .col-xl-3 { - width: 25%; - } - .col-xl-2 { - width: 16.66666667%; - } - .col-xl-1 { - width: 8.33333333%; - } - .col-xl-auto { - width: auto; - } - .hide-xl { - display: none !important; - } - .show-xl { - display: block !important; - } -} -@media (max-width: $size-lg) { - .col-lg-12, - .col-lg-11, - .col-lg-10, - .col-lg-9, - .col-lg-8, - .col-lg-7, - .col-lg-6, - .col-lg-5, - .col-lg-4, - .col-lg-3, - .col-lg-2, - .col-lg-1, - .col-lg-auto { - flex: none; - } - .col-lg-12 { - width: 100%; - } - .col-lg-11 { - width: 91.66666667%; - } - .col-lg-10 { - width: 83.33333333%; - } - .col-lg-9 { - width: 75%; - } - .col-lg-8 { - width: 66.66666667%; - } - .col-lg-7 { - width: 58.33333333%; - } - .col-lg-6 { - width: 50%; - } - .col-lg-5 { - width: 41.66666667%; - } - .col-lg-4 { - width: 33.33333333%; - } - .col-lg-3 { - width: 25%; - } - .col-lg-2 { - width: 16.66666667%; - } - .col-lg-1 { - width: 8.33333333%; - } - .col-lg-auto { - width: auto; - } - .hide-lg { - display: none !important; - } - .show-lg { - display: block !important; - } -} -@media (max-width: $size-md) { - .col-md-12, - .col-md-11, - .col-md-10, - .col-md-9, - .col-md-8, - .col-md-7, - .col-md-6, - .col-md-5, - .col-md-4, - .col-md-3, - .col-md-2, - .col-md-1, - .col-md-auto { - flex: none; - } - .col-md-12 { - width: 100%; - } - .col-md-11 { - width: 91.66666667%; - } - .col-md-10 { - width: 83.33333333%; - } - .col-md-9 { - width: 75%; - } - .col-md-8 { - width: 66.66666667%; - } - .col-md-7 { - width: 58.33333333%; - } - .col-md-6 { - width: 50%; - } - .col-md-5 { - width: 41.66666667%; - } - .col-md-4 { - width: 33.33333333%; - } - .col-md-3 { - width: 25%; - } - .col-md-2 { - width: 16.66666667%; - } - .col-md-1 { - width: 8.33333333%; - } - .col-md-auto { - width: auto; - } - .hide-md { - display: none !important; - } - .show-md { - display: block !important; - } -} -@media (max-width: $size-sm) { - .col-sm-12, - .col-sm-11, - .col-sm-10, - .col-sm-9, - .col-sm-8, - .col-sm-7, - .col-sm-6, - .col-sm-5, - .col-sm-4, - .col-sm-3, - .col-sm-2, - .col-sm-1, - .col-sm-auto { - flex: none; - } - .col-sm-12 { - width: 100%; - } - .col-sm-11 { - width: 91.66666667%; - } - .col-sm-10 { - width: 83.33333333%; - } - .col-sm-9 { - width: 75%; - } - .col-sm-8 { - width: 66.66666667%; - } - .col-sm-7 { - width: 58.33333333%; - } - .col-sm-6 { - width: 50%; - } - .col-sm-5 { - width: 41.66666667%; - } - .col-sm-4 { - width: 33.33333333%; - } - .col-sm-3 { - width: 25%; - } - .col-sm-2 { - width: 16.66666667%; - } - .col-sm-1 { - width: 8.33333333%; - } - .col-sm-auto { - width: auto; - } - .hide-sm { - display: none !important; - } - .show-sm { - display: block !important; - } -} -@media (max-width: $size-xs) { - .col-xs-12, - .col-xs-11, - .col-xs-10, - .col-xs-9, - .col-xs-8, - .col-xs-7, - .col-xs-6, - .col-xs-5, - .col-xs-4, - .col-xs-3, - .col-xs-2, - .col-xs-1, - .col-xs-auto { - flex: none; - } - .col-xs-12 { - width: 100%; - } - .col-xs-11 { - width: 91.66666667%; - } - .col-xs-10 { - width: 83.33333333%; - } - .col-xs-9 { - width: 75%; - } - .col-xs-8 { - width: 66.66666667%; - } - .col-xs-7 { - width: 58.33333333%; - } - .col-xs-6 { - width: 50%; - } - .col-xs-5 { - width: 41.66666667%; - } - .col-xs-4 { - width: 33.33333333%; - } - .col-xs-3 { - width: 25%; - } - .col-xs-2 { - width: 16.66666667%; - } - .col-xs-1 { - width: 8.33333333%; - } - .col-xs-auto { - width: auto; - } - .hide-xs { - display: none !important; - } - .show-xs { - display: block !important; - } -} diff --git a/themes/learn4/scss/spectre/_media.scss b/themes/learn4/scss/spectre/_media.scss deleted file mode 100644 index 4029e4cd..00000000 --- a/themes/learn4/scss/spectre/_media.scss +++ /dev/null @@ -1,75 +0,0 @@ -// Media -// Image responsive -.img-responsive { - display: block; - height: auto; - max-width: 100%; -} - -// object-fit support is coming to Microsoft Edge -// https://developer.microsoft.com/en-us/microsoft-edge/platform/status/objectfitandobjectposition/ -.img-fit-cover { - object-fit: cover; -} - -.img-fit-contain { - object-fit: contain; -} - -// Video responsive -.video-responsive { - display: block; - overflow: hidden; - padding: 0; - position: relative; - width: 100%; - &::before { - content: ""; - display: block; - padding-bottom: 56.25%; // Default ratio 16:9, you can calculate this value by dividing 9 by 16 - } - - iframe, - object, - embed { - border: 0; - bottom: 0; - height: 100%; - left: 0; - position: absolute; - right: 0; - top: 0; - width: 100%; - } -} - -video.video-responsive { - height: auto; - max-width: 100%; - - &::before { - content: none; - } -} - -.video-responsive-4-3 { - &::before { - padding-bottom: 75%; // Ratio 4:3 - } -} - -.video-responsive-1-1 { - &::before { - padding-bottom: 100%; // Ratio 1:1 - } -} - -// Figure -.figure { - margin: 0 0 $layout-spacing 0; - - .figure-caption { - color: $gray-color-dark; - margin-top: $layout-spacing; - } -} diff --git a/themes/learn4/scss/spectre/_menus.scss b/themes/learn4/scss/spectre/_menus.scss deleted file mode 100644 index 411cada3..00000000 --- a/themes/learn4/scss/spectre/_menus.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Menus -.menu { - @include shadow-variant(.05rem); - background: $bg-color-light; - border-radius: $border-radius; - list-style: none; - margin: 0; - min-width: $control-width-xs; - padding: $unit-2; - transform: translateY($layout-spacing-sm); - z-index: $zindex-3; - - &.menu-nav { - background: transparent; - box-shadow: none; - } - - .menu-item { - margin-top: 0; - padding: 0 $unit-2; - position: relative; - text-decoration: none; - - & > a { - border-radius: $border-radius; - color: inherit; - display: block; - margin: 0 (-$unit-2); - padding: $unit-1 $unit-2; - text-decoration: none; - &:focus, - &:hover { - background: $secondary-color; - color: $primary-color; - } - &:active, - &.active { - background: $secondary-color; - color: $primary-color; - } - } - - .form-checkbox, - .form-radio, - .form-switch { - margin: $unit-h 0; - } - - & + .menu-item { - margin-top: $unit-1; - } - } - - .menu-badge { - align-items: center; - display: flex; - height: 100%; - position: absolute; - right: 0; - top: 0; - - .label { - margin-right: $unit-2; - } - } -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/_meters.scss b/themes/learn4/scss/spectre/_meters.scss deleted file mode 100644 index 9fd98b0e..00000000 --- a/themes/learn4/scss/spectre/_meters.scss +++ /dev/null @@ -1,57 +0,0 @@ -// Meters -// Credit: https://css-tricks.com/html5-meter-element/ -.meter { - appearance: none; - background: $bg-color; - border: 0; - border-radius: $border-radius; - display: block; - width: 100%; - height: $unit-4; - - &::-webkit-meter-inner-element { - display: block; - } - - &::-webkit-meter-bar, - &::-webkit-meter-optimum-value, - &::-webkit-meter-suboptimum-value, - &::-webkit-meter-even-less-good-value { - border-radius: $border-radius; - } - - &::-webkit-meter-bar { - background: $bg-color; - } - - &::-webkit-meter-optimum-value { - background: $success-color; - } - - &::-webkit-meter-suboptimum-value { - background: $warning-color; - } - - &::-webkit-meter-even-less-good-value { - background: $error-color; - } - - &::-moz-meter-bar, - &:-moz-meter-optimum, - &:-moz-meter-sub-optimum, - &:-moz-meter-sub-sub-optimum { - border-radius: $border-radius; - } - - &:-moz-meter-optimum::-moz-meter-bar { - background: $success-color; - } - - &:-moz-meter-sub-optimum::-moz-meter-bar { - background: $warning-color; - } - - &:-moz-meter-sub-sub-optimum::-moz-meter-bar { - background: $error-color; - } -} diff --git a/themes/learn4/scss/spectre/_mixins.scss b/themes/learn4/scss/spectre/_mixins.scss deleted file mode 100644 index d3a28d55..00000000 --- a/themes/learn4/scss/spectre/_mixins.scss +++ /dev/null @@ -1,10 +0,0 @@ -// Mixins -@import "mixins/avatar"; -@import "mixins/button"; -@import "mixins/clearfix"; -@import "mixins/color"; -@import "mixins/label"; -@import "mixins/position"; -@import "mixins/shadow"; -@import "mixins/text"; -@import "mixins/toast"; \ No newline at end of file diff --git a/themes/learn4/scss/spectre/_modals.scss b/themes/learn4/scss/spectre/_modals.scss deleted file mode 100644 index a7b3f10e..00000000 --- a/themes/learn4/scss/spectre/_modals.scss +++ /dev/null @@ -1,87 +0,0 @@ -// Modals -.modal { - align-items: center; - bottom: 0; - display: none; - justify-content: center; - left: 0; - opacity: 0; - overflow: hidden; - padding: $layout-spacing; - position: fixed; - right: 0; - top: 0; - - &:target, - &.active { - display: flex; - opacity: 1; - z-index: $zindex-4; - - .modal-overlay { - background: rgba($bg-color, .75); - bottom: 0; - cursor: default; - display: block; - left: 0; - position: absolute; - right: 0; - top: 0; - } - - .modal-container { - animation: slide-down .2s ease 1; - z-index: $zindex-0; - } - } - - &.modal-sm { - .modal-container { - max-width: $control-width-sm; - padding: 0 $unit-2; - } - } - - &.modal-lg { - .modal-overlay { - background: $bg-color-light; - } - - .modal-container { - box-shadow: none; - max-width: $control-width-lg; - } - } -} - -.modal-container { - @include shadow-variant(.2rem); - background: $bg-color-light; - border-radius: $border-radius; - display: flex; - flex-direction: column; - max-height: 75vh; - max-width: $control-width-md; - padding: 0 $unit-4; - width: 100%; - - &.modal-fullheight { - max-height: 100vh; - } - - .modal-header { - color: $dark-color; - padding: $unit-4; - } - - .modal-body { - overflow-y: auto; - padding: $unit-4; - position: relative; - } - - .modal-footer { - padding: $unit-4; - text-align: right; - } -} diff --git a/themes/learn4/scss/spectre/_navbar.scss b/themes/learn4/scss/spectre/_navbar.scss deleted file mode 100644 index 11642969..00000000 --- a/themes/learn4/scss/spectre/_navbar.scss +++ /dev/null @@ -1,28 +0,0 @@ -// Navbar -.navbar { - align-items: stretch; - display: flex; - flex-wrap: wrap; - justify-content: space-between; - - .navbar-section { - align-items: center; - display: flex; - flex: 1 0 0; - - &:not(:first-child):last-child { - justify-content: flex-end; - } - } - - .navbar-center { - align-items: center; - display: flex; - flex: 0 0 auto; - } - - .navbar-brand { - font-size: $font-size-lg; - text-decoration: none; - } -} diff --git a/themes/learn4/scss/spectre/_navs.scss b/themes/learn4/scss/spectre/_navs.scss deleted file mode 100644 index 4bedc27b..00000000 --- a/themes/learn4/scss/spectre/_navs.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Navs -.nav { - display: flex; - flex-direction: column; - list-style: none; - margin: $unit-1 0; - - .nav-item { - a { - color: $gray-color-dark; - padding: $unit-1 $unit-2; - text-decoration: none; - &:focus, - &:hover { - color: $primary-color; - } - } - &.active { - & > a { - color: darken($gray-color-dark, 10%); - font-weight: bold; - &:focus, - &:hover { - color: $primary-color; - } - } - } - } - - & .nav { - margin-bottom: $unit-2; - margin-left: $unit-4; - } -} diff --git a/themes/learn4/scss/spectre/_normalize.scss b/themes/learn4/scss/spectre/_normalize.scss deleted file mode 100644 index a098a84d..00000000 --- a/themes/learn4/scss/spectre/_normalize.scss +++ /dev/null @@ -1,446 +0,0 @@ -/* Manually forked from Normalize.css */ -/* normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */ - -/** - * 1. Change the default font family in all browsers (opinionated). - * 2. Correct the line height in all browsers. - * 3. Prevent adjustments of font size after orientation changes in - * IE on Windows Phone and in iOS. - */ - -/* Document - ========================================================================== */ - -html { - font-family: sans-serif; /* 1 */ - -ms-text-size-adjust: 100%; /* 3 */ - -webkit-text-size-adjust: 100%; /* 3 */ -} - -/* Sections - ========================================================================== */ - -/** - * Remove the margin in all browsers (opinionated). - */ - -body { - margin: 0; -} - -/** - * Add the correct display in IE 9-. - */ - -article, -aside, -footer, -header, -nav, -section { - display: block; -} - -/** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -/* Grouping content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - * 1. Add the correct display in IE. - */ - -figcaption, -figure, -main { /* 1 */ - display: block; -} - -/** - * Add the correct margin in IE 8 (removed). - */ - -/** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ - -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. (removed) - * 2. Correct the odd `em` font sizing in all browsers. - */ - -/* Text-level semantics - ========================================================================== */ - -/** - * 1. Remove the gray background on active links in IE 10. - * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. - */ - -a { - background-color: transparent; /* 1 */ - -webkit-text-decoration-skip: objects; /* 2 */ -} - -/** - * Remove the outline on focused links when they are also active or hovered - * in all browsers (opinionated). - */ - -a:active, -a:hover { - outline-width: 0; -} - -/** - * Modify default styling of address. - */ - -address { - font-style: normal; -} - -/** - * 1. Remove the bottom border in Firefox 39-. - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. (removed) - */ - -/** - * Prevent the duplicate application of `bolder` by the next rule in Safari 6. - */ - -b, -strong { - font-weight: inherit; -} - -/** - * Add the correct font weight in Chrome, Edge, and Safari. - */ - -b, -strong { - font-weight: bolder; -} - -/** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ - -code, -kbd, -pre, -samp { - font-family: $mono-font-family; /* 1 (changed) */ - font-size: 1em; /* 2 */ -} - -/** - * Add the correct font style in Android 4.3-. - */ - -dfn { - font-style: italic; -} - -/** - * Add the correct background and color in IE 9-. (Removed) - */ - -/** - * Add the correct font size in all browsers. - */ - -small { - font-size: 80%; - font-weight: 400; /* (added) */ -} - -/** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* Embedded content - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -audio, -video { - display: inline-block; -} - -/** - * Add the correct display in iOS 4-7. - */ - -audio:not([controls]) { - display: none; - height: 0; -} - -/** - * Remove the border on images inside links in IE 10-. - */ - -img { - border-style: none; -} - -/** - * Hide the overflow in IE. - */ - -svg:not(:root) { - overflow: hidden; -} - -/* Forms - ========================================================================== */ - -/** - * 1. Change the font styles in all browsers (opinionated). - * 2. Remove the margin in Firefox and Safari. - */ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; /* 1 (changed) */ - font-size: inherit; /* 1 (changed) */ - line-height: inherit; /* 1 (changed) */ - margin: 0; /* 2 */ -} - -/** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ - -button, -select { /* 1 */ - text-transform: none; -} - -/** - * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` - * controls in Android 4. - * 2. Correct the inability to style clickable types in iOS and Safari. - */ - -button, -html [type="button"], /* 1 */ -[type="reset"], -[type="submit"] { - -webkit-appearance: button; /* 2 */ -} - -/** - * Remove the inner border and padding in Firefox. - */ - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -/** - * Restore the focus styles unset by the previous rule (removed). - */ - - -/** - * Change the border, margin, and padding in all browsers (opinionated) (changed). - */ - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -/** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ - -legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ -} - -/** - * 1. Add the correct display in IE 9-. - * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ - -progress { - display: inline-block; /* 1 */ - vertical-align: baseline; /* 2 */ -} - -/** - * Remove the default vertical scrollbar in IE. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10-. - * 2. Remove the padding in IE 10-. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -/** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ - -[type="search"] { - -webkit-appearance: textfield; /* 1 */ - outline-offset: -2px; /* 2 */ -} - -/** - * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. - */ - -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ - -::-webkit-file-upload-button { - -webkit-appearance: button; /* 1 */ - font: inherit; /* 2 */ -} - -/* Interactive - ========================================================================== */ - -/* - * Add the correct display in IE 9-. - * 1. Add the correct display in Edge, IE, and Firefox. - */ - -details, /* 1 */ -menu { - display: block; -} - -/* - * Add the correct display in all browsers. - */ - -summary { - display: list-item; - outline: none; -} - -/* Scripting - ========================================================================== */ - -/** - * Add the correct display in IE 9-. - */ - -canvas { - display: inline-block; -} - -/** - * Add the correct display in IE. - */ - -template { - display: none; -} - -/* Hidden - ========================================================================== */ - -/** - * Add the correct display in IE 10-. - */ - -[hidden] { - display: none; -} diff --git a/themes/learn4/scss/spectre/_off-canvas.scss b/themes/learn4/scss/spectre/_off-canvas.scss deleted file mode 100644 index f3b8b9f1..00000000 --- a/themes/learn4/scss/spectre/_off-canvas.scss +++ /dev/null @@ -1,95 +0,0 @@ -// Off canvas menus -$off-canvas-breakpoint: $size-lg !default; - -.off-canvas { - display: flex; - flex-flow: nowrap; - height: 100%; - position: relative; - width: 100%; - - .off-canvas-toggle { - display: block; - position: absolute; - top: $layout-spacing; - transition: none; - z-index: $zindex-0; - @if $rtl == true { - right: $layout-spacing; - } @else { - left: $layout-spacing; - } - } - - .off-canvas-sidebar { - background: $bg-color; - bottom: 0; - min-width: 10rem; - overflow-y: auto; - position: fixed; - top: 0; - transition: transform .25s; - z-index: $zindex-2; - @if $rtl == true { - right: 0; - transform: translateX(100%); - } @else { - left: 0; - transform: translateX(-100%); - } - } - - .off-canvas-content { - flex: 1 1 auto; - height: 100%; - padding: $layout-spacing $layout-spacing $layout-spacing 4rem; - } - - .off-canvas-overlay { - background: rgba($dark-color, .1); - border-color: transparent; - border-radius: 0; - bottom: 0; - display: none; - height: 100%; - left: 0; - position: fixed; - right: 0; - top: 0; - width: 100%; - } - - .off-canvas-sidebar { - &:target, - &.active { - transform: translateX(0); - } - - &:target ~ .off-canvas-overlay, - &.active ~ .off-canvas-overlay { - display: block; - z-index: $zindex-1; - } - } -} - -// Responsive layout -@media (min-width: $off-canvas-breakpoint) { - .off-canvas { - &.off-canvas-sidebar-show { - .off-canvas-toggle { - display: none; - } - - .off-canvas-sidebar { - flex: 0 0 auto; - position: relative; - transform: none; - } - - .off-canvas-overlay { - display: none !important; - } - } - } -} diff --git a/themes/learn4/scss/spectre/_pagination.scss b/themes/learn4/scss/spectre/_pagination.scss deleted file mode 100644 index 4c0e0113..00000000 --- a/themes/learn4/scss/spectre/_pagination.scss +++ /dev/null @@ -1,60 +0,0 @@ -// Pagination -.pagination { - display: flex; - list-style: none; - margin: $unit-1 0; - padding: $unit-1 0; - - .page-item { - margin: $unit-1 $unit-o; - - span { - display: inline-block; - padding: $unit-1 $unit-1; - } - - a { - border-radius: $border-radius; - display: inline-block; - padding: $unit-1 $unit-2; - text-decoration: none; - &:focus, - &:hover { - color: $primary-color; - } - } - - &.disabled { - a { - cursor: default; - opacity: .5; - pointer-events: none; - } - } - - &.active { - a { - background: $primary-color; - color: $light-color; - } - } - - &.page-prev, - &.page-next { - flex: 1 0 50%; - } - - &.page-next { - text-align: right; - } - - .page-item-title { - margin: 0; - } - - .page-item-subtitle { - margin: 0; - opacity: .5; - } - } -} diff --git a/themes/learn4/scss/spectre/_panels.scss b/themes/learn4/scss/spectre/_panels.scss deleted file mode 100644 index 386f96ec..00000000 --- a/themes/learn4/scss/spectre/_panels.scss +++ /dev/null @@ -1,23 +0,0 @@ -// Panels -.panel { - border: $border-width solid $border-color; - border-radius: $border-radius; - display: flex; - flex-direction: column; - - .panel-header, - .panel-footer { - flex: 0 0 auto; - padding: $layout-spacing-lg; - } - - .panel-nav { - flex: 0 0 auto; - } - - .panel-body { - flex: 1 1 auto; - overflow-y: auto; - padding: 0 $layout-spacing-lg; - } -} diff --git a/themes/learn4/scss/spectre/_parallax.scss b/themes/learn4/scss/spectre/_parallax.scss deleted file mode 100644 index ea244e54..00000000 --- a/themes/learn4/scss/spectre/_parallax.scss +++ /dev/null @@ -1,135 +0,0 @@ -// Parallax -$parallax-deg: 3deg !default; -$parallax-offset: 4.5px !default; -$parallax-offset-z: 50px !default; -$parallax-perspective: 1000px !default; -$parallax-scale: .95 !default; -$parallax-fade-color: rgba(255, 255, 255, .35) !default; - -// Mixin: Parallax direction -@mixin parallax-dir() { - height: 50%; - outline: none; - position: absolute; - width: 50%; - z-index: $zindex-1; -} - -.parallax { - display: block; - height: auto; - position: relative; - width: auto; - - .parallax-content { - @include shadow-variant(1rem); - height: auto; - transform: perspective($parallax-perspective); - transform-style: preserve-3d; - transition: all .4s ease; - width: 100%; - - &::before { - content: ""; - display: block; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 100%; - } - } - - .parallax-front { - align-items: center; - color: $light-color; - display: flex; - height: 100%; - justify-content: center; - left: 0; - position: absolute; - text-align: center; - text-shadow: 0 0 20px rgba($dark-color, .75); - top: 0; - transform: translateZ($parallax-offset-z) scale($parallax-scale); - transition: transform .4s; - width: 100%; - z-index: $zindex-0; - } - - .parallax-top-left { - @include parallax-dir(); - left: 0; - top: 0; - - &:focus ~ .parallax-content, - &:hover ~ .parallax-content { - transform: perspective($parallax-perspective) rotateX($parallax-deg) rotateY(-$parallax-deg); - - &::before { - background: linear-gradient(135deg, $parallax-fade-color 0%, transparent 50%); - } - - .parallax-front { - transform: translate3d($parallax-offset, $parallax-offset, $parallax-offset-z) scale($parallax-scale); - } - } - } - - .parallax-top-right { - @include parallax-dir(); - right: 0; - top: 0; - - &:focus ~ .parallax-content, - &:hover ~ .parallax-content { - transform: perspective($parallax-perspective) rotateX($parallax-deg) rotateY($parallax-deg); - - &::before { - background: linear-gradient(-135deg, $parallax-fade-color 0%, transparent 50%); - } - - .parallax-front { - transform: translate3d(-$parallax-offset, $parallax-offset, $parallax-offset-z) scale($parallax-scale); - } - } - } - - .parallax-bottom-left { - @include parallax-dir(); - bottom: 0; - left: 0; - - &:focus ~ .parallax-content, - &:hover ~ .parallax-content { - transform: perspective($parallax-perspective) rotateX(-$parallax-deg) rotateY(-$parallax-deg); - - &::before { - background: linear-gradient(45deg, $parallax-fade-color 0%, transparent 50%); - } - - .parallax-front { - transform: translate3d($parallax-offset, -$parallax-offset, $parallax-offset-z) scale($parallax-scale); - } - } - } - - .parallax-bottom-right { - @include parallax-dir(); - bottom: 0; - right: 0; - - &:focus ~ .parallax-content, - &:hover ~ .parallax-content { - transform: perspective($parallax-perspective) rotateX(-$parallax-deg) rotateY($parallax-deg); - - &::before { - background: linear-gradient(-45deg, $parallax-fade-color 0%, transparent 50%); - } - - .parallax-front { - transform: translate3d(-$parallax-offset, -$parallax-offset, $parallax-offset-z) scale($parallax-scale); - } - } - } -} diff --git a/themes/learn4/scss/spectre/_popovers.scss b/themes/learn4/scss/spectre/_popovers.scss deleted file mode 100644 index 35b6bcd8..00000000 --- a/themes/learn4/scss/spectre/_popovers.scss +++ /dev/null @@ -1,65 +0,0 @@ -// Popovers -.popover { - display: inline-block; - position: relative; - - .popover-container { - left: 50%; - opacity: 0; - padding: $layout-spacing; - position: absolute; - top: 0; - transform: translate(-50%, -50%) scale(0); - transition: transform .2s; - width: $control-width-sm; - z-index: $zindex-3; - } - - *:focus + .popover-container, - &:hover .popover-container { - display: block; - opacity: 1; - transform: translate(-50%, -100%) scale(1); - } - - &.popover-right { - .popover-container { - left: 100%; - top: 50%; - } - - *:focus + .popover-container, - &:hover .popover-container { - transform: translate(0, -50%) scale(1); - } - } - - &.popover-bottom { - .popover-container { - left: 50%; - top: 100%; - } - - *:focus + .popover-container, - &:hover .popover-container { - transform: translate(-50%, 0) scale(1); - } - } - - &.popover-left { - .popover-container { - left: 0; - top: 50%; - } - - *:focus + .popover-container, - &:hover .popover-container { - transform: translate(-100%, -50%) scale(1); - } - } - - .card { - @include shadow-variant(.2rem); - border: 0; - } -} diff --git a/themes/learn4/scss/spectre/_progress.scss b/themes/learn4/scss/spectre/_progress.scss deleted file mode 100644 index f173772b..00000000 --- a/themes/learn4/scss/spectre/_progress.scss +++ /dev/null @@ -1,45 +0,0 @@ -// Progress -// Credit: https://css-tricks.com/html5-progress-element/ -.progress { - appearance: none; - background: $bg-color-dark; - border: 0; - border-radius: $border-radius; - color: $primary-color; - height: $unit-1; - position: relative; - width: 100%; - - &::-webkit-progress-bar { - background: transparent; - border-radius: $border-radius; - } - - &::-webkit-progress-value { - background: $primary-color; - border-radius: $border-radius; - } - - &::-moz-progress-bar { - background: $primary-color; - border-radius: $border-radius; - } - - &:indeterminate { - animation: progress-indeterminate 1.5s linear infinite; - background: $bg-color-dark linear-gradient(to right, $primary-color 30%, $bg-color-dark 30%) top left / 150% 150% no-repeat; - - &::-moz-progress-bar { - background: transparent; - } - } -} - -@keyframes progress-indeterminate { - 0% { - background-position: 200% 0; - } - 100% { - background-position: -200% 0; - } -} diff --git a/themes/learn4/scss/spectre/_sliders.scss b/themes/learn4/scss/spectre/_sliders.scss deleted file mode 100644 index 3ff38e80..00000000 --- a/themes/learn4/scss/spectre/_sliders.scss +++ /dev/null @@ -1,99 +0,0 @@ -// Sliders -// Credit: https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/ -.slider { - appearance: none; - background: transparent; - display: block; - width: 100%; - height: $unit-6; - - &:focus { - @include control-shadow(); - outline: none; - } - - &.tooltip:not([data-tooltip]) { - &::after { - content: attr(value); - } - } - - // Slider Thumb - &::-webkit-slider-thumb { - -webkit-appearance: none; - background: $primary-color; - border: 0; - border-radius: 50%; - height: $unit-3; - margin-top: -($unit-3 - $unit-h) / 2; - transition: transform .2s; - width: $unit-3; - } - &::-moz-range-thumb { - background: $primary-color; - border: 0; - border-radius: 50%; - height: $unit-3; - transition: transform .2s; - width: $unit-3; - } - &::-ms-thumb { - background: $primary-color; - border: 0; - border-radius: 50%; - height: $unit-3; - transition: transform .2s; - width: $unit-3; - } - - &:active { - &::-webkit-slider-thumb { - transform: scale(1.25); - } - &::-moz-range-thumb { - transform: scale(1.25); - } - &::-ms-thumb { - transform: scale(1.25); - } - } - - &:disabled, - &.disabled { - &::-webkit-slider-thumb { - background: $gray-color-light; - transform: scale(1); - } - &::-moz-range-thumb { - background: $gray-color-light; - transform: scale(1); - } - &::-ms-thumb { - background: $gray-color-light; - transform: scale(1); - } - } - - // Slider Track - &::-webkit-slider-runnable-track { - background: $bg-color-dark; - border-radius: $border-radius; - height: $unit-h; - width: 100%; - } - &::-moz-range-track { - background: $bg-color-dark; - border-radius: $border-radius; - height: $unit-h; - width: 100%; - } - &::-ms-track { - background: $bg-color-dark; - border-radius: $border-radius; - height: $unit-h; - width: 100%; - } - &::-ms-fill-lower { - background: $primary-color; - } -} diff --git a/themes/learn4/scss/spectre/_steps.scss b/themes/learn4/scss/spectre/_steps.scss deleted file mode 100644 index f642ff8b..00000000 --- a/themes/learn4/scss/spectre/_steps.scss +++ /dev/null @@ -1,71 +0,0 @@ -// Steps -.step { - display: flex; - flex-wrap: nowrap; - list-style: none; - margin: $unit-1 0; - width: 100%; - - .step-item { - flex: 1 1 0; - margin-top: 0; - min-height: 1rem; - text-align: center; - position: relative; - - &:not(:first-child)::before { - background: $primary-color; - content: ""; - height: 2px; - left: -50%; - position: absolute; - top: 9px; - width: 100%; - } - - a { - color: $primary-color; - display: inline-block; - padding: 20px 10px 0; - text-decoration: none; - - &::before { - background: $primary-color; - border: $border-width-lg solid $light-color; - border-radius: 50%; - content: ""; - display: block; - height: $unit-3; - left: 50%; - position: absolute; - top: $unit-1; - transform: translateX(-50%); - width: $unit-3; - z-index: $zindex-0; - } - } - - &.active { - a { - &::before { - background: $light-color; - border: $border-width-lg solid $primary-color; - } - } - - & ~ .step-item { - &::before { - background: $border-color; - } - - a { - color: $gray-color; - - &::before { - background: $border-color; - } - } - } - } - } -} diff --git a/themes/learn4/scss/spectre/_tables.scss b/themes/learn4/scss/spectre/_tables.scss deleted file mode 100644 index 656c03e5..00000000 --- a/themes/learn4/scss/spectre/_tables.scss +++ /dev/null @@ -1,57 +0,0 @@ -// Tables -.table { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - @if $rtl == true { - text-align: right; - } @else { - text-align: left; - } - - &.table-striped { - tbody { - tr:nth-of-type(odd) { - background: $bg-color; - } - } - } - - &, - &.table-striped { - tbody { - tr { - &.active { - background: $bg-color-dark; - } - } - } - } - - &.table-hover { - tbody { - tr { - &:hover { - background: $bg-color-dark; - } - } - } - } - - // Scollable tables - &.table-scroll { - display: block; - overflow-x: auto; - padding-bottom: .75rem; - white-space: nowrap; - } - - td, - th { - border-bottom: $border-width solid $border-color; - padding: $unit-3 $unit-2; - } - th { - border-bottom-width: $border-width-lg; - } -} diff --git a/themes/learn4/scss/spectre/_tabs.scss b/themes/learn4/scss/spectre/_tabs.scss deleted file mode 100644 index 0dcbaf37..00000000 --- a/themes/learn4/scss/spectre/_tabs.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Tabs -.tab { - align-items: center; - border-bottom: $border-width solid $border-color; - display: flex; - flex-wrap: wrap; - list-style: none; - margin: $unit-1 0 ($unit-1 - $border-width) 0; - - .tab-item { - margin-top: 0; - - a { - border-bottom: $border-width-lg solid transparent; - color: inherit; - display: block; - margin: 0 $unit-2 0 0; - padding: $unit-2 $unit-1 $unit-2 - $border-width-lg $unit-1; - text-decoration: none; - &:focus, - &:hover { - color: $link-color; - } - } - &.active a, - a.active { - border-bottom-color: $primary-color; - color: $link-color; - } - - &.tab-action { - flex: 1 0 auto; - text-align: right; - } - - .btn-clear { - margin-top: -$unit-1; - } - } - - &.tab-block { - .tab-item { - flex: 1 0 0; - text-align: center; - - a { - margin: 0; - } - - .badge { - &[data-badge]::after { - position: absolute; - right: $unit-h; - top: $unit-h; - transform: translate(0, 0); - } - } - } - } - - &:not(.tab-block) { - .badge { - padding-right: 0; - } - } -} diff --git a/themes/learn4/scss/spectre/_tiles.scss b/themes/learn4/scss/spectre/_tiles.scss deleted file mode 100644 index 742bbaeb..00000000 --- a/themes/learn4/scss/spectre/_tiles.scss +++ /dev/null @@ -1,38 +0,0 @@ -// Tiles -.tile { - align-content: space-between; - align-items: flex-start; - display: flex; - - .tile-icon, - .tile-action { - flex: 0 0 auto; - } - .tile-content { - flex: 1 1 auto; - &:not(:first-child) { - padding-left: $unit-2; - } - &:not(:last-child) { - padding-right: $unit-2; - } - } - .tile-title, - .tile-subtitle { - line-height: $line-height; - } - - &.tile-centered { - align-items: center; - - .tile-content { - overflow: hidden; - } - - .tile-title, - .tile-subtitle { - @include text-ellipsis(); - margin-bottom: 0; - } - } -} diff --git a/themes/learn4/scss/spectre/_timelines.scss b/themes/learn4/scss/spectre/_timelines.scss deleted file mode 100644 index c56746d2..00000000 --- a/themes/learn4/scss/spectre/_timelines.scss +++ /dev/null @@ -1,56 +0,0 @@ -// Timelines -.timeline { - .timeline-item { - display: flex; - margin-bottom: $unit-6; - position: relative; - &::before { - background: $border-color; - content: ""; - height: 100%; - left: 11px; - position: absolute; - top: $unit-6; - width: 2px; - } - - .timeline-left { - flex: 0 0 auto; - } - - .timeline-content { - flex: 1 1 auto; - padding: 2px 0 2px $layout-spacing-lg; - } - - .timeline-icon { - align-items: center; - border-radius: 50%; - color: $light-color; - display: flex; - height: $unit-6; - justify-content: center; - text-align: center; - width: $unit-6; - &::before { - border: $border-width-lg solid $primary-color; - border-radius: 50%; - content: ""; - display: block; - height: $unit-2; - left: $unit-2; - position: absolute; - top: $unit-2; - width: $unit-2; - } - - &.icon-lg { - background: $primary-color; - line-height: $line-height; - &::before { - content: none; - } - } - } - } -} diff --git a/themes/learn4/scss/spectre/_toasts.scss b/themes/learn4/scss/spectre/_toasts.scss deleted file mode 100644 index fef15f8d..00000000 --- a/themes/learn4/scss/spectre/_toasts.scss +++ /dev/null @@ -1,48 +0,0 @@ -// Toasts -.toast { - @include toast-variant($dark-color); - border: $border-width solid $dark-color; - border-radius: $border-radius; - color: $light-color; - display: block; - padding: $layout-spacing; - width: 100%; - - &.toast-primary { - @include toast-variant($primary-color); - } - - &.toast-success { - @include toast-variant($success-color); - } - - &.toast-warning { - @include toast-variant($warning-color); - } - - &.toast-error { - @include toast-variant($error-color); - } - - a { - color: $light-color; - text-decoration: underline; - - &:focus, - &:hover, - &:active, - &.active { - opacity: .75; - } - } - - .btn-clear { - margin: $unit-h; - } - - p { - &:last-child { - margin-bottom: 0; - } - } -} diff --git a/themes/learn4/scss/spectre/_tooltips.scss b/themes/learn4/scss/spectre/_tooltips.scss deleted file mode 100644 index 8693b67b..00000000 --- a/themes/learn4/scss/spectre/_tooltips.scss +++ /dev/null @@ -1,79 +0,0 @@ -// Tooltips -.tooltip { - position: relative; - &::after { - background: rgba($dark-color, .95); - border-radius: $border-radius; - bottom: 100%; - color: $light-color; - content: attr(data-tooltip); - display: block; - font-size: $font-size-sm; - left: 50%; - max-width: $control-width-sm; - opacity: 0; - overflow: hidden; - padding: $unit-1 $unit-2; - pointer-events: none; - position: absolute; - text-overflow: ellipsis; - transform: translate(-50%, $unit-2); - transition: opacity .2s, transform .2s; - white-space: pre; - z-index: $zindex-3; - } - &:focus, - &:hover { - &::after { - opacity: 1; - transform: translate(-50%, -$unit-1); - } - } - &[disabled], - &.disabled { - pointer-events: auto; - } - - &.tooltip-right { - &::after { - bottom: 50%; - left: 100%; - transform: translate(-$unit-1, 50%); - } - &:focus, - &:hover { - &::after { - transform: translate($unit-1, 50%); - } - } - } - - &.tooltip-bottom { - &::after { - bottom: auto; - top: 100%; - transform: translate(-50%, -$unit-2); - } - &:focus, - &:hover { - &::after { - transform: translate(-50%, $unit-1); - } - } - } - - &.tooltip-left { - &::after { - bottom: 50%; - left: auto; - right: 100%; - transform: translate($unit-2, 50%); - } - &:focus, - &:hover { - &::after { - transform: translate(-$unit-1, 50%); - } - } - } -} diff --git a/themes/learn4/scss/spectre/_typography.scss b/themes/learn4/scss/spectre/_typography.scss deleted file mode 100644 index bbeb8769..00000000 --- a/themes/learn4/scss/spectre/_typography.scss +++ /dev/null @@ -1,129 +0,0 @@ -// Typography -// Headings -h1, -h2, -h3, -h4, -h5, -h6 { - color: inherit; - font-weight: 500; - line-height: 1.2; - margin-bottom: .5em; - margin-top: 0; -} -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { - font-weight: 500; -} -h1, -.h1 { - font-size: 2rem; -} -h2, -.h2 { - font-size: 1.6rem; -} -h3, -.h3 { - font-size: 1.4rem; -} -h4, -.h4 { - font-size: 1.2rem; -} -h5, -.h5 { - font-size: 1rem; -} -h6, -.h6 { - font-size: .8rem; -} - -// Paragraphs -p { - margin: 0 0 $line-height; -} - -// Semantic text elements -a, -ins, -u { - text-decoration-skip: ink edges; -} - -abbr[title] { - border-bottom: $border-width dotted; - cursor: help; - text-decoration: none; -} - -kbd { - @include label-base(); - @include label-variant($light-color, $dark-color); - font-size: $font-size-sm; -} - -mark { - @include label-variant($body-font-color, $highlight-color); - border-bottom: $unit-o solid darken($highlight-color, 15%); - border-radius: $border-radius; - padding: $unit-o $unit-h 0; -} - -// Blockquote -blockquote { - border-left: $border-width-lg solid $border-color; - margin-left: 0; - padding: $unit-2 $unit-4; - - p:last-child { - margin-bottom: 0; - } -} - -// Lists -ul, -ol { - margin: $unit-4 0 $unit-4 $unit-4; - padding: 0; - - ul, - ol { - margin: $unit-4 0 $unit-4 $unit-4; - } - - li { - margin-top: $unit-2; - } -} - -ul { - list-style: disc inside; - - ul { - list-style-type: circle; - } -} - -ol { - list-style: decimal inside; - - ol { - list-style-type: lower-alpha; - } -} - -dl { - dt { - font-weight: bold; - } - dd { - margin: $unit-2 0 $unit-4 0; - } -} diff --git a/themes/learn4/scss/spectre/_utilities.scss b/themes/learn4/scss/spectre/_utilities.scss deleted file mode 100644 index 80f1e0b5..00000000 --- a/themes/learn4/scss/spectre/_utilities.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import "utilities/colors"; -@import "utilities/cursors"; -@import "utilities/display"; -@import "utilities/divider"; -@import "utilities/loading"; -@import "utilities/position"; -@import "utilities/shapes"; -@import "utilities/text"; diff --git a/themes/learn4/scss/spectre/_variables.scss b/themes/learn4/scss/spectre/_variables.scss deleted file mode 100644 index 7bf1a133..00000000 --- a/themes/learn4/scss/spectre/_variables.scss +++ /dev/null @@ -1,117 +0,0 @@ -// Core variables -$version: "0.5.8"; - -// Core features -$rtl: false !default; - -// Core colors -$primary-color: #5755d9 !default; -$primary-color-dark: darken($primary-color, 3%) !default; -$primary-color-light: lighten($primary-color, 3%) !default; -$secondary-color: lighten($primary-color, 37.5%) !default; -$secondary-color-dark: darken($secondary-color, 3%) !default; -$secondary-color-light: lighten($secondary-color, 3%) !default; - -// Gray colors -$dark-color: #303742 !default; -$light-color: #fff !default; -$gray-color: lighten($dark-color, 55%) !default; -$gray-color-dark: darken($gray-color, 30%) !default; -$gray-color-light: lighten($gray-color, 20%) !default; - -$border-color: lighten($dark-color, 65%) !default; -$border-color-dark: darken($border-color, 10%) !default; -$border-color-light: lighten($border-color, 8%) !default; -$bg-color: lighten($dark-color, 75%) !default; -$bg-color-dark: darken($bg-color, 3%) !default; -$bg-color-light: $light-color !default; - -// Control colors -$success-color: #32b643 !default; -$warning-color: #ffb700 !default; -$error-color: #e85600 !default; - -// Other colors -$code-color: #d73e48 !default; -$highlight-color: #ffe9b3 !default; -$body-bg: $bg-color-light !default; -$body-font-color: lighten($dark-color, 5%) !default; -$link-color: $primary-color !default; -$link-color-dark: darken($link-color, 10%) !default; -$link-color-light: lighten($link-color, 10%) !default; - -// Fonts -// Credit: https://www.smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide/ -$base-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto !default; -$mono-font-family: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace !default; -$fallback-font-family: "Helvetica Neue", sans-serif !default; -$cjk-zh-hans-font-family: $base-font-family, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", $fallback-font-family !default; -$cjk-zh-hant-font-family: $base-font-family, "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei", $fallback-font-family !default; -$cjk-jp-font-family: $base-font-family, "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo, $fallback-font-family !default; -$cjk-ko-font-family: $base-font-family, "Malgun Gothic", $fallback-font-family !default; -$body-font-family: $base-font-family, $fallback-font-family !default; - -// Unit sizes -$unit-o: .05rem !default; -$unit-h: .1rem !default; -$unit-1: .2rem !default; -$unit-2: .4rem !default; -$unit-3: .6rem !default; -$unit-4: .8rem !default; -$unit-5: 1rem !default; -$unit-6: 1.2rem !default; -$unit-7: 1.4rem !default; -$unit-8: 1.6rem !default; -$unit-9: 1.8rem !default; -$unit-10: 2rem !default; -$unit-12: 2.4rem !default; -$unit-16: 3.2rem !default; - -// Font sizes -$html-font-size: 20px !default; -$html-line-height: 1.5 !default; -$font-size: .8rem !default; -$font-size-sm: .7rem !default; -$font-size-lg: .9rem !default; -$line-height: 1.2rem !default; - -// Sizes -$layout-spacing: $unit-2 !default; -$layout-spacing-sm: $unit-1 !default; -$layout-spacing-lg: $unit-4 !default; -$border-radius: $unit-h !default; -$border-width: $unit-o !default; -$border-width-lg: $unit-h !default; -$control-size: $unit-9 !default; -$control-size-sm: $unit-7 !default; -$control-size-lg: $unit-10 !default; -$control-padding-x: $unit-2 !default; -$control-padding-x-sm: $unit-2 * .75 !default; -$control-padding-x-lg: $unit-2 * 1.5 !default; -$control-padding-y: ($control-size - $line-height) / 2 - $border-width !default; -$control-padding-y-sm: ($control-size-sm - $line-height) / 2 - $border-width !default; -$control-padding-y-lg: ($control-size-lg - $line-height) / 2 - $border-width !default; -$control-icon-size: .8rem !default; - -$control-width-xs: 180px !default; -$control-width-sm: 320px !default; -$control-width-md: 640px !default; -$control-width-lg: 960px !default; -$control-width-xl: 1280px !default; - -// Responsive breakpoints -$size-xs: 480px !default; -$size-sm: 600px !default; -$size-md: 840px !default; -$size-lg: 960px !default; -$size-xl: 1280px !default; -$size-2x: 1440px !default; - -$responsive-breakpoint: $size-xs !default; - -// Z-index -$zindex-0: 1 !default; -$zindex-1: 100 !default; -$zindex-2: 200 !default; -$zindex-3: 300 !default; -$zindex-4: 400 !default; diff --git a/themes/learn4/scss/spectre/_viewer-360.scss b/themes/learn4/scss/spectre/_viewer-360.scss deleted file mode 100644 index c1b8928d..00000000 --- a/themes/learn4/scss/spectre/_viewer-360.scss +++ /dev/null @@ -1,34 +0,0 @@ -// 360 Degree Viewer - -// Mixin: Viewer slider sizes -@mixin viewer-slider-size($image-number: 36) { - @for $s from 1 through ($image-number) { - .viewer-slider[max='#{$image-number}'][value='#{$s}'] + .viewer-image { - background-position-y: percentage((($s)-1) * 1/(($image-number)-1)); - } - } -} - -.viewer-360 { - align-items: center; - display: flex; - flex-direction: column; - - // Copy and add more numbers if you need - @include viewer-slider-size(36); - - .viewer-slider { - cursor: ew-resize; - margin: 1rem; - order: 2; - width: 60%; - } - - .viewer-image { - background-position-y: 0; - background-repeat: no-repeat; - background-size: 100%; - max-width: 100%; - order: 1; - } -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/icons/_icons-action.scss b/themes/learn4/scss/spectre/icons/_icons-action.scss deleted file mode 100644 index 1b952ea1..00000000 --- a/themes/learn4/scss/spectre/icons/_icons-action.scss +++ /dev/null @@ -1,315 +0,0 @@ -// Icon resize -.icon-resize-horiz, -.icon-resize-vert { - &::before, - &::after { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-right: 0; - height: .45em; - width: .45em; - } - &::before { - transform: translate(-50%, -90%) rotate(45deg); - } - &::after { - transform: translate(-50%, -10%) rotate(225deg); - } -} - -.icon-resize-horiz { - &::before { - transform: translate(-90%, -50%) rotate(-45deg); - } - &::after { - transform: translate(-10%, -50%) rotate(135deg); - } -} - -// Icon more -.icon-more-horiz, -.icon-more-vert { - &::before { - background: currentColor; - box-shadow: -.4em 0, .4em 0; - border-radius: 50%; - height: 3px; - width: 3px; - } -} - -.icon-more-vert { - &::before { - box-shadow: 0 -.4em, 0 .4em; - } -} - -// Icon plus, minus, cross -.icon-plus, -.icon-minus, -.icon-cross { - &::before { - background: currentColor; - height: $icon-border-width; - width: 100%; - } -} - -.icon-plus, -.icon-cross { - &::after { - background: currentColor; - height: 100%; - width: $icon-border-width; - } -} - -.icon-cross { - &::before { - width: 100%; - } - &::after { - height: 100%; - } - &::before, - &::after { - transform: translate(-50%, -50%) rotate(45deg); - } -} - -// Icon check -.icon-check { - &::before { - border: $icon-border-width solid currentColor; - border-right: 0; - border-top: 0; - height: .5em; - width: .9em; - transform: translate(-50%, -75%) rotate(-45deg); - } -} - -// Icon stop -.icon-stop { - border: $icon-border-width solid currentColor; - border-radius: 50%; - &::before { - background: currentColor; - height: $icon-border-width; - transform: translate(-50%, -50%) rotate(45deg); - width: 1em; - } -} - -// Icon shutdown -.icon-shutdown { - border: $icon-border-width solid currentColor; - border-radius: 50%; - border-top-color: transparent; - &::before { - background: currentColor; - content: ""; - height: .5em; - top: .1em; - width: $icon-border-width; - } -} - -// Icon refresh -.icon-refresh { - &::before { - border: $icon-border-width solid currentColor; - border-radius: 50%; - border-right-color: transparent; - height: 1em; - width: 1em; - } - &::after { - border: .2em solid currentColor; - border-top-color: transparent; - border-left-color: transparent; - height: 0; - left: 80%; - top: 20%; - width: 0; - } -} - -// Icon search -.icon-search { - &::before { - border: $icon-border-width solid currentColor; - border-radius: 50%; - height: .75em; - left: 5%; - top: 5%; - transform: translate(0, 0) rotate(45deg); - width: .75em; - } - &::after { - background: currentColor; - height: $icon-border-width; - left: 80%; - top: 80%; - transform: translate(-50%, -50%) rotate(45deg); - width: .4em; - } -} - -// Icon edit -.icon-edit { - &::before { - border: $icon-border-width solid currentColor; - height: .4em; - transform: translate(-40%, -60%) rotate(-45deg); - width: .85em; - } - &::after { - border: .15em solid currentColor; - border-top-color: transparent; - border-right-color: transparent; - height: 0; - left: 5%; - top: 95%; - transform: translate(0, -100%); - width: 0; - } -} - -// Icon delete -.icon-delete { - &::before { - border: $icon-border-width solid currentColor; - border-bottom-left-radius: $border-radius; - border-bottom-right-radius: $border-radius; - border-top: 0; - height: .75em; - top: 60%; - width: .75em; - } - &::after { - background: currentColor; - box-shadow: -.25em .2em, .25em .2em; - height: $icon-border-width; - top: $icon-border-width/2; - width: .5em; - } -} - -// Icon share -.icon-share { - border: $icon-border-width solid currentColor; - border-radius: $border-radius; - border-right: 0; - border-top: 0; - &::before { - border: $icon-border-width solid currentColor; - border-left: 0; - border-top: 0; - height: .4em; - left: 100%; - top: .25em; - transform: translate(-125%, -50%) rotate(-45deg); - width: .4em; - } - &::after { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-right: 0; - border-radius: 75% 0; - height: .5em; - width: .6em; - } -} - -// Icon flag -.icon-flag { - &::before { - background: currentColor; - height: 1em; - left: 15%; - width: $icon-border-width; - } - &::after { - border: $icon-border-width solid currentColor; - border-bottom-right-radius: $border-radius; - border-left: 0; - border-top-right-radius: $border-radius; - height: .65em; - top: 35%; - left: 60%; - width: .8em; - } -} - -// Icon bookmark -.icon-bookmark { - &::before { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-top-left-radius: $border-radius; - border-top-right-radius: $border-radius; - height: .9em; - width: .8em; - } - &::after { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-left: 0; - border-radius: $border-radius; - height: .5em; - transform: translate(-50%, 35%) rotate(-45deg) skew(15deg, 15deg); - width: .5em; - } -} - -// Icon download & upload -.icon-download, -.icon-upload { - border-bottom: $icon-border-width solid currentColor; - &::before { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-right: 0; - height: .5em; - width: .5em; - transform: translate(-50%, -60%) rotate(-135deg); - } - &::after { - background: currentColor; - height: .6em; - top: 40%; - width: $icon-border-width; - } -} - -.icon-upload { - &::before { - transform: translate(-50%, -60%) rotate(45deg); - } - &::after { - top: 50%; - } -} - -// Icon copy -.icon-copy { - &::before { - border: $icon-border-width solid currentColor; - border-radius: $border-radius; - border-right: 0; - border-bottom: 0; - height: .8em; - left: 40%; - top: 35%; - width: .8em; - } - &::after { - border: $icon-border-width solid currentColor; - border-radius: $border-radius; - height: .8em; - left: 60%; - top: 60%; - width: .8em; - } -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/icons/_icons-core.scss b/themes/learn4/scss/spectre/icons/_icons-core.scss deleted file mode 100644 index 9a67ae4f..00000000 --- a/themes/learn4/scss/spectre/icons/_icons-core.scss +++ /dev/null @@ -1,54 +0,0 @@ -// Icon variables -$icon-border-width: $border-width-lg; -$icon-prefix: "icon"; - -// Icon base style -.#{$icon-prefix} { - box-sizing: border-box; - display: inline-block; - font-size: inherit; - font-style: normal; - height: 1em; - position: relative; - text-indent: -9999px; - vertical-align: middle; - width: 1em; - &::before, - &::after { - content: ""; - display: block; - left: 50%; - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - } - - // Icon sizes - &.icon-2x { - font-size: 1.6rem; - } - - &.icon-3x { - font-size: 2.4rem; - } - - &.icon-4x { - font-size: 3.2rem; - } -} - -// Component icon support -.accordion, -.btn, -.toast, -.menu { - .#{$icon-prefix} { - vertical-align: -10%; - } -} - -.btn-lg { - .#{$icon-prefix} { - vertical-align: -15%; - } -} diff --git a/themes/learn4/scss/spectre/icons/_icons-navigation.scss b/themes/learn4/scss/spectre/icons/_icons-navigation.scss deleted file mode 100644 index 92ab231a..00000000 --- a/themes/learn4/scss/spectre/icons/_icons-navigation.scss +++ /dev/null @@ -1,127 +0,0 @@ -// Icon arrows -.icon-arrow-down, -.icon-arrow-left, -.icon-arrow-right, -.icon-arrow-up, -.icon-downward, -.icon-back, -.icon-forward, -.icon-upward { - &::before { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-right: 0; - height: .65em; - width: .65em; - } -} - -.icon-arrow-down { - &::before { - transform: translate(-50%, -75%) rotate(225deg); - } -} - -.icon-arrow-left { - &::before { - transform: translate(-25%, -50%) rotate(-45deg); - } -} - -.icon-arrow-right { - &::before { - transform: translate(-75%, -50%) rotate(135deg); - } -} - -.icon-arrow-up { - &::before { - transform: translate(-50%, -25%) rotate(45deg); - } -} - -.icon-back, -.icon-forward { - &::after { - background: currentColor; - height: $icon-border-width; - width: .8em; - } -} - -.icon-downward, -.icon-upward { - &::after { - background: currentColor; - height: .8em; - width: $icon-border-width; - } -} - -.icon-back { - &::after { - left: 55%; - } - &::before { - transform: translate(-50%, -50%) rotate(-45deg); - } -} - -.icon-downward { - &::after { - top: 45%; - } - &::before { - transform: translate(-50%, -50%) rotate(-135deg); - } -} - -.icon-forward { - &::after { - left: 45%; - } - &::before { - transform: translate(-50%, -50%) rotate(135deg); - } -} - -.icon-upward { - &::after { - top: 55%; - } - &::before { - transform: translate(-50%, -50%) rotate(45deg); - } -} - -// Icon caret -.icon-caret { - &::before { - border-top: .3em solid currentColor; - border-right: .3em solid transparent; - border-left: .3em solid transparent; - height: 0; - transform: translate(-50%, -25%); - width: 0; - } -} - -// Icon menu -.icon-menu { - &::before { - background: currentColor; - box-shadow: 0 -.35em, 0 .35em; - height: $icon-border-width; - width: 100%; - } -} - -// Icon apps -.icon-apps { - &::before { - background: currentColor; - box-shadow: -.35em -.35em, -.35em 0, -.35em .35em, 0 -.35em, 0 .35em, .35em -.35em, .35em 0, .35em .35em; - height: 3px; - width: 3px; - } -} diff --git a/themes/learn4/scss/spectre/icons/_icons-object.scss b/themes/learn4/scss/spectre/icons/_icons-object.scss deleted file mode 100644 index 00597d8a..00000000 --- a/themes/learn4/scss/spectre/icons/_icons-object.scss +++ /dev/null @@ -1,161 +0,0 @@ -// Icon time -.icon-time { - border: $icon-border-width solid currentColor; - border-radius: 50%; - &::before { - background: currentColor; - height: .4em; - transform: translate(-50%, -75%); - width: $icon-border-width; - } - &::after { - background: currentColor; - height: .3em; - transform: translate(-50%, -75%) rotate(90deg); - transform-origin: 50% 90%; - width: $icon-border-width; - } -} - -// Icon mail -.icon-mail { - &::before { - border: $icon-border-width solid currentColor; - border-radius: $border-radius; - height: .8em; - width: 1em; - } - &::after { - border: $icon-border-width solid currentColor; - border-right: 0; - border-top: 0; - height: .5em; - transform: translate(-50%, -90%) rotate(-45deg) skew(10deg, 10deg); - width: .5em; - } -} - -// Icon people -.icon-people { - &::before { - border: $icon-border-width solid currentColor; - border-radius: 50%; - height: .45em; - top: 25%; - width: .45em; - } - &::after { - border: $icon-border-width solid currentColor; - border-radius: 50% 50% 0 0; - height: .4em; - top: 75%; - width: .9em; - } -} - -// Icon message -.icon-message { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-radius: $border-radius; - border-right: 0; - &::before { - border: $icon-border-width solid currentColor; - border-bottom-right-radius: $border-radius; - border-left: 0; - border-top: 0; - height: .8em; - left: 65%; - top: 40%; - width: .7em; - } - &::after { - background: currentColor; - border-radius: $border-radius; - height: .3em; - left: 10%; - top: 100%; - transform: translate(0, -90%) rotate(45deg); - width: $icon-border-width; - } -} - -// Icon photo -.icon-photo { - border: $icon-border-width solid currentColor; - border-radius: $border-radius; - &::before { - border: $icon-border-width solid currentColor; - border-radius: 50%; - height: .25em; - left: 35%; - top: 35%; - width: .25em; - } - &::after { - border: $icon-border-width solid currentColor; - border-bottom: 0; - border-left: 0; - height: .5em; - left: 60%; - transform: translate(-50%, 25%) rotate(-45deg); - width: .5em; - } -} - -// Icon link -.icon-link { - &::before, - &::after { - border: $icon-border-width solid currentColor; - border-radius: 5em 0 0 5em; - border-right: 0; - height: .5em; - width: .75em; - } - &::before { - transform: translate(-70%, -45%) rotate(-45deg); - } - &::after { - transform: translate(-30%, -55%) rotate(135deg); - } -} - -// Icon location -.icon-location { - &::before { - border: $icon-border-width solid currentColor; - border-radius: 50% 50% 50% 0; - height: .8em; - transform: translate(-50%, -60%) rotate(-45deg); - width: .8em; - } - &::after { - border: $icon-border-width solid currentColor; - border-radius: 50%; - height: .2em; - transform: translate(-50%, -80%); - width: .2em; - } -} - -// Icon emoji -.icon-emoji { - border: $icon-border-width solid currentColor; - border-radius: 50%; - &::before { - border-radius: 50%; - box-shadow: -.17em -.1em, .17em -.1em; - height: .15em; - width: .15em; - } - &::after { - border: $icon-border-width solid currentColor; - border-bottom-color: transparent; - border-radius: 50%; - border-right-color: transparent; - height: .5em; - transform: translate(-50%, -40%) rotate(-135deg); - width: .5em; - } -} diff --git a/themes/learn4/scss/spectre/mixins/_avatar.scss b/themes/learn4/scss/spectre/mixins/_avatar.scss deleted file mode 100644 index 14617adb..00000000 --- a/themes/learn4/scss/spectre/mixins/_avatar.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Avatar mixin -@mixin avatar-base($size: $unit-8) { - font-size: $size / 2; - height: $size; - width: $size; -} diff --git a/themes/learn4/scss/spectre/mixins/_button.scss b/themes/learn4/scss/spectre/mixins/_button.scss deleted file mode 100644 index c90a94bd..00000000 --- a/themes/learn4/scss/spectre/mixins/_button.scss +++ /dev/null @@ -1,54 +0,0 @@ -// Button variant mixin -@mixin button-variant($color: $primary-color) { - background: $color; - border-color: darken($color, 3%); - color: $light-color; - &:focus { - @include control-shadow($color); - } - &:focus, - &:hover { - background: darken($color, 2%); - border-color: darken($color, 5%); - color: $light-color; - } - &:active, - &.active { - background: darken($color, 7%); - border-color: darken($color, 10%); - color: $light-color; - } - &.loading { - &::after { - border-bottom-color: $light-color; - border-left-color: $light-color; - } - } -} - -@mixin button-outline-variant($color: $primary-color) { - background: $light-color; - border-color: $color; - color: $color; - &:focus { - @include control-shadow($color); - } - &:focus, - &:hover { - background: lighten($color, 50%); - border-color: darken($color, 2%); - color: $color; - } - &:active, - &.active { - background: $color; - border-color: darken($color, 5%); - color: $light-color; - } - &.loading { - &::after { - border-bottom-color: $color; - border-left-color: $color; - } - } -} diff --git a/themes/learn4/scss/spectre/mixins/_clearfix.scss b/themes/learn4/scss/spectre/mixins/_clearfix.scss deleted file mode 100644 index db6895f9..00000000 --- a/themes/learn4/scss/spectre/mixins/_clearfix.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Clearfix mixin -@mixin clearfix() { - &::after { - clear: both; - content: ""; - display: table; - } -} diff --git a/themes/learn4/scss/spectre/mixins/_color.scss b/themes/learn4/scss/spectre/mixins/_color.scss deleted file mode 100644 index 697d0c37..00000000 --- a/themes/learn4/scss/spectre/mixins/_color.scss +++ /dev/null @@ -1,27 +0,0 @@ -// Background color utility mixin -@mixin bg-color-variant($name: ".bg-primary", $color: $primary-color) { - #{$name} { - background: $color !important; - - @if (lightness($color) < 60) { - color: $light-color; - } - } -} - -// Text color utility mixin -@mixin text-color-variant($name: ".text-primary", $color: $primary-color) { - #{$name} { - color: $color !important; - } - - a#{$name} { - &:focus, - &:hover { - color: darken($color, 5%); - } - &:visited { - color: lighten($color, 5%); - } - } -} diff --git a/themes/learn4/scss/spectre/mixins/_label.scss b/themes/learn4/scss/spectre/mixins/_label.scss deleted file mode 100644 index 1574f026..00000000 --- a/themes/learn4/scss/spectre/mixins/_label.scss +++ /dev/null @@ -1,11 +0,0 @@ -// Label base style -@mixin label-base() { - border-radius: $border-radius; - line-height: 1.25; - padding: .1rem .2rem; -} - -@mixin label-variant($color: $light-color, $bg-color: $primary-color) { - background: $bg-color; - color: $color; -} diff --git a/themes/learn4/scss/spectre/mixins/_position.scss b/themes/learn4/scss/spectre/mixins/_position.scss deleted file mode 100644 index 98b5cfc0..00000000 --- a/themes/learn4/scss/spectre/mixins/_position.scss +++ /dev/null @@ -1,65 +0,0 @@ -// Margin utility mixin -@mixin margin-variant($id: 1, $size: $unit-1) { - .m-#{$id} { - margin: $size !important; - } - - .mb-#{$id} { - margin-bottom: $size !important; - } - - .ml-#{$id} { - margin-left: $size !important; - } - - .mr-#{$id} { - margin-right: $size !important; - } - - .mt-#{$id} { - margin-top: $size !important; - } - - .mx-#{$id} { - margin-left: $size !important; - margin-right: $size !important; - } - - .my-#{$id} { - margin-bottom: $size !important; - margin-top: $size !important; - } -} - -// Padding utility mixin -@mixin padding-variant($id: 1, $size: $unit-1) { - .p-#{$id} { - padding: $size !important; - } - - .pb-#{$id} { - padding-bottom: $size !important; - } - - .pl-#{$id} { - padding-left: $size !important; - } - - .pr-#{$id} { - padding-right: $size !important; - } - - .pt-#{$id} { - padding-top: $size !important; - } - - .px-#{$id} { - padding-left: $size !important; - padding-right: $size !important; - } - - .py-#{$id} { - padding-bottom: $size !important; - padding-top: $size !important; - } -} diff --git a/themes/learn4/scss/spectre/mixins/_shadow.scss b/themes/learn4/scss/spectre/mixins/_shadow.scss deleted file mode 100644 index 79844491..00000000 --- a/themes/learn4/scss/spectre/mixins/_shadow.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Component focus shadow -@mixin control-shadow($color: $primary-color) { - box-shadow: 0 0 0 .1rem rgba($color, .2); -} - -// Shadow mixin -@mixin shadow-variant($offset) { - box-shadow: 0 $offset ($offset + .05rem) * 2 rgba($dark-color, .3); -} diff --git a/themes/learn4/scss/spectre/mixins/_text.scss b/themes/learn4/scss/spectre/mixins/_text.scss deleted file mode 100644 index 97dc99d0..00000000 --- a/themes/learn4/scss/spectre/mixins/_text.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Text Ellipsis -@mixin text-ellipsis() { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/themes/learn4/scss/spectre/mixins/_toast.scss b/themes/learn4/scss/spectre/mixins/_toast.scss deleted file mode 100644 index fa2bb13d..00000000 --- a/themes/learn4/scss/spectre/mixins/_toast.scss +++ /dev/null @@ -1,5 +0,0 @@ -// Toast variant mixin -@mixin toast-variant($color: $dark-color) { - background: rgba($color, .95); - border-color: $color; -} diff --git a/themes/learn4/scss/spectre/spectre-exp.scss b/themes/learn4/scss/spectre/spectre-exp.scss deleted file mode 100644 index 33ed3fe3..00000000 --- a/themes/learn4/scss/spectre/spectre-exp.scss +++ /dev/null @@ -1,18 +0,0 @@ -// Variables and mixins -@import "variables"; -@import "mixins"; - -/*! Spectre.css Experimentals v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Experimentals -@import "autocomplete"; -@import "calendars"; -@import "carousels"; -@import "comparison-sliders"; -@import "filters"; -@import "meters"; -@import "off-canvas"; -@import "parallax"; -@import "progress"; -@import "sliders"; -@import "timelines"; -@import "viewer-360"; diff --git a/themes/learn4/scss/spectre/spectre-icons.scss b/themes/learn4/scss/spectre/spectre-icons.scss deleted file mode 100644 index 383624e8..00000000 --- a/themes/learn4/scss/spectre/spectre-icons.scss +++ /dev/null @@ -1,10 +0,0 @@ -// Variables and mixins -@import "variables"; -@import "mixins"; - -/*! Spectre.css Icons v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Icons -@import "icons/icons-core"; -@import "icons/icons-navigation"; -@import "icons/icons-action"; -@import "icons/icons-object"; diff --git a/themes/learn4/scss/spectre/spectre.scss b/themes/learn4/scss/spectre/spectre.scss deleted file mode 100644 index cff1fde0..00000000 --- a/themes/learn4/scss/spectre/spectre.scss +++ /dev/null @@ -1,49 +0,0 @@ -// Variables and mixins -@import "variables"; -@import "mixins"; - -/*! Spectre.css v#{$version} | MIT License | github.com/picturepan2/spectre */ -// Reset and dependencies -@import "normalize"; -@import "base"; - -// Elements -@import "typography"; -@import "asian"; -@import "tables"; -@import "buttons"; -@import "forms"; -@import "labels"; -@import "codes"; -@import "media"; - -// Layout -@import "layout"; -@import "hero"; -@import "navbar"; - -// Components -@import "accordions"; -@import "avatars"; -@import "badges"; -@import "breadcrumbs"; -@import "bars"; -@import "cards"; -@import "chips"; -@import "dropdowns"; -@import "empty"; -@import "menus"; -@import "modals"; -@import "navs"; -@import "pagination"; -@import "panels"; -@import "popovers"; -@import "steps"; -@import "tabs"; -@import "tiles"; -@import "toasts"; -@import "tooltips"; - -// Utility classes -@import "animations"; -@import "utilities"; diff --git a/themes/learn4/scss/spectre/utilities/_colors.scss b/themes/learn4/scss/spectre/utilities/_colors.scss deleted file mode 100644 index 28dd2218..00000000 --- a/themes/learn4/scss/spectre/utilities/_colors.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Text colors -@include text-color-variant(".text-primary", $primary-color); - -@include text-color-variant(".text-secondary", $secondary-color-dark); - -@include text-color-variant(".text-gray", $gray-color); - -@include text-color-variant(".text-light", $light-color); - -@include text-color-variant(".text-dark", $body-font-color); - -@include text-color-variant(".text-success", $success-color); - -@include text-color-variant(".text-warning", $warning-color); - -@include text-color-variant(".text-error", $error-color); - -// Background colors -@include bg-color-variant(".bg-primary", $primary-color); - -@include bg-color-variant(".bg-secondary", $secondary-color); - -@include bg-color-variant(".bg-dark", $dark-color); - -@include bg-color-variant(".bg-gray", $bg-color); - -@include bg-color-variant(".bg-success", $success-color); - -@include bg-color-variant(".bg-warning", $warning-color); - -@include bg-color-variant(".bg-error", $error-color); diff --git a/themes/learn4/scss/spectre/utilities/_cursors.scss b/themes/learn4/scss/spectre/utilities/_cursors.scss deleted file mode 100644 index bd755c80..00000000 --- a/themes/learn4/scss/spectre/utilities/_cursors.scss +++ /dev/null @@ -1,24 +0,0 @@ -// Cursors -.c-hand { - cursor: pointer; -} - -.c-move { - cursor: move; -} - -.c-zoom-in { - cursor: zoom-in; -} - -.c-zoom-out { - cursor: zoom-out; -} - -.c-not-allowed { - cursor: not-allowed; -} - -.c-auto { - cursor: auto; -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/utilities/_display.scss b/themes/learn4/scss/spectre/utilities/_display.scss deleted file mode 100644 index c6248e07..00000000 --- a/themes/learn4/scss/spectre/utilities/_display.scss +++ /dev/null @@ -1,44 +0,0 @@ -// Display -.d-block { - display: block; -} -.d-inline { - display: inline; -} -.d-inline-block { - display: inline-block; -} -.d-flex { - display: flex; -} -.d-inline-flex { - display: inline-flex; -} -.d-none, -.d-hide { - display: none !important; -} -.d-visible { - visibility: visible; -} -.d-invisible { - visibility: hidden; -} -.text-hide { - background: transparent; - border: 0; - color: transparent; - font-size: 0; - line-height: 0; - text-shadow: none; -} -.text-assistive { - border: 0; - clip: rect(0,0,0,0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} diff --git a/themes/learn4/scss/spectre/utilities/_divider.scss b/themes/learn4/scss/spectre/utilities/_divider.scss deleted file mode 100644 index e6c09d2f..00000000 --- a/themes/learn4/scss/spectre/utilities/_divider.scss +++ /dev/null @@ -1,50 +0,0 @@ -// Divider -.divider, -.divider-vert { - display: block; - position: relative; - - &[data-content]::after { - background: $bg-color-light; - color: $gray-color; - content: attr(data-content); - display: inline-block; - font-size: $font-size-sm; - padding: 0 $unit-2; - transform: translateY(-$font-size-sm + $border-width); - } -} - -.divider { - border-top: $border-width solid $border-color-light; - height: $border-width; - margin: $unit-2 0; - - &[data-content] { - margin: $unit-4 0; - } -} - -.divider-vert { - display: block; - padding: $unit-4; - - &::before { - border-left: $border-width solid $border-color; - bottom: $unit-2; - content: ""; - display: block; - left: 50%; - position: absolute; - top: $unit-2; - transform: translateX(-50%); - } - - &[data-content]::after { - left: 50%; - padding: $unit-1 0; - position: absolute; - top: 50%; - transform: translate(-50%, -50%); - } -} diff --git a/themes/learn4/scss/spectre/utilities/_loading.scss b/themes/learn4/scss/spectre/utilities/_loading.scss deleted file mode 100644 index 1b4ea609..00000000 --- a/themes/learn4/scss/spectre/utilities/_loading.scss +++ /dev/null @@ -1,34 +0,0 @@ -// Loading -.loading { - color: transparent !important; - min-height: $unit-4; - pointer-events: none; - position: relative; - &::after { - animation: loading 500ms infinite linear; - border: $border-width-lg solid $primary-color; - border-radius: 50%; - border-right-color: transparent; - border-top-color: transparent; - content: ""; - display: block; - height: $unit-4; - left: 50%; - margin-left: -$unit-2; - margin-top: -$unit-2; - position: absolute; - top: 50%; - width: $unit-4; - z-index: $zindex-0; - } - - &.loading-lg { - min-height: $unit-10; - &::after { - height: $unit-8; - margin-left: -$unit-4; - margin-top: -$unit-4; - width: $unit-8; - } - } -} diff --git a/themes/learn4/scss/spectre/utilities/_position.scss b/themes/learn4/scss/spectre/utilities/_position.scss deleted file mode 100644 index c1a7f756..00000000 --- a/themes/learn4/scss/spectre/utilities/_position.scss +++ /dev/null @@ -1,54 +0,0 @@ -// Position -.clearfix { - @include clearfix(); -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.p-relative { - position: relative !important; -} - -.p-absolute { - position: absolute !important; -} - -.p-fixed { - position: fixed !important; -} - -.p-sticky { - position: sticky !important; -} - -.p-centered { - display: block; - float: none; - margin-left: auto; - margin-right: auto; -} - -.flex-centered { - align-items: center; - display: flex; - justify-content: center; -} - -// Spacing -@include margin-variant(0, 0); - -@include margin-variant(1, $unit-1); - -@include margin-variant(2, $unit-2); - -@include padding-variant(0, 0); - -@include padding-variant(1, $unit-1); - -@include padding-variant(2, $unit-2); diff --git a/themes/learn4/scss/spectre/utilities/_shapes.scss b/themes/learn4/scss/spectre/utilities/_shapes.scss deleted file mode 100644 index 23e131e9..00000000 --- a/themes/learn4/scss/spectre/utilities/_shapes.scss +++ /dev/null @@ -1,8 +0,0 @@ -// Shapes -.s-rounded { - border-radius: $border-radius; -} - -.s-circle { - border-radius: 50%; -} \ No newline at end of file diff --git a/themes/learn4/scss/spectre/utilities/_text.scss b/themes/learn4/scss/spectre/utilities/_text.scss deleted file mode 100644 index 67793ac2..00000000 --- a/themes/learn4/scss/spectre/utilities/_text.scss +++ /dev/null @@ -1,64 +0,0 @@ -// Text -// Text alignment utilities -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-center { - text-align: center; -} - -.text-justify { - text-align: justify; -} - -// Text transform utilities -.text-lowercase { - text-transform: lowercase; -} - -.text-uppercase { - text-transform: uppercase; -} - -.text-capitalize { - text-transform: capitalize; -} - -// Text style utilities -.text-normal { - font-weight: normal; -} - -.text-bold { - font-weight: bold; -} - -.text-italic { - font-style: italic; -} - -.text-large { - font-size: 1.2em; -} - -// Text overflow utilities -.text-ellipsis { - @include text-ellipsis(); -} - -.text-clip { - overflow: hidden; - text-overflow: clip; - white-space: nowrap; -} - -.text-break { - hyphens: auto; - word-break: break-word; - word-wrap: break-word; -} diff --git a/themes/learn4/scss/theme.scss b/themes/learn4/scss/theme.scss deleted file mode 100644 index 6cda4bc8..00000000 --- a/themes/learn4/scss/theme.scss +++ /dev/null @@ -1,17 +0,0 @@ -// Core variables and mixins -@import 'theme/variables'; -@import 'spectre/variables'; -@import 'spectre/mixins'; - -@import 'theme/mixins'; -@import 'theme/offcanvas'; -@import 'theme/fonts'; -@import 'theme/topbar'; -@import 'theme/body'; -@import 'theme/typography'; -@import 'theme/lifecycle'; -@import 'theme/forms'; -@import 'theme/animation'; -@import 'theme/simplebar'; - - diff --git a/themes/learn4/scss/theme/_animation.scss b/themes/learn4/scss/theme/_animation.scss deleted file mode 100644 index 38092825..00000000 --- a/themes/learn4/scss/theme/_animation.scss +++ /dev/null @@ -1,23 +0,0 @@ -.default-animation { - transition: all 0.5s ease; -} - -// Pulse Animation -.pulse { - animation-name: pulse_animation; - animation-duration: 2000ms; - transform-origin:70% 70%; - animation-iteration-count: infinite; - animation-timing-function: linear; -} - -@keyframes pulse_animation { - 0% { transform: scale(1); } - 30% { transform: scale(1); } - 40% { transform: scale(1.08); } - 50% { transform: scale(1); } - 60% { transform: scale(1); } - 70% { transform: scale(1.05); } - 80% { transform: scale(1); } - 100% { transform: scale(1); } -} diff --git a/themes/learn4/scss/theme/_body.scss b/themes/learn4/scss/theme/_body.scss deleted file mode 100644 index 14496017..00000000 --- a/themes/learn4/scss/theme/_body.scss +++ /dev/null @@ -1,113 +0,0 @@ -.center-content { - #start { - flex: 1; - display: flex; - flex-direction: column; - justify-content: center; - } -} -.learn-content { - position: relative; - display: flex; - min-height: 100vh; - flex-direction: column; - - #start { - padding: 2rem 3rem; - - @include breakpoint(xl) { - padding: 2rem 2rem; - } - - @include breakpoint(lg) { - padding: 2rem 1rem; - } - } -} - -#footer { - border-top: 1px solid $gray-color-light; - margin-top: 1rem; - text-align: center; - p { - margin: 1rem 0; - } -} - -.page-toc { - float: right; - width: 250px; - padding: 0.5rem 0.75rem; - background: darken($bg-color, 2%); - margin-left: 1.5rem; - margin-right: 0; - margin-bottom: 1rem; - margin-top: 10px; - font-size: 0.7rem; - overflow: hidden; - - @include breakpoint(sm) { - float: none; - width: 100%; - margin-top: 0.5rem; - margin-left: 0; - margin-bottom: 0; - } - - .toc-toggle { - font-size: 1.2rem; - display: block; - float: right; - margin-top: -8px; - margin-right: -10px; - padding: 5px 10px; - line-height: 1; - color: lighten($body-font-color, 20%); - cursor: pointer; - } - - &.toc-closed { - height: 40px; - margin-bottom: 0.5rem; - - .toc-toggle .fa:before { - content: '\f107'; - } - } - - h5 { - margin: 0 0 1rem; - } - - ul { - margin-left: 1rem; - margin-bottom: 0; - } - - li { - margin-top: 0; - list-style: decimal; - color: lighten($body-font-color, 30%); - li { - list-style: decimal; - li { - list-style: square; - } - } - - } - - ul > li.first.last { - list-style: none; - margin: 0; - margin-left: -1rem; - } - - // Fix issue with notices going under TOC - & + #body-inner { - > .notices, > .code-toolbar { - overflow: hidden; - } - } - -} diff --git a/themes/learn4/scss/theme/_extensions.scss b/themes/learn4/scss/theme/_extensions.scss deleted file mode 100644 index 975daa27..00000000 --- a/themes/learn4/scss/theme/_extensions.scss +++ /dev/null @@ -1,7 +0,0 @@ -.search-input, [data-grav-field="array"] input, [data-grav-field="array"] textarea { - @extend .form-input; -} - -.button { - @extend .btn; -} diff --git a/themes/learn4/scss/theme/_fonts.scss b/themes/learn4/scss/theme/_fonts.scss deleted file mode 100644 index edc35275..00000000 --- a/themes/learn4/scss/theme/_fonts.scss +++ /dev/null @@ -1,28 +0,0 @@ -@font-face { - font-family: 'Metropolis'; - src: url('../fonts/metropolis-bold-webfont.woff2') format('woff2'), - url('../fonts/metropolis-bold-webfont.woff') format('woff'); - font-weight: 400; - font-style: normal; -} -@font-face { - font-family: 'Public Sans'; - src: url('../fonts/PublicSans-Light.woff2') format('woff2'), - url('../fonts/PublicSans-Light.woff') format('woff'); - font-weight: 300; - font-style: normal; -} -@font-face { - font-family: 'Public Sans'; - src: url('../fonts/PublicSans-SemiBold.woff2') format('woff2'), - url('../fonts/PublicSans-SemiBold.woff') format('woff'); - font-weight: 500; - font-style: normal; -} -@font-face { - font-family: 'Hack'; - src: url('../fonts/hack-regular-subset.woff2') format('woff2'), - url('../fonts/hack-regular-subset.woff') format('woff'); - font-weight: 400; - font-style: normal; -} \ No newline at end of file diff --git a/themes/learn4/scss/theme/_forms.scss b/themes/learn4/scss/theme/_forms.scss deleted file mode 100644 index f9a357f7..00000000 --- a/themes/learn4/scss/theme/_forms.scss +++ /dev/null @@ -1,77 +0,0 @@ -form { - .button-wrapper { - margin-top: 0.75rem; - margin-bottom: 1rem; - } - - span.required { - color: $error-color; - font-weight: 700; - font-size: 1.2rem; - } - - .form-input[type=range] { - appearance: slider-horizontal; - &:focus { - box-shadow: none; - border: none; - } - } - - /** Reset some defaults for Quark Theme **/ - .form-group:not(.form-field-toggleable) { - .checkboxes { - display: inherit; - - label { - display: inherit; - padding: (($control-size-sm - $line-height) / 2) $control-padding-x (($control-size-sm - $line-height) / 2) ($control-icon-size + $control-padding-x); - margin: inherit; - - &:before { - display: none; - } - } - } - } - -} - -#grav-login { - - > form { - margin: 2rem auto 0; - max-width: 350px; - } - .form-label { - display: none; - } - .form-data { - margin: 1rem 0; - } - .form-input { - text-align: center; - } - .button-wrapper { - text-align: right; - - .form-data.rememberme { - margin: 0; - float: left; - } - } - - .login-form { - button[type="submit"] { - @include button-primary; - } - } - - .twofa-form { - button[type="submit"]:first-child { - @include button-primary; - float: right; - margin-left: 4px; - } - } -} diff --git a/themes/learn4/scss/theme/_lifecycle.scss b/themes/learn4/scss/theme/_lifecycle.scss deleted file mode 100644 index 827ef207..00000000 --- a/themes/learn4/scss/theme/_lifecycle.scss +++ /dev/null @@ -1,79 +0,0 @@ -//Lifecycle -.lifecycle { - - #body-inner { - - .level { - position: relative; - - h3 { - font-size: 18px; - position: absolute; - margin: 0; - padding: 2px 10px 4px; - left: 0; - z-index: 1000; - color: #fff; - - } - - .level { - margin-top: 0.5rem; - margin-left: -1rem; - margin-right: 1rem; - margin-bottom: 0.5rem; - padding-bottom: 1rem; - } - - ol li { - padding-top: 0.1rem; - margin-top: 0.2rem; - } - - & > ol { - margin-top: 2rem; - } - - &.level-1 { - background: lighten($turquoise,56%); - border: 4px solid $turquoise; - color: $turquoise; - margin-bottom: 1rem; - - h3 { - background: $turquoise; - } - } - - &.level-2 { - background: lighten($emerald,49%); - border: 4px solid $emerald; - color: $emerald; - - h3 { - background: $emerald; - } - } - - &.level-3 { - background: lighten($peter-river,44%); - border: 4px solid $peter-river; - color: $peter-river; - - h3 { - background: $peter-river; - } - } - - &.level-4 { - background: lighten($wet-asphalt,63%); - border: 4px solid $wet-asphalt; - color: $wet-asphalt; - - h3 { - background: $wet-asphalt; - } - } - } - } -} \ No newline at end of file diff --git a/themes/learn4/scss/theme/_mixins.scss b/themes/learn4/scss/theme/_mixins.scss deleted file mode 100644 index 273a0a44..00000000 --- a/themes/learn4/scss/theme/_mixins.scss +++ /dev/null @@ -1,77 +0,0 @@ -@mixin breakpoint($point) { - @if $point == 2x { - @media (min-width:$size-2x) { - @content; - } - } @else if $point == xl { - @media (max-width: $size-xl) { - @content; - } - - } @else if $point == lg { - @media (max-width: $size-lg) { - @content; - } - } @else if $point == md { - @media (max-width: $size-md) { - @content; - } - } @else if $point == sm { - @media (max-width: $size-sm) { - @content; - } - } @else if $point == xs { - @media (max-width: $size-xs) { - @content; - } - } @else { - @warn "Breakpoint mixin supports: xs, sm, md, lg, xl, 2x"; - } -} - -@mixin vertical-align($position: relative) { - position: $position; - top: 50%; - transform: translateY(-50%); -} - -@mixin button-primary() { - background: $primary-color; - border-color: $primary-color-dark; - color: $light-color; - &:focus, - &:hover { - background: darken($primary-color-dark, 2%); - border-color: darken($primary-color-dark, 5%); - color: $light-color; - } - &:active, - &.active { - background: darken($primary-color-dark, 4%); - border-color: darken($primary-color-dark, 7%); - color: $light-color; - } -} - -@function strip-unit($value) { - @return $value / ($value * 0 + 1); -} - -@mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) { - $u1: unit($min-vw); - $u2: unit($max-vw); - $u3: unit($min-font-size); - $u4: unit($max-font-size); - - @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 { - & { - font-size: $min-font-size; - @media screen and (min-width: $min-vw) { - font-size: calc(#{$min-font-size} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)})); - } - @media screen and (min-width: $max-vw) { - font-size: $max-font-size; - } - } - } -} diff --git a/themes/learn4/scss/theme/_offcanvas.scss b/themes/learn4/scss/theme/_offcanvas.scss deleted file mode 100644 index 39318a46..00000000 --- a/themes/learn4/scss/theme/_offcanvas.scss +++ /dev/null @@ -1,300 +0,0 @@ -.off-canvas { - min-height: 100vh; - - .off-canvas-toggle { - position: fixed; - top: 0.3rem; - left: 0.3rem; - width: 1.6rem; - height: 1.6rem; - padding-top: .15rem; - z-index: 3; - font-size: 16px !important; - } - - .off-canvas-content { - padding: inherit; - } - - .off-canvas-overlay { - background: rgba($dark-color, .5); - } - - .learn-sidebar { - width: $sidebar-width; - color: rgba(#fff, 0.6); - overflow-y: inherit; - - &:before { - position: fixed; - content: ''; - height: 100vh; - width: $sidebar-width; - top: 0; - left: 0; - } - - a { - color: rgba(#fff, 0.8); - &:hover { - color: #fff; - } - } - - .padding { - padding-left: 1rem; - } - - hr { - border: 0; - border-bottom: 1px solid rgba(#fff, 0.1); - } - - .learn-brand { - position: fixed; - height: $sidebar-brand-height; - width: $sidebar-width; - top: 0; - //background: rgba(#000, 0.3); - //border-bottom: 1px solid rgba(#fff, 0.1); - padding: 10px 20px; - box-shadow: 0 10px 10px -10px rgba(#000, 0.3); - - #logo { - display: inline-block; - margin: 0 2.5rem 0.5rem; - - path { - fill: rgba(#fff, 0.8) !important; - } - - } - } - - .learn-nav { - top: $sidebar-brand-height; - bottom: 0; - width: $sidebar-width; - padding-bottom: 1rem; - position: fixed; - - .read-icon { - float: right; - margin-right: 12px; - margin-top: 5px; - display: none; - opacity: 0.8; - color: rgba(#fff, 0.6); - font-size: 12px; - } - - .visited > a > .read-icon { - display: inline; - } - - ul { - list-style: none; - margin-left: 1rem; - margin-top: .2rem; - - &.topics { - margin-top: 0; - > li:first-child { - margin-top: 0; - } - } - - a { - display: block; - padding-top: 0.1rem; - padding-bottom: 0.1rem; - } - - &.searched { - a { - color: rgba(#fff, 0.5); - } - - .search-match { - a { - color: rgba(#fff, 0.8); - &:hover { - color: rgba(#fff, 0.9); - } - } - } - } - - &.topics { - - &.searched { - ul { - display: block; - } - } - - - & > li { - margin-top: .3rem; - - &.active, &.parent { - background-color: rgba(#000, 0.2); - margin-left: -1rem; - padding-left: 1rem; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - - } - } - - - - } - - li, ol { - margin-top: .1rem; - } - - ul { - font-size: 0.75rem; - display: none; - margin-top: 0; - margin-bottom: 0; - - - } - - li { - &.active > a { - background-color: $primary-color; - color: #fff; - margin-left: -0.4rem; - padding-left: 0.4rem; - - } - - a > span > b { - font-weight: 300; - color: rgba(#fff, 0.6); - } - } - - .active ul, .parent ul { - display: block; - } - } - } - - .searchbox { - position: relative; - border: 1px solid rgba(#fff, 0.1); - background: rgba(#000, 0.1); - color: rgba(#fff, 0.6); - border-radius: 2px; - - ::placeholder { - color: rgba(#fff, 0.5); - } - - input { - border: 0; - background: transparent; - width: 100%; - padding: 4px 25px 4px 30px; - color: rgba(#fff, 0.8); - font-weight: 200; - font-size: 0.7rem; - - - } - - label { - position: absolute; - left: 8px; - top: 2px; - } - - span { - position: absolute; - right: 8px; - top: 2px; - cursor: pointer; - } - } - - .search-options { - margin-top: 10px; - - .adv-search { - font-size: 85%; - display: flex; - align-items: center; - padding-left: 0.6rem; - - i { - margin-right: 5px; - } - } - - .version-chooser select { - display: inline-block; - border: 1px solid rgba(#fff, 0.1); - background: rgba(#000, 0.1); - color: #fff; - border-radius: 2px; - font-size: .8rem; - font-weight: 700; - margin: 0; - letter-spacing: 1px; - } - } - - .side-tools { - font-size: 90%; - color: rgba(#fff, 0.5); - } - } -} - -/** Defaults (purple) **/ -.off-canvas .learn-sidebar:before { - background: linear-gradient(150deg, $wisteria 0, $deep-well 100%); -} - -/** Secondary (green) **/ -body.sidebar-green { - .off-canvas .learn-sidebar:before { - background: linear-gradient(150deg, $green-sea 0, $deep-well 100%); - } -} - -/** Tertiary (blue)**/ -body.sidebar-blue { - .off-canvas .learn-sidebar:before { - background: linear-gradient(150deg, $primary-color 0, $deep-well 100%); - } -} - -/** High Contrast **/ -body.sidebar-contrast { - - a { - //color: mix(#000, $link-color, 20%); - } - - .off-canvas .learn-sidebar { - a { - color: #fff; - } - - &:before { - background: linear-gradient(150deg, #3B4349 0, #1E2329 100%); - } - - .searchbox { - ::placeholder { - color: rgba(#fff, 0.7); - } - } - } -} \ No newline at end of file diff --git a/themes/learn4/scss/theme/_simplebar.scss b/themes/learn4/scss/theme/_simplebar.scss deleted file mode 100644 index b561d4ee..00000000 --- a/themes/learn4/scss/theme/_simplebar.scss +++ /dev/null @@ -1,194 +0,0 @@ -[data-simplebar] { - position: relative; - flex-direction: column; - flex-wrap: wrap; - justify-content: flex-start; - align-content: flex-start; - align-items: flex-start; - width: inherit; - height: inherit; - max-width: inherit; - max-height: inherit; -} - -.simplebar-wrapper { - overflow: hidden; - width: inherit; - height: inherit; - max-width: inherit; - max-height: inherit; -} - -.simplebar-mask { - direction: inherit; - position: absolute; - overflow: hidden; - padding: 0; - margin: 0; - left: 0; - top: 0; - bottom: 0; - right: 0; - width: auto !important; - height: auto !important; - z-index: 0; -} - -.simplebar-offset { - direction: inherit !important; - box-sizing: inherit !important; - resize: none !important; - position: absolute; - top: 0; - left: 0; - bottom: 0; - right: 0; - padding: 0; - margin: 0; - -webkit-overflow-scrolling: touch; -} - -.simplebar-content-wrapper { - direction: inherit; - box-sizing: border-box !important; - position: relative; - display: block; - height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */ - width: auto; - visibility: visible; - overflow: auto; /* Scroll on this element otherwise element can't have a padding applied properly */ - max-width: 100%; /* Not required for horizontal scroll to trigger */ - max-height: 100%; /* Needed for vertical scroll to trigger */ -} - -.simplebar-content:before, -.simplebar-content:after { - content: " "; - display: table; -} - -.simplebar-placeholder { - max-height: 100%; - max-width: 100%; - width: 100%; - pointer-events: none; -} - -.simplebar-height-auto-observer-wrapper { - box-sizing: inherit !important; - height: 100%; - width: inherit; - max-width: 1px; - position: relative; - float: left; - max-height: 1px; - overflow: hidden; - z-index: -1; - padding: 0; - margin: 0; - pointer-events: none; - flex-grow: inherit; - flex-shrink: 0; - flex-basis: 0; -} - -.simplebar-height-auto-observer { - box-sizing: inherit; - display: block; - opacity: 0; - position: absolute; - top: 0; - left: 0; - height: 1000%; - width: 1000%; - min-height: 1px; - min-width: 1px; - overflow: hidden; - pointer-events: none; - z-index: -1; -} - -.simplebar-track { - z-index: 1; - position: absolute; - right: 0; - bottom: 0; - pointer-events: none; - overflow: hidden; -} - -[data-simplebar].simplebar-dragging .simplebar-track { - pointer-events: all; -} - -.simplebar-scrollbar { - position: absolute; - right: 2px; - width: 7px; - min-height: 10px; -} - -.simplebar-scrollbar:before { - position: absolute; - content: ""; - background: rgba(#fff, 0.5); - border-radius: 7px; - left: 0; - right: 0; - opacity: 0; - transition: opacity 0.2s linear; -} - -.simplebar-track .simplebar-scrollbar.simplebar-visible:before { - /* When hovered, remove all transitions from drag handle */ - opacity: 0.5; - transition: opacity 0s linear; -} - -.simplebar-track.simplebar-vertical { - top: 0; - width: 11px; -} - -.simplebar-track.simplebar-vertical .simplebar-scrollbar:before { - top: 2px; - bottom: 2px; -} - -.simplebar-track.simplebar-horizontal { - left: 0; - height: 11px; -} - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before { - height: 100%; - left: 2px; - right: 2px; -} - -.simplebar-track.simplebar-horizontal .simplebar-scrollbar { - right: auto; - left: 0; - top: 2px; - height: 7px; - min-height: 0; - min-width: 10px; - width: auto; -} - -/* Rtl support */ -[data-simplebar-direction="rtl"] .simplebar-track.simplebar-vertical { - right: auto; - left: 0; -} - -.hs-dummy-scrollbar-size { - direction: rtl; - position: fixed; - opacity: 0; - visibility: hidden; - height: 500px; - width: 500px; - overflow-y: hidden; - overflow-x: scroll; -} diff --git a/themes/learn4/scss/theme/_topbar.scss b/themes/learn4/scss/theme/_topbar.scss deleted file mode 100644 index 1c60ac05..00000000 --- a/themes/learn4/scss/theme/_topbar.scss +++ /dev/null @@ -1,80 +0,0 @@ -#top-bar { - position: fixed; - display: flex; - background: $bg-color; - border-bottom: 1px solid darken($bg-color, 4%); - z-index: 2; - align-items: center; - - top: 0; - right: 0; - left: $sidebar-width; - - @include breakpoint(lg) { - left: 0; - } - - #breadcrumbs { - padding-left: 0.5rem; - line-height: 1; - height: auto; - width: 100%; - - @include breakpoint(sm) { - * { - display: none; - } - } - - > span, > a { - padding: 0 .5rem !important; - - span { - padding: 0 !important; - } - } - - @include breakpoint(lg) { - padding-left: 2rem; - } - - - } - - #navigation { - width: 400px; - display: flex; - - > a, span { - width: 50%; - text-align: center; - border-left: 1px solid darken($bg-color, 4%); - - font-size: 27px; - text-decoration: none; - transition: background-color 0.5s ease, color 0.5s ease; - - &.disabled { - color: lighten($body-font-color, 50%); - - } - } - - > a { - &:hover { - background: darken($bg-color, 4%); - color: $link-color-dark; - } - } - } - - .progress { - position: absolute; - bottom: -1px; - background: linear-gradient(to right, $primary-color var(--scroll), transparent 0); - background-repeat: no-repeat; - width: 100%; - height: 1px; - z-index: 1; - } -} \ No newline at end of file diff --git a/themes/learn4/scss/theme/_typography.scss b/themes/learn4/scss/theme/_typography.scss deleted file mode 100644 index 108dba83..00000000 --- a/themes/learn4/scss/theme/_typography.scss +++ /dev/null @@ -1,452 +0,0 @@ -html { - @include fluid-type($size-xs, $size-xl, $min-responsive-font-size, $html-font-size); -} - -body { - font-weight: 300; - letter-spacing: -0.015rem; - ::selection { - background: $selection-color; - } -} - -div { - min-width: 0; -} - -pre { - padding: 1em; -} - -mark { - padding: 0; -} - -// Header Overrides -h1, h2, h3, h4, h5, h6 { - font-family: $title-font-family; - letter-spacing: -0.05rem; - margin-top: 2rem; - color: darken($body-font-color, 10%); - line-height: 1; - font-weight: 500; -} - -h1 { - font-size: 2.5rem; - font-weight: 500; - - @include breakpoint(sm) { - font-size: 2rem; - } -} - -a { - @extend .default-animation; - - &:hover, &:focus, &:active, &.active { - color: $link-color-dark; - text-decoration: none; - } - - &:focus { - outline: none !important; - box-shadow: none !important; - } - - &:visited { - color: $link-color; - } -} - -// Tables -.table-keycol { - overflow: hidden; -} - -.table { - width: auto; -} - -table { - border-collapse: collapse; - border-spacing: 0; - width: 100%; - overflow-x: auto; - - margin-bottom: 1.5rem; - - @if $rtl == true { - text-align: right; - } @else { - text-align: left; - } - - tbody { - tr:nth-of-type(odd) { - background: $bg-color; - } - tr { - &.active { - background: $bg-color-dark; - } - } - } - - td, - th { - border-bottom: $border-width solid $border-color; - padding: $unit-3 $unit-2; - } - th { - border-bottom-width: $border-width-lg; - } - - .table-keycol & { - tr > td:first-child, tr > th:first-child { - white-space: nowrap; - width: 15%; - } - } -} - - -img, .video-container { - max-width: 100%; - margin: 3rem auto; - display: block; - text-align: center; - - - &.border { - border: 2px solid #e6e6e6 !important; - padding: 2px; - } - - &.shadow { - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); - } - -} - -hr { - border: 0; - border-top: 1px solid $border-color; -} - -ul, ol { - margin: 0 0 1.2rem 0; - - ul, ol { - margin: 0; - } - - ol { - list-style-type: decimal; - } - - li { - padding-top: 0; - } -} - -#chapter { - text-align: center; - max-width: 600px; - margin: 0 auto; - - h3 { - opacity: 0.7; - - & + h1 { - display: inline-block; - margin: 1rem auto 2rem; - border-bottom: 3px solid $gray-color-light; - - @include breakpoint(sm) { - font-size: 2.5rem; - } - } - } -} - -#body-inner { - - :target:before { - content: ""; - display: block; - margin-top: -60px; - height: 60px; - width: 1px; - } -} - -// Debug Code Blocks -pre.xdebug-var-dump { - background: #fafafa; - display: block; - padding: 1rem; - line-height: 1.5; - color: inherit; - border-radius: 2px; - overflow-x: auto; -} - -#body-inner { - - pre { - margin: 0.5rem 0; - ::selection { - background: $selection-color; - } - } - - code { - word-break: break-word; - } - - .code-toolbar { - margin: 0.5rem 0; - pre[class*="language-"] { - margin: 0; - } - } - - code[class*="language-"], pre[class*="language-"] { - font-family: $mono-font-family; - } - - pre[class*="language-"] { - font-size: .7rem; - code { - padding: initial; - font-size: .7rem; - } - } - - .no-margin-top { - margin-top: -1em; - .code-toolbar { - margin-top: 0; - > pre { - padding-top: 3px; - } - } - - } - - .no-margin-bottom .code-toolbar { - margin-bottom: 0; - } - - .line-highlight { - background: linear-gradient(to right, rgba($highlight-color, 0.3) 70%, rgba($highlight-color, 0)); - &:before { - background-color: darken($highlight-color, 30%); - //color: #999; - box-shadow: none; - top: 0.15rem; - } - } -} - -// Icon Tweaks -i.fa { - &.fa-heart, &.fa-heart-o { - &.pulse { - color: #920 - } - } -} - -// Font Weights -b, -strong { - font-weight: 500; -} - -.heavy { - font-weight: 700; -} - -.light { - font-weight: 200; -} - -// Error configuration -#error { - text-align: center; - position: relative; - margin-top: 5rem; - - .icon { - font-size: 50px; - } -} - -// Messages -#messages { - margin-bottom: 1rem; - - .icon { - font-size: 1rem; - } -} - -// Lists -ul, -ol { - margin-left: $unit-8; - - ul, - ol { - margin-left: $unit-8; - } -} - -ul { - list-style: disc outside; -} - -ol { - list-style: decimal outside; -} - -#navigation { - a.github-link { - font-size: inherit !important; - display: flex; - justify-content: center; - align-items: center; - padding: 0 1rem; - - i { - padding-right: 5px; - } - } -} - -// Tabs -$tabs-color: #767693; -$tabs-bg: #F8F9FA; -.tabs-wrapper { - - &.ui-theme-badges { - background: $tabs-bg; - border: 1px solid darken($tabs-bg, 2%); - border-radius: 0; - - .tabs-nav { - margin: 0.25rem; - - & > li { - margin-top: 0; - } - li { - a { - color: $tabs-color; - background: darken($tabs-bg, 6%); - border-radius: 0; - } - &.current { - a { - background: darken($tabs-bg, 40%); - color: #fff; - } - } - &:not(.current) { - a:hover { - background: darken($tabs-bg, 9%) - } - } - } - } - - .tabs { - .tab { - padding: 0.25rem 0; - - pre { - margin-top: 0.5rem !important; - margin-bottom: 0.5rem !important; - } - - - } - } - - } - -} - -// Notices -.notices { - margin: 1.5rem 0; - padding: 0.4rem; - - p { - margin: 0 0 1.5rem 0.5rem; - - &:last-child { - margin-bottom: 0; - } - } - - &.info { - border-left: 5px solid #f0ad4e; - background: #fcf8f2; - color: #df8a13; - } - - &.warning { - border-left: 5px solid #d9534f; - background: #fdf7f7; - color: #b52b27; - } - - &.note { - border-left: 5px solid #5bc0de; - background: #f4f8fa; - color: #28a1c5; - } - - &.tip { - border-left: 5px solid #5cb85c; - background: #f1f9f1; - color: #3d8b3d; - } - -} - - -// Wrap fixes -audio { - max-width: 100%; -} - -pre { - max-width: 100%; -} - -pre[class*="language-"]:not(.command-line) { - - &, &>code[class*="language-"] { - word-break: break-word; - white-space: pre-wrap; - } -} - -.tntsearch-results em { - @include label-variant($body-font-color, $highlight-color); - border-bottom: $unit-o solid darken($highlight-color, 15%); - border-radius: $border-radius; - padding: $unit-o $unit-h 0; -} - -//pre.command-line { -// &, & > code { -// word-break: initial; -// white-space: pre -// } -//} - diff --git a/themes/learn4/scss/theme/_variables.scss b/themes/learn4/scss/theme/_variables.scss deleted file mode 100644 index 5bd4f7cf..00000000 --- a/themes/learn4/scss/theme/_variables.scss +++ /dev/null @@ -1,48 +0,0 @@ -// Colors -$turquoise: #1ABC9C; -$green-sea: #16A085; -$emerald: #2ECC71; -$nephritis: #27AE60; -$peter-river: #3498DB; -$belize_hole: #2980B9; -$deep-well: #283A63; -$lavender: #7676f4; -$amethyst: #A66BBE; -$wisteria: #8E44AD; -$wet-asphalt: #34495E; -$midnight-blue: #2C3E50; -$sunflower: #F2CA27; -$orange: #F39C12; -$carrot: #E67E22; -$pumpkin: #D35400; -$alizarin: #E74C3C; -$pomegranate: #C0392B; -$clouds: #ECF0F1; -$silver: #BDC3C7; -$concrete: #95A5A6; -$asbestos: #7F8C8D; - -$primary-color: #1AA3ED !default; -$secondary-color: #38C5C7 !default; -$dark-color: #454d5d !default; -$body-font-color: darken($dark-color, 5%) !default; -$link-color: darken($primary-color, 5%) !default; -$gray-color: lighten($dark-color, 40%) !default; -$gray-color-dark: darken($gray-color, 25%) !default; -$border-color: lighten($dark-color, 60%) !default; -$bg-color: lighten($dark-color, 66%) !default; -$code-color: $lavender !default; -$selection-color: #ECECFE; - -// Sidebar -$sidebar-width: 14rem; -$sidebar-brand-height: 7rem; - -// Fonts -$base-font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto !default; -$fallback-font-family: "Helvetica Neue", sans-serif !default; -$body-font-family: "Public Sans", $fallback-font-family !default; -$title-font-family: "Metropolis", $fallback-font-family !default; -$mono-font-family: "Hack", monospace !default; -$font-size: .85rem !default; -$min-responsive-font-size: 18px; diff --git a/themes/learn4/templates/chapter.html.twig b/themes/learn4/templates/chapter.html.twig deleted file mode 100644 index 363ff03e..00000000 --- a/themes/learn4/templates/chapter.html.twig +++ /dev/null @@ -1,8 +0,0 @@ -{% set body_classes = 'center-content' %} -{% extends 'docs.html.twig' %} - -{% block content %} -
- {{ page.content|raw }} -
-{% endblock %} diff --git a/themes/learn4/templates/default.html.twig b/themes/learn4/templates/default.html.twig deleted file mode 100644 index 4f88349f..00000000 --- a/themes/learn4/templates/default.html.twig +++ /dev/null @@ -1,9 +0,0 @@ -{% embed 'partials/base.html.twig' with { github_link_position: false } %} - - {% block content %} - {% include 'partials/page.html.twig' %} - {% endblock %} - - {% block footer %}{% endblock %} - -{% endembed %} diff --git a/themes/learn4/templates/docs.html.twig b/themes/learn4/templates/docs.html.twig deleted file mode 100644 index 6c3a9d05..00000000 --- a/themes/learn4/templates/docs.html.twig +++ /dev/null @@ -1,17 +0,0 @@ -{% set body_classes = body_classes ~ ' ' ~ page.header.body_classes %} -{% extends 'partials/base.html.twig' %} - -{% set tags = page.taxonomy.tag %} -{% if tags %} - {% set progress = page.collection({'items':{'@taxonomy':{'category': 'docs', 'tag': tags}},'order': {'by': 'default', 'dir': 'asc'}}) %} -{% else %} - {% set progress = page.collection({'items':{'@taxonomy':{'category': 'docs'}},'order': {'by': 'default', 'dir': 'asc'}}) %} -{% endif %} - -{% block content %} - {% include 'partials/toc.html.twig' %} - - {% include 'partials/page.html.twig' %} - - {% include 'partials/github-note.html.twig' %} -{% endblock %} diff --git a/themes/learn4/templates/error.html.twig b/themes/learn4/templates/error.html.twig deleted file mode 100644 index 5ecf0aec..00000000 --- a/themes/learn4/templates/error.html.twig +++ /dev/null @@ -1,12 +0,0 @@ -{% extends 'partials/base.html.twig' %} - -{% block content %} -
-
-

{{ 'PLUGIN_ERROR.ERROR'|t }} {{ page.header.http_response_code }}

-

- {{ page.content|raw }} -

-
-
-{% endblock %} diff --git a/themes/learn4/templates/forms/fields/checkbox/checkbox.html.twig b/themes/learn4/templates/forms/fields/checkbox/checkbox.html.twig deleted file mode 100644 index ee60e717..00000000 --- a/themes/learn4/templates/forms/fields/checkbox/checkbox.html.twig +++ /dev/null @@ -1,32 +0,0 @@ -{% extends "forms/field.html.twig" %} - -{% block label %} -{% endblock %} - -{% block input %} - {% set id = field.id|default(field.name) ~ '-' ~ key %} -
- -
-{% endblock %} diff --git a/themes/learn4/templates/forms/fields/checkboxes/checkboxes.html.twig b/themes/learn4/templates/forms/fields/checkboxes/checkboxes.html.twig deleted file mode 100644 index 8674ab85..00000000 --- a/themes/learn4/templates/forms/fields/checkboxes/checkboxes.html.twig +++ /dev/null @@ -1,44 +0,0 @@ -{% extends "forms/field.html.twig" %} - -{% set originalValue = value %} -{% set value = (value is null ? field.default : value) %} -{% if field.use == 'keys' and field.default %} - {% set value = field.default|merge(value) %} -{% endif %} - -{% block global_attributes %} - {{ parent() }} - data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}" - data-grav-field-name="{{ (scope ~ field.name)|fieldName }}" -{% endblock %} - -{% block input %} - {% for key, text in field.options %} - - {% set id = field.id|default(field.name) ~ '-' ~ key %} - {% set name = field.use == 'keys' ? key : id %} - {% set val = field.use == 'keys' ? '1' : key %} - {% set checked = (field.use == 'keys' ? value[key] : key in value) %} - {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %} - -
- -
- {% endfor %} -{% endblock %} diff --git a/themes/learn4/templates/forms/fields/radio/radio.html.twig b/themes/learn4/templates/forms/fields/radio/radio.html.twig deleted file mode 100644 index 5698f364..00000000 --- a/themes/learn4/templates/forms/fields/radio/radio.html.twig +++ /dev/null @@ -1,26 +0,0 @@ -{% extends "forms/field.html.twig" %} - -{% set originalValue = value %} -{% set value = (value is null ? field.default : value) %} - -{% block input %} - {% for key, text in field.options %} - {% set id = field.id|default(field.name) ~ '-' ~ key %} - -
- -
- {% endfor %} -{% endblock %} diff --git a/themes/learn4/templates/forms/fields/switch/switch.html.twig b/themes/learn4/templates/forms/fields/switch/switch.html.twig deleted file mode 100644 index 24d5609d..00000000 --- a/themes/learn4/templates/forms/fields/switch/switch.html.twig +++ /dev/null @@ -1,3 +0,0 @@ -{% set form_field_checkbox_classes = 'form-switch' %} -{% extends "forms/fields/checkbox/checkbox.html.twig" %} - diff --git a/themes/learn4/templates/macros/macros.html.twig b/themes/learn4/templates/macros/macros.html.twig deleted file mode 100644 index b3823800..00000000 --- a/themes/learn4/templates/macros/macros.html.twig +++ /dev/null @@ -1,36 +0,0 @@ -{% macro loop(page, parent_loop) %} - {% import _self as macros %} - {% if parent_loop|length > 0 %} - {% set data_level = parent_loop %} - {% else %} - {% set data_level = 0 %} - {% endif %} - {% for p in page.children.visible %} - {% set parent_page = p.activeChild ? ' parent' : '' %} - {% set current_page = p.active ? ' active' : '' %} -
  • - - - {% if data_level == 0 %}{{ loop.index }}. {% endif %}{{ p.menu }} - - {% if p.children.count > 0 %} - - {% endif %} -
  • - {% endfor %} -{% endmacro %} - -{% macro version(p) %} - {% set parent_page = p.activeChild ? ' parent' : '' %} - {% set current_page = p.active ? ' active' : '' %} -
    - {% if p.activeChild or p.active %} - - {% else %} - - {% endif %} - {{ p.menu }} -
    -{% endmacro %} diff --git a/themes/learn4/templates/partials/base.html.twig b/themes/learn4/templates/partials/base.html.twig deleted file mode 100644 index 913abe8e..00000000 --- a/themes/learn4/templates/partials/base.html.twig +++ /dev/null @@ -1,78 +0,0 @@ -{% set github_config = theme_var('github') %} -{% set grid_size = theme_var('grid-size') %} -{% set compress = theme_var('production-mode') ? '.min.css' : '.css' %} - - - -{% block head deferred %} - - {% if page.title %}{{ page.title|e('html') }} | {% endif %}{{ site.title|e('html') }} - - - - {% include 'partials/metadata.html.twig' %} - - - -{% endblock head %} - -{% block stylesheets %} - {% do assets.addCss('theme://css/fork-awesome.min.css') %} - {% do assets.addCss('theme://css-compiled/spectre'~compress) %} - {% do assets.addCss('theme://css-compiled/theme'~compress) %} -{% endblock %} - -{% block javascripts %} - {% do assets.addJs('jquery', 101) %} - {% do assets.addJs('theme://js/learn4.js', { group:'bottom' }) %} -{% endblock %} - -{% block assets deferred %} - {{ assets.css()|raw }} - {{ assets.js()|raw }} -{% endblock %} - - -
    - - - - - - - - - -
    - {% block topbar %} - {% include 'partials/topbar.html.twig' %} - {% endblock %} - -
    - {% block body %} -
    -
    - {% block messages %} - {% include 'partials/messages.html.twig' ignore missing %} - {% endblock %} - {% block content %}{% endblock %} -
    -
    - {% endblock %} -
    - - {% block footer %} - {% include 'partials/footer.html.twig' %} - {% endblock %} -
    -
    - - {% block bottom %} - - {{ assets.js('bottom')|raw }} - {% endblock %} - - diff --git a/themes/learn4/templates/partials/footer.html.twig b/themes/learn4/templates/partials/footer.html.twig deleted file mode 100644 index 1acce820..00000000 --- a/themes/learn4/templates/partials/footer.html.twig +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/themes/learn4/templates/partials/github-link.html.twig b/themes/learn4/templates/partials/github-link.html.twig deleted file mode 100644 index 699ddb71..00000000 --- a/themes/learn4/templates/partials/github-link.html.twig +++ /dev/null @@ -1 +0,0 @@ - {{ 'THEME_LEARN4_GITHUB_EDIT'|t }} diff --git a/themes/learn4/templates/partials/github-note.html.twig b/themes/learn4/templates/partials/github-note.html.twig deleted file mode 100644 index 7364992c..00000000 --- a/themes/learn4/templates/partials/github-note.html.twig +++ /dev/null @@ -1,6 +0,0 @@ -
    -

    - {{ 'THEME_LEARN4_GITHUB_NOTE'|t|raw }} -

    -
    - diff --git a/themes/learn4/templates/partials/logo.html.twig b/themes/learn4/templates/partials/logo.html.twig deleted file mode 100644 index b2ecb71c..00000000 --- a/themes/learn4/templates/partials/logo.html.twig +++ /dev/null @@ -1 +0,0 @@ - diff --git a/themes/learn4/templates/partials/messages.html.twig b/themes/learn4/templates/partials/messages.html.twig deleted file mode 100644 index 662333d0..00000000 --- a/themes/learn4/templates/partials/messages.html.twig +++ /dev/null @@ -1,17 +0,0 @@ -{% set type_mapping = {'info':'success', 'error': 'error', 'warning': 'warning'} %} -{% set icon_mapping = {'info':'checkmark', 'error':'wrong', 'warning':'information'} %} - -{% if grav.messages.all %} -
    - {% for message in grav.messages.fetch %} - - {% set scope = message.scope|e %} - {% set type = type_mapping[scope] %} - {% set icon = icon_mapping[scope] %} - -
    - {{ message.message|raw }} -
    - {% endfor %} -
    -{% endif %} \ No newline at end of file diff --git a/themes/learn4/templates/partials/page.html.twig b/themes/learn4/templates/partials/page.html.twig deleted file mode 100644 index 641e1933..00000000 --- a/themes/learn4/templates/partials/page.html.twig +++ /dev/null @@ -1,6 +0,0 @@ -
    -

    {{ page.title }}

    -

    - {{ page.content|raw }} -

    -
    diff --git a/themes/learn4/templates/partials/sidebar.html.twig b/themes/learn4/templates/partials/sidebar.html.twig deleted file mode 100644 index 4887f7d7..00000000 --- a/themes/learn4/templates/partials/sidebar.html.twig +++ /dev/null @@ -1,42 +0,0 @@ -{% import 'macros/macros.html.twig' as macros %} - -
    - -
    -
    -
    - {% if theme_config.top_level_version %} - {% for slug, ver in pages.children %} - {{ macros.version(ver) }} -
      - {{ macros.loop(ver, '') }} -
    - {% endfor %} - {% else %} -
      - {% if theme_config.root_page %} - {{ macros.loop(page.find(theme_config.root_page), '') }} - {% else %} - {{ macros.loop(pages, '') }} - {% endif %} -
    - {% endif %} -
    - - - {{ 'THEME_LEARN4_CLEAR_HISTORY'|t }} -
    -
    -
    diff --git a/themes/learn4/templates/partials/toc.html.twig b/themes/learn4/templates/partials/toc.html.twig deleted file mode 100644 index c5687d57..00000000 --- a/themes/learn4/templates/partials/toc.html.twig +++ /dev/null @@ -1,10 +0,0 @@ -{% if config.get('plugins.page-toc.active') or attribute(page.header, 'page-toc').active %} -
    - {% set table_of_contents = toc(page.content) %} - {% if table_of_contents is not empty %} - -
    Quick Menu
    - {{ table_of_contents|raw }} - {% endif %} -
    -{% endif %} \ No newline at end of file diff --git a/themes/learn4/templates/partials/topbar.html.twig b/themes/learn4/templates/partials/topbar.html.twig deleted file mode 100644 index 505b024f..00000000 --- a/themes/learn4/templates/partials/topbar.html.twig +++ /dev/null @@ -1,30 +0,0 @@ -
    - {% if github_link_position == 'top' %} - - {% endif %} - - {% if config.plugins.breadcrumbs.enabled %} - {% include 'partials/breadcrumbs.html.twig' %} - {% endif %} - - -
    -
    - - diff --git a/themes/learn4/templates/partials/versions.html.twig b/themes/learn4/templates/partials/versions.html.twig deleted file mode 100644 index 79fd4169..00000000 --- a/themes/learn4/templates/partials/versions.html.twig +++ /dev/null @@ -1,18 +0,0 @@ -
    - -
    - diff --git a/themes/learn4/templates/search.html.twig b/themes/learn4/templates/search.html.twig deleted file mode 100644 index 50ef211d..00000000 --- a/themes/learn4/templates/search.html.twig +++ /dev/null @@ -1,10 +0,0 @@ -{% extends 'partials/base.html.twig' %} - -{% block content %} - {{ page.content|raw }} - - {% include 'partials/tntsearch.html.twig' with { in_page: true, placeholder: "Search the Grav documentation..." }%} -{% endblock %} - - - diff --git a/themes/learn4/thumbnail.jpg b/themes/learn4/thumbnail.jpg deleted file mode 100644 index ce4e0ed3..00000000 Binary files a/themes/learn4/thumbnail.jpg and /dev/null differ diff --git a/themes/learn4/webpack.conf.js b/themes/learn4/webpack.conf.js deleted file mode 100644 index 09292077..00000000 --- a/themes/learn4/webpack.conf.js +++ /dev/null @@ -1,64 +0,0 @@ -var webpack = require('webpack'), - path = require('path'), - UglifyJsPlugin = require('uglifyjs-webpack-plugin'), - isProd = process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'production-wip'; - -module.exports = { - entry: { - learn4: './app/main.js' - }, - devtool: isProd ? false : 'eval-source-map', - target: 'web', - output: { - path: path.resolve(__dirname, 'js'), - filename: '[name].js', - chunkFilename: 'vendor.js' - }, - optimization: { - minimize: isProd, - minimizer: [ - new UglifyJsPlugin({ - uglifyOptions: { - compress: { - drop_console: true - }, - dead_code: true - } - }) - ], - splitChunks: { - cacheGroups: { - vendors: { - test: /[\\/]node_modules[\\/]/, - priority: 1, - name: 'vendor', - enforce: true, - chunks: 'all' - } - } - } - }, - plugins: [ - new webpack.ProvidePlugin({ - 'fetch': 'imports-loader?this=>global!exports-loader?global.fetch!whatwg-fetch' - }) - ], - externals: { - jquery: 'jQuery' - }, - module: { - rules: [ - { enforce: 'pre', test: /\.json$/, loader: 'json-loader' }, - { enforce: 'pre', test: /\.js$/, loader: 'eslint-loader', exclude: /node_modules/ }, - { test: /\.css$/, loader: 'style-loader!css-loader' }, - { - test: /\.js$/, - loader: 'babel-loader', - exclude: /node_modules/, - query: { - presets: ['es2015', 'stage-3'] - } - } - ] - } -}; diff --git a/themes/learn4/yarn.lock b/themes/learn4/yarn.lock deleted file mode 100644 index 184c80b2..00000000 --- a/themes/learn4/yarn.lock +++ /dev/null @@ -1,6540 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" - integrity sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g== - dependencies: - "@babel/highlight" "7.0.0-beta.44" - -"@babel/code-frame@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/generator@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" - integrity sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ== - dependencies: - "@babel/types" "7.0.0-beta.44" - jsesc "^2.5.1" - lodash "^4.2.0" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/helper-function-name@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" - integrity sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg== - dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.44" - "@babel/template" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - -"@babel/helper-get-function-arity@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" - integrity sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw== - dependencies: - "@babel/types" "7.0.0-beta.44" - -"@babel/helper-split-export-declaration@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" - integrity sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA== - dependencies: - "@babel/types" "7.0.0-beta.44" - -"@babel/highlight@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" - integrity sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -"@babel/highlight@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/template@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" - integrity sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng== - dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" - lodash "^4.2.0" - -"@babel/traverse@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" - integrity sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA== - dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/generator" "7.0.0-beta.44" - "@babel/helper-function-name" "7.0.0-beta.44" - "@babel/helper-split-export-declaration" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" - debug "^3.1.0" - globals "^11.1.0" - invariant "^2.2.0" - lodash "^4.2.0" - -"@babel/types@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" - integrity sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ== - dependencies: - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^2.0.0" - -"@gulp-sourcemaps/identity-map@1.X": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.1.tgz#cfa23bc5840f9104ce32a65e74db7e7a974bbee1" - dependencies: - acorn "^5.0.3" - css "^2.2.1" - normalize-path "^2.1.1" - source-map "^0.5.6" - through2 "^2.0.3" - -"@gulp-sourcemaps/map-sources@1.X": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda" - dependencies: - normalize-path "^2.0.1" - through2 "^2.0.3" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - -acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== - -acorn@5.X, acorn@^5.0.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.3.tgz#f473dd47e0277a08e28e9bec5aeeb04751f0b8c9" - -acorn@^6.0.5, acorn@^6.0.7: - version "6.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" - integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== - -ajv@^5.1.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.1.0, ajv@^6.9.1: - version "6.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-colors@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" - dependencies: - ansi-wrap "^0.1.0" - -ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - dependencies: - ansi-wrap "0.1.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - dependencies: - color-convert "^1.9.0" - -ansi-wrap@0.1.0, ansi-wrap@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= - dependencies: - buffer-equal "^1.0.0" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - -are-we-there-yet@~1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - -arr-filter@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" - integrity sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4= - dependencies: - make-iterator "^1.0.0" - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-map@^2.0.0, arr-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= - dependencies: - make-iterator "^1.0.0" - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-each@^1.0.0, array-each@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-initial@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" - integrity sha1-L6dLJnOTccOUe9enrcc74zSz15U= - dependencies: - array-slice "^1.0.0" - is-number "^4.0.0" - -array-last@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" - integrity sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg== - dependencies: - is-number "^4.0.0" - -array-slice@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" - -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - -array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert@^1.1.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-done@^1.2.0, async-done@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.1.tgz#14b7b73667b864c8f02b5b253fc9c6eddb777f3e" - integrity sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^1.0.7" - stream-exhaust "^1.0.1" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - integrity sha1-GdOGodntxufByF04iu28xW0zYC0= - -async-each@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.2.tgz#8b8a7ca2a658f927e9f307d6d1a42f4199f0f735" - integrity sha512-6xrbvN0MOBKSJDdonmSSz2OwFSgxRaVtBDes26mj9KIGtDo+g9xosFRSC+i1gQh2oAN/tQ62AI/pGZGQjVOiRg== - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - -async-settle@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" - integrity sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs= - dependencies: - async-done "^1.2.2" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -atob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" - -autoprefixer@^9.1.3: - version "9.5.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.5.0.tgz#7e51d0355c11596e6cf9a0afc9a44e86d1596c70" - integrity sha512-hMKcyHsZn5+qL6AUeP3c8OyuteZ4VaUlg+fWbyl8z7PqsKHF/Bf8/px3K6AT8aMzDkBo8Bc11245MM+itDBOxQ== - dependencies: - browserslist "^4.4.2" - caniuse-lite "^1.0.30000947" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.14" - postcss-value-parser "^3.3.1" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - -aws4@^1.2.1, aws4@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.26.0, babel-core@^6.26.3: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - -babel-eslint@^8.2.6: - version "8.2.6" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" - integrity sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA== - dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/traverse" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" - eslint-scope "3.7.1" - eslint-visitor-keys "^1.0.0" - -babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-loader@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68" - integrity sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw== - dependencies: - find-cache-dir "^1.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - integrity sha1-a8lj67FuzLrmuStZbrfzXDQqi5o= - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= - -babel-plugin-transform-async-generator-functions@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" - integrity sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds= - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.22.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-regenerator@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-polyfill@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-preset-es2015@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" - integrity sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk= - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.24.1" - babel-plugin-transform-es2015-classes "^6.24.1" - babel-plugin-transform-es2015-computed-properties "^6.24.1" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.24.1" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.24.1" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-plugin-transform-es2015-modules-systemjs "^6.24.1" - babel-plugin-transform-es2015-modules-umd "^6.24.1" - babel-plugin-transform-es2015-object-super "^6.24.1" - babel-plugin-transform-es2015-parameters "^6.24.1" - babel-plugin-transform-es2015-shorthand-properties "^6.24.1" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.24.1" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.24.1" - babel-plugin-transform-regenerator "^6.24.1" - -babel-preset-stage-3@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" - integrity sha1-g2raCp56f6N8sTj7kyb4eTSkg5U= - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-generator-functions "^6.24.1" - babel-plugin-transform-async-to-generator "^6.24.1" - babel-plugin-transform-exponentiation-operator "^6.24.1" - babel-plugin-transform-object-rest-spread "^6.22.0" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@7.0.0-beta.44: - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" - integrity sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g== - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -bach@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" - integrity sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA= - dependencies: - arr-filter "^1.1.1" - arr-flatten "^1.0.1" - arr-map "^2.0.0" - array-each "^1.0.0" - array-initial "^1.0.0" - array-last "^1.1.1" - async-done "^1.2.2" - async-settle "^1.0.0" - now-and-later "^2.0.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - -base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" - dependencies: - tweetnacl "^0.14.3" - -beeper@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" - integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" - integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boom@4.x.x: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -boom@5.x.x: - version "5.2.0" - resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" - dependencies: - hoek "4.x.x" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.0, braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.4.2: - version "4.5.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.3.tgz#969495c410314bc89f14e748505e58be968080f1" - integrity sha512-Tx/Jtrmh6vFg24AelzLwCaCq1IUJiMDM1x/LPzqbmbktF8Zo7F9ONUpOWsFK6TtdON95mSMaQUWqi0ilc8xM6g== - dependencies: - caniuse-lite "^1.0.30000955" - electron-to-chromium "^1.3.122" - node-releases "^1.1.12" - -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -cacache@^11.0.2, cacache@^11.2.0: - version "11.3.2" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" - integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== - dependencies: - bluebird "^3.5.3" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.3" - graceful-fs "^4.1.15" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" - integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -camelcase@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.0.tgz#0a110882cbeba41f72f99fcf918f4a0a92a13ebf" - integrity sha512-Y05ICatFYPAfykDIB7VdwSJ0LUl1yq/BwO2OpyGGLjiRe1fgzTwVypPiWnzkGFOVFHXrCXUNBl86bpjBhZWSJg== - -caniuse-lite@^1.0.30000947, caniuse-lite@^1.0.30000955: - version "1.0.30000955" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz#360fdb9a1e41d6dd996130411334e44a39e4446d" - integrity sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA== - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^2.3.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" - integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.0" - braces "^2.3.0" - glob-parent "^3.1.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - lodash.debounce "^4.0.8" - normalize-path "^2.1.1" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - upath "^1.0.5" - optionalDependencies: - fsevents "^1.2.2" - -chokidar@^2.0.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.5.tgz#0ae8434d962281a5f56c72869e79cb6d9d86ad4d" - integrity sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chownr@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" - integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== - -chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A== - dependencies: - tslib "^1.9.0" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.1.11: - version "4.1.11" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.11.tgz#2ecdf145aba38f54740f26cefd0ff3e03e125d6a" - dependencies: - source-map "0.5.x" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - integrity sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -collection-map@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" - integrity sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw= - dependencies: - arr-map "^2.0.2" - for-own "^1.0.0" - make-iterator "^1.0.0" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" - dependencies: - color-name "^1.1.1" - -color-name@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" - dependencies: - delayed-stream "~1.0.0" - -commander@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.0.0.tgz#d1b86f901f8b64bd941bdeadaf924530393be928" - -commander@^2.19.0, commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -commander@^2.9.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@^1.5.0, concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -convert-source-map@1.X: - version "1.5.1" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" - -convert-source-map@^1.5.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - -copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== - dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" - -core-js@^2.4.0, core-js@^2.5.0: - version "2.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" - integrity sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -cryptiles@3.x.x: - version "3.1.2" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" - dependencies: - boom "5.x.x" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-loader@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe" - integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw== - dependencies: - babel-code-frame "^6.26.0" - css-selector-tokenizer "^0.7.0" - icss-utils "^2.1.0" - loader-utils "^1.0.2" - lodash "^4.17.11" - postcss "^6.0.23" - postcss-modules-extract-imports "^1.2.0" - postcss-modules-local-by-default "^1.2.0" - postcss-modules-scope "^1.1.0" - postcss-modules-values "^1.3.0" - postcss-value-parser "^3.3.0" - source-list-map "^2.0.0" - -css-selector-tokenizer@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz#a177271a8bca5019172f4f891fc6eed9cbf68d5d" - integrity sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA== - dependencies: - cssesc "^0.1.0" - fastparse "^1.1.1" - regexpu-core "^1.0.0" - -css@2.X, css@^2.2.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.3.tgz#f861f4ba61e79bedc962aa548e5780fd95cbc6be" - dependencies: - inherits "^2.0.1" - source-map "^0.1.38" - source-map-resolve "^0.5.1" - urix "^0.1.0" - -csscomb-core@3.0.0-3.1: - version "3.0.0-3.1" - resolved "https://registry.yarnpkg.com/csscomb-core/-/csscomb-core-3.0.0-3.1.tgz#b411c8d7cfe0df3f2fe1df84d1bd64a6f0046c68" - dependencies: - gonzales-pe "3.0.0-28" - minimatch "0.2.12" - vow "0.4.4" - vow-fs "0.3.2" - -csscomb@^3.1.7: - version "3.1.8" - resolved "https://registry.yarnpkg.com/csscomb/-/csscomb-3.1.8.tgz#a8a738884f409baf35ec9461afc52e1c75bd23a2" - dependencies: - commander "2.0.0" - csscomb-core "3.0.0-3.1" - gonzales-pe "3.0.0-28" - vow "0.4.4" - -cssesc@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" - integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= - -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -dateformat@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" - -debug-fabulous@1.X: - version "1.1.0" - resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e" - dependencies: - debug "3.X" - memoizee "0.4.X" - object-assign "4.X" - -debug@3.X: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - dependencies: - ms "2.0.0" - -debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.1.0: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - -default-resolution@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" - integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= - -define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@2.X: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - -duplexify@^3.4.2: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -duplexify@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.1.tgz#b1a7a29c4abfd639585efaecce80d666b1e34125" - integrity sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -each-props@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" - integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== - dependencies: - is-plain-object "^2.0.1" - object.defaults "^1.1.0" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -electron-to-chromium@^1.3.122: - version "1.3.122" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.122.tgz#b32a0805f48557bd3c3b8104eadc7fa511b14a9a" - integrity sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw== - -elliptic@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" - integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" - dependencies: - is-arrayish "^0.2.1" - -es5-ext@^0.10.14, es5-ext@^0.10.30, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14, es5-ext@~0.10.2: - version "0.10.42" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "1" - -es6-iterator@^2.0.1, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - -es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" - dependencies: - d "1" - es5-ext "^0.10.14" - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -eslint-loader@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.2.tgz#453542a1230d6ffac90e4e7cb9cadba9d851be68" - integrity sha512-rA9XiXEOilLYPOIInvVH5S/hYfyTPyxag6DZhoQOduM+3TkghAEQ3VcFO8VnX4J4qg/UIBzp72aOf/xvYmpmsg== - dependencies: - loader-fs-cache "^1.0.0" - loader-utils "^1.0.2" - object-assign "^4.0.1" - object-hash "^1.1.4" - rimraf "^2.6.1" - -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.0, eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== - -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== - -eslint@^5.2.0: - version "5.16.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" - integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.7.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.13.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.11" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" - table "^5.2.3" - text-table "^0.2.0" - -espree@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== - dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== - dependencies: - estraverse "^4.0.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - dependencies: - d "1" - es5-ext "~0.10.14" - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - dependencies: - homedir-polyfill "^1.0.1" - -exports-loader@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.7.0.tgz#84881c784dea6036b8e1cd1dac3da9b6409e21a5" - integrity sha512-RKwCrO4A6IiKm0pG3c9V46JxIHcDplwwGJn6+JJ1RcVnh/WSGJa0xkmk5cRVtgOPzCAtTMGj2F7nluh9L0vpSA== - dependencies: - loader-utils "^1.1.0" - source-map "0.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -external-editor@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - -fancy-log@^1.1.0, fancy-log@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - time-stamp "^1.0.0" - -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastparse@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" - integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== - -figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" - integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= - dependencies: - commondir "^1.0.1" - make-dir "^1.0.0" - pkg-dir "^2.0.0" - -find-cache-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -fined@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" - dependencies: - expand-tilde "^2.0.2" - is-plain-object "^2.0.3" - object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" - -flagged-respawn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -flush-write-stream@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" - integrity sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.4" - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -form-data@~2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" - dependencies: - asynckit "^0.4.0" - combined-stream "1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - dependencies: - map-cache "^0.2.2" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-minipass@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" - integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== - dependencies: - minipass "^2.2.1" - -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.2.2: - version "1.2.4" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" - integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fstream@^1.0.0, fstream@^1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob-watcher@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" - integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== - dependencies: - anymatch "^2.0.0" - async-done "^1.2.0" - chokidar "^2.0.0" - is-negated-glob "^1.0.0" - just-debounce "^1.0.0" - object.defaults "^1.1.0" - -glob@3.2.8: - version "3.2.8" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.8.tgz#5506f4311721bcc618c7d8dba144188750307073" - dependencies: - inherits "2" - minimatch "~0.2.11" - -glob@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: - version "7.1.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -globals@^11.1.0, globals@^11.7.0: - version "11.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" - integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globule@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" - dependencies: - glob "~7.1.1" - lodash "~4.17.4" - minimatch "~3.0.2" - -glogg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" - dependencies: - sparkles "^1.0.0" - -gonzales-pe@3.0.0-28: - version "3.0.0-28" - resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-3.0.0-28.tgz#dd50b41dd15b682a28c40e5f0ff2007901ac62bd" - -graceful-fs@4.X, graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.6: - version "4.1.15" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" - integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== - -gulp-autoprefixer@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-6.0.0.tgz#7034ef12c24a92a5b20158d63623ebbd900faed8" - integrity sha512-MyLymXKVGTVBx/okQSBqmdhwhyqi3igBmZBwgpZp0GRbY1LY8VctOTLzwkQ18bZKJkSDnOKR5u32TMY9wSYdqQ== - dependencies: - autoprefixer "^9.1.3" - fancy-log "^1.3.2" - plugin-error "^1.0.1" - postcss "^7.0.2" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-clean-css@^3.9.4: - version "3.9.4" - resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-3.9.4.tgz#c6d3f8bb7a600fbe661962a72348a330954d343b" - dependencies: - clean-css "4.1.11" - plugin-error "1.0.1" - through2 "2.0.3" - vinyl-sourcemaps-apply "0.2.1" - -gulp-cli@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b" - integrity sha512-RxujJJdN8/O6IW2nPugl7YazhmrIEjmiVfPKrWt68r71UCaLKS71Hp0gpKT+F6qOUFtr7KqtifDKaAJPRVvMYQ== - dependencies: - ansi-colors "^1.0.1" - archy "^1.0.0" - array-sort "^1.0.0" - color-support "^1.1.3" - concat-stream "^1.6.0" - copy-props "^2.0.1" - fancy-log "^1.3.2" - gulplog "^1.0.0" - interpret "^1.1.0" - isobject "^3.0.1" - liftoff "^2.5.0" - matchdep "^2.0.0" - mute-stdout "^1.0.0" - pretty-hrtime "^1.0.0" - replace-homedir "^1.0.0" - semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.0.1" - yargs "^7.1.0" - -gulp-csscomb@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-csscomb/-/gulp-csscomb-3.0.8.tgz#df34824a580a4c7d3351c1e8ebb6ad7a1d5a89b7" - dependencies: - csscomb "^3.1.7" - gulp-util "^3.0.7" - through2 "^2.0.1" - -gulp-rename@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" - integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== - -gulp-sass@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.0.1.tgz#7f43d117eb2d303524968a1b48494af1bc64d1d9" - dependencies: - chalk "^2.3.0" - lodash.clonedeep "^4.3.2" - node-sass "^4.8.3" - plugin-error "^1.0.1" - replace-ext "^1.0.0" - strip-ansi "^4.0.0" - through2 "^2.0.0" - vinyl-sourcemaps-apply "^0.2.0" - -gulp-sourcemaps@^2.6.4: - version "2.6.4" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz#cbb2008450b1bcce6cd23bf98337be751bf6e30a" - dependencies: - "@gulp-sourcemaps/identity-map" "1.X" - "@gulp-sourcemaps/map-sources" "1.X" - acorn "5.X" - convert-source-map "1.X" - css "2.X" - debug-fabulous "1.X" - detect-newline "2.X" - graceful-fs "4.X" - source-map "~0.6.0" - strip-bom-string "1.X" - through2 "2.X" - -gulp-util@^3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.0.tgz#95766c601dade4a77ed3e7b2b6dc03881b596366" - integrity sha1-lXZsYB2t5Kd+0+eyttwDiBtZY2Y= - dependencies: - glob-watcher "^5.0.0" - gulp-cli "^2.0.0" - undertaker "^1.0.0" - vinyl-fs "^3.0.0" - -gulplog@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - dependencies: - glogg "^1.0.0" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -har-validator@~5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" - dependencies: - ajv "^5.1.0" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - -has-gulplog@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - dependencies: - sparkles "^1.0.0" - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hawk@~6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - sntp "2.x.x" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -homedir-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.0.tgz#23235b29ab230c576aab0d4f13fc046b0b038222" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -iconv-lite@^0.4.24, iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962" - integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= - dependencies: - postcss "^6.0.1" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -import-fresh@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imports-loader@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.8.0.tgz#030ea51b8ca05977c40a3abfd9b4088fe0be9a69" - integrity sha512-kXWL7Scp8KQ4552ZcdVTeaQCZSLW+e6nJfp3cwUMB673T7Hr98Xjx5JK+ql7ADlJUvj1JS5O01RLbKoutN5QDQ== - dependencies: - loader-utils "^1.0.2" - source-map "^0.6.1" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -ini@^1.3.4, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - -inquirer@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.11" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.0.0" - through "^2.3.6" - -interpret@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.2.0, invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - dependencies: - kind-of "^6.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" - integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= - dependencies: - is-extglob "^2.1.1" - -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - -is-my-json-valid@^2.12.4: - version "2.17.2" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - dependencies: - kind-of "^3.0.2" - -is-number@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" - -is-odd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" - dependencies: - is-number "^4.0.0" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - dependencies: - isobject "^3.0.1" - -is-promise@^2.1, is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - dependencies: - is-unc-path "^1.0.0" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - dependencies: - unc-path-regex "^0.1.2" - -is-utf8@^0.2.0, is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -js-base64@^2.1.8: - version "2.4.3" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582" - -js-tokens@^3.0.0, js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" - integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-loader@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" - integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== - -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" - integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0, kind-of@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - -last-run@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" - integrity sha1-RblpQsF7HHnHchmCWbqUO+v4yls= - dependencies: - default-resolution "^2.0.0" - es6-weak-map "^2.0.1" - -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= - dependencies: - flush-write-stream "^1.0.2" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -liftoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" - integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= - dependencies: - extend "^3.0.0" - findup-sync "^2.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -loader-fs-cache@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz#54cedf6b727e1779fd8f01205f05f6e88706f086" - integrity sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "0.5.1" - -loader-runner@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.0.2, loader-utils@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - -lodash._root@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - -lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.escape@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - dependencies: - lodash._root "^3.0.0" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.mergewith@^4.6.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" - -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - -lodash.template@^3.0.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - -lodash@^4.0.0, lodash@~4.17.4: - version "4.17.10" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" - -lodash@^4.17.11, lodash@^4.17.4, lodash@^4.2.0: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - -lru-cache@^4.0.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-queue@0.1: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - dependencies: - es5-ext "~0.10.2" - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - dependencies: - kind-of "^6.0.2" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - dependencies: - object-visit "^1.0.0" - -matchdep@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" - integrity sha1-xvNINKDY28OzfCfui7yyfHd1WC4= - dependencies: - findup-sync "^2.0.0" - micromatch "^3.0.4" - resolve "^1.4.0" - stack-trace "0.0.10" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memoizee@0.4.X: - version "0.4.12" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.12.tgz#780e99a219c50c549be6d0fc61765080975c58fb" - dependencies: - d "1" - es5-ext "^0.10.30" - es6-weak-map "^2.0.2" - event-emitter "^0.3.5" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "^0.1.2" - -memory-fs@^0.4.0, memory-fs@~0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@~1.33.0: - version "1.33.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.7: - version "2.1.18" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" - dependencies: - mime-db "~1.33.0" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@0.2.12: - version "0.2.12" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.12.tgz#ea82a012ac662c7ddfaa144f1c147e6946f5dafb" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - dependencies: - brace-expansion "^1.1.7" - -minimatch@~0.2.11: - version "0.2.14" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - dependencies: - lru-cache "2" - sigmund "~1.0.0" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minipass@^2.2.1, minipass@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -ms@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -multipipe@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - dependencies: - duplexer2 "0.0.2" - -mute-stdout@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" - integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nan@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" - -nan@^2.9.2: - version "2.12.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.12.1.tgz#7b1aa193e9aa86057e3c7bbd0ac448e770925552" - integrity sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw== - -nanomatch@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-odd "^2.0.0" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" - integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== - dependencies: - debug "^2.1.2" - iconv-lite "^0.4.4" - sax "^1.2.4" - -neo-async@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" - integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== - -next-tick@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -node-gyp@^3.3.1: - version "3.6.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - -node-libs-browser@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.0.tgz#c72f60d9d46de08a940dedbb25f3ffa2f9bbaa77" - integrity sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.0" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "0.0.4" - -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.12.tgz#1d6baf544316b5422fcd35efe18708370a4e7637" - integrity sha512-Y+AQ1xdjcgaEzpL65PBEF3fnl1FNKnDh9Zm+AUQLIlyyqtSc4u93jyMN4zrjMzdwKQ10RTr3tgY1x7qpsfF/xg== - dependencies: - semver "^5.3.0" - -node-sass@^4.8.3: - version "4.9.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.0.tgz#d1b8aa855d98ed684d6848db929a20771cc2ae52" - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - lodash.mergewith "^4.6.0" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.10.0" - node-gyp "^3.3.1" - npmlog "^4.0.0" - request "~2.79.0" - sass-graph "^2.2.4" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -node-uuid@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.0.tgz#07f9b2337572ff6275c775e1d48513f3a45d7a65" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.4.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.0.1, normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - -now-and-later@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" - integrity sha1-vGHLtFbXnLMiB85HygUTb/Ln1u4= - dependencies: - once "^1.3.2" - -npm-bundled@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" - integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== - -npm-packlist@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.2.0.tgz#55a60e793e272f00862c7089274439a4cc31fc7f" - integrity sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -oauth-sign@~0.8.1, oauth-sign@~0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.1.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== - -object-keys@^1.0.11, object-keys@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" - integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - dependencies: - isobject "^3.0.0" - -object.assign@^4.0.4: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.defaults@^1.0.0, object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" - -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -object.pick@^1.2.0, object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - dependencies: - isobject "^3.0.1" - -object.reduce@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" - integrity sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" - -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0, osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" - integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - -path-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - dependencies: - path-root-regex "^0.1.0" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -plugin-error@1.0.1, plugin-error@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" - dependencies: - ansi-colors "^1.0.1" - arr-diff "^4.0.0" - arr-union "^3.1.0" - extend-shallow "^3.0.2" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - -postcss-modules-extract-imports@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" - integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== - dependencies: - postcss "^6.0.1" - -postcss-modules-local-by-default@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" - integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-scope@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" - integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= - dependencies: - css-selector-tokenizer "^0.7.0" - postcss "^6.0.1" - -postcss-modules-values@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" - integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^6.0.1" - -postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss@^6.0.1: - version "6.0.22" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.22.tgz#e23b78314905c3b90cbd61702121e7a78848f2a3" - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^6.0.23: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - -postcss@^7.0.14, postcss@^7.0.2: - version "7.0.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - -private@^0.1.6, private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3, pumpify@^1.3.5: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.3.0: - version "6.3.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" - -qs@~6.5.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdirp@^2.0.0, readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerate@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" - integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpu-core@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" - integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= - dependencies: - jsesc "~0.5.0" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - -replace-homedir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" - integrity sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw= - dependencies: - homedir-polyfill "^1.0.1" - is-absolute "^1.0.0" - remove-trailing-separator "^1.1.0" - -request@2: - version "2.85.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.6.0" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.1" - forever-agent "~0.6.1" - form-data "~2.3.1" - har-validator "~5.0.3" - hawk "~6.0.2" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.17" - oauth-sign "~0.8.2" - performance-now "^2.1.0" - qs "~6.5.1" - safe-buffer "^5.1.1" - stringstream "~0.0.5" - tough-cookie "~2.3.3" - tunnel-agent "^0.6.0" - uuid "^3.1.0" - -request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - -resolve@^1.1.6, resolve@^1.1.7: - version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" - dependencies: - path-parse "^1.0.5" - -resolve@^1.4.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" - integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - -rimraf@2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - -rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sass-graph@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^7.0.0" - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^0.4.5: - version "0.4.7" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -semver-greatest-satisfied-range@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" - integrity sha1-E+jCZYq5aRywzXEJMkAoDTb3els= - dependencies: - sver-compat "^1.5.0" - -"semver@2 || 3 || 4 || 5": - version "5.5.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - -semver@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== - -semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -serialize-javascript@^1.4.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" - integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw== - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" - -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -sntp@2.x.x: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" - dependencies: - hoek "4.x.x" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@~0.5.10: - version "0.5.11" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.11.tgz#efac2ce0800355d026326a0ca23e162aeac9a4e2" - integrity sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - -source-map@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.0.tgz#0fe96503ac86a5adb5de63f4e412ae4872cdbe86" - integrity sha1-D+llA6yGpa213mP05BKuSHLNvoY= - -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.1.38: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - -sparkles@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" - -spdx-correct@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stdout-stream@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" - dependencies: - readable-stream "^2.0.1" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string_decoder@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== - dependencies: - safe-buffer "~5.1.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - dependencies: - safe-buffer "~5.1.0" - -stringstream@~0.0.4, stringstream@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom-string@1.X: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@^0.21.0: - version "0.21.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.21.0.tgz#68c52e5eb2afc9ca92b6274be277ee59aea3a852" - integrity sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^0.4.5" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^5.3.0, supports-color@^5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - dependencies: - has-flag "^3.0.0" - -supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -sver-compat@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" - integrity sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg= - dependencies: - es6-iterator "^2.0.1" - es6-symbol "^3.1.1" - -table@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" - integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== - dependencies: - ajv "^6.9.1" - lodash "^4.17.11" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" - integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== - -tar@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -tar@^4: - version "4.4.8" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" - integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.4" - minizlib "^1.1.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.2" - -terser-webpack-plugin@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.3.tgz#3f98bc902fac3e5d0de730869f50668561262ec8" - integrity sha512-GOK7q85oAb/5kE12fMuLdn2btOS9OBZn4VsecpHDywoUC/jLhSAKOiYo0ezx7ss2EXPMzyEWFoE0s1WLE+4+oA== - dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - terser "^3.16.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -terser@^3.16.1: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== - dependencies: - commander "^2.19.0" - source-map "~0.6.1" - source-map-support "~0.5.10" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@2.0.3, through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@~2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - -timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== - dependencies: - setimmediate "^1.0.4" - -timers-ext@^0.1.2: - version "0.1.5" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.5.tgz#77147dd4e76b660c2abb8785db96574cbbd12922" - dependencies: - es5-ext "~0.10.14" - next-tick "1" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" - -tough-cookie@~2.3.0, tough-cookie@~2.3.3: - version "2.3.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" - dependencies: - punycode "^1.4.1" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -"true-case-path@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62" - dependencies: - glob "^6.0.4" - -tslib@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - dependencies: - safe-buffer "^5.0.1" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -uglify-js@^3.0.0: - version "3.5.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.5.3.tgz#d490bb5347f23025f0c1bc0dee901d98e4d6b063" - integrity sha512-rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -uglifyjs-webpack-plugin@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-2.1.2.tgz#70e5c38fb2d35ee887949c2a0adb2656c23296d5" - integrity sha512-G1fJx2uOAAfvdZ77SVCzmFo6mv8uKaHoZBL9Qq/ciC8r6p0ANOL1uY85fIUiyWXKw5RzAaJYZfNSL58Or2hQ0A== - dependencies: - cacache "^11.2.0" - find-cache-dir "^2.0.0" - schema-utils "^1.0.0" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-js "^3.0.0" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - -undertaker-registry@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" - integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= - -undertaker@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.0.tgz#339da4646252d082dc378e708067299750e11b49" - integrity sha1-M52kZGJS0ILcN45wgGcpl1DhG0k= - dependencies: - arr-flatten "^1.0.1" - arr-map "^2.0.0" - bach "^1.0.0" - collection-map "^1.0.0" - es6-weak-map "^2.0.1" - last-run "^1.1.0" - object.defaults "^1.0.0" - object.reduce "^1.0.0" - undertaker-registry "^1.0.0" - -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.1.tgz#5e9edc6d1ce8fb264db18a507ef9bd8544451ca6" - integrity sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg== - dependencies: - imurmurhash "^0.1.4" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" - integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== - -upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544" - dependencies: - kind-of "^6.0.2" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -uuid@^3.0.0, uuid@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" - -v8-compile-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" - integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw== - -v8flags@^3.0.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.2.tgz#fc5cd0c227428181e6c29b2992e4f8f1da5e0c9f" - integrity sha512-MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw== - dependencies: - homedir-polyfill "^1.0.1" - -validate-npm-package-license@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz#81643bcbef1bdfecd4623793dc4648948ba98338" - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vinyl-fs@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl-sourcemaps-apply@0.2.1, vinyl-sourcemaps-apply@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" - dependencies: - source-map "^0.5.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - -vm-browserify@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" - -vow-fs@0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/vow-fs/-/vow-fs-0.3.2.tgz#ea2b034d85e1db8c277eb2e9a86d1c15f5d38e7a" - dependencies: - glob "3.2.8" - node-uuid "1.4.0" - vow "0.4.4" - vow-queue "0.3.1" - -vow-queue@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/vow-queue/-/vow-queue-0.3.1.tgz#598c51a15b0a81a6d5fc05f4761ceb462de1e868" - dependencies: - vow "~0.4.0" - -vow@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.4.tgz#c9fe4609129d7f5aa621508ebe64b51c95bc7b98" - -vow@~0.4.0: - version "0.4.17" - resolved "https://registry.yarnpkg.com/vow/-/vow-0.4.17.tgz#b16e08fae58c52f3ebc6875f2441b26a92682904" - -watchpack@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -webpack-cli@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.0.tgz#55c8a74cae1e88117f9dda3a801c7272e93ca318" - integrity sha512-t1M7G4z5FhHKJ92WRKwZ1rtvi7rHc0NZoZRbSkol0YKl4HvcC8+DsmGDmK7MmZxHSAetHagiOsjOB6MmzC2TUw== - dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - enhanced-resolve "^4.1.0" - findup-sync "^2.0.0" - global-modules "^1.0.0" - import-local "^2.0.0" - interpret "^1.1.0" - loader-utils "^1.1.0" - supports-color "^5.5.0" - v8-compile-cache "^2.0.2" - yargs "^12.0.5" - -webpack-sources@^1.1.0, webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.16.2: - version "4.29.6" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.6.tgz#66bf0ec8beee4d469f8b598d3988ff9d8d90e955" - integrity sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.0.5" - acorn-dynamic-import "^4.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" - json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" - schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@1, which@^1.2.14, which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" - dependencies: - string-width "^1.0.2" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -worker-farm@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ== - dependencies: - errno "~0.1.7" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - dependencies: - camelcase "^3.0.0" - -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - -yargs@^7.0.0, yargs@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.0"