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, '