diff --git a/.github/workflows/build-assets.yml b/.github/workflows/build-assets.yml index 8c0a1afe..0618f6b4 100644 --- a/.github/workflows/build-assets.yml +++ b/.github/workflows/build-assets.yml @@ -7,17 +7,17 @@ jobs: strategy: matrix: - node-version: [15.x] + node-version: [20.x] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Setting up node ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - name: Cache npm modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 0039d63b..7f16cf85 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -4,9 +4,10 @@ on: [push, pull_request] jobs: validate-json: + name: 'validate json' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Validate language file uses: docker://orrosenblatt/validate-json-action:latest env: @@ -17,3 +18,26 @@ jobs: env: INPUT_SCHEMA: ./sources.schema.json INPUT_JSONS: ./sources.dist.json + phpcs: + name: 'phpcs + compat checker' + runs-on: ubuntu-latest + continue-on-error: true + + strategy: + matrix: + php-version: ['7.4', '8.0', '8.1', '8.2', '8.3', '8.4'] + + steps: + - uses: actions/checkout@v4 + + - name: Install PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + extensions: pdo, pdo_mysql, zip, mysqli, gd + + - name: Install dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader + + - name: phpcs + run: composer run phpcs -- --runtime-set testVersion ${{ matrix.php-version }} diff --git a/composer.json b/composer.json index df397fe5..a7a2f30d 100644 --- a/composer.json +++ b/composer.json @@ -18,19 +18,27 @@ "ext-sqlite3": "*", "ext-fileinfo": "*", "ext-mbstring": "*", - "slim/slim": "^3.1", - "slim/php-view": "^2.0", - "slim/twig-view": "^2.3", + "slim/slim": "^4.0", + "slim/psr7": "^1.6", + "php-di/php-di": "^6.4", + "monolog/monolog": "^2.0", + "slim/php-view": "^3.0", + "slim/twig-view": "^3.0", "spatie/yaml-front-matter": "^2.0", - "league/commonmark": "^1.5", + "league/commonmark": "^2.6", "caseyamcl/toc": "^3.0", - "vlucas/phpdotenv": "^3.3", + "vlucas/phpdotenv": "^5.6", "symfony/console": "^5.2", "symfony/process": "^5.2", - "voku/stop-words": "^2.0" + "voku/stop-words": "^2.0", + "embed/embed": "^4.4", + "ext-dom": "*", + "ext-gd": "*" }, "require-dev": { - "ext-intl": "*" + "ext-intl": "*", + "squizlabs/php_codesniffer": "3.*", + "phpcompatibility/php-compatibility": "^9.3" }, "autoload": { "psr-4": { @@ -46,6 +54,8 @@ }, "scripts": { "start": "php -S localhost:8080 -t public index.php", - "test": "phpunit" + "test": "phpunit", + "phpcs": "vendor/bin/phpcs --standard=phpcs.xml", + "phpcbf": "vendor/bin/phpcbf --standard=phpcs.xml" } } diff --git a/composer.lock b/composer.lock index 5d0a67fd..03b131ab 100644 --- a/composer.lock +++ b/composer.lock @@ -4,24 +4,24 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "309a5cc08a51d2a8c2e9b29f9e585805", + "content-hash": "da50dfd24cfa6429c75e39c35435b2f3", "packages": [ { "name": "caseyamcl/toc", - "version": "v3.1", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/caseyamcl/toc.git", - "reference": "1aa7d6b446e151b4c11d18b11c199e61d00c5182" + "reference": "5ecaad1e1c36bab5caa278e2b9dfc8bc420e6d51" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/caseyamcl/toc/zipball/1aa7d6b446e151b4c11d18b11c199e61d00c5182", - "reference": "1aa7d6b446e151b4c11d18b11c199e61d00c5182", + "url": "https://api.github.com/repos/caseyamcl/toc/zipball/5ecaad1e1c36bab5caa278e2b9dfc8bc420e6d51", + "reference": "5ecaad1e1c36bab5caa278e2b9dfc8bc420e6d51", "shasum": "" }, "require": { - "cocur/slugify": "^3.0|^4.0", + "cocur/slugify": "^3.0|~4.4.0|^4.6", "ext-dom": "*", "knplabs/knp-menu": "^3.2", "masterminds/html5": "^2.1", @@ -63,22 +63,22 @@ ], "support": { "issues": "https://github.com/caseyamcl/toc/issues", - "source": "https://github.com/caseyamcl/toc/tree/v3.1" + "source": "https://github.com/caseyamcl/toc/tree/v3.2.0" }, - "time": "2022-03-16T15:46:12+00:00" + "time": "2024-12-08T16:12:05+00:00" }, { "name": "cocur/slugify", - "version": "v4.3.0", + "version": "v4.4.0", "source": { "type": "git", "url": "https://github.com/cocur/slugify.git", - "reference": "652234ef5f1be844a2ae1c36ad1b4c88b05160f9" + "reference": "4c6ed14a087ca061b220ffda640c07644946e2a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cocur/slugify/zipball/652234ef5f1be844a2ae1c36ad1b4c88b05160f9", - "reference": "652234ef5f1be844a2ae1c36ad1b4c88b05160f9", + "url": "https://api.github.com/repos/cocur/slugify/zipball/4c6ed14a087ca061b220ffda640c07644946e2a0", + "reference": "4c6ed14a087ca061b220ffda640c07644946e2a0", "shasum": "" }, "require": { @@ -137,9 +137,367 @@ ], "support": { "issues": "https://github.com/cocur/slugify/issues", - "source": "https://github.com/cocur/slugify/tree/v4.3.0" + "source": "https://github.com/cocur/slugify/tree/v4.4.0" }, - "time": "2022-12-07T19:48:48+00:00" + "time": "2023-08-05T09:42:11+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.5.6", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "f65c239c970e7f072f067ab78646e9f0b2935175" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/f65c239c970e7f072f067ab78646e9f0b2935175", + "reference": "f65c239c970e7f072f067ab78646e9f0b2935175", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8 || ^9", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.5.6" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2025-03-06T14:30:56+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "embed/embed", + "version": "v4.4.15", + "source": { + "type": "git", + "url": "https://github.com/oscarotero/Embed.git", + "reference": "62bd05060757a874673b4cda2299d94dd18f9a85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oscarotero/Embed/zipball/62bd05060757a874673b4cda2299d94dd18f9a85", + "reference": "62bd05060757a874673b4cda2299d94dd18f9a85", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "ext-curl": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ml/json-ld": "^1.1", + "oscarotero/html-parser": "^0.1.4", + "php": "^7.4|^8", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0|^2.0" + }, + "require-dev": { + "brick/varexporter": "^0.3.1", + "friendsofphp/php-cs-fixer": "^2.0", + "nyholm/psr7": "^1.2", + "oscarotero/php-cs-fixer-config": "^1.0", + "phpunit/phpunit": "^9.0", + "symfony/css-selector": "^5.0" + }, + "suggest": { + "symfony/css-selector": "If you want to get elements using css selectors" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Embed\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "PHP library to retrieve page info using oembed, opengraph, etc", + "homepage": "https://github.com/oscarotero/Embed", + "keywords": [ + "embed", + "embedly", + "oembed", + "opengraph", + "twitter cards" + ], + "support": { + "email": "oom@oscarotero.com", + "issues": "https://github.com/oscarotero/Embed/issues", + "source": "https://github.com/oscarotero/Embed/tree/v4.4.15" + }, + "funding": [ + { + "url": "https://paypal.me/oscarotero", + "type": "custom" + }, + { + "url": "https://github.com/oscarotero", + "type": "github" + }, + { + "url": "https://www.patreon.com/misteroom", + "type": "patreon" + } + ], + "time": "2025-01-02T16:53:09+00:00" + }, + { + "name": "fig/http-message-util", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message-util.git", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", + "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "suggest": { + "psr/http-message": "The package containing the PSR-7 interfaces" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fig\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Utility classes and constants for use with PSR-7 (psr/http-message)", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-message-util/issues", + "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" + }, + "time": "2020-11-24T22:02:12+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:45:45+00:00" }, { "name": "knplabs/knp-menu", @@ -214,130 +572,1152 @@ "time": "2021-10-23T15:01:04+00:00" }, { - "name": "league/commonmark", - "version": "1.6.7", + "name": "laravel/serializable-closure", + "version": "v1.3.7", "source": { "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b", - "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": "^7.1 || ^8.0" + "php": "^7.3|^8.0" }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "require-dev": { + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.61|^3.0", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2024-11-14T18:34:49+00:00" + }, + { + "name": "league/commonmark", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "06c3b0bf2540338094575612f4a1778d0d2d5e94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/06c3b0bf2540338094575612f4a1778d0d2d5e94", + "reference": "06c3b0bf2540338094575612f4a1778d0d2d5e94", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2025-04-18T21:09:27+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "masterminds/html5", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/Masterminds/html5-php.git", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Masterminds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Butcher", + "email": "technosophos@gmail.com" + }, + { + "name": "Matt Farina", + "email": "matt@mattfarina.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + } + ], + "description": "An HTML5 parser and serializer.", + "homepage": "http://masterminds.github.io/html5-php", + "keywords": [ + "HTML5", + "dom", + "html", + "parser", + "querypath", + "serializer", + "xml" + ], + "support": { + "issues": "https://github.com/Masterminds/html5-php/issues", + "source": "https://github.com/Masterminds/html5-php/tree/2.9.0" + }, + "time": "2024-03-31T07:05:07+00:00" + }, + { + "name": "ml/iri", + "version": "1.1.4", + "target-dir": "ML/IRI", + "source": { + "type": "git", + "url": "https://github.com/lanthaler/IRI.git", + "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lanthaler/IRI/zipball/cbd44fa913e00ea624241b38cefaa99da8d71341", + "reference": "cbd44fa913e00ea624241b38cefaa99da8d71341", + "shasum": "" + }, + "require": { + "lib-pcre": ">=4.0", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "ML\\IRI": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + } + ], + "description": "IRI handling for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "URN", + "iri", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/lanthaler/IRI/issues", + "source": "https://github.com/lanthaler/IRI/tree/master" + }, + "time": "2014-01-21T13:43:39+00:00" + }, + { + "name": "ml/json-ld", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/lanthaler/JsonLD.git", + "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lanthaler/JsonLD/zipball/537e68e87a6bce23e57c575cd5dcac1f67ce25d8", + "reference": "537e68e87a6bce23e57c575cd5dcac1f67ce25d8", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ml/iri": "^1.1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "json-ld/tests": "1.0", + "phpunit/phpunit": "^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "ML\\JsonLD\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Markus Lanthaler", + "email": "mail@markus-lanthaler.com", + "homepage": "http://www.markus-lanthaler.com", + "role": "Developer" + } + ], + "description": "JSON-LD Processor for PHP", + "homepage": "http://www.markus-lanthaler.com", + "keywords": [ + "JSON-LD", + "jsonld" + ], + "support": { + "issues": "https://github.com/lanthaler/JsonLD/issues", + "source": "https://github.com/lanthaler/JsonLD/tree/1.2.1" + }, + "time": "2022-09-29T08:45:17+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.38 || ^9.6.19", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2024-11-12T12:43:37+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.5", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": "7.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.5" + }, + "time": "2023-10-05T20:37:59+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.10", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/a4175c62652f2300c8017fb7e640f9ccb11648d2", + "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.4" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "~2.0", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.10" + }, + "time": "2023-07-30T15:38:18+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "FastRoute\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "support": { + "issues": "https://github.com/nikic/FastRoute/issues", + "source": "https://github.com/nikic/FastRoute/tree/master" + }, + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "oscarotero/html-parser", + "version": "v0.1.8", + "source": { + "type": "git", + "url": "https://github.com/oscarotero/html-parser.git", + "reference": "10f3219267a365d9433f2f7d1694209c9d436c8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oscarotero/html-parser/zipball/10f3219267a365d9433f2f7d1694209c9d436c8d", + "reference": "10f3219267a365d9433f2f7d1694209c9d436c8d", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpunit/phpunit": "^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "HtmlParser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oscar Otero", + "email": "oom@oscarotero.com", + "homepage": "http://oscarotero.com", + "role": "Developer" + } + ], + "description": "Parse html strings to DOMDocument", + "homepage": "https://github.com/oscarotero/html-parser", + "keywords": [ + "dom", + "html", + "parser" + ], + "support": { + "email": "oom@oscarotero.com", + "issues": "https://github.com/oscarotero/html-parser/issues", + "source": "https://github.com/oscarotero/html-parser/tree/v0.1.8" + }, + "time": "2023-11-29T20:28:41+00:00" + }, + { + "name": "php-di/invoker", + "version": "2.3.6", + "source": { + "type": "git", + "url": "https://github.com/PHP-DI/Invoker.git", + "reference": "59f15608528d8a8838d69b422a919fd6b16aa576" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/59f15608528d8a8838d69b422a919fd6b16aa576", + "reference": "59f15608528d8a8838d69b422a919fd6b16aa576", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "psr/container": "^1.0|^2.0" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "mnapoli/hard-mode": "~0.3.0", + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Invoker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Generic and extensible callable invoker", + "homepage": "https://github.com/PHP-DI/Invoker", + "keywords": [ + "callable", + "dependency", + "dependency-injection", + "injection", + "invoke", + "invoker" + ], + "support": { + "issues": "https://github.com/PHP-DI/Invoker/issues", + "source": "https://github.com/PHP-DI/Invoker/tree/2.3.6" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + } + ], + "time": "2025-01-17T12:49:27+00:00" + }, + { + "name": "php-di/php-di", + "version": "6.4.0", + "source": { + "type": "git", + "url": "https://github.com/PHP-DI/PHP-DI.git", + "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/ae0f1b3b03d8b29dff81747063cbfd6276246cc4", + "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4", + "shasum": "" + }, + "require": { + "laravel/serializable-closure": "^1.0", + "php": ">=7.4.0", + "php-di/invoker": "^2.0", + "php-di/phpdoc-reader": "^2.0.1", + "psr/container": "^1.0" + }, + "provide": { + "psr/container-implementation": "^1.0" + }, + "require-dev": { + "doctrine/annotations": "~1.10", + "friendsofphp/php-cs-fixer": "^2.4", + "mnapoli/phpunit-easymock": "^1.2", + "ocramius/proxy-manager": "^2.11.2", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^9.5" + }, + "suggest": { + "doctrine/annotations": "Install it if you want to use annotations (version ~1.2)", + "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~2.0)" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "DI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The dependency injection container for humans", + "homepage": "https://php-di.org/", + "keywords": [ + "PSR-11", + "container", + "container-interop", + "dependency injection", + "di", + "ioc", + "psr11" + ], + "support": { + "issues": "https://github.com/PHP-DI/PHP-DI/issues", + "source": "https://github.com/PHP-DI/PHP-DI/tree/6.4.0" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/php-di/php-di", + "type": "tidelift" + } + ], + "time": "2022-04-09T16:46:38+00:00" + }, + { + "name": "php-di/phpdoc-reader", + "version": "2.2.1", + "source": { + "type": "git", + "url": "https://github.com/PHP-DI/PhpDocReader.git", + "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-DI/PhpDocReader/zipball/66daff34cbd2627740ffec9469ffbac9f8c8185c", + "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "require-dev": { + "mnapoli/hard-mode": "~0.3.0", + "phpunit/phpunit": "^8.5|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpDocReader\\": "src/PhpDocReader" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PhpDocReader parses @var and @param values in PHP docblocks (supports namespaced class names with the same resolution rules as PHP)", + "keywords": [ + "phpdoc", + "reflection" + ], + "support": { + "issues": "https://github.com/PHP-DI/PhpDocReader/issues", + "source": "https://github.com/PHP-DI/PhpDocReader/tree/2.2.1" + }, + "time": "2020-10-12T12:39:22+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.3", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:41:07+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" }, - "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" + "require": { + "php": ">=7.2.0" }, - "bin": [ - "bin/commonmark" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "League\\CommonMark\\": "src" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", + "description": "Standard interfaces for event handling.", "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" + "events", + "psr", + "psr-14" ], "support": { - "docs": "https://commonmark.thephpleague.com/", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2022-01-13T17:18:13+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "masterminds/html5", - "version": "2.7.6", + "name": "psr/http-client", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/Masterminds/html5-php.git", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947" + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", - "reference": "897eb517a343a2281f11bc5556d6548db7d93947", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-libxml": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Masterminds\\": "src" + "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -346,190 +1726,158 @@ ], "authors": [ { - "name": "Matt Butcher", - "email": "technosophos@gmail.com" - }, - { - "name": "Matt Farina", - "email": "matt@mattfarina.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "An HTML5 parser and serializer.", - "homepage": "http://masterminds.github.io/html5-php", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ - "HTML5", - "dom", - "html", - "parser", - "querypath", - "serializer", - "xml" + "http", + "http-client", + "psr", + "psr-18" ], "support": { - "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" + "source": "https://github.com/php-fig/http-client" }, - "time": "2022-08-18T16:18:26+00:00" + "time": "2023-09-23T14:17:50+00:00" }, { - "name": "nikic/fast-route", - "version": "v1.3.0", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/nikic/FastRoute.git", - "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", - "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35|~5.7" + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "FastRoute\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Nikita Popov", - "email": "nikic@php.net" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Fast request router for PHP", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "router", - "routing" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/nikic/FastRoute/issues", - "source": "https://github.com/nikic/FastRoute/tree/master" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2018-02-13T20:26:39+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.9.0", + "name": "psr/http-message", + "version": "1.1", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" + "url": "https://github.com/php-fig/http-message.git", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", - "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8", - "phpunit/phpunit": "^8.5.28 || ^9.5.21" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Option Type for PHP", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "language", - "option", - "php", - "type" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.0" + "source": "https://github.com/php-fig/http-message/tree/1.1" }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2022-07-30T15:51:26+00:00" + "time": "2023-04-04T09:50:52+00:00" }, { - "name": "pimple/pimple", - "version": "v3.5.0", + "name": "psr/http-server-handler", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/silexphp/Pimple.git", - "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed" + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed", - "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/84c4fb66179be4caaf8e97bd239203245302e7d4", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1 || ^2.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^5.4@dev" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "psr-0": { - "Pimple": "src/" + "psr-4": { + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -538,42 +1886,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Pimple, a simple Dependency Injection Container", - "homepage": "https://pimple.symfony.com", + "description": "Common interface for HTTP server-side request handler", "keywords": [ - "container", - "dependency injection" + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" ], "support": { - "source": "https://github.com/silexphp/Pimple/tree/v3.5.0" + "source": "https://github.com/php-fig/http-server-handler/tree/1.0.2" }, - "time": "2021-10-28T11:13:42+00:00" + "time": "2023-04-10T20:06:20+00:00" }, { - "name": "psr/container", - "version": "1.1.2", + "name": "psr/http-server-middleware", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", "shasum": "" }, "require": { - "php": ">=7.4.0" + "php": ">=7.0", + "psr/http-message": "^1.0 || ^2.0", + "psr/http-server-handler": "^1.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -586,33 +1947,35 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Common interface for HTTP server-side middleware", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/1.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2023-04-11T06:14:47+00:00" }, { - "name": "psr/http-message", - "version": "1.0.1", + "name": "psr/log", + "version": "1.1.4", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -621,12 +1984,12 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psr\\Log\\": "Psr/Log/" } }, "notification-url": "https://packagist.org/downloads/", @@ -636,44 +1999,88 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "http", - "http-message", + "log", "psr", - "psr-7", - "request", - "response" + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } ], + "description": "A polyfill for getallheaders.", "support": { - "source": "https://github.com/php-fig/http-message/tree/master" + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2019-03-08T08:55:37+00:00" }, { "name": "slim/php-view", - "version": "2.2.1", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/slimphp/PHP-View.git", - "reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed" + "reference": "ef1821663a6a028b9e446e8c6818fd257bf70313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/PHP-View/zipball/a13ada9d7962ca1b48799c0d9ffbca4c33245aed", - "reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed", + "url": "https://api.github.com/repos/slimphp/PHP-View/zipball/ef1821663a6a028b9e446e8c6818fd257bf70313", + "reference": "ef1821663a6a028b9e446e8c6818fd257bf70313", "shasum": "" }, "require": { - "psr/http-message": "^1.0" + "php": "^7.4 || ^8.0", + "psr/http-message": "^1.1 || ^2.0" }, "require-dev": { - "phpunit/phpunit": "^4.8", - "slim/slim": "^3.0" + "phpstan/phpstan": "^1", + "phpunit/phpunit": "^9 || ^10", + "slim/psr7": "^1.6", + "squizlabs/php_codesniffer": "^3.10" }, "type": "library", "autoload": { @@ -703,40 +2110,140 @@ ], "support": { "issues": "https://github.com/slimphp/PHP-View/issues", - "source": "https://github.com/slimphp/PHP-View/tree/2.2.1" + "source": "https://github.com/slimphp/PHP-View/tree/3.4.0" }, - "time": "2019-04-15T20:43:28+00:00" + "time": "2024-07-19T18:54:54+00:00" }, { - "name": "slim/slim", - "version": "3.12.4", + "name": "slim/psr7", + "version": "1.6.1", "source": { "type": "git", - "url": "https://github.com/slimphp/Slim.git", - "reference": "ce3cb65a06325fc9fe3d0223f2ae23113a767304" + "url": "https://github.com/slimphp/Slim-Psr7.git", + "reference": "72d2b2bac94ab4575d369f605dbfafbe168d3163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Slim/zipball/ce3cb65a06325fc9fe3d0223f2ae23113a767304", - "reference": "ce3cb65a06325fc9fe3d0223f2ae23113a767304", + "url": "https://api.github.com/repos/slimphp/Slim-Psr7/zipball/72d2b2bac94ab4575d369f605dbfafbe168d3163", + "reference": "72d2b2bac94ab4575d369f605dbfafbe168d3163", "shasum": "" }, "require": { - "ext-json": "*", - "ext-libxml": "*", - "ext-simplexml": "*", - "nikic/fast-route": "^1.0", - "php": ">=5.5.0", - "pimple/pimple": "^3.0", - "psr/container": "^1.0", - "psr/http-message": "^1.0" + "fig/http-message-util": "^1.1.5", + "php": "^7.4 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0", + "symfony/polyfill-php80": "^1.26" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "phpunit/phpunit": "^4.0", - "squizlabs/php_codesniffer": "^3.6.0" + "adriansuter/php-autoload-override": "^1.3", + "ext-json": "*", + "http-interop/http-factory-tests": "^0.9.0", + "php-http/psr7-integration-tests": "1.1", + "phpspec/prophecy": "^1.15", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/phpstan": "^1.8", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\Psr7\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "http://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" + } + ], + "description": "Strict PSR-7 implementation", + "homepage": "https://www.slimframework.com", + "keywords": [ + "http", + "psr-7", + "psr7" + ], + "support": { + "issues": "https://github.com/slimphp/Slim-Psr7/issues", + "source": "https://github.com/slimphp/Slim-Psr7/tree/1.6.1" + }, + "time": "2023-04-17T16:02:20+00:00" + }, + { + "name": "slim/slim", + "version": "4.14.0", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "5943393b88716eb9e82c4161caa956af63423913" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/5943393b88716eb9e82c4161caa956af63423913", + "reference": "5943393b88716eb9e82c4161caa956af63423913", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nikic/fast-route": "^1.3", + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "psr/http-factory": "^1.1", + "psr/http-message": "^1.1 || ^2.0", + "psr/http-server-handler": "^1.0", + "psr/http-server-middleware": "^1.0", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "adriansuter/php-autoload-override": "^1.4", + "ext-simplexml": "*", + "guzzlehttp/psr7": "^2.6", + "httpsoft/http-message": "^1.1", + "httpsoft/http-server-request": "^1.1", + "laminas/laminas-diactoros": "^2.17 || ^3", + "nyholm/psr7": "^1.8", + "nyholm/psr7-server": "^1.1", + "phpspec/prophecy": "^1.19", + "phpspec/prophecy-phpunit": "^2.1", + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^9.6", + "slim/http": "^1.3", + "slim/psr7": "^1.6", + "squizlabs/php_codesniffer": "^3.10", + "vimeo/psalm": "^5.24" + }, + "suggest": { + "ext-simplexml": "Needed to support XML format in BodyParsingMiddleware", + "ext-xml": "Needed to support XML format in BodyParsingMiddleware", + "php-di/php-di": "PHP-DI is the recommended container library to be used with Slim", + "slim/psr7": "Slim PSR-7 implementation. See https://www.slimframework.com/docs/v4/start/installation.html for more information." }, "type": "library", "autoload": { @@ -764,6 +2271,11 @@ "email": "rob@akrabat.com", "homepage": "http://akrabat.com" }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" + }, { "name": "Gabriel Manricks", "email": "gmanricks@me.com", @@ -771,7 +2283,7 @@ } ], "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", - "homepage": "https://slimframework.com", + "homepage": "https://www.slimframework.com", "keywords": [ "api", "framework", @@ -779,8 +2291,14 @@ "router" ], "support": { + "docs": "https://www.slimframework.com/docs/v4/", + "forum": "https://discourse.slimframework.com/", + "irc": "irc://irc.freenode.net:6667/slimphp", "issues": "https://github.com/slimphp/Slim/issues", - "source": "https://github.com/slimphp/Slim/tree/3.12.4" + "rss": "https://www.slimframework.com/blog/feed.rss", + "slack": "https://slimphp.slack.com/", + "source": "https://github.com/slimphp/Slim", + "wiki": "https://github.com/slimphp/Slim/wiki" }, "funding": [ { @@ -792,30 +2310,35 @@ "type": "tidelift" } ], - "time": "2021-10-02T19:38:22+00:00" + "time": "2024-06-13T08:54:48+00:00" }, { "name": "slim/twig-view", - "version": "2.5.1", + "version": "3.4.1", "source": { "type": "git", "url": "https://github.com/slimphp/Twig-View.git", - "reference": "47bd5cc1cbbdf5196d0873ece0ee97c6c7b352e9" + "reference": "b4268d87d0e327feba5f88d32031e9123655b909" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slimphp/Twig-View/zipball/47bd5cc1cbbdf5196d0873ece0ee97c6c7b352e9", - "reference": "47bd5cc1cbbdf5196d0873ece0ee97c6c7b352e9", + "url": "https://api.github.com/repos/slimphp/Twig-View/zipball/b4268d87d0e327feba5f88d32031e9123655b909", + "reference": "b4268d87d0e327feba5f88d32031e9123655b909", "shasum": "" }, "require": { - "php": ">=5.5.0", - "psr/http-message": "^1.0", - "twig/twig": "^1.38|^2.7|^3.0" + "php": "^7.4 || ^8.0", + "psr/http-message": "^1.1 || ^2.0", + "slim/slim": "^4.12", + "symfony/polyfill-php81": "^1.29", + "twig/twig": "^3.11" }, "require-dev": { - "phpunit/phpunit": "^4.8|^5.7", - "slim/slim": "^3.10" + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/phpstan": "^1.10.59", + "phpunit/phpunit": "^9.6 || ^10", + "psr/http-factory": "^1.0", + "squizlabs/php_codesniffer": "^3.9" }, "type": "library", "autoload": { @@ -832,10 +2355,15 @@ "name": "Josh Lockhart", "email": "hello@joshlockhart.com", "homepage": "http://joshlockhart.com" + }, + { + "name": "Pierre Berube", + "email": "pierre@lgse.com", + "homepage": "http://www.lgse.com" } ], - "description": "Slim Framework 3 view helper built on top of the Twig 2 templating component", - "homepage": "http://slimframework.com", + "description": "Slim Framework 4 view helper built on top of the Twig 3 templating component", + "homepage": "https://www.slimframework.com", "keywords": [ "framework", "slim", @@ -845,27 +2373,27 @@ ], "support": { "issues": "https://github.com/slimphp/Twig-View/issues", - "source": "https://github.com/slimphp/Twig-View/tree/master" + "source": "https://github.com/slimphp/Twig-View/tree/3.4.1" }, - "time": "2019-11-28T18:03:50+00:00" + "time": "2024-09-26T05:42:02+00:00" }, { "name": "spatie/yaml-front-matter", - "version": "2.0.7", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/spatie/yaml-front-matter.git", - "reference": "f49f228994de70827ca857efffdd3bd7703aea34" + "reference": "cbe67e1cdd0a29a96d74ccab9400fe663e078392" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/yaml-front-matter/zipball/f49f228994de70827ca857efffdd3bd7703aea34", - "reference": "f49f228994de70827ca857efffdd3bd7703aea34", + "url": "https://api.github.com/repos/spatie/yaml-front-matter/zipball/cbe67e1cdd0a29a96d74ccab9400fe663e078392", + "reference": "cbe67e1cdd0a29a96d74ccab9400fe663e078392", "shasum": "" }, "require": { "php": "^7.0|^8.0", - "symfony/yaml": "^3.0|^4.0|^5.0|^6.0" + "symfony/yaml": "^3.0|^4.0|^5.0|^6.0|^7.0" }, "require-dev": { "phpunit/phpunit": "^9.0" @@ -897,7 +2425,7 @@ "yaml" ], "support": { - "source": "https://github.com/spatie/yaml-front-matter/tree/2.0.7" + "source": "https://github.com/spatie/yaml-front-matter/tree/2.0.9" }, "funding": [ { @@ -909,20 +2437,20 @@ "type": "github" } ], - "time": "2022-04-06T12:03:55+00:00" + "time": "2024-06-13T10:20:51+00:00" }, { "name": "symfony/console", - "version": "v5.4.19", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740" + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740", - "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740", + "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", "shasum": "" }, "require": { @@ -987,12 +2515,12 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.19" + "source": "https://github.com/symfony/console/tree/v5.4.47" }, "funding": [ { @@ -1008,20 +2536,20 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:32:19+00:00" + "time": "2024-11-06T11:30:55+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.2", + "version": "v2.5.4", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918", + "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918", "shasum": "" }, "require": { @@ -1029,12 +2557,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -1059,7 +2587,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.4" }, "funding": [ { @@ -1075,24 +2603,24 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -1102,12 +2630,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1141,7 +2666,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -1157,36 +2682,33 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1222,7 +2744,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -1238,36 +2760,33 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1306,7 +2825,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -1322,24 +2841,24 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -1349,12 +2868,9 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1389,7 +2905,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -1405,33 +2921,30 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1468,7 +2981,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" }, "funding": [ { @@ -1484,33 +2997,30 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.27.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -1551,7 +3061,83 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" }, "funding": [ { @@ -1567,20 +3153,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/process", - "version": "v5.4.19", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c5ba874c9b636dbccf761e22ce750e88ec3f55e1" + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c5ba874c9b636dbccf761e22ce750e88ec3f55e1", - "reference": "c5ba874c9b636dbccf761e22ce750e88ec3f55e1", + "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d", + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d", "shasum": "" }, "require": { @@ -1613,7 +3199,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.19" + "source": "https://github.com/symfony/process/tree/v5.4.47" }, "funding": [ { @@ -1629,20 +3215,20 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:32:19+00:00" + "time": "2024-11-06T11:36:42+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.2", + "version": "v2.5.4", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300", + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300", "shasum": "" }, "require": { @@ -1658,12 +3244,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -1696,7 +3282,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.4" }, "funding": [ { @@ -1712,20 +3298,20 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:29+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "symfony/string", - "version": "v5.4.19", + "version": "v5.4.47", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb" + "reference": "136ca7d72f72b599f2631aca474a4f8e26719799" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/0a01071610fd861cc160dfb7e2682ceec66064cb", - "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb", + "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799", + "reference": "136ca7d72f72b599f2631aca474a4f8e26719799", "shasum": "" }, "require": { @@ -1782,7 +3368,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.19" + "source": "https://github.com/symfony/string/tree/v5.4.47" }, "funding": [ { @@ -1798,20 +3384,20 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:32:19+00:00" + "time": "2024-11-10T20:33:58+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.19", + "version": "v5.4.45", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5" + "reference": "a454d47278cc16a5db371fe73ae66a78a633371e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/71c05db20cb9b54d381a28255f17580e2b7e36a5", - "reference": "71c05db20cb9b54d381a28255f17580e2b7e36a5", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a454d47278cc16a5db371fe73ae66a78a633371e", + "reference": "a454d47278cc16a5db371fe73ae66a78a633371e", "shasum": "" }, "require": { @@ -1857,7 +3443,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.19" + "source": "https://github.com/symfony/yaml/tree/v5.4.45" }, "funding": [ { @@ -1873,38 +3459,42 @@ "type": "tidelift" } ], - "time": "2023-01-10T18:51:14+00:00" + "time": "2024-09-25T14:11:13+00:00" }, { "name": "twig/twig", - "version": "v3.5.1", + "version": "v3.11.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15" + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15", - "reference": "a6e0510cc793912b451fd40ab983a1d28f611c15", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", + "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3" + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php80": "^1.22", + "symfony/polyfill-php81": "^1.29" }, "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.5-dev" - } - }, "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], "psr-4": { "Twig\\": "src/" } @@ -1937,7 +3527,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.5.1" + "source": "https://github.com/twigphp/Twig/tree/v3.11.3" }, "funding": [ { @@ -1949,40 +3539,47 @@ "type": "tidelift" } ], - "time": "2023-02-08T07:49:20+00:00" + "time": "2024-11-07T12:34:41+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v3.6.10", + "version": "v5.6.2", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "5b547cdb25825f10251370f57ba5d9d924e6f68e" + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/5b547cdb25825f10251370f57ba5d9d924e6f68e", - "reference": "5b547cdb25825f10251370f57ba5d9d924e6f68e", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af", + "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0 || ^8.0", - "phpoption/phpoption": "^1.5.2", - "symfony/polyfill-ctype": "^1.17" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.3", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" }, "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", "ext-filter": "*", - "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.21" + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" }, "suggest": { - "ext-filter": "Required to use the boolean validator.", - "ext-pcre": "Required to use most of the library." + "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, "branch-alias": { - "dev-master": "3.6-dev" + "dev-master": "5.6-dev" } }, "autoload": { @@ -2014,7 +3611,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v3.6.10" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2" }, "funding": [ { @@ -2026,7 +3623,7 @@ "type": "tidelift" } ], - "time": "2021-12-12T23:02:06+00:00" + "time": "2025-04-30T23:37:27+00:00" }, { "name": "voku/stop-words", @@ -2076,7 +3673,154 @@ "time": "2018-11-23T01:37:27+00:00" } ], - "packages-dev": [], + "packages-dev": [ + { + "name": "phpcompatibility/php-compatibility", + "version": "9.3.5", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243", + "reference": "9fb324479acf6f39452e0655d2429cc0d3914243", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" + }, + "conflict": { + "squizlabs/php_codesniffer": "2.6.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "homepage": "https://github.com/wimg", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + } + ], + "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", + "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "keywords": [ + "compatibility", + "phpcs", + "standards" + ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibility" + }, + "time": "2019-12-27T09:44:58+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.12.2", + "source": { + "type": "git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa", + "reference": "6d4cf6032d4b718f168c90a96e36c7d0eaacb2aa", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" + }, + "bin": [ + "bin/phpcbf", + "bin/phpcs" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "Former lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "Current lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" + }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + }, + { + "url": "https://thanks.dev/u/gh/phpcsstandards", + "type": "thanks_dev" + } + ], + "time": "2025-04-13T04:10:18+00:00" + } + ], "aliases": [], "minimum-stability": "stable", "stability-flags": [], @@ -2096,5 +3840,5 @@ "platform-overrides": { "php": "7.4.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 00000000..5994e21a --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,41 @@ + + + docs.modx.com ruleset + + + + + + + + + src + + + */vendor/* + + + + + + + + + + public/index.php + + + + + + + + + + + + + + + + diff --git a/public/fonts/Inter_24pt-Bold.ttf b/public/fonts/Inter_24pt-Bold.ttf new file mode 100644 index 00000000..46b3583c Binary files /dev/null and b/public/fonts/Inter_24pt-Bold.ttf differ diff --git a/public/fonts/Inter_24pt-Regular.ttf b/public/fonts/Inter_24pt-Regular.ttf new file mode 100644 index 00000000..6b088a71 Binary files /dev/null and b/public/fonts/Inter_24pt-Regular.ttf differ diff --git a/public/images/social/.background.png b/public/images/social/.background.png new file mode 100644 index 00000000..8fd79683 Binary files /dev/null and b/public/images/social/.background.png differ diff --git a/public/index.php b/public/index.php index 342030de..2a64340e 100644 --- a/public/index.php +++ b/public/index.php @@ -1,4 +1,5 @@ code{padding:0}code[class*=language-],pre[class*=language-]{border-radius:.5rem;font-size:.775rem !important;line-height:1.5 !important}blockquote{display:block;margin:0 0 .9375rem;padding:.9375rem 1.25rem;background-color:#f9fbfe;border-left:.1875rem solid #5b99ea;color:#4a5568}blockquote a{color:#1c6fdc}blockquote>:last-child{margin-bottom:0}iframe,object,video{max-width:100%}html,body{height:100%;width:100%;background:#fff;scroll-behavior:smooth}.l-app{display:flex;min-height:100vh;flex-direction:column;padding-top:3.75rem;background:#fff}@media print,screen and (min-width: 62.5em){.l-app--has-sidebar{padding-left:20rem}}.l-header{z-index:2;position:fixed;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;height:3.75rem;background:#fff;border-bottom:1px solid #c5d3df;box-shadow:0 1px 4px 0 rgba(0,0,0,.1)}.l-header__logo{flex:auto 0 0;position:relative}@media screen and (min-width: 76.25em){.l-header__logo{flex:20rem 0 0;flex:calc(20rem - 1.875rem) 0 0}}.l-header__search{flex-basis:50%;flex-grow:0;flex-shrink:1;position:relative}@media screen and (min-width: 76.25em){.l-header__search{margin:0 3.125rem 0 4.6875rem}}@media screen and (max-width: 43.74875em){.l-header__search{position:fixed;width:100%;margin:0 !important;top:3.75rem;background:#fff;height:calc(100vh - 2.25rem);padding:0 1rem 1rem 1rem;transform:translateY(100%);transition:transform .4s ease-in-out}}.l-header__versionswitch{margin:0 .9375rem}@media screen and (max-width: 43.74875em){#searchform:target{transform:translateY(0)}}.l-sidebar{outline:none;display:block;position:fixed;top:3.75rem;bottom:0;left:0;width:100%;transform:translateX(-100%);z-index:1;padding:1.875rem 1.25rem .9375rem;background:#f5f7f9;border-right:1px solid #e6ecf1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overflow-x:auto;transition:transform .4s ease-in-out}@media print,screen and (min-width: 62.5em){.l-sidebar{display:block;position:fixed;top:3.75rem;bottom:0;left:0;width:20rem;transform:translateX(0);transition:none}}#nav:target{transform:translateX(0)}.l-main{position:relative;margin:1.875rem 1.25rem .9375rem;flex:1}@media print,screen and (min-width: 43.75em){.l-main{margin:1.875rem 3.125rem .9375rem 4.6875rem}}.l-main__title{max-width:62.5rem}@media screen and (min-width: 76.25em){.l-main__contentwrapper{display:flex;justify-content:flex-start;flex-direction:row}}@media print,screen and (min-width: 43.75em){.l-main__content{padding-right:1.5625rem}}@media screen and (min-width: 76.25em){.l-main__content{flex-basis:80%;flex-grow:0;flex-shrink:1;order:1;min-width:0}}.l-main__content>:first-child{margin-top:0}@media screen and (min-width: 76.25em){.l-main__toc{flex-basis:20%;flex-grow:1;flex-shrink:0;align-self:flex-start;order:2;padding:0 0 0 1.5625rem;top:4.6875rem;position:sticky}}.l-footer{flex-basis:100%;flex-shrink:0;order:3;padding:1.875rem .9375rem .9375rem;margin:2.8125rem 0 0;border-top:1px solid #e6ecf1}@media print,screen and (min-width: 43.75em){.l-footer{padding:1.875rem 4.6875rem .9375rem}}@media(max-width: 768px){.o-openmenu{order:4;padding:0 .9375rem 0 .9375rem !important}.o-search,.l-header__search{order:3;margin:0 .475rem 0 auto}.l-header__versionswitch{order:2}.l-header__logo{order:1;max-width:25%}}@media(max-width: 425px){.l-footer{font-size:14px;line-height:1;padding:.9375rem .9375rem}.l-footer .c-footer__nav{display:flex;justify-content:center}.l-footer .c-footer__navlink{padding:.425rem}.l-footer .c-footer__copyright{font-size:14px;line-height:1;padding:.3rem .9375rem 0;text-align:center}}.o-logo{margin:0 .9375rem;padding:0}.o-logo__image{display:block;width:10.625rem;max-width:100%;height:3.75rem;fill:#4a5568}@media print,screen and (min-width: 43.75em){.o-logo__image{width:12.5rem}}.o-docmeta{margin:-0.9375rem 0 1.875rem}.o-sidebar-heading{display:block;margin:0 0 .9375rem;font-size:1.25rem;font-weight:700}.o-openmenu,.o-search{display:block;margin:0;padding:0 .9375rem 0 1.875rem}.o-openmenu__icon,.o-search__icon{display:block;width:1.8125rem;height:3.75rem;fill:#4a5568}@media print,screen and (min-width: 62.5em){.o-openmenu{display:none}}@media print,screen and (min-width: 43.75em){.o-search{display:none}}@media screen and (max-width: 43.74875em){.o-logo{margin:0 .4375rem}.o-search{padding:0 .4375rem}}.o-closemenu{z-index:1;position:absolute;top:.625rem;right:.625rem;display:block;padding:.9375rem .9375rem}@media print,screen and (min-width: 62.5em){.o-closemenu{display:none}}.o-closemenu__icon{display:block;width:1.875rem;height:1.875rem;fill:#3b68af}.c-breadcrumb{margin:0 0 .9375rem}.c-breadcrumb__list{display:flex;flex-direction:row;flex-wrap:wrap;margin:0 -0.3125rem;padding:0;list-style:none}.c-breadcrumb__item{display:block;flex:auto 0 0}.c-breadcrumb__link{display:inline-block;padding:.25rem .3125rem;line-height:1.4;font-size:.875rem;color:#4a5568}.c-breadcrumb__item+.c-breadcrumb__item:before{content:"";display:inline-block;width:.625rem;height:.6875rem;margin-left:.3125rem;margin-right:-0.0625rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 62'%3E%3Cpath fill='%234a5568' fill-rule='nonzero' d='M7.5938.39064L.6562 7.60939l24.25 23.40623-24.25 23.375 6.9376 7.2187 28-26.9999 3.75-3.5938-3.75-3.62498z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;background-position:center center;opacity:.25}.c-callout{color:#4a5568;display:block;margin:0 0 .9375rem;padding:.9375rem 1.25rem;background-color:#f9fbfe;border-left:.1875rem solid #5b99ea}.c-callout a{color:#1c6fdc}.c-callout__title{display:block;margin:0 0 .3125rem;text-transform:uppercase;letter-spacing:1.1}.c-callout a:hover{color:#5a99ea}.c-callout--info{background-color:#f9fbfe;border-color:#5b99ea}.c-callout--info a{color:#1c6fdc}.c-callout--warning{background-color:#fdf6e5;border-color:#eebf41}.c-callout--warning a{color:#d09c13}.c-callout--alert{background-color:#f5f5f5;border-color:#d26d69}.c-callout--alert a{color:#d26d69}.c-callout--success{background-color:#e7f4eb;border-color:#5cb377}.c-callout--success a{color:#3e8554}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.command-line-prompt>span:before{opacity:.7;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.command-line-prompt>span[data-continuation-prompt]:before{content:attr(data-continuation-prompt)}.command-line span.token.output{opacity:.7}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24, 20%, 50%, 0.08);background:linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24, 20%, 50%, 0.4);color:hsl(24, 20%, 95%);font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128, 128, 128, 0.2)}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224, 224, 224, 0.2);box-shadow:0 2px 0 0 rgba(0, 0, 0, 0.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}.token.operator{background:none}.c-history{display:flex;align-items:center;margin:-0.9375rem 0 1.875rem}.c-contributors{display:flex}.c-contributor{width:30px;height:30px;margin-left:-10px;border:2px solid #fff;border-radius:15px}.c-contributor:first-child{margin-left:0}.c-last-edit{max-width:100%;margin-bottom:0;padding-left:.5em;font-size:.9em;font-weight:500;color:#555;flex:1}.c-footer__grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.c-footer__cell{width:100%}@media print,screen and (min-width: 62.5em){.c-footer__cell{width:auto}}.c-footer__copyright{color:#4a5568}.c-footer__nav{margin:0 -0.625rem;padding:0;list-style:none}.c-footer__navitem{display:inline-block}.c-footer__navlink{display:block;font-weight:700;padding:.625rem;color:#4a5568}.c-footer__navlink:hover{color:#3b68af}.heading-link{display:inline-block;margin-left:.67em;transition:opacity .25s ease-in-out;opacity:0;font-size:.8em;bottom:.2em}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link,h5:hover .heading-link,h6:hover .heading-link{opacity:1}@media screen and (min-width: 43.75em){h1,h2,h3,h4,h5,h6{position:relative;margin-left:-3rem;padding-left:3rem}h1:target .heading-link,h2:target .heading-link,h3:target .heading-link,h4:target .heading-link,h5:target .heading-link,h6:target .heading-link{opacity:1}.heading-link{left:0;position:absolute}}.c-nav{margin:0 0 0 -1.25rem;padding:0;list-style:none}.c-nav__item{margin:0;padding:0;list-style:none;font-size:.9375rem;line-height:1.4}.c-nav__item a{position:relative;display:block;margin-bottom:.625rem;padding:0 0 0 1.25rem;text-decoration:none;font-weight:500;color:#475365;transition:all .2s ease}.c-nav__item a:hover{color:#5a99ea;transform:translateX(2px)}.c-nav__item--activepage .c-nav__chevron{top:.35rem}.c-nav__item--activepage>a{position:relative;color:#247978;padding:.35rem 0 .35rem 3.5rem;transition:all .2s ease}.c-nav__item--activepage>a:after,.c-nav__item--activepage>a:before{border:0 solid #e2e8f0}.c-nav__item--activepage>a:hover{transform:translateX(0)}.c-nav__item--activepage>a .inset{top:0;right:0;bottom:0;left:0;position:absolute;border-radius:.25rem;opacity:.25;background-color:#b2f5ea}.c-nav__item--level1>a{font-size:1rem;font-weight:700;padding-left:1.875rem}.c-nav__item--level2>a{padding-left:3.125rem}.c-nav__item--level3>a{padding-left:3.75rem}.c-nav__item--level4>a{padding-left:5rem}.c-nav__item--level5>a{padding-left:6.25rem}.c-nav__item--level6>a{padding-left:7.5rem}.c-nav__item--level7>a{padding-left:8.75rem}.c-nav__item--collapsed>ul{display:none}.c-nav__item--collapsed>a>.c-nav__chevron{top:.0625rem;transform:rotate(90deg)}.c-nav__chevron{display:inline-block;position:absolute;top:0;height:1.3125rem;width:1.3125rem;padding:.3125rem;margin:0 0 0 -1.4375rem;fill:rgba(74,85,104,.6);transform:rotate(-90deg);vertical-align:middle}.c-nav__sublist{margin:0 0 1.875rem;padding:0}::-webkit-scrollbar,::-webkit-scrollbar-thumb{width:1rem;height:1rem;border:.25rem solid rgba(0,0,0,0);border-radius:.5rem;background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.1)}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.2)}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.l-main__oc,.c-oc__more{display:none}@media screen and (min-width: 76.25em){.l-main__oc,.c-oc__more{display:block}}.l-main__oc--below,.c-oc__more--below{display:block}@media screen and (min-width: 76.25em){.l-main__oc--below,.c-oc__more--below{display:none}}.l-main__oc{margin-top:5em;background:#f5f7f9;color:#303942;padding:1em;border-radius:1em;border:1px solid rgba(0,0,0,0);transition:background-color .5s ease-in-out;text-decoration:none !important;max-width:25rem}@media screen and (min-width: 76.25em){.l-main__oc{margin-left:-1.5625rem}}.l-main__oc .c-oc__member_image{transition:border .5s ease-in-out}.l-main__oc:hover{color:#303942;background:#e3efff}.l-main__oc:hover .c-oc__member_image{border-color:#e3efff}.c-oc__logo{max-width:100%;max-height:60px}.c-oc__text{font-size:.8125rem;font-weight:500}.c-oc__subtitle{font-size:.8125rem;font-weight:700;text-transform:uppercase}.c-oc__members{padding-left:0;list-style:none;margin-bottom:25px;padding-right:25px;margin-left:-28px;margin-right:-35px;text-align:center}.c-oc__member{display:inline-block;margin-right:-20px;margin-bottom:-15px}.c-oc__member_image{width:60px;height:60px;border-radius:50%;border:5px solid #f5f7f9;background:#00b5de}.c-oc__total span{height:60px;background:#00b5de;border-radius:30px;border:5px solid #f5f7f9;color:#fff;padding:.7em 1em;font-weight:600;display:block}.c-oc__more{text-align:center;font-size:.8125rem;font-weight:500;text-decoration:underline;margin-top:1em;margin-left:-1em;max-width:25rem}.c-optionswitch__current{display:block;padding:.4375rem .625rem;color:#4a5568;white-space:nowrap;background:#fff;transition:background-color .2s ease-in-out;border-radius:.1875rem}.c-optionswitch__current:hover{color:#4a5568;background:#fff}.c-optionswitch__currentchevron{display:inline-block;width:.625rem;height:.625rem;fill:#4a5568;vertical-align:middle;margin:-0.0625rem 0 0 .1875rem;transform:rotate(90deg)}.c-optionswitch__listwrapper{position:absolute;top:3.6875rem;display:none;background:#edf2f7;box-shadow:0 .1875rem .5rem 0 rgba(116,129,141,.1)}@media screen and (min-width: 81.25em){.c-optionswitch__listwrapper{right:0}}@media screen and (max-width: 90em){.c-optionswitch__listwrapper{right:0}}@media screen and (max-width: 48em){.c-optionswitch__listwrapper{right:0}}.c-optionswitch__listwrapper:target{display:block}@media screen and (min-width: 43.75em){.c-optionswitch__listwrapper:target{display:flex}}.c-optionswitch__listwrapper:target:before{content:none}.c-optionswitch__list{margin:0;padding:0;list-style:none}.c-optionswitch__item{position:relative;display:block}.c-optionswitch__link{display:block;padding:.25rem .625rem;color:#4a5568;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color,border-color,color}.c-optionswitch__link:hover{color:#4a5568;background:#fff}.c-optionswitch__item--active .c-optionswitch__link{background:#fff}.c-optionswitch__translation{color:#2a303b}.c-optionswitch__translation:before{content:"("}.c-optionswitch__translation:after{content:")"}.c-optionswitch__note{padding:0 .625rem .625rem;color:#2a303b}.l-main-search__container{list-style:none;padding:0;margin-bottom:2rem}.l-main-search__result,.l-live-search__result{border-top:1px solid #fff;padding-top:1rem;margin-top:1rem}.l-main-search__result .c-breadcrumb,.l-live-search__result .c-breadcrumb{margin-bottom:0}.l-main-search__result h4,.l-live-search__result h4{margin-top:0;margin-bottom:0}@media screen and (max-width: 43.74875em){.l-main-search__result:first-child,.l-live-search__result:first-child{border-top:none}}.l-main-search__match summary,.l-live-search__match summary{float:right;color:#777}.l-search__pagination-holder{list-style:none;padding:0;text-align:center}.l-search-page{display:inline-block}.l-search-page__link{display:block;cursor:pointer;padding:.5rem 1rem;line-height:initial;background:#e2e8f0;color:#1a202c;border-radius:.25rem;border:1px solid #e2e8f0}.l-search-page__link:hover,.l-search-page__link:focus{background:#475365;border:1px solid #475365;color:#ededed}.l-search-page__link--active{background:#314a97;border:1px solid #314a97;color:#ededed}.c-searchform--resultspage{margin-bottom:1rem}.c-searchform--resultspage .c-searchform__input{border:1px solid #fff}.l-search__meta{color:#4a5568}.l-search__ignored{border-left:.5rem solid #eebf41;padding:.9375rem 1.25rem;background-color:rgba(238,191,65,.3);color:#2c2104}.l-search__tip{border-left:.5rem solid #3b68af;padding:.9375rem 1.25rem;background-color:rgba(59,104,175,.3);color:#000}.l-search__no_results{border-left:.25rem solid #d26d69;padding:.9375rem 1.25rem;background-color:rgba(210,109,105,.3);color:#2e0f0e;max-width:100%}.l-search__no_results--live{margin:0}.c-searchform--header{z-index:5}.l-live-search__container{position:absolute;background:#fff;width:100%;display:none;border-radius:0 0 5px 5px;margin-top:-3px;z-index:4;box-shadow:0 2px 7px 2px rgba(0,0,0,.5)}.l-live-search__container--visible{display:block}.l-live-search__container--loading::before{content:"Loading...";width:100%;display:block;padding:.5em .5em .5em 1em;border-radius:5px 5px 0 0;color:#4a5568;background:#fff}.l-live-search__container--loading:empty::before{border-radius:5px}@media screen and (max-width: 43.74875em){.l-live-search__container{position:initial;margin-top:1em;border-radius:7px;box-shadow:none;border:1px solid #3b68af}}.l-live-search__results{list-style:none;padding:0;margin:0;max-height:70vh;overflow-y:scroll}@media screen and (max-width: 43.74875em){.l-live-search__results{max-height:calc(100vh - 15rem)}}.l-live-search__result,.l-main-search__result{padding:0;margin:0;position:relative}.c-live-search__result-crumbs,.l-main-search__crumbs{position:absolute;top:.7rem;white-space:nowrap;text-overflow:ellipsis;padding:0 1rem;height:1.6em;overflow:hidden;font-weight:500}.c-live-search__result-link,.l-main-search__link{color:#314a97;display:block;padding:2.2rem 1rem .7rem;font-weight:500}.c-live-search__result-link:hover,.c-live-search__result-link:focus,.l-live-search__result--selected .c-live-search__result-link,.l-main-search__link:hover,.l-main-search__link:focus,.l-live-search__result--selected .l-main-search__link{background:#f0f6ff}.l-live-search__search{margin:0}.l-live-search__search a{font-weight:500;display:block;padding:.7rem 1rem;width:100%;color:#4a5568;background:#fff;border-radius:0 0 5px 5px}.l-main-search__result{max-width:80ch}.l-main-search__title{color:#314a97}.l-main-search__link{text-decoration:none !important}.l-main-search__link:hover .l-main-search__title,.l-main-search__link:focus .l-main-search__title{color:#5a99ea}.l-main-search__snippet{color:#4a5568}.size_code{font-size:1em}.c-searchform{position:relative;width:100%}@media screen and (max-width: 43.74875em){.c-searchform{margin-top:1rem}}.c-searchform__input{display:block;width:100%;border:none;border-radius:.5rem;padding:.625rem 2.1875rem .625rem 1.25rem;line-height:1.5 !important;font-family:inherit;font-size:100%;transition:all .1s ease-in;background-color:#edf2f7}.c-searchform__input:focus{border-color:#e2e8f0;background-color:#fff}@media screen and (max-width: 43.74875em){.c-searchform__input{border:1px solid #fff}}.c-searchform__button{position:absolute;top:0;right:.625rem;bottom:0;margin:0;padding:0;background:rgba(0,0,0,0);border:none}.c-searchform__icon{width:1.5rem;height:1.25rem;fill:#717171;vertical-align:middle}#searchform:target:before{content:"";height:0;margin:0}table{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;max-width:calc(100% + 1.25rem);margin:1.875rem 0;border-collapse:collapse;overflow-x:auto}@media print,screen and (min-width: 43.75em){table{display:table;table-layout:fixed;width:100%;max-width:100%}table td{word-wrap:break-word}}table tr:nth-child(2n){background:#f5f7f9}table td,table th{border:1px solid #c5d3df;padding:.5625rem 1rem}table th{font-weight:700;text-align:center}table td{min-width:10.625rem}@media print,screen and (min-width: 43.75em){table td{min-width:0}}table::-webkit-scrollbar,table::-webkit-scrollbar-thumb{width:1rem;height:1rem;border:.25rem solid rgba(0,0,0,0);border-radius:.5rem;background-color:rgba(0,0,0,0)}table::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.1)}table::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.2)}table::-webkit-resizer,table::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.c-toc{position:relative;margin:0 0 1.875rem}.c-toc__title{display:block;margin:0 0 .3125rem;font-size:.75rem;font-weight:700;color:#a0aec0;text-transform:uppercase}.c-toc ul{margin:0;padding:0;list-style:none}.c-toc__wrapper>ul>li{margin:0 0 .4375rem}.c-toc__wrapper>ul>li:last-child{margin-bottom:0}.c-toc__wrapper>ul>li>a{font-weight:700}.c-toc a{display:block;margin:0 0 .1875rem;font-size:.8125rem;font-weight:500;color:#475365;line-height:1.4;transition:all .2s ease}.c-toc a:hover{color:#1a202c;transform:translateX(2px)}.c-toc li li{padding-left:.9375rem}.u-show-for-sr,html.js .u-hide-with-js-sr,.u-show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}:target:before{content:"";display:block;height:5.625rem;margin:-5.625rem 0 0}.is-brokenlink{color:#d26d69;text-decoration:line-through}.is-brokenlink:after{content:" (link broken)";text-decoration:none}.is-externallink:after{content:"";display:inline-block;width:.625rem;height:.625rem;margin:-0.0625rem .125rem 0 .25rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 76'%3E%3Cg fill='%234a5568' fill-rule='nonzero'%3E%3Cpath d='M27.37215 46.13316994L72.34371002 1.16160993l2.61627 2.61627L29.98842 48.74943995z'/%3E%3Cpath d='M75.6 28.7h-3.8V4.4H47.4V.6h28.2zM68.1 75.6H.6V8.1h33.7v3.8h-30v60h60v-30h3.8z'/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;background-position:center center}.u-no-margin{margin:0 !important}.u-no-margin--top{margin-top:0 !important}.u-no-margin--bottom{margin-bottom:0 !important}.u-no-padding{padding:0 !important}.u-no-padding--top{padding-top:0 !important}.u-no-padding--bottom{padding-bottom:0 !important}html.no-js .u-show-with-js{display:none !important}html.js .u-hide-with-js{display:none !important}@media print{.l-app>*{display:none}.l-app .l-main{display:block}} +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}body{background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;line-height:1.6;color:#4a5568;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:#252930;line-height:1.3;margin-bottom:2rem}h1{margin-top:1.875rem}h1{font-size:1.875rem}@media screen and (min-width: 32.5625rem){h1{font-size:calc(1.875rem + 1.25*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h1{font-size:3.125rem}}h2{font-size:1.375rem}@media screen and (min-width: 32.5625rem){h2{font-size:calc(1.375rem + 0.8125*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h2{font-size:2.1875rem}}h3{font-size:1.25rem}@media screen and (min-width: 32.5625rem){h3{font-size:calc(1.25rem + 0.6875*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h3{font-size:1.9375rem}}h4{font-size:1.125rem}@media screen and (min-width: 32.5625rem){h4{font-size:calc(1.125rem + 0.5625*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h4{font-size:1.6875rem}}h5{font-size:1rem}@media screen and (min-width: 32.5625rem){h5{font-size:calc(1rem + 0.5625*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h5{font-size:1.5625rem}}h6{font-size:1rem}@media screen and (min-width: 32.5625rem){h6{font-size:calc(1rem + 0.4375*(100vw - 32.5625rem)/73.6875)}}@media screen and (min-width: 106.25rem){h6{font-size:1.4375rem}}a{text-decoration:none;color:#1c6fdc;transition:color .2s ease-in-out}a:hover{color:hsl(214.0625,77.4193548387%,63.6274509804%)}.l-main__content a,.c-callout a{text-decoration:underline}img{display:inline-block;vertical-align:middle;max-width:100%;height:auto;-ms-interpolation-mode:bicubic}p{margin:0 0 .9375rem;line-height:1.6;max-width:80ch}li{max-width:80ch}code,kbd,samp,pre{background-color:#ebf1ff;padding:.1rem .25rem;font-size:.775rem;border-radius:.125rem;padding-left:.25rem;padding-right:.25rem;color:#314a97;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important}pre>code{padding:0}code[class*=language-],pre[class*=language-]{border-radius:.5rem;font-size:.775rem !important;line-height:1.5 !important}blockquote{display:block;margin:0 0 .9375rem;padding:.9375rem 1.25rem;background-color:#f9fbfe;border-left:.1875rem solid #5b99ea;color:#4a5568}blockquote a{color:#1c6fdc}blockquote>:last-child{margin-bottom:0}iframe,object,video{max-width:100%}.video-embed{position:relative;width:100%;padding-bottom:56.25%;margin:2rem 0;background:#f5f5f5;border-radius:4px;overflow:hidden}.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}html,body{height:100%;width:100%;background:#fff;scroll-behavior:smooth}.l-app{display:flex;min-height:100vh;flex-direction:column;padding-top:3.75rem;background:#fff}@media print,screen and (min-width: 62.5em){.l-app--has-sidebar{padding-left:20rem}}.l-header{z-index:2;position:fixed;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;height:3.75rem;background:#fff;border-bottom:1px solid rgb(197.3076923077,211.1538461538,222.6923076923);box-shadow:0 1px 4px 0 rgba(0,0,0,.1)}.l-header__logo{flex:auto 0 0;position:relative}@media screen and (min-width: 76.25em){.l-header__logo{flex:20rem 0 0;flex:calc(20rem - 1.875rem) 0 0}}.l-header__search{flex-basis:50%;flex-grow:0;flex-shrink:1;position:relative}@media screen and (min-width: 76.25em){.l-header__search{margin:0 3.125rem 0 4.6875rem}}@media screen and (max-width: 43.74875em){.l-header__search{position:fixed;width:100%;margin:0 !important;top:3.75rem;background:#fff;height:calc(100vh - 2.25rem);padding:0 1rem 1rem 1rem;transform:translateY(100%);transition:transform .4s ease-in-out}}.l-header__versionswitch{margin:0 .9375rem}@media screen and (max-width: 43.74875em){#searchform:target{transform:translateY(0)}}.l-sidebar{outline:none;display:block;position:fixed;top:3.75rem;bottom:0;left:0;width:100%;transform:translateX(-100%);z-index:1;padding:1.875rem 1.25rem .9375rem;background:#f5f7f9;border-right:1px solid #e6ecf1;overflow-y:scroll;-webkit-overflow-scrolling:touch;overflow-x:auto;transition:transform .4s ease-in-out}@media print,screen and (min-width: 62.5em){.l-sidebar{display:block;position:fixed;top:3.75rem;bottom:0;left:0;width:20rem;transform:translateX(0);transition:none}}#nav:target{transform:translateX(0)}.l-main{position:relative;margin:1.875rem 1.25rem .9375rem;flex:1}@media print,screen and (min-width: 43.75em){.l-main{margin:1.875rem 3.125rem .9375rem 4.6875rem}}.l-main__title{max-width:62.5rem}@media screen and (min-width: 76.25em){.l-main__contentwrapper{display:flex;justify-content:flex-start;flex-direction:row}}@media print,screen and (min-width: 43.75em){.l-main__content{padding-right:1.5625rem}}@media screen and (min-width: 76.25em){.l-main__content{flex-basis:80%;flex-grow:0;flex-shrink:1;order:1;min-width:0}}.l-main__content>:first-child{margin-top:0}@media screen and (min-width: 76.25em){.l-main__toc{flex-basis:20%;flex-grow:1;flex-shrink:0;align-self:flex-start;order:2;padding:0 0 0 1.5625rem;top:4.6875rem;position:sticky}}.l-footer{flex-basis:100%;flex-shrink:0;order:3;padding:1.875rem .9375rem .9375rem;margin:2.8125rem 0 0;border-top:1px solid #e6ecf1}@media print,screen and (min-width: 43.75em){.l-footer{padding:1.875rem 4.6875rem .9375rem}}@media(max-width: 768px){.o-openmenu{order:4;padding:0 .9375rem 0 .9375rem !important}.o-search,.l-header__search{order:3;margin:0 .475rem 0 auto}.l-header__versionswitch{order:2}.l-header__logo{order:1;max-width:25%}}@media(max-width: 425px){.l-footer{font-size:14px;line-height:1;padding:.9375rem .9375rem}.l-footer .c-footer__nav{display:flex;justify-content:center}.l-footer .c-footer__navlink{padding:.425rem}.l-footer .c-footer__copyright{font-size:14px;line-height:1;padding:.3rem .9375rem 0;text-align:center}}.o-logo{margin:0 .9375rem;padding:0}.o-logo__image{display:block;width:10.625rem;max-width:100%;height:3.75rem;fill:#4a5568}@media print,screen and (min-width: 43.75em){.o-logo__image{width:12.5rem}}.o-docmeta{margin:-0.9375rem 0 1.875rem}.o-sidebar-heading{display:block;margin:0 0 .9375rem;font-size:1.25rem;font-weight:700}.o-openmenu,.o-search{display:block;margin:0;padding:0 .9375rem 0 1.875rem}.o-openmenu__icon,.o-search__icon{display:block;width:1.8125rem;height:3.75rem;fill:#4a5568}@media print,screen and (min-width: 62.5em){.o-openmenu{display:none}}@media print,screen and (min-width: 43.75em){.o-search{display:none}}@media screen and (max-width: 43.74875em){.o-logo{margin:0 .4375rem}.o-search{padding:0 .4375rem}}.o-closemenu{z-index:1;position:absolute;top:.625rem;right:.625rem;display:block;padding:.9375rem .9375rem}@media print,screen and (min-width: 62.5em){.o-closemenu{display:none}}.o-closemenu__icon{display:block;width:1.875rem;height:1.875rem;fill:#3b68af}.c-breadcrumb{margin:0 0 .9375rem}.c-breadcrumb__list{display:flex;flex-direction:row;flex-wrap:wrap;margin:0 -0.3125rem;padding:0;list-style:none}.c-breadcrumb__item{display:block;flex:auto 0 0}.c-breadcrumb__link{display:inline-block;padding:.25rem .3125rem;line-height:1.4;font-size:.875rem;color:#4a5568}.c-breadcrumb__item+.c-breadcrumb__item:before{content:"";display:inline-block;width:.625rem;height:.6875rem;margin-left:.3125rem;margin-right:-0.0625rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 62'%3E%3Cpath fill='%234a5568' fill-rule='nonzero' d='M7.5938.39064L.6562 7.60939l24.25 23.40623-24.25 23.375 6.9376 7.2187 28-26.9999 3.75-3.5938-3.75-3.62498z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:100% 100%;background-position:center center;opacity:.25}.c-callout{color:#4a5568;display:block;margin:0 0 .9375rem;padding:.9375rem 1.25rem;background-color:#f9fbfe;border-left:.1875rem solid #5b99ea}.c-callout a{color:#1c6fdc}.c-callout__title{display:block;margin:0 0 .3125rem;text-transform:uppercase;letter-spacing:1.1}.c-callout a:hover{color:hsl(214.0625,77.4193548387%,63.6274509804%)}.c-callout--info{background-color:#f9fbfe;border-color:#5b99ea}.c-callout--info a{color:#1c6fdc}.c-callout--warning{background-color:#fdf6e5;border-color:#eebf41}.c-callout--warning a{color:#d09c13}.c-callout--alert{background-color:#f5f5f5;border-color:#d26d69}.c-callout--alert a{color:#d26d69}.c-callout--success{background-color:#e7f4eb;border-color:#5cb377}.c-callout--success a{color:#3e8554}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}.command-line-prompt>span:before{opacity:.7;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.command-line-prompt>span[data-continuation-prompt]:before{content:attr(data-continuation-prompt)}.command-line span.token.output{opacity:.7}pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24, 20%, 50%, 0.08);background:linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24, 20%, 50%, 0.4);color:hsl(24, 20%, 95%);font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px white}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:before,.line-numbers .line-highlight:after{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128, 128, 128, 0.2)}pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:none;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224, 224, 224, 0.2);box-shadow:0 2px 0 0 rgba(0, 0, 0, 0.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus{color:inherit;text-decoration:none}.token.operator{background:none}.c-history{display:flex;align-items:center;margin:-0.9375rem 0 1.875rem}.c-contributors{display:flex}.c-contributor{width:30px;height:30px;margin-left:-10px;border:2px solid #fff;border-radius:15px}.c-contributor:first-child{margin-left:0}.c-last-edit{max-width:100%;margin-bottom:0;padding-left:.5em;font-size:.9em;font-weight:500;color:#555;flex:1}.c-footer__grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.c-footer__cell{width:100%}@media print,screen and (min-width: 62.5em){.c-footer__cell{width:auto}}.c-footer__copyright{color:#4a5568}.c-footer__nav{margin:0 -0.625rem;padding:0;list-style:none}.c-footer__navitem{display:inline-block}.c-footer__navlink{display:block;font-weight:700;padding:.625rem;color:#4a5568}.c-footer__navlink:hover{color:#3b68af}.heading-link{display:inline-block;margin-left:.67em;transition:opacity .25s ease-in-out;opacity:0;font-size:.8em;bottom:.2em}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link,h5:hover .heading-link,h6:hover .heading-link{opacity:1}@media screen and (min-width: 43.75em){h1,h2,h3,h4,h5,h6{position:relative;margin-left:-3rem;padding-left:3rem}h1:target .heading-link,h2:target .heading-link,h3:target .heading-link,h4:target .heading-link,h5:target .heading-link,h6:target .heading-link{opacity:1}.heading-link{left:0;position:absolute}}.c-nav{margin:0 0 0 -1.25rem;padding:0;list-style:none}.c-nav__item{margin:0;padding:0;list-style:none;font-size:.9375rem;line-height:1.4}.c-nav__item a{position:relative;display:block;margin-bottom:.625rem;padding:0 0 0 1.25rem;text-decoration:none;font-weight:500;color:#475365;transition:all .2s ease}.c-nav__item a:hover{color:hsl(214.0625,77.4193548387%,63.6274509804%);transform:translateX(2px)}.c-nav__item--activepage .c-nav__chevron{top:.35rem}.c-nav__item--activepage>a{position:relative;color:#247978;padding:.35rem 0 .35rem 3.5rem;transition:all .2s ease}.c-nav__item--activepage>a:after,.c-nav__item--activepage>a:before{border:0 solid #e2e8f0}.c-nav__item--activepage>a:hover{transform:translateX(0)}.c-nav__item--activepage>a .inset{top:0;right:0;bottom:0;left:0;position:absolute;border-radius:.25rem;opacity:.25;background-color:#b2f5ea}.c-nav__item--level1>a{font-size:1rem;font-weight:700;padding-left:1.875rem}.c-nav__item--level2>a{padding-left:3.125rem}.c-nav__item--level3>a{padding-left:3.75rem}.c-nav__item--level4>a{padding-left:5rem}.c-nav__item--level5>a{padding-left:6.25rem}.c-nav__item--level6>a{padding-left:7.5rem}.c-nav__item--level7>a{padding-left:8.75rem}.c-nav__item--collapsed>ul{display:none}.c-nav__item--collapsed>a>.c-nav__chevron{top:.0625rem;transform:rotate(90deg)}.c-nav__chevron{display:inline-block;position:absolute;top:0;height:1.3125rem;width:1.3125rem;padding:.3125rem;margin:0 0 0 -1.4375rem;fill:rgba(74,85,104,.6);transform:rotate(-90deg);vertical-align:middle}.c-nav__sublist{margin:0 0 1.875rem;padding:0}::-webkit-scrollbar,::-webkit-scrollbar-thumb{width:1rem;height:1rem;border:.25rem solid rgba(0,0,0,0);border-radius:.5rem;background-color:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.1)}::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.2)}::-webkit-resizer,::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.l-main__oc,.c-oc__more{display:none}@media screen and (min-width: 76.25em){.l-main__oc,.c-oc__more{display:block}}.l-main__oc--below,.c-oc__more--below{display:block}@media screen and (min-width: 76.25em){.l-main__oc--below,.c-oc__more--below{display:none}}.l-main__oc{margin-top:5em;background:#f5f7f9;color:#303942;padding:1em;border-radius:1em;border:1px solid rgba(0,0,0,0);transition:background-color .5s ease-in-out;text-decoration:none !important;max-width:25rem}@media screen and (min-width: 76.25em){.l-main__oc{margin-left:-1.5625rem}}.l-main__oc .c-oc__member_image{transition:border .5s ease-in-out}.l-main__oc:hover{color:#303942;background:#e3efff}.l-main__oc:hover .c-oc__member_image{border-color:#e3efff}.c-oc__logo{max-width:100%;max-height:60px}.c-oc__text{font-size:.8125rem;font-weight:500}.c-oc__subtitle{font-size:.8125rem;font-weight:700;text-transform:uppercase}.c-oc__members{padding-left:0;list-style:none;margin-bottom:25px;padding-right:25px;margin-left:-28px;margin-right:-35px;text-align:center}.c-oc__member{display:inline-block;margin-right:-20px;margin-bottom:-15px}.c-oc__member_image{width:60px;height:60px;border-radius:50%;border:5px solid #f5f7f9;background:#00b5de}.c-oc__total span{height:60px;background:#00b5de;border-radius:30px;border:5px solid #f5f7f9;color:#fff;padding:.7em 1em;font-weight:600;display:block}.c-oc__more{text-align:center;font-size:.8125rem;font-weight:500;text-decoration:underline;margin-top:1em;margin-left:-1em;max-width:25rem}.c-optionswitch__current{display:block;padding:.4375rem .625rem;color:#4a5568;white-space:nowrap;background:#fff;transition:background-color .2s ease-in-out;border-radius:.1875rem}.c-optionswitch__current:hover{color:#4a5568;background:#fff}.c-optionswitch__currentchevron{display:inline-block;width:.625rem;height:.625rem;fill:#4a5568;vertical-align:middle;margin:-0.0625rem 0 0 .1875rem;transform:rotate(90deg)}.c-optionswitch__listwrapper{position:absolute;top:3.6875rem;display:none;background:#edf2f7;box-shadow:0 .1875rem .5rem 0 rgba(116,129,141,.1)}@media screen and (min-width: 81.25em){.c-optionswitch__listwrapper{right:0}}@media screen and (max-width: 90em){.c-optionswitch__listwrapper{right:0}}@media screen and (max-width: 48em){.c-optionswitch__listwrapper{right:0}}.c-optionswitch__listwrapper:target{display:block}@media screen and (min-width: 43.75em){.c-optionswitch__listwrapper:target{display:flex}}.c-optionswitch__listwrapper:target:before{content:none}.c-optionswitch__list{margin:0;padding:0;list-style:none}.c-optionswitch__item{position:relative;display:block}.c-optionswitch__link{display:block;padding:.25rem .625rem;color:#4a5568;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-property:background-color,border-color,color}.c-optionswitch__link:hover{color:#4a5568;background:#fff}.c-optionswitch__item--active .c-optionswitch__link{background:#fff}.c-optionswitch__translation{color:hsl(218,16.8539325843%,19.9019607843%)}.c-optionswitch__translation:before{content:"("}.c-optionswitch__translation:after{content:")"}.c-optionswitch__note{padding:0 .625rem .625rem;color:hsl(218,16.8539325843%,19.9019607843%)}.l-main-search__container{list-style:none;padding:0;margin-bottom:2rem}.l-main-search__result,.l-live-search__result{border-top:1px solid #fff;padding-top:1rem;margin-top:1rem}.l-main-search__result .c-breadcrumb,.l-live-search__result .c-breadcrumb{margin-bottom:0}.l-main-search__result h4,.l-live-search__result h4{margin-top:0;margin-bottom:0}@media screen and (max-width: 43.74875em){.l-main-search__result:first-child,.l-live-search__result:first-child{border-top:none}}.l-main-search__match summary,.l-live-search__match summary{float:right;color:#777}.l-search__pagination-holder{list-style:none;padding:0;text-align:center}.l-search-page{display:inline-block}.l-search-page__link{display:block;cursor:pointer;padding:.5rem 1rem;line-height:initial;background:#e2e8f0;color:#1a202c;border-radius:.25rem;border:1px solid #e2e8f0}.l-search-page__link:hover,.l-search-page__link:focus{background:#475365;border:1px solid #475365;color:#ededed}.l-search-page__link--active{background:#314a97;border:1px solid #314a97;color:#ededed}.c-searchform--resultspage{margin-bottom:1rem}.c-searchform--resultspage .c-searchform__input{border:1px solid #fff}.l-search__meta{color:#4a5568}.l-search__ignored{border-left:.5rem solid #eebf41;padding:.9375rem 1.25rem;background-color:rgba(238,191,65,.3);color:rgb(44.0579710145,33.1594202899,3.9420289855)}.l-search__tip{border-left:.5rem solid #3b68af;padding:.9375rem 1.25rem;background-color:rgba(59,104,175,.3);color:#000}.l-search__no_results{border-left:.25rem solid #d26d69;padding:.9375rem 1.25rem;background-color:rgba(210,109,105,.3);color:rgb(46.1538461538,15.0769230769,13.8461538462);max-width:100%}.l-search__no_results--live{margin:0}.c-searchform--header{z-index:5}.l-live-search__container{position:absolute;background:#fff;width:100%;display:none;border-radius:0 0 5px 5px;margin-top:-3px;z-index:4;box-shadow:0 2px 7px 2px rgba(0,0,0,.5)}.l-live-search__container--visible{display:block}.l-live-search__container--loading::before{content:"Loading...";width:100%;display:block;padding:.5em .5em .5em 1em;border-radius:5px 5px 0 0;color:#4a5568;background:#fff}.l-live-search__container--loading:empty::before{border-radius:5px}@media screen and (max-width: 43.74875em){.l-live-search__container{position:initial;margin-top:1em;border-radius:7px;box-shadow:none;border:1px solid #3b68af}}.l-live-search__results{list-style:none;padding:0;margin:0;max-height:70vh;overflow-y:scroll}@media screen and (max-width: 43.74875em){.l-live-search__results{max-height:calc(100vh - 15rem)}}.l-live-search__result,.l-main-search__result{padding:0;margin:0;position:relative}.c-live-search__result-crumbs,.l-main-search__crumbs{position:absolute;top:.7rem;white-space:nowrap;text-overflow:ellipsis;padding:0 1rem;height:1.6em;overflow:hidden;font-weight:500}.c-live-search__result-link,.l-main-search__link{color:#314a97;display:block;padding:2.2rem 1rem .7rem;font-weight:500}.c-live-search__result-link:hover,.c-live-search__result-link:focus,.l-live-search__result--selected .c-live-search__result-link,.l-main-search__link:hover,.l-main-search__link:focus,.l-live-search__result--selected .l-main-search__link{background:#f0f6ff}.l-live-search__search{margin:0}.l-live-search__search a{font-weight:500;display:block;padding:.7rem 1rem;width:100%;color:#4a5568;background:#fff;border-radius:0 0 5px 5px}.l-main-search__result{max-width:80ch}.l-main-search__title{color:#314a97}.l-main-search__link{text-decoration:none !important}.l-main-search__link:hover .l-main-search__title,.l-main-search__link:focus .l-main-search__title{color:hsl(214.0625,77.4193548387%,63.6274509804%)}.l-main-search__snippet{color:#4a5568}.size_code{font-size:1em}.c-searchform{position:relative;width:100%}@media screen and (max-width: 43.74875em){.c-searchform{margin-top:1rem}}.c-searchform__input{display:block;width:100%;border:none;border-radius:.5rem;padding:.625rem 2.1875rem .625rem 1.25rem;line-height:1.5 !important;font-family:inherit;font-size:100%;transition:all .1s ease-in;background-color:#edf2f7}.c-searchform__input:focus{border-color:#e2e8f0;background-color:#fff}@media screen and (max-width: 43.74875em){.c-searchform__input{border:1px solid #fff}}.c-searchform__button{position:absolute;top:0;right:.625rem;bottom:0;margin:0;padding:0;background:rgba(0,0,0,0);border:none}.c-searchform__icon{width:1.5rem;height:1.25rem;fill:#717171;vertical-align:middle}#searchform:target:before{content:"";height:0;margin:0}table{display:block;width:-moz-fit-content;width:fit-content;max-width:100%;max-width:calc(100% + 1.25rem);margin:1.875rem 0;border-collapse:collapse;overflow-x:auto}@media print,screen and (min-width: 43.75em){table{display:table;table-layout:fixed;width:100%;max-width:100%}table td{word-wrap:break-word}}table tr:nth-child(2n){background:#f5f7f9}table td,table th{border:1px solid rgb(197.3076923077,211.1538461538,222.6923076923);padding:.5625rem 1rem}table th{font-weight:700;text-align:center}table td{min-width:10.625rem}@media print,screen and (min-width: 43.75em){table td{min-width:0}}table::-webkit-scrollbar,table::-webkit-scrollbar-thumb{width:1rem;height:1rem;border:.25rem solid rgba(0,0,0,0);border-radius:.5rem;background-color:rgba(0,0,0,0)}table::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.1)}table::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 1rem rgba(85,108,136,.2)}table::-webkit-resizer,table::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.c-toc{position:relative;margin:0 0 1.875rem}.c-toc__title{display:block;margin:0 0 .3125rem;font-size:.75rem;font-weight:700;color:#a0aec0;text-transform:uppercase}.c-toc ul{margin:0;padding:0;list-style:none}.c-toc__wrapper>ul>li{margin:0 0 .4375rem}.c-toc__wrapper>ul>li:last-child{margin-bottom:0}.c-toc__wrapper>ul>li>a{font-weight:700}.c-toc a{display:block;margin:0 0 .1875rem;font-size:.8125rem;font-weight:500;color:#475365;line-height:1.4;transition:all .2s ease}.c-toc a:hover{color:#1a202c;transform:translateX(2px)}.c-toc li li{padding-left:.9375rem}.u-show-for-sr,html.js .u-hide-with-js-sr,.u-show-on-focus{position:absolute !important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}:target:before{content:"";display:block;height:5.625rem;margin:-5.625rem 0 0}.is-brokenlink{color:#d26d69;text-decoration:line-through}.is-brokenlink:after{content:" (link broken)";text-decoration:none}.is-externallink:after{content:"";display:inline-block;width:.625rem;height:.625rem;margin:-0.0625rem .125rem 0 .25rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 76'%3E%3Cg fill='%234a5568' fill-rule='nonzero'%3E%3Cpath d='M27.37215 46.13316994L72.34371002 1.16160993l2.61627 2.61627L29.98842 48.74943995z'/%3E%3Cpath d='M75.6 28.7h-3.8V4.4H47.4V.6h28.2zM68.1 75.6H.6V8.1h33.7v3.8h-30v60h60v-30h3.8z'/%3E%3C/g%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;background-position:center center}.u-no-margin{margin:0 !important}.u-no-margin--top{margin-top:0 !important}.u-no-margin--bottom{margin-bottom:0 !important}.u-no-padding{padding:0 !important}.u-no-padding--top{padding-top:0 !important}.u-no-padding--bottom{padding-bottom:0 !important}html.no-js .u-show-with-js{display:none !important}html.js .u-hide-with-js{display:none !important}@media print{.l-app>*{display:none}.l-app .l-main{display:block}} /*# sourceMappingURL=app.css.map */ \ No newline at end of file diff --git a/public/template/dist/app.css.map b/public/template/dist/app.css.map index 162beaa6..d4af3dab 100644 --- a/public/template/dist/app.css.map +++ b/public/template/dist/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["../node_modules/modern-normalize/modern-normalize.css","../src/scss/_typography.scss","../src/scss/_settings.scss","../src/scss/_functions.scss","../src/scss/_layout.scss","../src/scss/_breakpoints.scss","../src/scss/_objects.scss","../src/scss/components/_breadcrumb.scss","../src/scss/components/_callout.scss","../node_modules/prismjs/themes/prism-tomorrow.css","../node_modules/prismjs/plugins/command-line/prism-command-line.css","../node_modules/prismjs/plugins/line-highlight/prism-line-highlight.css","../node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css","../node_modules/prismjs/plugins/toolbar/prism-toolbar.css","../src/scss/components/_code.scss","../src/scss/components/_contributors.scss","../src/scss/components/_footer.scss","../src/scss/components/_heading_links.scss","../src/scss/components/_nav.scss","../src/scss/components/_opencollective.scss","../src/scss/components/_optionswitch.scss","../src/scss/components/_search.scss","../src/scss/components/_searchform.scss","../src/scss/components/_table.scss","../src/scss/components/_toc.scss","../src/scss/_helpers.scss","../src/scss/_print.scss"],"names":[],"mappings":"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","file":"app.css","sourcesContent":["/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n\t-moz-tab-size: 4;\n\ttab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n\tline-height: 1.15; /* 1 */\n\t-webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n\tmargin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n\tfont-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n","body {\n background:map-get($colors, 'body-bg');\n color: map-get($colors, 'gray');\n font-family: $body-font-family;\n font-weight: 400;\n line-height: $global-line-height;\n color: map-get($colors, 'body-text');\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nh1, h2, h3, h4, h5, h6 {\n color: map-get($colors, dark);\n line-height: 1.3;\n margin-bottom: 2rem;\n}\n\n$min_width: rem(521);\n$max_width: rem(1700);\n\nh1 {\n margin-top: rem(30);\n //font-size: rem(45);\n @include fluid-type($min_width, $max_width, rem(30), rem(50));\n}\n\nh2 {\n //font-size: rem(30);\n @include fluid-type($min_width, $max_width, rem(22), rem(35));\n}\n\nh3 {\n //font-size: rem(26);\n @include fluid-type($min_width, $max_width, rem(20), rem(31));\n}\n\nh4 {\n //font-size: rem(22);\n @include fluid-type($min_width, $max_width, rem(18), rem(27));\n}\n\nh5 {\n //font-size: rem(20);\n @include fluid-type($min_width, $max_width, rem(16), rem(25));\n}\n\nh6 {\n //font-size: rem(18);\n @include fluid-type($min_width, $max_width, rem(16), rem(23));\n}\n\n\na {\n text-decoration: none;\n color: map-get($colors, 'link-color');\n transition: color .2s ease-in-out;\n\n &:hover {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n\n // Links should look like links\n .l-main__content &, .c-callout & {\n text-decoration: underline;\n }\n}\n\nimg {\n // Get rid of gap under images by making them display: inline-block; by default\n display: inline-block;\n vertical-align: middle;\n\n // Grid defaults to get images and embeds to work properly\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic;\n}\n\np {\n margin: 0 0 $global-margin;\n line-height: $global-line-height;\n max-width: $paragraph-max-width;\n}\n\nli {\n max-width: $paragraph-max-width;\n}\n\ncode, kbd, samp, pre {\n background-color: map-get($colors, 'inline-code');\n padding: 0.1rem 0.25rem;\n font-size: .775rem;\n border-radius: .125rem;\n padding-left: .25rem;\n padding-right: .25rem;\n color: map-get($colors, sapphire);\n font-family: SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important;\n}\npre > code {\n padding: 0;\n}\n\ncode[class*=\"language-\"], pre[class*=\"language-\"] {\n border-radius: .5rem;\n font-size: .775rem !important;\n line-height: 1.5 !important;\n}\n\nblockquote {\n display: block;\n margin: 0 0 $global-margin;\n padding: rem(15 20);\n background-color: map-get($colors, 'callout-info-bg');\n border-left: rem(3) solid map-get($colors, 'callout-info-border');\n color: map-get($colors, gray);\n a{\n color: map-get($colors, 'link-color');\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\niframe, object, video {\n max-width: 100%;\n}\n","$colors: (\n cadetBlue: #a0aec0,\n primary: #3b68af, // AA compatible\n sapphire: #314a97,\n perano: #b2c9f5,\n light: #ededed,\n gray:#4a5568, // AA compatible\n slateGray: #475365, // AAA compatible\n mirage: #1a202c,\n alert: #d26d69,\n success: #2d8b01,\n warning: #EEBF41,\n dark: #252930,\n 'callout-info-border': #5b99ea,\n 'callout-alert-border': #d26d69,\n 'callout-success-border': #5cb377,\n 'callout-warning-border': #EEBF41,\n 'callout-info-bg':#f9fbfe,\n 'callout-alert-bg': #f5f5f5,\n 'callout-success-bg': #e7f4eb,\n 'callout-warning-bg': #fdf6e5,\n 'header-bg': #fff,\n 'header-text': #4a5568, //#4a4a4a,\n 'sidebar-bg': #F5F7F9,\n 'sidebar-text': #303942,\n 'nav-active': #247978,\n 'nav-active-bg': #b2f5ea,\n 'body-bg': #fff,\n 'body-text': #4a5568,\n 'border': #E6ECF1,\n 'link-broken': #d26d69,\n 'link-color': #1c6fdc,\n 'inline-code': #ebf1ff,\n 'optionswitch-bg': #edf2f7,\n);\n\n/*\n$dark-colors: (\n primary: #68a2ff, // AA compatible\n light: #ededed,\n gray: #757575, // AA compatible\n alert: #c70000,\n success: #2d8b01,\n warning: #ffae00,\n 'header-bg': #052a67,\n 'header-text': #fff, //#4a4a4a,\n 'sidebar-bg': #141f31,\n 'body-bg': #111,\n 'body-text': #fff,\n border: #E6ECF1,\n);\n*/\n\n$breakpoints: (\n small: 0,\n medium: 700px,\n large: 1000px,\n xlarge: 1220px,\n xxlarge: 1300px\n);\n\n$global-font-size: 100%;\n$global-line-height: 1.6;\n$global-width: rem(1200);\n$global-margin: rem(15);\n$global-radius: rem(3);\n$paragraph-max-width: 80ch; // approx 60 actual flex-width font characters\n\n$body-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n\n$header-height: rem(60);\n\n$main-margin-top: rem(30);\n\n$sidebar-width: rem(320);\n$sidebar-breakpoint: 'large';\n","@use \"sass:math\";\n\n/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.\n///\n/// @param {Number} $num - Number to strip unit from.\n///\n/// @returns {Number} The same number, sans unit.\n@function strip-unit($num) {\n @return math.div($num, $num * 0 + 1);\n}\n\n/// Converts one or more pixel values into matching rem values.\n///\n/// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.\n/// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$global-font-size` variable as the base.\n///\n/// @returns {List} A list of converted values.\n@function rem($values, $base: null) {\n $rem-values: ();\n $count: length($values);\n\n // If no base is defined, defer to the global font size\n @if $base == null {\n $base: $global-font-size;\n }\n\n // If the base font size is a %, then multiply it by 16px\n // This is because 100% font size = 16px in most all browsers\n @if unit($base) == '%' {\n $base: math.div($base, 100%) * 16px;\n }\n\n // Using rem as base allows correct scaling\n @if unit($base) == 'rem' {\n $base: strip-unit($base) * 16px;\n }\n\n @if $count == 1 {\n @return -zf-to-rem($values, $base);\n }\n\n @for $i from 1 through $count {\n $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));\n }\n\n @return $rem-values;\n}\n@function rem-calc($values, $base: null) {\n @return rem($values, $base);\n}\n\n// Converts a unitless, pixel, or rem value to em, for use in breakpoints.\n@function -zf-bp-to-em($value) {\n // Pixel and unitless values are converted to rems\n @if unit($value) == 'px' or unitless($value) {\n $value: rem-calc($value, $base: 16px);\n }\n\n // Then the value is converted to ems\n @return strip-unit($value) * 1em;\n}\n\n/// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.\n/// @access private\n///\n/// @param {Number} $value - Pixel value to convert.\n/// @param {Number} $base [null] - Base for pixel conversion.\n///\n/// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.\n@function -zf-to-rem($value, $base: null) {\n // Check if the value is a number\n @if type-of($value) != 'number' {\n @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';\n @return $value;\n }\n\n // Transform em into rem if someone hands over 'em's\n @if unit($value) == 'em' {\n $value: strip-unit($value) * 1rem;\n }\n\n // Calculate rem if units for $value is not rem or em\n @if unit($value) != 'rem' {\n $value: math.div(strip-unit($value), strip-unit($base)) * 1rem;\n }\n\n // Turn 0rem into 0\n @if $value == 0rem {\n $value: 0;\n }\n\n @return $value;\n}\n\n//\n// Function to create an optimized svg url https://codepen.io/jakob-e/pen/doMoML\n//\n@function svg-url($svg){\n //\n // Add missing namespace\n //\n @if not str-index($svg,xmlns) {\n $svg: str-replace($svg, '', '%3E');\n\n //\n // The maybe list\n //\n // Keep size and compile time down\n // ... only add on documented fail\n //\n // $chunk: str-replace($chunk, '|', '%7C');\n // $chunk: str-replace($chunk, '[', '%5B');\n // $chunk: str-replace($chunk, ']', '%5D');\n // $chunk: str-replace($chunk, '^', '%5E');\n // $chunk: str-replace($chunk, '`', '%60');\n // $chunk: str-replace($chunk, ';', '%3B');\n // $chunk: str-replace($chunk, '?', '%3F');\n // $chunk: str-replace($chunk, ':', '%3A');\n // $chunk: str-replace($chunk, '@', '%40');\n // $chunk: str-replace($chunk, '=', '%3D');\n\n $encoded: #{$encoded}#{$chunk};\n $index: $index + $slice;\n }\n @return url(\"data:image/svg+xml,#{$encoded}\");\n}\n\n\n// Helper function to replace characters in a string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n @return if($index,\n str-slice($string, 1, $index - 1) + $replace +\n str-replace(str-slice($string, $index +\n str-length($search)), $search, $replace),\n $string);\n}\n\n\n@function rgba-to-rgb($rgba, $background: #fff) {\n @return mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%)\n}\n\n// lightens or darkens a color based on the existing lightness of a color (for easier switchig light/dark theme)\n@function lightendarken($color, $percent) {\n @if (lightness($color) > 50) {\n @return darken($color, $percent);\n } @else {\n @return lighten($color, $percent);\n }\n}\n\n\n@mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) {\n $u1: unit($min-vw);\n $u2: unit($max-vw);\n $u3: unit($min-font-size);\n $u4: unit($max-font-size);\n\n @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 {\n & {\n font-size: rem($min-font-size);\n @media screen and (min-width: $min-vw) {\n font-size: calc(#{rem($min-font-size)} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));\n }\n @media screen and (min-width: $max-vw) {\n font-size: rem($max-font-size);\n }\n }\n }\n}\n","html, body {\n height: 100%;\n width: 100%;\n background: map-get($colors, 'body-bg');\n scroll-behavior: smooth;\n}\n\n.l-app {\n display: flex;\n min-height: 100vh;\n flex-direction: column;\n\n padding-top: $header-height;\n background: map-get($colors, 'body-bg');\n //filter: invert(100%);\n\n &--has-sidebar {\n @include breakpoint(large) {\n padding-left: $sidebar-width;\n }\n }\n}\n\n.l-header {\n z-index: 2;\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: $header-height;\n background: map-get($colors, 'header-bg');\n border-bottom: 1px solid lightendarken(map-get($colors, border), 10%);\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);\n\n &__logo {\n flex: auto 0 0;\n position: relative;\n\n @include breakpoint(xlarge) {\n flex: $sidebar-width 0 0;\n flex: calc(#{$sidebar-width} - #{rem(30)}) 0 0;\n }\n }\n\n &__search {\n flex-basis: 50%;\n flex-grow: 0;\n flex-shrink: 1;\n position: relative;\n\n @include breakpoint(xlarge) {\n margin: rem(0 50 0 75);\n }\n\n @include breakpoint(small only) {\n position: fixed;\n width: 100%;\n margin: 0 !important;\n top: 3.75rem;\n background: map-get($colors, 'body-bg');\n height: calc(100vh - 2.25rem);\n padding: 0 1rem 1rem 1rem;\n transform: translateY(100%);\n transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;\n }\n }\n &__versionswitch{\n margin: rem(0 15);\n }\n}\n@include breakpoint(small only) {\n #searchform:target {\n transform: translateY(0);\n }\n}\n\n.l-sidebar {\n outline: none;\n display: block;\n position: fixed;\n top: $header-height;\n bottom: 0;\n left: 0;\n width: 100%;\n transform: translateX(-100%);\n z-index: 1;\n padding: $main-margin-top rem(20) $global-margin;\n background: map-get($colors, 'sidebar-bg');\n border-right: 1px solid map-get($colors, border);\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n transition: transform .4s ease-in-out;\n\n @include breakpoint($sidebar-breakpoint) {\n display: block;\n position: fixed;\n top: $header-height;\n bottom: 0;\n left: 0;\n width: $sidebar-width;\n transform: translateX(0);\n transition: none;\n }\n}\n\n#nav:target {\n transform: translateX(0);\n}\n\n\n.l-main {\n position: relative;\n margin: $main-margin-top rem(20) $global-margin;\n\n flex: 1;\n\n @include breakpoint(medium) {\n margin: $main-margin-top rem(50) $global-margin rem(75);\n }\n\n &__title {\n max-width: rem(1000);\n }\n\n &__contentwrapper {\n @include breakpoint(xlarge) {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n }\n }\n\n &__content {\n @include breakpoint(medium) {\n padding-right: rem(25);\n }\n\n @include breakpoint(xlarge) {\n flex-basis: 80%;\n flex-grow: 0;\n flex-shrink: 1;\n order: 1;\n min-width: 0;\n }\n\n > :first-child {\n margin-top: 0;\n }\n }\n\n &__toc {\n @include breakpoint(xlarge) {\n flex-basis: 20%;\n flex-grow: 1;\n flex-shrink: 0;\n align-self: flex-start;\n order: 2;\n padding: rem(0 0 0 25);\n top: rem(75);\n position: sticky;\n }\n }\n\n}\n\n.l-footer {\n flex-basis: 100%;\n flex-shrink: 0;\n order: 3;\n padding: rem(30 15 15);\n margin: rem(45 0 0);\n border-top: 1px solid map-get($colors, border);\n\n @include breakpoint(medium) {\n padding: rem(30 75 15);\n }\n}\n\n@media (max-width: 768px) {\n .o-openmenu {\n order: 4;\n padding: 0 .9375rem 0 .9375rem !important;\n }\n .o-search, .l-header__search {\n order: 3;\n margin: 0 0.475rem 0 auto;\n }\n .l-header__versionswitch {\n order: 2;\n }\n .l-header__logo {\n order: 1;\n max-width: 25%;\n }\n}\n@media (max-width: 425px) {\n .l-footer {\n font-size: 14px;\n line-height: 1;\n padding: .9375rem .9375rem;\n .c-footer__nav{\n display: flex;\n justify-content: center;\n &link {\n padding: .425rem;\n }\n }\n .c-footer__copyright{\n font-size: 14px;\n line-height: 1;\n padding: .3rem .9375rem 0;\n text-align: center;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n\n/// Casts a map into a list.\n/// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/\n///\n/// @param {Map} $map - Map to pull a value from.\n///\n/// @returns {List} Depending on the flag, returns either $keys or $values or both.\n@function map-to-list($map, $keep: 'both') {\n $keep: if(index('keys' 'values', $keep), $keep, 'both');\n\n @if type-of($map) == 'map' {\n $keys: ();\n $values: ();\n\n @each $key, $val in $map {\n $keys: append($keys, $key);\n $values: append($values, $val);\n }\n\n @if $keep == 'keys' {\n @return $keys;\n }\n @else if $keep == 'values' {\n @return $values;\n }\n @else {\n @return zip($keys, $values);\n }\n }\n\n @return if(type-of($map) != 'list', ($value,), $map);\n\n}\n\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n small: 0,\n medium: 640px,\n large: 1024px,\n xlarge: 1200px,\n xxlarge: 1440px,\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n @error 'The first key in the $breakpoints map must have a value of \"0\".';\n}\n@else {\n $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n // Size or keyword\n $bp: nth($val, 1);\n // Value for max-width media queries\n $bp-max: 0;\n // Direction of media query (up, down, or only)\n $dir: if(length($val) > 1, nth($val, 2), up);\n // Eventual output\n $str: '';\n // Is it a named media query?\n $named: false;\n\n // Orientation media queries have a unique syntax\n @if $bp == 'landscape' or $bp == 'portrait' {\n @return '(orientation: #{$bp})';\n }\n @else if $bp == 'retina' {\n @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';\n }\n\n // Try to pull a named breakpoint out of the $breakpoints map\n @if type-of($bp) == 'string' {\n @if map-has-key($breakpoints, $bp) {\n @if $dir == 'only' or $dir == 'down' {\n $bp-max: -zf-map-next($breakpoints, $bp);\n }\n\n $bp: map-get($breakpoints, $bp);\n $named: true;\n }\n @else {\n $bp: 0;\n @warn 'breakpoint(): \"#{$val}\" is not defined in your $breakpoints setting.';\n }\n }\n\n // Convert any pixel, rem, or unitless value to em\n $bp: -zf-bp-to-em($bp);\n // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n // See https://github.com/zurb/foundation-sites/issues/11313\n @if $bp-max {\n $bp-max: -zf-bp-to-em($bp-max) - .00125;\n }\n\n // Conditions to skip media query creation\n // - It's a named breakpoint that resolved to \"0 down\" or \"0 up\"\n // - It's a numeric breakpoint that resolved to \"0 \" + anything\n @if $bp > 0em or $dir == 'only' or $dir == 'down' {\n // `only` ranges use the format `(min-width: n) and (max-width: n)`\n @if $dir == 'only' {\n // Only named media queries can have an \"only\" range\n @if $named == true {\n // Only use \"min-width\" if the floor is greater than 0\n @if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n\n // Only add \"and\" to the media query if there's a ceiling\n @if $bp-max != null {\n $str: $str + ' and ';\n }\n }\n\n // Only use \"max-width\" if there's a ceiling\n @if $bp-max != null {\n $str: $str + '(max-width: #{$bp-max})';\n }\n }\n @else {\n @warn 'breakpoint(): Only named media queries can have an `only` range.';\n }\n }\n\n // `down` ranges use the format `(max-width: n)`\n @else if $dir == 'down' {\n $max: if($named, $bp-max, $bp);\n\n // Skip media query creation if input value is exactly \"0 down\",\n // unless the function was called as \"small down\", in which case it's just \"small only\"\n @if $named or $bp > 0em {\n @if $max != null {\n $str: $str + '(max-width: #{$max})';\n }\n }\n }\n\n // `up` ranges use the format `(min-width: n)`\n @else if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n }\n }\n\n @return $str;\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n/// - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.\n/// - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n/// - If a rem value is passed, the unit will be changed to em.\n/// - If an em value is passed, the value will be used as-is.\n///\n/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($value) {\n $str: breakpoint($value);\n $bp: index($-zf-breakpoints-keys, $value);\n $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n\n $old-zf-size: null;\n\n // Make breakpoint size available as a variable\n @if global-variable-exists(-zf-size) {\n $old-zf-size: $-zf-size;\n }\n $-zf-size: nth($value, 1) !global; // get the first value to account for `only` and `down` keywords\n\n // If $str is still an empty string, no media query is needed\n @if $str == '' {\n @content;\n }\n\n // Otherwise, wrap the content in a media query\n @else {\n // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n @if $bp != null and $bp <= $pbp {\n @media print, screen and #{$str} {\n @content;\n }\n }\n @else {\n @media screen and #{$str} {\n @content;\n }\n }\n }\n\n $-zf-size: $old-zf-size !global;\n}\n\n/// Convers the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n $str: '';\n @each $key, $value in $map {\n $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n }\n $str: str-slice($str, 1, -2);\n\n @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n // Store the keys of the map as a list\n $values: map-keys($map);\n\n $i: 0;\n\n // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n @if (map-has-key($map, $key)) {\n $i: index($values, $key) + 1;\n }\n\n // If the key doesn't exist, or it's the last key in the map, return null\n @if ($i > length($map) or $i == 0) {\n @return null;\n }\n // Otherwise, return the value\n @else {\n @return map-get($map, nth($values, $i));\n }\n\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $key - Key to use as last breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-breakpoints-less-than($key) {\n $list: ();\n $found_key: false;\n\n @each $name in $-zf-breakpoints-keys {\n @if ($name == $key) {\n $found_key: true;\n }\n @if not $found_key {\n $list: append($list, $name);\n }\n }\n @return $list;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $breakpoint - a named or non-named breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-closest-named-breakpoint($breakpoint) {\n $last: $-zf-zero-breakpoint;\n $found: false;\n\n $value: unitless-calc($breakpoint, 1px);\n @each $key, $val in $breakpoints {\n @if not $found {\n @if unitless-calc($val) > $value {\n $found: true;\n } @else {\n $last: $key;\n }\n }\n }\n\n @return $last;\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n // If the given map is a single value, return it\n @if type-of($map) == 'number' {\n @return $map;\n }\n\n\n // Check if the breakpoint name exists globally\n @if not map-has-key($breakpoints, $value) {\n @if type-of($value) == 'number' {\n $value: -zf-closest-named-breakpoint($value);\n } @else {\n @return null;\n }\n }\n // Check if the breakpoint name exists in the local config map\n @else if map-has-key($map, $value) {\n // If it does, just return the value\n @return map-get($map, $value);\n }\n // Otherwise, find the next lowest breakpoint and return that value\n @else {\n $anchor: null;\n $found: false;\n\n @each $key, $val in $breakpoints {\n @if not $found {\n @if map-has-key($map, $key) {\n $anchor: $key;\n }\n @if $key == $value {\n $found: true;\n }\n }\n }\n\n @return map-get($map, $anchor);\n }\n}\n\n$small-up: '';\n$small-only: '';\n\n@if map-has-key($breakpoints, small) {\n $small-up: screen;\n $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n$medium-up: '';\n$medium-only: '';\n\n@if map-has-key($breakpoints, medium) {\n $medium-up: unquote('screen and #{breakpoint(medium)}');\n $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n$large-up: '';\n$large-only: '';\n\n@if map-has-key($breakpoints, large) {\n $large-up: unquote('screen and #{breakpoint(large)}');\n $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n$xlarge-up: '';\n$xlarge-only: '';\n\n@if map-has-key($breakpoints, xlarge) {\n $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n$xxlarge-up: '';\n\n@if map-has-key($breakpoints, xxlarge) {\n $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n",".o-logo {\n margin: rem(0 15);\n padding: rem(0);\n &__image {\n display: block;\n width: rem(170);\n max-width: 100%;\n height: $header-height;\n fill: map-get($colors, 'header-text');\n\n @include breakpoint(medium) {\n width: rem(200);\n }\n }\n}\n\n.o-docmeta {\n margin: rem(-15) 0 $global-margin*2;\n}\n\n.o-sidebar-heading {\n display: block;\n margin: 0 0 $global-margin;\n font-size: rem(20);\n font-weight: 700;\n}\n\n\n.o-openmenu, .o-search {\n display: block;\n margin: rem(0);\n padding: rem(0 15 0 30);\n\n &__icon {\n display: block;\n width: rem(29);\n height: $header-height;\n fill: map-get($colors, 'header-text');\n }\n\n /*\n &--opened {\n .o-openmenu__icon {\n fill: transparent;\n }\n }\n */\n}\n@include breakpoint($sidebar-breakpoint) {\n .o-openmenu {\n display: none;\n }\n}\n@include breakpoint(medium) {\n .o-search {\n display: none;\n }\n}\n@include breakpoint(small only) {\n .o-logo{\n margin: rem(0 7);\n }\n .o-search {\n padding: rem(0 7);\n }\n}\n.o-closemenu {\n z-index: 1;\n position: absolute;\n top: rem(10);\n right: rem(10);\n display: block;\n padding: rem(15 15);\n\n @include breakpoint($sidebar-breakpoint) {\n display: none;\n }\n\n &__icon {\n display: block;\n width: rem(30);\n height: rem(30);\n fill: map-get($colors, 'primary');\n }\n}\n","$breadcrum-item-spacing: rem(5);\n\n.c-breadcrumb {\n margin: 0 0 $global-margin;\n\n &__list {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 0 $breadcrum-item-spacing*-1;\n padding: 0;\n list-style: none;\n }\n\n &__item {\n display: block;\n flex: auto 0 0;\n }\n\n &__link {\n display: inline-block;\n padding: rem(4) $breadcrum-item-spacing;\n line-height: 1.4;\n font-size: rem(14);\n color: map-get($colors, gray);\n }\n\n &__item + &__item:before {\n content: \"\";\n display: inline-block;\n width: rem(10);\n height: rem(11);\n margin-left: rem(5);\n margin-right: rem(-1);\n background: svg-url('');\n background-repeat: no-repeat;\n background-size: 100% 100%;\n background-position: center center;\n opacity: 0.25;\n }\n}\n",".c-callout {\n color: map-get($colors, gray);\n display: block;\n margin: 0 0 $global-margin;\n padding: rem(15 20);\n background-color: map-get($colors, 'callout-info-bg');\n border-left: rem(3) solid map-get($colors, 'callout-info-border');\n a{\n color: map-get($colors, 'link-color');\n }\n\n &__title {\n display: block;\n margin: rem(0 0 5);\n text-transform: uppercase;\n letter-spacing: 1.1;\n }\n a:hover{\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n\n &--info{\n background-color: map-get($colors, 'callout-info-bg');\n border-color: map-get($colors, 'callout-info-border');\n a{\n color: map-get($colors, 'link-color');\n }\n }\n\n &--warning {\n background-color: map-get($colors, 'callout-warning-bg');\n border-color: map-get($colors, 'callout-warning-border');\n a{\n color: #d09c13;\n }\n }\n\n &--alert {\n background-color: map-get($colors, 'callout-alert-bg');\n border-color: map-get($colors, 'callout-alert-border');\n a{\n color: #d26d69;\n }\n }\n\n &--success {\n background-color: map-get($colors, 'callout-success-bg');\n border-color: map-get($colors, 'callout-success-border');\n a{\n color:#3e8554;\n }\n }\n}\n","/**\n * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML\n * Based on https://github.com/chriskempson/tomorrow-theme\n * @author Rose Pritchard\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tcolor: #ccc;\n\tbackground: none;\n\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tbackground: #2d2d2d;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.block-comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999;\n}\n\n.token.punctuation {\n\tcolor: #ccc;\n}\n\n.token.tag,\n.token.attr-name,\n.token.namespace,\n.token.deleted {\n\tcolor: #e2777a;\n}\n\n.token.function-name {\n\tcolor: #6196cc;\n}\n\n.token.boolean,\n.token.number,\n.token.function {\n\tcolor: #f08d49;\n}\n\n.token.property,\n.token.class-name,\n.token.constant,\n.token.symbol {\n\tcolor: #f8c555;\n}\n\n.token.selector,\n.token.important,\n.token.atrule,\n.token.keyword,\n.token.builtin {\n\tcolor: #cc99cd;\n}\n\n.token.string,\n.token.char,\n.token.attr-value,\n.token.regex,\n.token.variable {\n\tcolor: #7ec699;\n}\n\n.token.operator,\n.token.entity,\n.token.url {\n\tcolor: #67cdcc;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n\n.token.inserted {\n\tcolor: green;\n}\n",".command-line-prompt {\n\tborder-right: 1px solid #999;\n\tdisplay: block;\n\tfloat: left;\n\tfont-size: 100%;\n\tletter-spacing: -1px;\n\tmargin-right: 1em;\n\tpointer-events: none;\n\ttext-align: right;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n.command-line-prompt > span:before {\n\topacity: 0.7;\n\tcontent: ' ';\n\tdisplay: block;\n\tpadding-right: 0.8em;\n}\n\n.command-line-prompt > span[data-user]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] $\";\n}\n\n.command-line-prompt > span[data-user=\"root\"]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] #\";\n}\n\n.command-line-prompt > span[data-prompt]:before {\n\tcontent: attr(data-prompt);\n}\n\n.command-line-prompt > span[data-continuation-prompt]:before {\n\tcontent: attr(data-continuation-prompt);\n}\n\n.command-line span.token.output {\n\t/* Make shell output lines a bit lighter to distinguish them from shell commands */\n\topacity: 0.7;\n}\n","pre[data-line] {\n\tposition: relative;\n\tpadding: 1em 0 1em 3em;\n}\n\n.line-highlight {\n\tposition: absolute;\n\tleft: 0;\n\tright: 0;\n\tpadding: inherit 0;\n\tmargin-top: 1em; /* Same as .prism’s padding-top */\n\n\tbackground: hsla(24, 20%, 50%,.08);\n\tbackground: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));\n\n\tpointer-events: none;\n\n\tline-height: inherit;\n\twhite-space: pre;\n}\n\n@media print {\n\t.line-highlight {\n\t\t/*\n\t\t * This will prevent browsers from replacing the background color with white.\n\t\t * It's necessary because the element is layered on top of the displayed code.\n\t\t */\n\t\t-webkit-print-color-adjust: exact;\n\t\tcolor-adjust: exact;\n\t}\n}\n\n\t.line-highlight:before,\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-start);\n\t\tposition: absolute;\n\t\ttop: .4em;\n\t\tleft: .6em;\n\t\tmin-width: 1em;\n\t\tpadding: 0 .5em;\n\t\tbackground-color: hsla(24, 20%, 50%,.4);\n\t\tcolor: hsl(24, 20%, 95%);\n\t\tfont: bold 65%/1.5 sans-serif;\n\t\ttext-align: center;\n\t\tvertical-align: .3em;\n\t\tborder-radius: 999px;\n\t\ttext-shadow: none;\n\t\tbox-shadow: 0 1px white;\n\t}\n\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-end);\n\t\ttop: auto;\n\t\tbottom: .4em;\n\t}\n\n.line-numbers .line-highlight:before,\n.line-numbers .line-highlight:after {\n\tcontent: none;\n}\n\npre[id].linkable-line-numbers span.line-numbers-rows {\n\tpointer-events: all;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:before {\n\tcursor: pointer;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {\n\tbackground-color: rgba(128, 128, 128, .2);\n}\n","pre[class*=\"language-\"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*=\"language-\"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n","div.code-toolbar {\n\tposition: relative;\n}\n\ndiv.code-toolbar > .toolbar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: .3em;\n\tright: .2em;\n\ttransition: opacity 0.3s ease-in-out;\n\topacity: 0;\n}\n\ndiv.code-toolbar:hover > .toolbar {\n\topacity: 1;\n}\n\n/* Separate line b/c rules are thrown out if selector is invalid.\n IE11 and old Edge versions don't support :focus-within. */\ndiv.code-toolbar:focus-within > .toolbar {\n\topacity: 1;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item {\n\tdisplay: inline-block;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a {\n\tcursor: pointer;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > button {\n\tbackground: none;\n\tborder: 0;\n\tcolor: inherit;\n\tfont: inherit;\n\tline-height: normal;\n\toverflow: visible;\n\tpadding: 0;\n\t-webkit-user-select: none; /* for button */\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a,\ndiv.code-toolbar > .toolbar > .toolbar-item > button,\ndiv.code-toolbar > .toolbar > .toolbar-item > span {\n\tcolor: #bbb;\n\tfont-size: .8em;\n\tpadding: 0 .5em;\n\tbackground: #f5f2f0;\n\tbackground: rgba(224, 224, 224, 0.2);\n\tbox-shadow: 0 2px 0 0 rgba(0,0,0,0.2);\n\tborder-radius: .5em;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > a:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:focus {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n","// include prisimjs styles\n@import '../../../node_modules/prismjs/themes/prism-tomorrow';\n@import '../../../node_modules/prismjs/plugins/command-line/prism-command-line';\n@import '../../../node_modules/prismjs/plugins/line-highlight/prism-line-highlight';\n@import '../../../node_modules/prismjs/plugins/line-numbers/prism-line-numbers';\n@import '../../../node_modules/prismjs/plugins/toolbar/prism-toolbar';\n\n// override background color\n// :not(pre)>code[class*=\"language-\"], pre[class*=\"language-\"] {\n// background: map-get($colors, 'sidebar-bg');\n// }\n\n.token.operator {\n background: none;\n}\n",".c-history {\n display: flex;\n align-items: center;\n margin: -.9375rem 0 1.875rem;\n}\n.c-contributors {\n display: flex;\n}\n.c-contributor {\n width: 30px;\n height: 30px;\n margin-left: -10px;\n border: 2px solid #fff;\n border-radius: 15px;\n\n &:first-child {\n margin-left: 0;\n }\n}\n.c-last-edit {\n max-width: 100%;\n margin-bottom: 0;\n padding-left: 0.5em;\n font-size: 0.9em;\n font-weight: 500;\n color: #555;\n flex: 1; // fixes mobile rendering\n}\n",".c-footer {\n\n &__grid {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n &__cell {\n width: 100%;\n\n @include breakpoint(large) {\n width: auto;\n }\n }\n\n &__copyright {\n color: map-get($colors, gray);\n }\n\n &__nav {\n margin: rem(0 -10);\n padding: 0;\n list-style: none;\n }\n\n &__navitem {\n display: inline-block;\n }\n\n &__navlink {\n display: block;\n font-weight: 700;\n padding: rem(10);\n color: map-get($colors, gray);\n\n &:hover {\n color: map-get($colors, primary);\n }\n }\n}","\n.heading-link {\n display: inline-block;\n margin-left: 0.67em;\n transition: opacity 0.25s ease-in-out;\n opacity: 0;\n font-size: 0.8em;\n bottom: 0.2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n &:hover .heading-link {\n opacity: 1;\n }\n}\n\n@include breakpoint(medium up) {\n h1, h2, h3, h4, h5, h6 {\n position: relative;\n margin-left: -3rem;\n padding-left: 3rem;\n\n &:target .heading-link{\n opacity: 1;\n }\n }\n .heading-link {\n left: 0;\n position: absolute;\n }\n}\n",".c-nav {\n margin: rem(0 0 0 -20);\n padding: 0;\n list-style: none;\n\n &__item {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: rem(15);\n line-height: 1.4;\n\n a {\n position: relative;\n display: block;\n margin-bottom: rem(10);\n padding: rem(0 0 0 20);\n text-decoration: none;\n font-weight: 500;\n color: map-get($colors, slateGray);\n transition: all .2s ease;\n\n &:hover {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n transform: translateX(2px);\n }\n }\n\n &--activepage {\n .c-nav__chevron {\n top: 0.35rem;\n }\n > a {\n position: relative;\n color: map-get($colors, 'nav-active');\n padding: 0.35rem 0 0.35rem 3.5rem;\n transition: all .2s ease;\n\n &:after, &:before {\n border: 0 solid #e2e8f0;\n }\n\n &:hover{\n transform: translateX(0);\n }\n\n .inset{\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n border-radius: .25rem;\n opacity: .25;\n background-color:map-get($colors, 'nav-active-bg');\n }\n }\n\n }\n\n &--level1 > a {\n font-size: rem(16);\n font-weight: 700;\n padding-left: rem(30);\n }\n\n &--level2 > a {\n padding-left: rem(50);\n }\n\n &--level3 > a {\n padding-left: rem(60);\n }\n\n &--level4 > a {\n padding-left: rem(80);\n }\n\n &--level5 > a {\n padding-left: rem(100);\n }\n\n &--level6 > a {\n padding-left: rem(120);\n }\n\n &--level7> a {\n padding-left: rem(140);\n }\n\n /*\n &--has-children > a {\n position: relative;\n &:before {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: rem(1);\n height: rem(20);\n width: rem(20);\n margin: rem(0 0 0 -23);\n background: svg-url('');\n background-repeat: no-repeat;\n background-size: rem(7);\n background-position: center center;\n opacity: 0.6;\n transform: rotate(-90deg);\n }\n }*/\n\n &--collapsed {\n > ul {\n display: none;\n }\n > a > .c-nav__chevron {\n top: rem(1);\n transform: rotate(90deg);\n }\n }\n\n }\n\n &__chevron {\n display: inline-block;\n position: absolute;\n top: 0;\n height: rem(21);\n width: rem(21);\n padding: rem(5);\n margin: rem(0 0 0 -23);\n fill: rgba(map-get($colors, 'body-text'), 0.6);\n transform: rotate(-90deg);\n vertical-align: middle;\n }\n\n\n &__sublist {\n margin: 0 0 $global-margin*2;\n padding: 0;\n }\n}\n\n::-webkit-scrollbar, ::-webkit-scrollbar-thumb {\n width: 1rem;\n height: 1rem;\n border: .25rem solid transparent;\n border-radius: .5rem;\n background-color: transparent;\n}\n\n::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.1);\n}\n\n::-webkit-scrollbar-thumb:hover {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.2);\n}\n\n::-webkit-resizer, ::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n",".l-main__oc, .c-oc__more {\n display: none;\n @include breakpoint(xlarge) {\n display: block;\n }\n}\n.l-main__oc--below, .c-oc__more--below {\n display: block;\n @include breakpoint(xlarge) {\n display: none;\n }\n}\n\n.l-main__oc {\n margin-top: 5em;\n\n background: map-get($colors, 'sidebar-bg');\n color: map-get($colors, 'sidebar-text');\n padding: 1em;\n border-radius: 1em;\n border: 1px solid transparent;\n transition: background-color .5s ease-in-out;\n text-decoration: none !important;\n max-width: rem(400);\n\n @include breakpoint(xlarge) {\n margin-left: rem(-25);\n }\n\n .c-oc__member_image {\n transition: border .5s ease-in-out;\n }\n &:hover {\n color: map-get($colors, 'sidebar-text');\n background: #e3efff;\n\n .c-oc__member_image {\n border-color: #e3efff;\n }\n\n }\n}\n\n.c-oc__logo {\n max-width: 100%;\n max-height: 60px;\n}\n\n.c-oc__text {\n font-size: rem(13);\n font-weight: 500;\n}\n\n.c-oc__subtitle {\n font-size: rem(13);\n font-weight: 700;\n text-transform: uppercase;\n}\n\n.c-oc__members {\n padding-left: 0;\n list-style: none;\n margin-bottom: 25px;\n padding-right: 25px;\n margin-left: -28px;\n margin-right: -35px;\n text-align: center;\n}\n.c-oc__member {\n display: inline-block;\n margin-right: -20px;\n margin-bottom: -15px;\n}\n\n.c-oc__member_image {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: 5px solid map-get($colors, 'sidebar-bg');\n background: #00B5DE;\n}\n\n.c-oc__total {\n\n span {\n height: 60px;\n background: #00B5DE;\n border-radius: 30px;\n border: 5px solid map-get($colors, 'sidebar-bg');\n color: #fff;\n padding: 0.7em 1em;\n font-weight: 600;\n display: block;\n }\n}\n\n.c-oc__more {\n text-align: center;\n font-size: rem(13);\n font-weight: 500;\n text-decoration: underline;\n margin-top: 1em;\n margin-left: -1em;\n max-width: rem(400);\n}\n",".c-optionswitch {\n\n &__current {\n display: block;\n padding: rem(7 10);\n color: map-get($colors, 'header-text');\n white-space: nowrap;\n background: map-get($colors, 'header-bg');\n transition: background-color .2s ease-in-out;\n border-radius: $global-radius;\n\n &:hover {\n color: map-get($colors, 'header-text');\n background: lighten(map-get($colors, 'header-bg'), 5%);\n }\n }\n\n &__currentchevron {\n display: inline-block;\n width: rem(10);\n height: rem(10);\n fill: map-get($colors, 'header-text');\n vertical-align: middle;\n margin: rem(-1 0 0 3);\n transform: rotate(90deg);\n }\n\n &__listwrapper {\n position: absolute;\n top: $header-height - rem(1);\n display: none;\n background: map-get($colors, 'optionswitch-bg');\n box-shadow: rem(0 3 8 0) rgba(116, 129, 141, 0.1);\n\n @include breakpoint(xxlarge) {\n right: 0;\n }\n @include breakpoint(1440 down) {\n right: 0;\n }\n @include breakpoint(768 down) {\n right: 0;\n }\n\n &:target {\n display: block;\n\n @include breakpoint(medium up) {\n display: flex;\n }\n\n &:before {\n content: none;\n }\n }\n }\n\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n &__item {\n position: relative;\n display: block;\n }\n\n &__link {\n display: block;\n padding: rem(4 10);\n color: map-get($colors, 'header-text');\n transition-duration: .2s;\n transition-timing-function: cubic-bezier(.4,0,.2,1);\n transition-property: background-color,border-color,color;\n\n &:hover {\n color: map-get($colors, 'header-text');\n background: lighten(map-get($colors, 'header-bg'), 5%);\n }\n }\n\n &__item--active &__link {\n background: lighten(map-get($colors, 'header-bg'), 7%);\n }\n\n &__translation {\n color: darken(map-get($colors, 'header-text'), 15%);\n\n &:before {\n content: \"(\";\n }\n &:after {\n content: \")\";\n }\n }\n\n &__note {\n padding: rem(0 10 10);\n color: darken(map-get($colors, 'header-text'), 15%);\n }\n}\n",".l-main-search__container {\n list-style: none;\n padding: 0;\n margin-bottom: 2rem;\n}\n\n.l-main-search__result, .l-live-search__result {\n border-top: 1px solid map_get($colors, 'header-bg');\n padding-top: 1rem;\n margin-top: 1rem;\n\n .c-breadcrumb {\n margin-bottom: 0;\n }\n\n h4 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n @include breakpoint(small only) {\n &:first-child {\n border-top: none;\n }\n }\n}\n\n.l-main-search__match, .l-live-search__match {\n summary {\n float: right;\n color: #777;\n }\n}\n\n.l-search__pagination-holder {\n list-style: none;\n padding: 0;\n text-align: center;\n}\n.l-search-page {\n display: inline-block;\n}\n.l-search-page__link {\n display: block;\n cursor: pointer;\n padding: .5rem 1rem;\n line-height: initial;\n background: #e2e8f0;\n color: map-get($colors, mirage);\n border-radius: 0.25rem;\n border: 1px solid #e2e8f0;\n\n &:hover, &:focus{\n background: map_get($colors, slateGray);\n border: 1px solid map_get($colors, #708090);\n color: map_get($colors, light);\n }\n\n &--active {\n background: map_get($colors, sapphire);\n border: 1px solid map_get($colors, sapphire);\n color: map_get($colors, light);\n }\n}\n\n.c-searchform--resultspage {\n margin-bottom: 1rem;\n .c-searchform__input {\n border: 1px solid map_get($colors, 'header-bg');\n }\n}\n.l-search__meta {\n color: map_get($colors, gray);\n}\n\n\n$ignoredColor: map_get($colors, warning);\n.l-search__ignored {\n border-left: rem(8) solid $ignoredColor;\n padding: rem(15 20);\n background-color: rgba($ignoredColor, 0.3);\n color: darken($ignoredColor, 50%);\n}\n$tipColor: map_get($colors, primary);\n.l-search__tip {\n border-left: rem(8) solid $tipColor;\n padding: rem(15 20);\n background-color: rgba($tipColor, 0.3);\n color: darken($tipColor, 50%);\n}\n\n$errorColor: map_get($colors, alert);\n.l-search__no_results {\n border-left: rem(4) solid $errorColor;\n padding: rem(15 20);\n background-color: rgba($errorColor, 0.3);\n color: darken($errorColor, 50%);\n max-width: 100%;\n\n &--live {\n margin: 0;\n }\n}\n\n.c-searchform--header {\n z-index: 5;\n}\n.l-live-search__container {\n position: absolute;\n background: #fff;\n width: 100%;\n display: none;\n border-radius: 0 0 5px 5px;\n margin-top: -3px;\n z-index: 4;\n box-shadow: 0 2px 7px 2px rgba(0,0,0,0.5);\n\n &--visible {\n display: block;\n }\n\n &--loading {\n &::before {\n content: \"Loading...\";\n width: 100%;\n display: block;\n padding: 0.5em 0.5em 0.5em 1em;\n border-radius: 5px 5px 0 0;\n color: map_get($colors, 'header-text');\n background: map_get($colors, 'header-bg');\n\n }\n &:empty::before {\n border-radius: 5px;\n }\n }\n\n @include breakpoint(small only) {\n position: initial;\n margin-top: 1em;\n border-radius: 7px;\n box-shadow: none;\n border: 1px solid #3b68af;\n }\n}\n.l-live-search__results {\n list-style: none;\n padding: 0;\n margin: 0;\n max-height: 70vh;\n overflow-y: scroll;\n\n @include breakpoint(small only) {\n max-height: calc(100vh - 15rem);\n }\n}\n.l-live-search__result, .l-main-search__result {\n padding: 0;\n margin: 0;\n position: relative;\n}\n.c-live-search__result-crumbs, .l-main-search__crumbs {\n position: absolute;\n top: 0.7rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 1rem;\n height: 1.6em; // = line-height\n overflow: hidden;\n font-weight: 500;\n}\n.c-live-search__result-link, .l-main-search__link {\n color: map-get($colors, sapphire);\n display: block;\n padding: 2.2rem 1rem 0.7rem;\n font-weight: 500;\n &:hover, &:focus, .l-live-search__result--selected & {\n background: #f0f6ff;\n }\n}\n.l-live-search__search {\n margin: 0;\n a {\n font-weight: 500;\n display: block;\n padding: 0.7rem 1rem;\n width: 100%;\n color: map_get($colors, 'header-text');\n background: map_get($colors, 'header-bg');\n border-radius: 0 0 5px 5px;\n }\n}\n.l-main-search__result {\n max-width: $paragraph-max-width;\n}\n.l-main-search__title {\n color: map-get($colors, sapphire);\n}\n.l-main-search__link {\n text-decoration: none !important;\n &:hover, &:focus {\n .l-main-search__title {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n }\n}\n.l-main-search__snippet {\n color: map-get($colors, 'body-text');\n}\n.size_code{\n font-size: 1em;\n}\n",".c-searchform {\n position: relative;\n width: 100%;\n\n @include breakpoint(small only) {\n margin-top: 1rem;\n }\n\n &__input {\n display: block;\n width: 100%;\n border: none;\n border-radius: .5rem;\n padding: rem(10 35 10 20);\n line-height: 1.5!important;\n font-family: inherit;\n font-size: 100%;\n transition: all .1s ease-in;\n background-color: #edf2f7;\n\n &:focus{\n border-color: #e2e8f0;\n background-color: #fff;\n }\n\n @include breakpoint(small only) {\n border: 1px solid map_get($colors, 'header-bg');\n }\n }\n\n &__button {\n position: absolute;\n top: rem(0);\n right: rem(10);\n bottom: rem(0);\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n }\n\n &__icon {\n width: rem(24);\n height: rem(20);\n fill: #717171;\n vertical-align: middle;\n }\n}\n\n// Undo helpers.scss:14 for the searchform target; without this there's an unclickable area before the search.\n#searchform:target:before {\n content: \"\";\n height: 0;\n margin: 0;\n}\n","table {\n display: block;\n width: fit-content;\n //min-width: 100%;\n max-width: 100%;\n max-width: calc(100% + #{rem(20)});\n margin: $global-margin*2 0;\n border-collapse: collapse;\n overflow-x: auto;\n\n @include breakpoint(medium) {\n display: table;\n table-layout:fixed;\n width: 100%;\n max-width: 100%;\n\n td {\n word-wrap: break-word;\n }\n }\n\n tr:nth-child(2n) {\n background: map-get($colors, 'sidebar-bg');\n }\n\n td, th {\n border: 1px solid lightendarken(map-get($colors, 'border'), 10%);\n padding: rem(9 16);\n }\n\n th {\n font-weight: 700;\n text-align: center;\n }\n\n td {\n min-width: rem(170);\n\n @include breakpoint(medium) {\n min-width: 0;\n }\n }\n\n &::-webkit-scrollbar, &::-webkit-scrollbar-thumb {\n width: 1rem;\n height: 1rem;\n border: .25rem solid transparent;\n border-radius: .5rem;\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.1);\n }\n\n &::-webkit-scrollbar-thumb:hover {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.2);\n }\n\n &::-webkit-resizer, &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n}\n",".c-toc {\n position: relative;\n margin: 0 0 $global-margin*2;\n/*\n &__wrapper {\n @include breakpoint(xlarge) {\n position: absolute;\n top: rem(15);\n left: 100%;\n left: calc(100% + #{rem(50)});\n width: rem(250);\n }\n }\n*/\n &__title {\n display: block;\n margin: 0 0 rem(5);\n font-size: rem(12);\n font-weight: 700;\n color: map-get($colors, cadetBlue);\n text-transform: uppercase;\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n &__wrapper > ul {\n //padding-left: rem(15);\n }\n\n &__wrapper > ul > li {\n margin: 0 0 rem(7);\n\n &:last-child {\n margin-bottom: 0;\n }\n\n > a {\n font-weight: 700;\n }\n }\n\n a {\n display: block;\n margin: rem(0 0 3);\n font-size: rem(13);\n font-weight: 500;\n color: map-get($colors, slateGray);\n line-height: 1.4;\n transition: all .2s ease;\n\n &:hover {\n color: map-get($colors, mirage);\n transform: translateX(2px);\n }\n }\n\n li li {\n padding-left: rem(15);\n }\n}\n",".u-show-for-sr, .u-show-on-focus {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// make anchor tags work with fixed header\n:target:before {\n content:\"\";\n display:block;\n height: ($header-height+$main-margin-top); /* fixed header height*/\n margin: (($header-height+$main-margin-top)*-1) 0 0; /* negative fixed header height */\n}\n\n.is-brokenlink {\n color: map-get($colors, 'link-broken');\n text-decoration: line-through;\n\n &:after {\n content: \" (link broken)\";\n text-decoration: none;\n }\n}\n\n// style external links\n//.o-content a[href*=\"//\"]:not([href*=\"docs.modx.org\"]),\n.is-externallink {\n &:after {\n content: \"\";\n display: inline-block;\n width: rem(10);\n height: rem(10);\n margin: rem(-1 2 0 4);\n\n background: svg-url('');\n background-size: 100% 100%;\n background-repeat: no-repeat;\n background-position: center center;\n }\n}\n\n.u-no-margin {\n margin: 0 !important;\n}\n.u-no-margin--top {\n margin-top: 0 !important;\n}\n.u-no-margin--bottom {\n margin-bottom: 0 !important;\n}\n\n.u-no-padding {\n padding: 0 !important;\n}\n.u-no-padding--top {\n padding-top: 0 !important;\n}\n.u-no-padding--bottom {\n padding-bottom: 0 !important;\n}\n\nhtml.no-js {\n .u-show-with-js {\n display: none !important;\n }\n}\nhtml.js {\n .u-hide-with-js {\n display: none !important;\n }\n .u-hide-with-js-sr {\n @extend .u-show-for-sr;\n }\n}\n","@media print {\n .l-app > * {\n display: none;\n }\n\n .l-app .l-main {\n display: block;\n }\n}"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/modern-normalize/modern-normalize.css","../src/scss/_typography.scss","../src/scss/_settings.scss","../src/scss/_functions.scss","../src/scss/_layout.scss","../src/scss/_breakpoints.scss","../src/scss/_objects.scss","../src/scss/components/_breadcrumb.scss","../src/scss/components/_callout.scss","../node_modules/prismjs/themes/prism-tomorrow.css","../node_modules/prismjs/plugins/command-line/prism-command-line.css","../node_modules/prismjs/plugins/line-highlight/prism-line-highlight.css","../node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css","../node_modules/prismjs/plugins/toolbar/prism-toolbar.css","../src/scss/components/_code.scss","../src/scss/components/_contributors.scss","../src/scss/components/_footer.scss","../src/scss/components/_heading_links.scss","../src/scss/components/_nav.scss","../src/scss/components/_opencollective.scss","../src/scss/components/_optionswitch.scss","../src/scss/components/_search.scss","../src/scss/components/_searchform.scss","../src/scss/components/_table.scss","../src/scss/components/_toc.scss","../src/scss/_helpers.scss","../src/scss/_print.scss"],"names":[],"mappings":"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","file":"app.css","sourcesContent":["/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n\t-moz-tab-size: 4;\n\ttab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n\tline-height: 1.15; /* 1 */\n\t-webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n\tmargin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n\tfont-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n","body {\n background:map-get($colors, 'body-bg');\n color: map-get($colors, 'gray');\n font-family: $body-font-family;\n font-weight: 400;\n line-height: $global-line-height;\n color: map-get($colors, 'body-text');\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nh1, h2, h3, h4, h5, h6 {\n color: map-get($colors, dark);\n line-height: 1.3;\n margin-bottom: 2rem;\n}\n\n$min_width: rem(521);\n$max_width: rem(1700);\n\nh1 {\n margin-top: rem(30);\n //font-size: rem(45);\n @include fluid-type($min_width, $max_width, rem(30), rem(50));\n}\n\nh2 {\n //font-size: rem(30);\n @include fluid-type($min_width, $max_width, rem(22), rem(35));\n}\n\nh3 {\n //font-size: rem(26);\n @include fluid-type($min_width, $max_width, rem(20), rem(31));\n}\n\nh4 {\n //font-size: rem(22);\n @include fluid-type($min_width, $max_width, rem(18), rem(27));\n}\n\nh5 {\n //font-size: rem(20);\n @include fluid-type($min_width, $max_width, rem(16), rem(25));\n}\n\nh6 {\n //font-size: rem(18);\n @include fluid-type($min_width, $max_width, rem(16), rem(23));\n}\n\n\na {\n text-decoration: none;\n color: map-get($colors, 'link-color');\n transition: color .2s ease-in-out;\n\n &:hover {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n\n // Links should look like links\n .l-main__content &, .c-callout & {\n text-decoration: underline;\n }\n}\n\nimg {\n // Get rid of gap under images by making them display: inline-block; by default\n display: inline-block;\n vertical-align: middle;\n\n // Grid defaults to get images and embeds to work properly\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic;\n}\n\np {\n margin: 0 0 $global-margin;\n line-height: $global-line-height;\n max-width: $paragraph-max-width;\n}\n\nli {\n max-width: $paragraph-max-width;\n}\n\ncode, kbd, samp, pre {\n background-color: map-get($colors, 'inline-code');\n padding: 0.1rem 0.25rem;\n font-size: .775rem;\n border-radius: .125rem;\n padding-left: .25rem;\n padding-right: .25rem;\n color: map-get($colors, sapphire);\n font-family: SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace !important;\n}\npre > code {\n padding: 0;\n}\n\ncode[class*=\"language-\"], pre[class*=\"language-\"] {\n border-radius: .5rem;\n font-size: .775rem !important;\n line-height: 1.5 !important;\n}\n\nblockquote {\n display: block;\n margin: 0 0 $global-margin;\n padding: rem(15 20);\n background-color: map-get($colors, 'callout-info-bg');\n border-left: rem(3) solid map-get($colors, 'callout-info-border');\n color: map-get($colors, gray);\n a{\n color: map-get($colors, 'link-color');\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\niframe, object, video {\n max-width: 100%;\n}\n\n// Video embeds\n.video-embed {\n position: relative;\n width: 100%;\n padding-bottom: 56.25%; // 16:9 aspect ratio\n margin: 2rem 0;\n background: #f5f5f5;\n border-radius: 4px;\n overflow: hidden;\n\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n","$colors: (\n cadetBlue: #a0aec0,\n primary: #3b68af, // AA compatible\n sapphire: #314a97,\n perano: #b2c9f5,\n light: #ededed,\n gray:#4a5568, // AA compatible\n slateGray: #475365, // AAA compatible\n mirage: #1a202c,\n alert: #d26d69,\n success: #2d8b01,\n warning: #EEBF41,\n dark: #252930,\n 'callout-info-border': #5b99ea,\n 'callout-alert-border': #d26d69,\n 'callout-success-border': #5cb377,\n 'callout-warning-border': #EEBF41,\n 'callout-info-bg':#f9fbfe,\n 'callout-alert-bg': #f5f5f5,\n 'callout-success-bg': #e7f4eb,\n 'callout-warning-bg': #fdf6e5,\n 'header-bg': #fff,\n 'header-text': #4a5568, //#4a4a4a,\n 'sidebar-bg': #F5F7F9,\n 'sidebar-text': #303942,\n 'nav-active': #247978,\n 'nav-active-bg': #b2f5ea,\n 'body-bg': #fff,\n 'body-text': #4a5568,\n 'border': #E6ECF1,\n 'link-broken': #d26d69,\n 'link-color': #1c6fdc,\n 'inline-code': #ebf1ff,\n 'optionswitch-bg': #edf2f7,\n);\n\n/*\n$dark-colors: (\n primary: #68a2ff, // AA compatible\n light: #ededed,\n gray: #757575, // AA compatible\n alert: #c70000,\n success: #2d8b01,\n warning: #ffae00,\n 'header-bg': #052a67,\n 'header-text': #fff, //#4a4a4a,\n 'sidebar-bg': #141f31,\n 'body-bg': #111,\n 'body-text': #fff,\n border: #E6ECF1,\n);\n*/\n\n$breakpoints: (\n small: 0,\n medium: 700px,\n large: 1000px,\n xlarge: 1220px,\n xxlarge: 1300px\n);\n\n$global-font-size: 100%;\n$global-line-height: 1.6;\n$global-width: rem(1200);\n$global-margin: rem(15);\n$global-radius: rem(3);\n$paragraph-max-width: 80ch; // approx 60 actual flex-width font characters\n\n$body-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n\n$header-height: rem(60);\n\n$main-margin-top: rem(30);\n\n$sidebar-width: rem(320);\n$sidebar-breakpoint: 'large';\n","@use \"sass:math\";\n\n/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.\n///\n/// @param {Number} $num - Number to strip unit from.\n///\n/// @returns {Number} The same number, sans unit.\n@function strip-unit($num) {\n @return math.div($num, $num * 0 + 1);\n}\n\n/// Converts one or more pixel values into matching rem values.\n///\n/// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.\n/// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$global-font-size` variable as the base.\n///\n/// @returns {List} A list of converted values.\n@function rem($values, $base: null) {\n $rem-values: ();\n $count: length($values);\n\n // If no base is defined, defer to the global font size\n @if $base == null {\n $base: $global-font-size;\n }\n\n // If the base font size is a %, then multiply it by 16px\n // This is because 100% font size = 16px in most all browsers\n @if unit($base) == '%' {\n $base: math.div($base, 100%) * 16px;\n }\n\n // Using rem as base allows correct scaling\n @if unit($base) == 'rem' {\n $base: strip-unit($base) * 16px;\n }\n\n @if $count == 1 {\n @return -zf-to-rem($values, $base);\n }\n\n @for $i from 1 through $count {\n $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));\n }\n\n @return $rem-values;\n}\n@function rem-calc($values, $base: null) {\n @return rem($values, $base);\n}\n\n// Converts a unitless, pixel, or rem value to em, for use in breakpoints.\n@function -zf-bp-to-em($value) {\n // Pixel and unitless values are converted to rems\n @if unit($value) == 'px' or unitless($value) {\n $value: rem-calc($value, $base: 16px);\n }\n\n // Then the value is converted to ems\n @return strip-unit($value) * 1em;\n}\n\n/// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.\n/// @access private\n///\n/// @param {Number} $value - Pixel value to convert.\n/// @param {Number} $base [null] - Base for pixel conversion.\n///\n/// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.\n@function -zf-to-rem($value, $base: null) {\n // Check if the value is a number\n @if type-of($value) != 'number' {\n @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';\n @return $value;\n }\n\n // Transform em into rem if someone hands over 'em's\n @if unit($value) == 'em' {\n $value: strip-unit($value) * 1rem;\n }\n\n // Calculate rem if units for $value is not rem or em\n @if unit($value) != 'rem' {\n $value: math.div(strip-unit($value), strip-unit($base)) * 1rem;\n }\n\n // Turn 0rem into 0\n @if $value == 0rem {\n $value: 0;\n }\n\n @return $value;\n}\n\n//\n// Function to create an optimized svg url https://codepen.io/jakob-e/pen/doMoML\n//\n@function svg-url($svg){\n //\n // Add missing namespace\n //\n @if not str-index($svg,xmlns) {\n $svg: str-replace($svg, '', '%3E');\n\n //\n // The maybe list\n //\n // Keep size and compile time down\n // ... only add on documented fail\n //\n // $chunk: str-replace($chunk, '|', '%7C');\n // $chunk: str-replace($chunk, '[', '%5B');\n // $chunk: str-replace($chunk, ']', '%5D');\n // $chunk: str-replace($chunk, '^', '%5E');\n // $chunk: str-replace($chunk, '`', '%60');\n // $chunk: str-replace($chunk, ';', '%3B');\n // $chunk: str-replace($chunk, '?', '%3F');\n // $chunk: str-replace($chunk, ':', '%3A');\n // $chunk: str-replace($chunk, '@', '%40');\n // $chunk: str-replace($chunk, '=', '%3D');\n\n $encoded: #{$encoded}#{$chunk};\n $index: $index + $slice;\n }\n @return url(\"data:image/svg+xml,#{$encoded}\");\n}\n\n\n// Helper function to replace characters in a string\n@function str-replace($string, $search, $replace: '') {\n $index: str-index($string, $search);\n @return if($index,\n str-slice($string, 1, $index - 1) + $replace +\n str-replace(str-slice($string, $index +\n str-length($search)), $search, $replace),\n $string);\n}\n\n\n@function rgba-to-rgb($rgba, $background: #fff) {\n @return mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%)\n}\n\n// lightens or darkens a color based on the existing lightness of a color (for easier switchig light/dark theme)\n@function lightendarken($color, $percent) {\n @if (lightness($color) > 50) {\n @return darken($color, $percent);\n } @else {\n @return lighten($color, $percent);\n }\n}\n\n\n@mixin fluid-type($min-vw, $max-vw, $min-font-size, $max-font-size) {\n $u1: unit($min-vw);\n $u2: unit($max-vw);\n $u3: unit($min-font-size);\n $u4: unit($max-font-size);\n\n @if $u1 == $u2 and $u1 == $u3 and $u1 == $u4 {\n & {\n font-size: rem($min-font-size);\n @media screen and (min-width: $min-vw) {\n font-size: calc(#{rem($min-font-size)} + #{strip-unit($max-font-size - $min-font-size)} * ((100vw - #{$min-vw}) / #{strip-unit($max-vw - $min-vw)}));\n }\n @media screen and (min-width: $max-vw) {\n font-size: rem($max-font-size);\n }\n }\n }\n}\n","html, body {\n height: 100%;\n width: 100%;\n background: map-get($colors, 'body-bg');\n scroll-behavior: smooth;\n}\n\n.l-app {\n display: flex;\n min-height: 100vh;\n flex-direction: column;\n\n padding-top: $header-height;\n background: map-get($colors, 'body-bg');\n //filter: invert(100%);\n\n &--has-sidebar {\n @include breakpoint(large) {\n padding-left: $sidebar-width;\n }\n }\n}\n\n.l-header {\n z-index: 2;\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: $header-height;\n background: map-get($colors, 'header-bg');\n border-bottom: 1px solid lightendarken(map-get($colors, border), 10%);\n box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);\n\n &__logo {\n flex: auto 0 0;\n position: relative;\n\n @include breakpoint(xlarge) {\n flex: $sidebar-width 0 0;\n flex: calc(#{$sidebar-width} - #{rem(30)}) 0 0;\n }\n }\n\n &__search {\n flex-basis: 50%;\n flex-grow: 0;\n flex-shrink: 1;\n position: relative;\n\n @include breakpoint(xlarge) {\n margin: rem(0 50 0 75);\n }\n\n @include breakpoint(small only) {\n position: fixed;\n width: 100%;\n margin: 0 !important;\n top: 3.75rem;\n background: map-get($colors, 'body-bg');\n height: calc(100vh - 2.25rem);\n padding: 0 1rem 1rem 1rem;\n transform: translateY(100%);\n transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;\n }\n }\n &__versionswitch{\n margin: rem(0 15);\n }\n}\n@include breakpoint(small only) {\n #searchform:target {\n transform: translateY(0);\n }\n}\n\n.l-sidebar {\n outline: none;\n display: block;\n position: fixed;\n top: $header-height;\n bottom: 0;\n left: 0;\n width: 100%;\n transform: translateX(-100%);\n z-index: 1;\n padding: $main-margin-top rem(20) $global-margin;\n background: map-get($colors, 'sidebar-bg');\n border-right: 1px solid map-get($colors, border);\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n overflow-x: auto;\n transition: transform .4s ease-in-out;\n\n @include breakpoint($sidebar-breakpoint) {\n display: block;\n position: fixed;\n top: $header-height;\n bottom: 0;\n left: 0;\n width: $sidebar-width;\n transform: translateX(0);\n transition: none;\n }\n}\n\n#nav:target {\n transform: translateX(0);\n}\n\n\n.l-main {\n position: relative;\n margin: $main-margin-top rem(20) $global-margin;\n\n flex: 1;\n\n @include breakpoint(medium) {\n margin: $main-margin-top rem(50) $global-margin rem(75);\n }\n\n &__title {\n max-width: rem(1000);\n }\n\n &__contentwrapper {\n @include breakpoint(xlarge) {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n }\n }\n\n &__content {\n @include breakpoint(medium) {\n padding-right: rem(25);\n }\n\n @include breakpoint(xlarge) {\n flex-basis: 80%;\n flex-grow: 0;\n flex-shrink: 1;\n order: 1;\n min-width: 0;\n }\n\n > :first-child {\n margin-top: 0;\n }\n }\n\n &__toc {\n @include breakpoint(xlarge) {\n flex-basis: 20%;\n flex-grow: 1;\n flex-shrink: 0;\n align-self: flex-start;\n order: 2;\n padding: rem(0 0 0 25);\n top: rem(75);\n position: sticky;\n }\n }\n\n}\n\n.l-footer {\n flex-basis: 100%;\n flex-shrink: 0;\n order: 3;\n padding: rem(30 15 15);\n margin: rem(45 0 0);\n border-top: 1px solid map-get($colors, border);\n\n @include breakpoint(medium) {\n padding: rem(30 75 15);\n }\n}\n\n@media (max-width: 768px) {\n .o-openmenu {\n order: 4;\n padding: 0 .9375rem 0 .9375rem !important;\n }\n .o-search, .l-header__search {\n order: 3;\n margin: 0 0.475rem 0 auto;\n }\n .l-header__versionswitch {\n order: 2;\n }\n .l-header__logo {\n order: 1;\n max-width: 25%;\n }\n}\n@media (max-width: 425px) {\n .l-footer {\n font-size: 14px;\n line-height: 1;\n padding: .9375rem .9375rem;\n .c-footer__nav{\n display: flex;\n justify-content: center;\n &link {\n padding: .425rem;\n }\n }\n .c-footer__copyright{\n font-size: 14px;\n line-height: 1;\n padding: .3rem .9375rem 0;\n text-align: center;\n }\n }\n}\n","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n\n/// Casts a map into a list.\n/// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/\n///\n/// @param {Map} $map - Map to pull a value from.\n///\n/// @returns {List} Depending on the flag, returns either $keys or $values or both.\n@function map-to-list($map, $keep: 'both') {\n $keep: if(index('keys' 'values', $keep), $keep, 'both');\n\n @if type-of($map) == 'map' {\n $keys: ();\n $values: ();\n\n @each $key, $val in $map {\n $keys: append($keys, $key);\n $values: append($values, $val);\n }\n\n @if $keep == 'keys' {\n @return $keys;\n }\n @else if $keep == 'values' {\n @return $values;\n }\n @else {\n @return zip($keys, $values);\n }\n }\n\n @return if(type-of($map) != 'list', ($value,), $map);\n\n}\n\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n small: 0,\n medium: 640px,\n large: 1024px,\n xlarge: 1200px,\n xxlarge: 1440px,\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n @error 'The first key in the $breakpoints map must have a value of \"0\".';\n}\n@else {\n $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n // Size or keyword\n $bp: nth($val, 1);\n // Value for max-width media queries\n $bp-max: 0;\n // Direction of media query (up, down, or only)\n $dir: if(length($val) > 1, nth($val, 2), up);\n // Eventual output\n $str: '';\n // Is it a named media query?\n $named: false;\n\n // Orientation media queries have a unique syntax\n @if $bp == 'landscape' or $bp == 'portrait' {\n @return '(orientation: #{$bp})';\n }\n @else if $bp == 'retina' {\n @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';\n }\n\n // Try to pull a named breakpoint out of the $breakpoints map\n @if type-of($bp) == 'string' {\n @if map-has-key($breakpoints, $bp) {\n @if $dir == 'only' or $dir == 'down' {\n $bp-max: -zf-map-next($breakpoints, $bp);\n }\n\n $bp: map-get($breakpoints, $bp);\n $named: true;\n }\n @else {\n $bp: 0;\n @warn 'breakpoint(): \"#{$val}\" is not defined in your $breakpoints setting.';\n }\n }\n\n // Convert any pixel, rem, or unitless value to em\n $bp: -zf-bp-to-em($bp);\n // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n // See https://github.com/zurb/foundation-sites/issues/11313\n @if $bp-max {\n $bp-max: -zf-bp-to-em($bp-max) - .00125;\n }\n\n // Conditions to skip media query creation\n // - It's a named breakpoint that resolved to \"0 down\" or \"0 up\"\n // - It's a numeric breakpoint that resolved to \"0 \" + anything\n @if $bp > 0em or $dir == 'only' or $dir == 'down' {\n // `only` ranges use the format `(min-width: n) and (max-width: n)`\n @if $dir == 'only' {\n // Only named media queries can have an \"only\" range\n @if $named == true {\n // Only use \"min-width\" if the floor is greater than 0\n @if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n\n // Only add \"and\" to the media query if there's a ceiling\n @if $bp-max != null {\n $str: $str + ' and ';\n }\n }\n\n // Only use \"max-width\" if there's a ceiling\n @if $bp-max != null {\n $str: $str + '(max-width: #{$bp-max})';\n }\n }\n @else {\n @warn 'breakpoint(): Only named media queries can have an `only` range.';\n }\n }\n\n // `down` ranges use the format `(max-width: n)`\n @else if $dir == 'down' {\n $max: if($named, $bp-max, $bp);\n\n // Skip media query creation if input value is exactly \"0 down\",\n // unless the function was called as \"small down\", in which case it's just \"small only\"\n @if $named or $bp > 0em {\n @if $max != null {\n $str: $str + '(max-width: #{$max})';\n }\n }\n }\n\n // `up` ranges use the format `(min-width: n)`\n @else if $bp > 0em {\n $str: $str + '(min-width: #{$bp})';\n }\n }\n\n @return $str;\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n/// - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.\n/// - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n/// - If a rem value is passed, the unit will be changed to em.\n/// - If an em value is passed, the value will be used as-is.\n///\n/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($value) {\n $str: breakpoint($value);\n $bp: index($-zf-breakpoints-keys, $value);\n $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n\n $old-zf-size: null;\n\n // Make breakpoint size available as a variable\n @if global-variable-exists(-zf-size) {\n $old-zf-size: $-zf-size;\n }\n $-zf-size: nth($value, 1) !global; // get the first value to account for `only` and `down` keywords\n\n // If $str is still an empty string, no media query is needed\n @if $str == '' {\n @content;\n }\n\n // Otherwise, wrap the content in a media query\n @else {\n // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n @if $bp != null and $bp <= $pbp {\n @media print, screen and #{$str} {\n @content;\n }\n }\n @else {\n @media screen and #{$str} {\n @content;\n }\n }\n }\n\n $-zf-size: $old-zf-size !global;\n}\n\n/// Convers the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n $str: '';\n @each $key, $value in $map {\n $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n }\n $str: str-slice($str, 1, -2);\n\n @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n // Store the keys of the map as a list\n $values: map-keys($map);\n\n $i: 0;\n\n // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n @if (map-has-key($map, $key)) {\n $i: index($values, $key) + 1;\n }\n\n // If the key doesn't exist, or it's the last key in the map, return null\n @if ($i > length($map) or $i == 0) {\n @return null;\n }\n // Otherwise, return the value\n @else {\n @return map-get($map, nth($values, $i));\n }\n\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $key - Key to use as last breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-breakpoints-less-than($key) {\n $list: ();\n $found_key: false;\n\n @each $name in $-zf-breakpoints-keys {\n @if ($name == $key) {\n $found_key: true;\n }\n @if not $found_key {\n $list: append($list, $name);\n }\n }\n @return $list;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $breakpoint - a named or non-named breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-closest-named-breakpoint($breakpoint) {\n $last: $-zf-zero-breakpoint;\n $found: false;\n\n $value: unitless-calc($breakpoint, 1px);\n @each $key, $val in $breakpoints {\n @if not $found {\n @if unitless-calc($val) > $value {\n $found: true;\n } @else {\n $last: $key;\n }\n }\n }\n\n @return $last;\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n // If the given map is a single value, return it\n @if type-of($map) == 'number' {\n @return $map;\n }\n\n\n // Check if the breakpoint name exists globally\n @if not map-has-key($breakpoints, $value) {\n @if type-of($value) == 'number' {\n $value: -zf-closest-named-breakpoint($value);\n } @else {\n @return null;\n }\n }\n // Check if the breakpoint name exists in the local config map\n @else if map-has-key($map, $value) {\n // If it does, just return the value\n @return map-get($map, $value);\n }\n // Otherwise, find the next lowest breakpoint and return that value\n @else {\n $anchor: null;\n $found: false;\n\n @each $key, $val in $breakpoints {\n @if not $found {\n @if map-has-key($map, $key) {\n $anchor: $key;\n }\n @if $key == $value {\n $found: true;\n }\n }\n }\n\n @return map-get($map, $anchor);\n }\n}\n\n$small-up: '';\n$small-only: '';\n\n@if map-has-key($breakpoints, small) {\n $small-up: screen;\n $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n$medium-up: '';\n$medium-only: '';\n\n@if map-has-key($breakpoints, medium) {\n $medium-up: unquote('screen and #{breakpoint(medium)}');\n $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n$large-up: '';\n$large-only: '';\n\n@if map-has-key($breakpoints, large) {\n $large-up: unquote('screen and #{breakpoint(large)}');\n $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n$xlarge-up: '';\n$xlarge-only: '';\n\n@if map-has-key($breakpoints, xlarge) {\n $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n$xxlarge-up: '';\n\n@if map-has-key($breakpoints, xxlarge) {\n $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n",".o-logo {\n margin: rem(0 15);\n padding: rem(0);\n &__image {\n display: block;\n width: rem(170);\n max-width: 100%;\n height: $header-height;\n fill: map-get($colors, 'header-text');\n\n @include breakpoint(medium) {\n width: rem(200);\n }\n }\n}\n\n.o-docmeta {\n margin: rem(-15) 0 $global-margin*2;\n}\n\n.o-sidebar-heading {\n display: block;\n margin: 0 0 $global-margin;\n font-size: rem(20);\n font-weight: 700;\n}\n\n\n.o-openmenu, .o-search {\n display: block;\n margin: rem(0);\n padding: rem(0 15 0 30);\n\n &__icon {\n display: block;\n width: rem(29);\n height: $header-height;\n fill: map-get($colors, 'header-text');\n }\n\n /*\n &--opened {\n .o-openmenu__icon {\n fill: transparent;\n }\n }\n */\n}\n@include breakpoint($sidebar-breakpoint) {\n .o-openmenu {\n display: none;\n }\n}\n@include breakpoint(medium) {\n .o-search {\n display: none;\n }\n}\n@include breakpoint(small only) {\n .o-logo{\n margin: rem(0 7);\n }\n .o-search {\n padding: rem(0 7);\n }\n}\n.o-closemenu {\n z-index: 1;\n position: absolute;\n top: rem(10);\n right: rem(10);\n display: block;\n padding: rem(15 15);\n\n @include breakpoint($sidebar-breakpoint) {\n display: none;\n }\n\n &__icon {\n display: block;\n width: rem(30);\n height: rem(30);\n fill: map-get($colors, 'primary');\n }\n}\n","$breadcrum-item-spacing: rem(5);\n\n.c-breadcrumb {\n margin: 0 0 $global-margin;\n\n &__list {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 0 $breadcrum-item-spacing*-1;\n padding: 0;\n list-style: none;\n }\n\n &__item {\n display: block;\n flex: auto 0 0;\n }\n\n &__link {\n display: inline-block;\n padding: rem(4) $breadcrum-item-spacing;\n line-height: 1.4;\n font-size: rem(14);\n color: map-get($colors, gray);\n }\n\n &__item + &__item:before {\n content: \"\";\n display: inline-block;\n width: rem(10);\n height: rem(11);\n margin-left: rem(5);\n margin-right: rem(-1);\n background: svg-url('');\n background-repeat: no-repeat;\n background-size: 100% 100%;\n background-position: center center;\n opacity: 0.25;\n }\n}\n",".c-callout {\n color: map-get($colors, gray);\n display: block;\n margin: 0 0 $global-margin;\n padding: rem(15 20);\n background-color: map-get($colors, 'callout-info-bg');\n border-left: rem(3) solid map-get($colors, 'callout-info-border');\n a{\n color: map-get($colors, 'link-color');\n }\n\n &__title {\n display: block;\n margin: rem(0 0 5);\n text-transform: uppercase;\n letter-spacing: 1.1;\n }\n a:hover{\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n\n &--info{\n background-color: map-get($colors, 'callout-info-bg');\n border-color: map-get($colors, 'callout-info-border');\n a{\n color: map-get($colors, 'link-color');\n }\n }\n\n &--warning {\n background-color: map-get($colors, 'callout-warning-bg');\n border-color: map-get($colors, 'callout-warning-border');\n a{\n color: #d09c13;\n }\n }\n\n &--alert {\n background-color: map-get($colors, 'callout-alert-bg');\n border-color: map-get($colors, 'callout-alert-border');\n a{\n color: #d26d69;\n }\n }\n\n &--success {\n background-color: map-get($colors, 'callout-success-bg');\n border-color: map-get($colors, 'callout-success-border');\n a{\n color:#3e8554;\n }\n }\n}\n","/**\n * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML\n * Based on https://github.com/chriskempson/tomorrow-theme\n * @author Rose Pritchard\n */\n\ncode[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tcolor: #ccc;\n\tbackground: none;\n\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\tfont-size: 1em;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n\n}\n\n/* Code blocks */\npre[class*=\"language-\"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"] {\n\tbackground: #2d2d2d;\n}\n\n/* Inline code */\n:not(pre) > code[class*=\"language-\"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.block-comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: #999;\n}\n\n.token.punctuation {\n\tcolor: #ccc;\n}\n\n.token.tag,\n.token.attr-name,\n.token.namespace,\n.token.deleted {\n\tcolor: #e2777a;\n}\n\n.token.function-name {\n\tcolor: #6196cc;\n}\n\n.token.boolean,\n.token.number,\n.token.function {\n\tcolor: #f08d49;\n}\n\n.token.property,\n.token.class-name,\n.token.constant,\n.token.symbol {\n\tcolor: #f8c555;\n}\n\n.token.selector,\n.token.important,\n.token.atrule,\n.token.keyword,\n.token.builtin {\n\tcolor: #cc99cd;\n}\n\n.token.string,\n.token.char,\n.token.attr-value,\n.token.regex,\n.token.variable {\n\tcolor: #7ec699;\n}\n\n.token.operator,\n.token.entity,\n.token.url {\n\tcolor: #67cdcc;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n\n.token.inserted {\n\tcolor: green;\n}\n",".command-line-prompt {\n\tborder-right: 1px solid #999;\n\tdisplay: block;\n\tfloat: left;\n\tfont-size: 100%;\n\tletter-spacing: -1px;\n\tmargin-right: 1em;\n\tpointer-events: none;\n\ttext-align: right;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n.command-line-prompt > span:before {\n\topacity: 0.7;\n\tcontent: ' ';\n\tdisplay: block;\n\tpadding-right: 0.8em;\n}\n\n.command-line-prompt > span[data-user]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] $\";\n}\n\n.command-line-prompt > span[data-user=\"root\"]:before {\n\tcontent: \"[\" attr(data-user) \"@\" attr(data-host) \"] #\";\n}\n\n.command-line-prompt > span[data-prompt]:before {\n\tcontent: attr(data-prompt);\n}\n\n.command-line-prompt > span[data-continuation-prompt]:before {\n\tcontent: attr(data-continuation-prompt);\n}\n\n.command-line span.token.output {\n\t/* Make shell output lines a bit lighter to distinguish them from shell commands */\n\topacity: 0.7;\n}\n","pre[data-line] {\n\tposition: relative;\n\tpadding: 1em 0 1em 3em;\n}\n\n.line-highlight {\n\tposition: absolute;\n\tleft: 0;\n\tright: 0;\n\tpadding: inherit 0;\n\tmargin-top: 1em; /* Same as .prism’s padding-top */\n\n\tbackground: hsla(24, 20%, 50%,.08);\n\tbackground: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));\n\n\tpointer-events: none;\n\n\tline-height: inherit;\n\twhite-space: pre;\n}\n\n@media print {\n\t.line-highlight {\n\t\t/*\n\t\t * This will prevent browsers from replacing the background color with white.\n\t\t * It's necessary because the element is layered on top of the displayed code.\n\t\t */\n\t\t-webkit-print-color-adjust: exact;\n\t\tcolor-adjust: exact;\n\t}\n}\n\n\t.line-highlight:before,\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-start);\n\t\tposition: absolute;\n\t\ttop: .4em;\n\t\tleft: .6em;\n\t\tmin-width: 1em;\n\t\tpadding: 0 .5em;\n\t\tbackground-color: hsla(24, 20%, 50%,.4);\n\t\tcolor: hsl(24, 20%, 95%);\n\t\tfont: bold 65%/1.5 sans-serif;\n\t\ttext-align: center;\n\t\tvertical-align: .3em;\n\t\tborder-radius: 999px;\n\t\ttext-shadow: none;\n\t\tbox-shadow: 0 1px white;\n\t}\n\n\t.line-highlight[data-end]:after {\n\t\tcontent: attr(data-end);\n\t\ttop: auto;\n\t\tbottom: .4em;\n\t}\n\n.line-numbers .line-highlight:before,\n.line-numbers .line-highlight:after {\n\tcontent: none;\n}\n\npre[id].linkable-line-numbers span.line-numbers-rows {\n\tpointer-events: all;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:before {\n\tcursor: pointer;\n}\npre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before {\n\tbackground-color: rgba(128, 128, 128, .2);\n}\n","pre[class*=\"language-\"].line-numbers {\n\tposition: relative;\n\tpadding-left: 3.8em;\n\tcounter-reset: linenumber;\n}\n\npre[class*=\"language-\"].line-numbers > code {\n\tposition: relative;\n\twhite-space: inherit;\n}\n\n.line-numbers .line-numbers-rows {\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: 0;\n\tfont-size: 100%;\n\tleft: -3.8em;\n\twidth: 3em; /* works for line-numbers below 1000 lines */\n\tletter-spacing: -1px;\n\tborder-right: 1px solid #999;\n\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n}\n\n\t.line-numbers-rows > span {\n\t\tdisplay: block;\n\t\tcounter-increment: linenumber;\n\t}\n\n\t\t.line-numbers-rows > span:before {\n\t\t\tcontent: counter(linenumber);\n\t\t\tcolor: #999;\n\t\t\tdisplay: block;\n\t\t\tpadding-right: 0.8em;\n\t\t\ttext-align: right;\n\t\t}\n","div.code-toolbar {\n\tposition: relative;\n}\n\ndiv.code-toolbar > .toolbar {\n\tposition: absolute;\n\tz-index: 10;\n\ttop: .3em;\n\tright: .2em;\n\ttransition: opacity 0.3s ease-in-out;\n\topacity: 0;\n}\n\ndiv.code-toolbar:hover > .toolbar {\n\topacity: 1;\n}\n\n/* Separate line b/c rules are thrown out if selector is invalid.\n IE11 and old Edge versions don't support :focus-within. */\ndiv.code-toolbar:focus-within > .toolbar {\n\topacity: 1;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item {\n\tdisplay: inline-block;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a {\n\tcursor: pointer;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > button {\n\tbackground: none;\n\tborder: 0;\n\tcolor: inherit;\n\tfont: inherit;\n\tline-height: normal;\n\toverflow: visible;\n\tpadding: 0;\n\t-webkit-user-select: none; /* for button */\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a,\ndiv.code-toolbar > .toolbar > .toolbar-item > button,\ndiv.code-toolbar > .toolbar > .toolbar-item > span {\n\tcolor: #bbb;\n\tfont-size: .8em;\n\tpadding: 0 .5em;\n\tbackground: #f5f2f0;\n\tbackground: rgba(224, 224, 224, 0.2);\n\tbox-shadow: 0 2px 0 0 rgba(0,0,0,0.2);\n\tborder-radius: .5em;\n}\n\ndiv.code-toolbar > .toolbar > .toolbar-item > a:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > a:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > button:focus,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:hover,\ndiv.code-toolbar > .toolbar > .toolbar-item > span:focus {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n","// include prisimjs styles\n@import '../../../node_modules/prismjs/themes/prism-tomorrow';\n@import '../../../node_modules/prismjs/plugins/command-line/prism-command-line';\n@import '../../../node_modules/prismjs/plugins/line-highlight/prism-line-highlight';\n@import '../../../node_modules/prismjs/plugins/line-numbers/prism-line-numbers';\n@import '../../../node_modules/prismjs/plugins/toolbar/prism-toolbar';\n\n// override background color\n// :not(pre)>code[class*=\"language-\"], pre[class*=\"language-\"] {\n// background: map-get($colors, 'sidebar-bg');\n// }\n\n.token.operator {\n background: none;\n}\n",".c-history {\n display: flex;\n align-items: center;\n margin: -.9375rem 0 1.875rem;\n}\n.c-contributors {\n display: flex;\n}\n.c-contributor {\n width: 30px;\n height: 30px;\n margin-left: -10px;\n border: 2px solid #fff;\n border-radius: 15px;\n\n &:first-child {\n margin-left: 0;\n }\n}\n.c-last-edit {\n max-width: 100%;\n margin-bottom: 0;\n padding-left: 0.5em;\n font-size: 0.9em;\n font-weight: 500;\n color: #555;\n flex: 1; // fixes mobile rendering\n}\n",".c-footer {\n\n &__grid {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: flex-start;\n }\n\n &__cell {\n width: 100%;\n\n @include breakpoint(large) {\n width: auto;\n }\n }\n\n &__copyright {\n color: map-get($colors, gray);\n }\n\n &__nav {\n margin: rem(0 -10);\n padding: 0;\n list-style: none;\n }\n\n &__navitem {\n display: inline-block;\n }\n\n &__navlink {\n display: block;\n font-weight: 700;\n padding: rem(10);\n color: map-get($colors, gray);\n\n &:hover {\n color: map-get($colors, primary);\n }\n }\n}","\n.heading-link {\n display: inline-block;\n margin-left: 0.67em;\n transition: opacity 0.25s ease-in-out;\n opacity: 0;\n font-size: 0.8em;\n bottom: 0.2em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n &:hover .heading-link {\n opacity: 1;\n }\n}\n\n@include breakpoint(medium up) {\n h1, h2, h3, h4, h5, h6 {\n position: relative;\n margin-left: -3rem;\n padding-left: 3rem;\n\n &:target .heading-link{\n opacity: 1;\n }\n }\n .heading-link {\n left: 0;\n position: absolute;\n }\n}\n",".c-nav {\n margin: rem(0 0 0 -20);\n padding: 0;\n list-style: none;\n\n &__item {\n margin: 0;\n padding: 0;\n list-style: none;\n font-size: rem(15);\n line-height: 1.4;\n\n a {\n position: relative;\n display: block;\n margin-bottom: rem(10);\n padding: rem(0 0 0 20);\n text-decoration: none;\n font-weight: 500;\n color: map-get($colors, slateGray);\n transition: all .2s ease;\n\n &:hover {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n transform: translateX(2px);\n }\n }\n\n &--activepage {\n .c-nav__chevron {\n top: 0.35rem;\n }\n > a {\n position: relative;\n color: map-get($colors, 'nav-active');\n padding: 0.35rem 0 0.35rem 3.5rem;\n transition: all .2s ease;\n\n &:after, &:before {\n border: 0 solid #e2e8f0;\n }\n\n &:hover{\n transform: translateX(0);\n }\n\n .inset{\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n border-radius: .25rem;\n opacity: .25;\n background-color:map-get($colors, 'nav-active-bg');\n }\n }\n\n }\n\n &--level1 > a {\n font-size: rem(16);\n font-weight: 700;\n padding-left: rem(30);\n }\n\n &--level2 > a {\n padding-left: rem(50);\n }\n\n &--level3 > a {\n padding-left: rem(60);\n }\n\n &--level4 > a {\n padding-left: rem(80);\n }\n\n &--level5 > a {\n padding-left: rem(100);\n }\n\n &--level6 > a {\n padding-left: rem(120);\n }\n\n &--level7> a {\n padding-left: rem(140);\n }\n\n /*\n &--has-children > a {\n position: relative;\n &:before {\n content: \"\";\n display: inline-block;\n position: absolute;\n top: rem(1);\n height: rem(20);\n width: rem(20);\n margin: rem(0 0 0 -23);\n background: svg-url('');\n background-repeat: no-repeat;\n background-size: rem(7);\n background-position: center center;\n opacity: 0.6;\n transform: rotate(-90deg);\n }\n }*/\n\n &--collapsed {\n > ul {\n display: none;\n }\n > a > .c-nav__chevron {\n top: rem(1);\n transform: rotate(90deg);\n }\n }\n\n }\n\n &__chevron {\n display: inline-block;\n position: absolute;\n top: 0;\n height: rem(21);\n width: rem(21);\n padding: rem(5);\n margin: rem(0 0 0 -23);\n fill: rgba(map-get($colors, 'body-text'), 0.6);\n transform: rotate(-90deg);\n vertical-align: middle;\n }\n\n\n &__sublist {\n margin: 0 0 $global-margin*2;\n padding: 0;\n }\n}\n\n::-webkit-scrollbar, ::-webkit-scrollbar-thumb {\n width: 1rem;\n height: 1rem;\n border: .25rem solid transparent;\n border-radius: .5rem;\n background-color: transparent;\n}\n\n::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.1);\n}\n\n::-webkit-scrollbar-thumb:hover {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.2);\n}\n\n::-webkit-resizer, ::-webkit-scrollbar-corner {\n background-color: transparent;\n}\n",".l-main__oc, .c-oc__more {\n display: none;\n @include breakpoint(xlarge) {\n display: block;\n }\n}\n.l-main__oc--below, .c-oc__more--below {\n display: block;\n @include breakpoint(xlarge) {\n display: none;\n }\n}\n\n.l-main__oc {\n margin-top: 5em;\n\n background: map-get($colors, 'sidebar-bg');\n color: map-get($colors, 'sidebar-text');\n padding: 1em;\n border-radius: 1em;\n border: 1px solid transparent;\n transition: background-color .5s ease-in-out;\n text-decoration: none !important;\n max-width: rem(400);\n\n @include breakpoint(xlarge) {\n margin-left: rem(-25);\n }\n\n .c-oc__member_image {\n transition: border .5s ease-in-out;\n }\n &:hover {\n color: map-get($colors, 'sidebar-text');\n background: #e3efff;\n\n .c-oc__member_image {\n border-color: #e3efff;\n }\n\n }\n}\n\n.c-oc__logo {\n max-width: 100%;\n max-height: 60px;\n}\n\n.c-oc__text {\n font-size: rem(13);\n font-weight: 500;\n}\n\n.c-oc__subtitle {\n font-size: rem(13);\n font-weight: 700;\n text-transform: uppercase;\n}\n\n.c-oc__members {\n padding-left: 0;\n list-style: none;\n margin-bottom: 25px;\n padding-right: 25px;\n margin-left: -28px;\n margin-right: -35px;\n text-align: center;\n}\n.c-oc__member {\n display: inline-block;\n margin-right: -20px;\n margin-bottom: -15px;\n}\n\n.c-oc__member_image {\n width: 60px;\n height: 60px;\n border-radius: 50%;\n border: 5px solid map-get($colors, 'sidebar-bg');\n background: #00B5DE;\n}\n\n.c-oc__total {\n\n span {\n height: 60px;\n background: #00B5DE;\n border-radius: 30px;\n border: 5px solid map-get($colors, 'sidebar-bg');\n color: #fff;\n padding: 0.7em 1em;\n font-weight: 600;\n display: block;\n }\n}\n\n.c-oc__more {\n text-align: center;\n font-size: rem(13);\n font-weight: 500;\n text-decoration: underline;\n margin-top: 1em;\n margin-left: -1em;\n max-width: rem(400);\n}\n",".c-optionswitch {\n\n &__current {\n display: block;\n padding: rem(7 10);\n color: map-get($colors, 'header-text');\n white-space: nowrap;\n background: map-get($colors, 'header-bg');\n transition: background-color .2s ease-in-out;\n border-radius: $global-radius;\n\n &:hover {\n color: map-get($colors, 'header-text');\n background: lighten(map-get($colors, 'header-bg'), 5%);\n }\n }\n\n &__currentchevron {\n display: inline-block;\n width: rem(10);\n height: rem(10);\n fill: map-get($colors, 'header-text');\n vertical-align: middle;\n margin: rem(-1 0 0 3);\n transform: rotate(90deg);\n }\n\n &__listwrapper {\n position: absolute;\n top: $header-height - rem(1);\n display: none;\n background: map-get($colors, 'optionswitch-bg');\n box-shadow: rem(0 3 8 0) rgba(116, 129, 141, 0.1);\n\n @include breakpoint(xxlarge) {\n right: 0;\n }\n @include breakpoint(1440 down) {\n right: 0;\n }\n @include breakpoint(768 down) {\n right: 0;\n }\n\n &:target {\n display: block;\n\n @include breakpoint(medium up) {\n display: flex;\n }\n\n &:before {\n content: none;\n }\n }\n }\n\n &__list {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n &__item {\n position: relative;\n display: block;\n }\n\n &__link {\n display: block;\n padding: rem(4 10);\n color: map-get($colors, 'header-text');\n transition-duration: .2s;\n transition-timing-function: cubic-bezier(.4,0,.2,1);\n transition-property: background-color,border-color,color;\n\n &:hover {\n color: map-get($colors, 'header-text');\n background: lighten(map-get($colors, 'header-bg'), 5%);\n }\n }\n\n &__item--active &__link {\n background: lighten(map-get($colors, 'header-bg'), 7%);\n }\n\n &__translation {\n color: darken(map-get($colors, 'header-text'), 15%);\n\n &:before {\n content: \"(\";\n }\n &:after {\n content: \")\";\n }\n }\n\n &__note {\n padding: rem(0 10 10);\n color: darken(map-get($colors, 'header-text'), 15%);\n }\n}\n",".l-main-search__container {\n list-style: none;\n padding: 0;\n margin-bottom: 2rem;\n}\n\n.l-main-search__result, .l-live-search__result {\n border-top: 1px solid map_get($colors, 'header-bg');\n padding-top: 1rem;\n margin-top: 1rem;\n\n .c-breadcrumb {\n margin-bottom: 0;\n }\n\n h4 {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n @include breakpoint(small only) {\n &:first-child {\n border-top: none;\n }\n }\n}\n\n.l-main-search__match, .l-live-search__match {\n summary {\n float: right;\n color: #777;\n }\n}\n\n.l-search__pagination-holder {\n list-style: none;\n padding: 0;\n text-align: center;\n}\n.l-search-page {\n display: inline-block;\n}\n.l-search-page__link {\n display: block;\n cursor: pointer;\n padding: .5rem 1rem;\n line-height: initial;\n background: #e2e8f0;\n color: map-get($colors, mirage);\n border-radius: 0.25rem;\n border: 1px solid #e2e8f0;\n\n &:hover, &:focus{\n background: map_get($colors, slateGray);\n border: 1px solid map_get($colors, #708090);\n color: map_get($colors, light);\n }\n\n &--active {\n background: map_get($colors, sapphire);\n border: 1px solid map_get($colors, sapphire);\n color: map_get($colors, light);\n }\n}\n\n.c-searchform--resultspage {\n margin-bottom: 1rem;\n .c-searchform__input {\n border: 1px solid map_get($colors, 'header-bg');\n }\n}\n.l-search__meta {\n color: map_get($colors, gray);\n}\n\n\n$ignoredColor: map_get($colors, warning);\n.l-search__ignored {\n border-left: rem(8) solid $ignoredColor;\n padding: rem(15 20);\n background-color: rgba($ignoredColor, 0.3);\n color: darken($ignoredColor, 50%);\n}\n$tipColor: map_get($colors, primary);\n.l-search__tip {\n border-left: rem(8) solid $tipColor;\n padding: rem(15 20);\n background-color: rgba($tipColor, 0.3);\n color: darken($tipColor, 50%);\n}\n\n$errorColor: map_get($colors, alert);\n.l-search__no_results {\n border-left: rem(4) solid $errorColor;\n padding: rem(15 20);\n background-color: rgba($errorColor, 0.3);\n color: darken($errorColor, 50%);\n max-width: 100%;\n\n &--live {\n margin: 0;\n }\n}\n\n.c-searchform--header {\n z-index: 5;\n}\n.l-live-search__container {\n position: absolute;\n background: #fff;\n width: 100%;\n display: none;\n border-radius: 0 0 5px 5px;\n margin-top: -3px;\n z-index: 4;\n box-shadow: 0 2px 7px 2px rgba(0,0,0,0.5);\n\n &--visible {\n display: block;\n }\n\n &--loading {\n &::before {\n content: \"Loading...\";\n width: 100%;\n display: block;\n padding: 0.5em 0.5em 0.5em 1em;\n border-radius: 5px 5px 0 0;\n color: map_get($colors, 'header-text');\n background: map_get($colors, 'header-bg');\n\n }\n &:empty::before {\n border-radius: 5px;\n }\n }\n\n @include breakpoint(small only) {\n position: initial;\n margin-top: 1em;\n border-radius: 7px;\n box-shadow: none;\n border: 1px solid #3b68af;\n }\n}\n.l-live-search__results {\n list-style: none;\n padding: 0;\n margin: 0;\n max-height: 70vh;\n overflow-y: scroll;\n\n @include breakpoint(small only) {\n max-height: calc(100vh - 15rem);\n }\n}\n.l-live-search__result, .l-main-search__result {\n padding: 0;\n margin: 0;\n position: relative;\n}\n.c-live-search__result-crumbs, .l-main-search__crumbs {\n position: absolute;\n top: 0.7rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n padding: 0 1rem;\n height: 1.6em; // = line-height\n overflow: hidden;\n font-weight: 500;\n}\n.c-live-search__result-link, .l-main-search__link {\n color: map-get($colors, sapphire);\n display: block;\n padding: 2.2rem 1rem 0.7rem;\n font-weight: 500;\n &:hover, &:focus, .l-live-search__result--selected & {\n background: #f0f6ff;\n }\n}\n.l-live-search__search {\n margin: 0;\n a {\n font-weight: 500;\n display: block;\n padding: 0.7rem 1rem;\n width: 100%;\n color: map_get($colors, 'header-text');\n background: map_get($colors, 'header-bg');\n border-radius: 0 0 5px 5px;\n }\n}\n.l-main-search__result {\n max-width: $paragraph-max-width;\n}\n.l-main-search__title {\n color: map-get($colors, sapphire);\n}\n.l-main-search__link {\n text-decoration: none !important;\n &:hover, &:focus {\n .l-main-search__title {\n color: lightendarken(map-get($colors, 'link-color'), 15%);\n }\n }\n}\n.l-main-search__snippet {\n color: map-get($colors, 'body-text');\n}\n.size_code{\n font-size: 1em;\n}\n",".c-searchform {\n position: relative;\n width: 100%;\n\n @include breakpoint(small only) {\n margin-top: 1rem;\n }\n\n &__input {\n display: block;\n width: 100%;\n border: none;\n border-radius: .5rem;\n padding: rem(10 35 10 20);\n line-height: 1.5!important;\n font-family: inherit;\n font-size: 100%;\n transition: all .1s ease-in;\n background-color: #edf2f7;\n\n &:focus{\n border-color: #e2e8f0;\n background-color: #fff;\n }\n\n @include breakpoint(small only) {\n border: 1px solid map_get($colors, 'header-bg');\n }\n }\n\n &__button {\n position: absolute;\n top: rem(0);\n right: rem(10);\n bottom: rem(0);\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n }\n\n &__icon {\n width: rem(24);\n height: rem(20);\n fill: #717171;\n vertical-align: middle;\n }\n}\n\n// Undo helpers.scss:14 for the searchform target; without this there's an unclickable area before the search.\n#searchform:target:before {\n content: \"\";\n height: 0;\n margin: 0;\n}\n","table {\n display: block;\n width: fit-content;\n //min-width: 100%;\n max-width: 100%;\n max-width: calc(100% + #{rem(20)});\n margin: $global-margin*2 0;\n border-collapse: collapse;\n overflow-x: auto;\n\n @include breakpoint(medium) {\n display: table;\n table-layout:fixed;\n width: 100%;\n max-width: 100%;\n\n td {\n word-wrap: break-word;\n }\n }\n\n tr:nth-child(2n) {\n background: map-get($colors, 'sidebar-bg');\n }\n\n td, th {\n border: 1px solid lightendarken(map-get($colors, 'border'), 10%);\n padding: rem(9 16);\n }\n\n th {\n font-weight: 700;\n text-align: center;\n }\n\n td {\n min-width: rem(170);\n\n @include breakpoint(medium) {\n min-width: 0;\n }\n }\n\n &::-webkit-scrollbar, &::-webkit-scrollbar-thumb {\n width: 1rem;\n height: 1rem;\n border: .25rem solid transparent;\n border-radius: .5rem;\n background-color: transparent;\n }\n\n &::-webkit-scrollbar-thumb {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.1);\n }\n\n &::-webkit-scrollbar-thumb:hover {\n box-shadow: inset 0 0 0 1rem rgba(85,108,136,.2);\n }\n\n &::-webkit-resizer, &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n}\n",".c-toc {\n position: relative;\n margin: 0 0 $global-margin*2;\n/*\n &__wrapper {\n @include breakpoint(xlarge) {\n position: absolute;\n top: rem(15);\n left: 100%;\n left: calc(100% + #{rem(50)});\n width: rem(250);\n }\n }\n*/\n &__title {\n display: block;\n margin: 0 0 rem(5);\n font-size: rem(12);\n font-weight: 700;\n color: map-get($colors, cadetBlue);\n text-transform: uppercase;\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n &__wrapper > ul {\n //padding-left: rem(15);\n }\n\n &__wrapper > ul > li {\n margin: 0 0 rem(7);\n\n &:last-child {\n margin-bottom: 0;\n }\n\n > a {\n font-weight: 700;\n }\n }\n\n a {\n display: block;\n margin: rem(0 0 3);\n font-size: rem(13);\n font-weight: 500;\n color: map-get($colors, slateGray);\n line-height: 1.4;\n transition: all .2s ease;\n\n &:hover {\n color: map-get($colors, mirage);\n transform: translateX(2px);\n }\n }\n\n li li {\n padding-left: rem(15);\n }\n}\n",".u-show-for-sr, .u-show-on-focus {\n position: absolute !important;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n// make anchor tags work with fixed header\n:target:before {\n content:\"\";\n display:block;\n height: ($header-height+$main-margin-top); /* fixed header height*/\n margin: (($header-height+$main-margin-top)*-1) 0 0; /* negative fixed header height */\n}\n\n.is-brokenlink {\n color: map-get($colors, 'link-broken');\n text-decoration: line-through;\n\n &:after {\n content: \" (link broken)\";\n text-decoration: none;\n }\n}\n\n// style external links\n//.o-content a[href*=\"//\"]:not([href*=\"docs.modx.org\"]),\n.is-externallink {\n &:after {\n content: \"\";\n display: inline-block;\n width: rem(10);\n height: rem(10);\n margin: rem(-1 2 0 4);\n\n background: svg-url('');\n background-size: 100% 100%;\n background-repeat: no-repeat;\n background-position: center center;\n }\n}\n\n.u-no-margin {\n margin: 0 !important;\n}\n.u-no-margin--top {\n margin-top: 0 !important;\n}\n.u-no-margin--bottom {\n margin-bottom: 0 !important;\n}\n\n.u-no-padding {\n padding: 0 !important;\n}\n.u-no-padding--top {\n padding-top: 0 !important;\n}\n.u-no-padding--bottom {\n padding-bottom: 0 !important;\n}\n\nhtml.no-js {\n .u-show-with-js {\n display: none !important;\n }\n}\nhtml.js {\n .u-hide-with-js {\n display: none !important;\n }\n .u-hide-with-js-sr {\n @extend .u-show-for-sr;\n }\n}\n","@media print {\n .l-app > * {\n display: none;\n }\n\n .l-app .l-main {\n display: block;\n }\n}"]} \ No newline at end of file diff --git a/public/template/dist/main-modern.js b/public/template/dist/main-modern.js index eca7ed00..0374cf26 100644 --- a/public/template/dist/main-modern.js +++ b/public/template/dist/main-modern.js @@ -1,2 +1,353 @@ -/*! For license information please see main-modern.js.LICENSE.txt */ -!function(){var e={874:function(){!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=a.variable[1].inside,s=0;s]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}},325:function(e,t,n){var a=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,a={},i={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof r?new r(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=d.reach);A+=k.value.length,k=k.next){var w=k.value;if(t.length>e.length)return;if(!(w instanceof r)){var T,L=1;if(E){if(!(T=s(S,A,e,b))||T.index>=e.length)break;var _=T.index,N=T.index+T[0].length,I=A;for(I+=k.value.length;_>=I;)I+=(k=k.next).value.length;if(A=I-=k.value.length,k.value instanceof r)continue;for(var R=k;R!==t.tail&&(Id.reach&&(d.reach=x);var F=k.prev;if(P&&(F=u(t,F,P),A+=P.length),c(t,F,L),k=u(t,F,new r(p,h?i.tokenize(O,h):O,y,O)),C&&u(t,k,C),L>1){var D={cause:p+","+m,reach:x};o(e,t,n,k.prev,A,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function l(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function u(e,t,n){var a=t.next,i={value:n,prev:t,next:a};return t.next=i,a.prev=i,e.length++,i}function c(e,t,n){for(var a=t.next,i=0;i"+r.content+""},!e.document)return e.addEventListener?(i.disableWorkerMessageHandler||e.addEventListener("message",(function(t){var n=JSON.parse(t.data),a=n.language,r=n.code,s=n.immediateClose;e.postMessage(i.highlight(r,i.languages[a],a)),s&&e.close()}),!1),i):i;var d=i.util.currentScript();function p(){i.manual||i.highlightAll()}if(d&&(i.filename=d.src,d.hasAttribute("data-manual")&&(i.manual=!0)),!i.manual){var g=document.readyState;"loading"===g||"interactive"===g&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return i}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});e.exports&&(e.exports=a),void 0!==n.g&&(n.g.Prism=a)},871:function(){!function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var a={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},i={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:a,number:i,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:a,number:i})}(Prism)},251:function(){!function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(Prism)},980:function(){Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript},277:function(){Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},64:function(){!function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,i=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return a})),r=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+i+r+"(?:"+i+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+i+r+")(?:"+i+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+i+")"+r+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+i+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,a=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(Prism)},854:function(){!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,a,i,r){if(n.language===a){var s=n.tokenStack=[];n.code=n.code.replace(i,(function(e){if("function"==typeof r&&!r(e))return e;for(var i,o=s.length;-1!==n.code.indexOf(i=t(a,o));)++o;return s[o]=e,i})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,a){if(n.language===a&&n.tokenStack){n.grammar=e.languages[a];var i=0,r=Object.keys(n.tokenStack);!function s(o){for(var l=0;l=r.length);l++){var u=o[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=r[i],d=n.tokenStack[c],p="string"==typeof u?u:u.content,g=t(a,c),m=p.indexOf(g);if(m>-1){++i;var f=p.substring(0,m),h=new e.Token(a,e.tokenize(d,n.grammar),"language-"+a,d),b=p.substring(m+g.length),E=[];f&&E.push.apply(E,s([f])),E.push(h),b&&E.push.apply(E,s([b])),"string"==typeof u?o.splice.apply(o,[l,1].concat(E)):u.content=E}}else u.content&&s(u.content)}return o}(n.tokens)}}}})}(Prism)},335:function(){Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[t]},n.cdata=/^$/i;var a={"included-cdata":{pattern://i,inside:n}};a["language-"+t]={pattern:/[\s\S]+/,inside:Prism.languages[t]};var i={};i[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:a},Prism.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(e,t){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Prism.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml},425:function(){Prism.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}})},945:function(){!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:i,punctuation:r};var s={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},o=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];e.languages.insertBefore("php","variable",{string:o,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:o,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:a,operator:i,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},675:function(){!function(e){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,n=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,r=/[{}\[\](),:;]/;e.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:i,punctuation:r};var s={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:e.languages.php},o=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:s}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:s}}];e.languages.insertBefore("php","variable",{string:o,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:o,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:n,number:a,operator:i,punctuation:r}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),e.hooks.add("before-tokenize",(function(t){/<\?/.test(t.code)&&e.languages["markup-templating"].buildPlaceholders(t,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"php")}))}(Prism)},281:function(){!function(e){e.languages.smarty={comment:{pattern:/^\{\*[\s\S]*?\*\}/,greedy:!0},"embedded-php":{pattern:/^\{php\}[\s\S]*?\{\/php\}/,greedy:!0,inside:{smarty:{pattern:/^\{php\}|\{\/php\}$/,inside:null},php:{pattern:/[\s\S]+/,alias:"language-php",inside:e.languages.php}}},string:[{pattern:/"(?:\\.|[^"\\\r\n])*"/,greedy:!0,inside:{interpolation:{pattern:/\{[^{}]*\}|`[^`]*`/,inside:{"interpolation-punctuation":{pattern:/^[{`]|[`}]$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:null}}},variable:/\$\w+/}},{pattern:/'(?:\\.|[^'\\\r\n])*'/,greedy:!0}],keyword:{pattern:/(^\{\/?)[a-z_]\w*\b(?!\()/i,lookbehind:!0,greedy:!0},delimiter:{pattern:/^\{\/?|\}$/,greedy:!0,alias:"punctuation"},number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,variable:[/\$(?!\d)\w+/,/#(?!\d)\w+#/,{pattern:/(\.|->|\w\s*=)(?!\d)\w+\b(?!\()/,lookbehind:!0},{pattern:/(\[)(?!\d)\w+(?=\])/,lookbehind:!0}],function:{pattern:/(\|\s*)@?[a-z_]\w*|\b[a-z_]\w*(?=\()/i,lookbehind:!0},"attr-name":/\b[a-z_]\w*(?=\s*=)/i,boolean:/\b(?:false|no|off|on|true|yes)\b/,punctuation:/[\[\](){}.,:`]|->/,operator:[/[+\-*\/%]|==?=?|[!<>]=?|&&|\|\|?/,/\bis\s+(?:not\s+)?(?:div|even|odd)(?:\s+by)?\b/,/\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\b/]},e.languages.smarty["embedded-php"].inside.smarty.inside=e.languages.smarty,e.languages.smarty.string[0].inside.interpolation.inside.expression.inside=e.languages.smarty;var t=/"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*'/,n=RegExp(/\{\*[\s\S]*?\*\}/.source+"|"+/\{php\}[\s\S]*?\{\/php\}/.source+"|"+/\{(?:[^{}"']||\{(?:[^{}"']||\{(?:[^{}"']|)*\})*\})*\}/.source.replace(//g,(function(){return t.source})),"g");e.hooks.add("before-tokenize",(function(t){var a=!1;e.languages["markup-templating"].buildPlaceholders(t,"smarty",n,(function(e){return"{/literal}"===e&&(a=!1),!a&&("{literal}"===e&&(a=!0),!0)}))})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"smarty")}))}(Prism)},266:function(){Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}},474:function(){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=/(?:^|\s)command-line(?:\s|$)/,t="command-line-prompt",n="".startsWith?function(e,t){return e.startsWith(t)}:function(e,t){return 0===e.indexOf(t)},a="".endsWith?function(e,t){return e.endsWith(t)}:function(e,t){var n=e.length;return e.substring(n-t.length,n)===t};Prism.hooks.add("before-highlight",(function(r){var s=i(r);if(!s.complete&&r.code){var o=r.element.parentElement;if(o&&/pre/i.test(o.nodeName)&&(e.test(o.className)||e.test(r.element.className))){var l=r.element.querySelector("."+t);l&&l.remove();var u=r.code.split("\n");s.numberOfLines=u.length;var c=s.outputLines=[],d=o.getAttribute("data-output"),p=o.getAttribute("data-filter-output");if(null!==d)d.split(",").forEach((function(e){var t=e.split("-"),n=parseInt(t[0],10),a=2===t.length?parseInt(t[1],10):n;if(!isNaN(n)&&!isNaN(a)){n<1&&(n=1),a>u.length&&(a=u.length),a--;for(var i=--n;i<=a;i++)c[i]=u[i],u[i]=""}}));else if(p)for(var g=0;g0&&h&&n(E,h)&&(u[b]=E.slice(h.length),m.add(b)))}r.code=u.join("\n")}else s.complete=!0}else s.complete=!0})),Prism.hooks.add("before-insert",(function(e){var t=i(e);if(!t.complete){for(var n=e.highlightedCode.split("\n"),a=t.outputLines||[],r=0,s=n.length;r'+Prism.util.encode(a[r])+"":n[r]=''+n[r]+"";e.highlightedCode=n.join("\n")}})),Prism.hooks.add("complete",(function(n){if(function(e){return"command-line"in(e.vars=e.vars||{})}(n)){var a=i(n);if(!a.complete){var r=n.element.parentElement;e.test(n.element.className)&&(n.element.className=n.element.className.replace(e," ")),e.test(r.className)||(r.className+=" command-line");var s,o="",l=a.numberOfLines||0,u=E("data-prompt","");s=""!==u?'':'';for(var c=a.continuationLineIndicies||new Set,d='")+'">',p=0;p ",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}()?parseInt:parseFloat)(getComputedStyle(r).lineHeight),m=Prism.util.isActive(r,t),f=r.querySelector("code"),h=m?r:f||r,b=[],E=f.textContent.match(a),y=E?E.length+1:1,v=f&&h!=f?function(e,t){var n=getComputedStyle(e),a=getComputedStyle(t);function i(e){return+e.substr(0,e.length-2)}return t.offsetTop+i(a.borderTopWidth)+i(a.paddingTop)-i(n.paddingTop)}(r,f):0;d.forEach((function(e){var t=e.split("-"),n=+t[0],a=+t[1]||n;if(!((a=Math.min(y+p,a))n&&i.setAttribute("data-end",String(a)),i.style.top=(n-p-1)*g+v+"px",i.textContent=new Array(a-n+2).join(" \n")}));b.push((function(){i.style.width=r.scrollWidth+"px"})),b.push((function(){h.appendChild(i)}))}}));var S=r.id;if(m&&Prism.util.isActive(r,n)&&S){o(r,n)||b.push((function(){r.classList.add(n)}));var k=parseInt(r.getAttribute("data-start")||"1");s(".line-numbers-rows > span",r).forEach((function(e,t){var n=t+k;e.onclick=function(){var e=S+"."+n;i=!1,location.hash=e,setTimeout((function(){i=!0}),1)}}))}return function(){b.forEach(l)}}};var r=0;Prism.hooks.add("before-sanity-check",(function(e){var t=e.element.parentElement;if(u(t)){var n=0;s(".line-highlight",t).forEach((function(e){n+=e.textContent.length,e.parentNode.removeChild(e)})),n&&/^(?: \n)+$/.test(e.code.slice(-n))&&(e.code=e.code.slice(0,-n))}})),Prism.hooks.add("complete",(function e(n){var a=n.element.parentElement;if(u(a)){clearTimeout(r);var i=Prism.plugins.lineNumbers,s=n.plugins&&n.plugins.lineNumbers;o(a,t)&&i&&!s?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(a)(),r=setTimeout(c,1))}})),window.addEventListener("hashchange",c),window.addEventListener("resize",(function(){s("pre").filter(u).map((function(e){return Prism.plugins.lineHighlight.highlightLines(e)})).forEach(l)}))}function s(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function o(e,t){return e.classList.contains(t)}function l(e){e()}function u(e){return!!(e&&/pre/i.test(e.nodeName)&&(e.hasAttribute("data-line")||e.id&&Prism.util.isActive(e,n)))}function c(){var e=location.hash.slice(1);s(".temporary.line-highlight").forEach((function(e){e.parentNode.removeChild(e)}));var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var n=e.slice(0,e.lastIndexOf(".")),a=document.getElementById(n);a&&(a.hasAttribute("data-line")||a.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(a,t,"temporary ")(),i&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}()},759:function(){!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e="line-numbers",t=/\n(?!$)/g,n=Prism.plugins.lineNumbers={getLine:function(t,n){if("PRE"===t.tagName&&t.classList.contains(e)){var a=t.querySelector(".line-numbers-rows");if(a){var i=parseInt(t.getAttribute("data-start"),10)||1,r=i+(a.children.length-1);nr&&(n=r);var s=n-i;return a.children[s]}}},resize:function(e){i([e])},assumeViewportIndependence:!0},a=void 0;window.addEventListener("resize",(function(){n.assumeViewportIndependence&&a===window.innerWidth||(a=window.innerWidth,i(Array.prototype.slice.call(document.querySelectorAll("pre."+e))))})),Prism.hooks.add("complete",(function(n){if(n.code){var a=n.element,r=a.parentNode;if(r&&/pre/i.test(r.nodeName)&&!a.querySelector(".line-numbers-rows")&&Prism.util.isActive(a,e)){a.classList.remove(e),r.classList.add(e);var s,o=n.code.match(t),l=o?o.length+1:1,u=new Array(l+1).join("");(s=document.createElement("span")).setAttribute("aria-hidden","true"),s.className="line-numbers-rows",s.innerHTML=u,r.hasAttribute("data-start")&&(r.style.counterReset="linenumber "+(parseInt(r.getAttribute("data-start"),10)-1)),n.element.appendChild(s),i([r]),Prism.hooks.run("line-numbers",n)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function i(e){if(0!=(e=e.filter((function(e){var t,n=(t=e,t?window.getComputedStyle?getComputedStyle(t):t.currentStyle||null:null)["white-space"];return"pre-wrap"===n||"pre-line"===n}))).length){var n=e.map((function(e){var n=e.querySelector("code"),a=e.querySelector(".line-numbers-rows");if(n&&a){var i=e.querySelector(".line-numbers-sizer"),r=n.textContent.split(t);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var s=i.getBoundingClientRect().height;return i.innerHTML="",{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}})).filter(Boolean);n.forEach((function(e){var t=e.sizer,n=e.lines,a=e.lineHeights,i=e.oneLinerHeight;a[n.length-1]=void 0,n.forEach((function(e,n){if(e&&e.length>1){var r=t.appendChild(document.createElement("span"));r.style.display="block",r.textContent=e}else a[n]=i}))})),n.forEach((function(e){for(var t=e.sizer,n=e.lineHeights,a=0,i=0;it&&(r[o]="\n"+r[o],s=l)}n[a]=r.join("")}return n.join("\n")}},e.exports&&(e.exports=a),Prism.plugins.NormalizeWhitespace=new a({"remove-trailing":!0,"remove-indent":!0,"left-trim":!0,"right-trim":!0}),Prism.hooks.add("before-sanity-check",(function(e){var t=Prism.plugins.NormalizeWhitespace;if((!e.settings||!1!==e.settings["whitespace-normalization"])&&Prism.util.isActive(e.element,"whitespace-normalization",!0))if(e.element&&e.element.parentNode||!e.code){var a=e.element.parentNode;if(e.code&&a&&"pre"===a.nodeName.toLowerCase()){for(var i in null==e.settings&&(e.settings={}),n)if(Object.hasOwnProperty.call(n,i)){var r=n[i];if(a.hasAttribute("data-"+i))try{var s=JSON.parse(a.getAttribute("data-"+i)||"true");typeof s===r&&(e.settings[i]=s)}catch(e){}}for(var o=a.childNodes,l="",u="",c=!1,d=0;d{let t=e.querySelector(":scope > .c-nav__link");if(!t)return;let n=t.querySelector(".c-nav__chevron");n&&(!1===e.classList.contains("c-nav__item--active")&&e.classList.add("c-nav__item--collapsed"),n.addEventListener("click",(t=>(e.classList.toggle("c-nav__item--collapsed"),t.stopPropagation(),t.preventDefault(),!1))))}));let e=document.querySelector(".c-nav__item--activepage");if(e&&(e=e.classList.contains("c-nav__item--level2")?e.parentNode.parentNode:e.parentNode.parentNode.parentNode,e.scrollIntoView()),null===document.querySelector(".c-nav__item--active")){let e=document.querySelector(".c-nav__item:first-of-type");e&&e.classList.remove("c-nav__item--collapsed")}}handleToggle(e,t){e.addEventListener("click",(n=>(e.classList.toggle("is--opened"),setTimeout((function(){window.location.hash==="#"+t?e.href=e.href.replace("#"+t,"#"):e.href=e.href.replace("#","#"+t)}),100),!0)))}},new class{getClassName(){return"Search"}constructor(){this.abortController=null,this.initListener()}initListener(){const e=document.getElementById("search"),t=e.form.getAttribute("action")+"?live=1",n=this,a=document.querySelector(".l-live-search__container");e.addEventListener("input",this.debounce((function(i){let r=e.value;r.length>0?(a.classList.add("l-live-search__container--loading"),n.doRequest(t+"&q="+encodeURIComponent(r))):a.classList.remove("l-live-search__container--visible")}),250)),e.addEventListener("keydown",(e=>{let t=a.querySelector(".l-live-search__result--selected");if(e.key)switch(e.key){case"Escape":case"Tab":n();break;case"ArrowDown":case"ArrowUp":i(t,"ArrowUp"===e.key);break;case"Enter":r(t,e)}else switch(e.keyCode){case 9:case 27:n();break;case 40:case 38:i(t,38===e.keyCode);break;case 13:r(t,e)}function n(){a.classList.remove("l-live-search__container--visible")}function i(e,t){let n=a.querySelectorAll(".l-live-search__result").item(0);e&&(e.classList.remove("l-live-search__result--selected"),!t&&e.nextElementSibling?n=e.nextElementSibling:t&&e.previousElementSibling&&(n=e.previousElementSibling)),n&&n.classList.add("l-live-search__result--selected")}function r(e,t){if(e){t.preventDefault();let n=e.querySelector(".c-live-search__result-link"),a=n?n.getAttribute("href"):"";if(a)return t.preventDefault(),window.location=a,!1}}})),document.addEventListener("click",(e=>{e.target.closest(".l-header__search")||a.classList.remove("l-live-search__container--visible")})),e.addEventListener("focus",(t=>{""!==e.value&&a.classList.add("l-live-search__container--visible")})),e.addEventListener("blur",(t=>{""!==e.value&&a.classList.add("l-live-search__container--visible")}))}doRequest(e){let t=document.querySelector(".l-live-search__container");t.classList.add("l-live-search__container--visible"),this.abortController&&this.abortController.abort();let n={};window.AbortController&&(this.abortController=new AbortController,n.signal=this.abortController.signal),fetch(e,n).then((function(e){if(!e.ok)throw new Error("HTTP error, status = "+e.status);return e.text()})).then((function(e){t.classList.remove("l-live-search__container--loading");let n=document.createRange().createContextualFragment(e);for(t.innerHTML="";n.firstChild;)t.appendChild(n.firstChild)})).catch((function(e){"AbortError"===e.name?console.debug("Request aborted"):console.error(e)}))}debounce(e,t,n){let a;return function(){let i=this,r=arguments,s=n&&!a;clearTimeout(a),a=setTimeout((function(){a=null,n||e.apply(i,r)}),t),s&&e.apply(i,r)}}}}()}();//# sourceMappingURL=main-modern.js.map \ No newline at end of file +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (function() { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/prismjs/components/prism-bash.js": +/*!*******************************************************!*\ + !*** ./node_modules/prismjs/components/prism-bash.js ***! + \*******************************************************/ +/***/ (function() { + +eval("(function (Prism) {\n\t// $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n\t// + LC_ALL, RANDOM, REPLY, SECONDS.\n\t// + make sure PS1..4 are here as they are not always set,\n\t// - some useless things.\n\tvar envVars = '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b';\n\n\tvar commandAfterHeredoc = {\n\t\tpattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n\t\tlookbehind: true,\n\t\talias: 'punctuation', // this looks reasonably well in all themes\n\t\tinside: null // see below\n\t};\n\n\tvar insideString = {\n\t\t'bash': commandAfterHeredoc,\n\t\t'environment': {\n\t\t\tpattern: RegExp('\\\\$' + envVars),\n\t\t\talias: 'constant'\n\t\t},\n\t\t'variable': [\n\t\t\t// [0]: Arithmetic Environment\n\t\t\t{\n\t\t\t\tpattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t// If there is a $ sign at the beginning highlight $(( and )) as variable\n\t\t\t\t\t'variable': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t},\n\t\t\t\t\t\t/^\\$\\(\\(/\n\t\t\t\t\t],\n\t\t\t\t\t'number': /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n\t\t\t\t\t// Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n\t\t\t\t\t'operator': /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n\t\t\t\t\t// If there is no $ sign at the beginning highlight (( and )) as punctuation\n\t\t\t\t\t'punctuation': /\\(\\(?|\\)\\)?|,|;/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// [1]: Command Substitution\n\t\t\t{\n\t\t\t\tpattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'variable': /^\\$\\(|^`|\\)$|`$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t// [2]: Brace expansion\n\t\t\t{\n\t\t\t\tpattern: /\\$\\{[^}]+\\}/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'operator': /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n\t\t\t\t\t'punctuation': /[\\[\\]]/,\n\t\t\t\t\t'environment': {\n\t\t\t\t\t\tpattern: RegExp('(\\\\{)' + envVars),\n\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\talias: 'constant'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t/\\$(?:\\w+|[#?*!@$])/\n\t\t],\n\t\t// Escape sequences from echo and printf's manuals, and escaped quotes.\n\t\t'entity': /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n\t};\n\n\tPrism.languages.bash = {\n\t\t'shebang': {\n\t\t\tpattern: /^#!\\s*\\/.*/,\n\t\t\talias: 'important'\n\t\t},\n\t\t'comment': {\n\t\t\tpattern: /(^|[^\"{\\\\$])#.*/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'function-name': [\n\t\t\t// a) function foo {\n\t\t\t// b) foo() {\n\t\t\t// c) function foo() {\n\t\t\t// but not “foo {”\n\t\t\t{\n\t\t\t\t// a) and c)\n\t\t\t\tpattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'function'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// b)\n\t\t\t\tpattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n\t\t\t\talias: 'function'\n\t\t\t}\n\t\t],\n\t\t// Highlight variable names as variables in for and select beginnings.\n\t\t'for-or-select': {\n\t\t\tpattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Highlight variable names as variables in the left-hand part\n\t\t// of assignments (“=” and “+=”).\n\t\t'assign-left': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()\\w+(?:\\.\\w+)*(?=\\+?=)/,\n\t\t\tinside: {\n\t\t\t\t'environment': {\n\t\t\t\t\tpattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'constant'\n\t\t\t\t}\n\t\t\t},\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t// Highlight parameter names as variables\n\t\t'parameter': {\n\t\t\tpattern: /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w+(?:\\.\\w+)*(?=[=\\s]|$)/,\n\t\t\talias: 'variable',\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': [\n\t\t\t// Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: insideString\n\t\t\t},\n\t\t\t// Here-document with quotes around the tag\n\t\t\t// → No expansion (so no “inside”).\n\t\t\t{\n\t\t\t\tpattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'bash': commandAfterHeredoc\n\t\t\t\t}\n\t\t\t},\n\t\t\t// “Normal” string\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n\t\t\t\tpattern: /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: insideString\n\t\t\t},\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n\t\t\t\tpattern: /(^|[^$\\\\])'[^']*'/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\t// https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n\t\t\t\tpattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'entity': insideString.entity\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'environment': {\n\t\t\tpattern: RegExp('\\\\$?' + envVars),\n\t\t\talias: 'constant'\n\t\t},\n\t\t'variable': insideString.variable,\n\t\t'function': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'keyword': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t// https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n\t\t'builtin': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true,\n\t\t\t// Alias added to make those easier to distinguish from strings.\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'boolean': {\n\t\t\tpattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'file-descriptor': {\n\t\t\tpattern: /\\B&\\d\\b/,\n\t\t\talias: 'important'\n\t\t},\n\t\t'operator': {\n\t\t\t// Lots of redirections here, but not just that.\n\t\t\tpattern: /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n\t\t\tinside: {\n\t\t\t\t'file-descriptor': {\n\t\t\t\t\tpattern: /^\\d/,\n\t\t\t\t\talias: 'important'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'punctuation': /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n\t\t'number': {\n\t\t\tpattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n\t\t\tlookbehind: true\n\t\t}\n\t};\n\n\tcommandAfterHeredoc.inside = Prism.languages.bash;\n\n\t/* Patterns in command substitution. */\n\tvar toBeCopied = [\n\t\t'comment',\n\t\t'function-name',\n\t\t'for-or-select',\n\t\t'assign-left',\n\t\t'parameter',\n\t\t'string',\n\t\t'environment',\n\t\t'function',\n\t\t'keyword',\n\t\t'builtin',\n\t\t'boolean',\n\t\t'file-descriptor',\n\t\t'operator',\n\t\t'punctuation',\n\t\t'number'\n\t];\n\tvar inside = insideString.variable[1].inside;\n\tfor (var i = 0; i < toBeCopied.length; i++) {\n\t\tinside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]];\n\t}\n\n\tPrism.languages.sh = Prism.languages.bash;\n\tPrism.languages.shell = Prism.languages.bash;\n}(Prism));\n\n\n//# sourceURL=webpack://@modxorg/docsapp/./node_modules/prismjs/components/prism-bash.js?"); + +/***/ }), + +/***/ "./node_modules/prismjs/components/prism-clike.js": +/*!********************************************************!*\ + !*** ./node_modules/prismjs/components/prism-clike.js ***! + \********************************************************/ +/***/ (function() { + +eval("Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n//# sourceURL=webpack://@modxorg/docsapp/./node_modules/prismjs/components/prism-clike.js?"); + +/***/ }), + +/***/ "./node_modules/prismjs/components/prism-core.js": +/*!*******************************************************!*\ + !*** ./node_modules/prismjs/components/prism-core.js ***! + \*******************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + +eval("/// \n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT \n * @author Lea Verou \n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new