From 6b6bcf62393a95a5fa2fdda6f396f29abe98c661 Mon Sep 17 00:00:00 2001 From: Ondrej Mirtes Date: Wed, 24 Sep 2025 15:20:15 +0200 Subject: [PATCH 1/2] PHAR --- .gitignore | 2 + phar-source/.gitignore | 1 + phar-source/box.json | 7 + phar-source/composer.json | 17 + phar-source/composer.lock | 4232 ++++++++++++++++++++++++++++++++++ phar-source/download-phpstan | 82 + phpstan | 8 + phpstan.phar | Bin 0 -> 147538 bytes 8 files changed, 4349 insertions(+) create mode 100644 .gitignore create mode 100644 phar-source/.gitignore create mode 100644 phar-source/box.json create mode 100644 phar-source/composer.json create mode 100644 phar-source/composer.lock create mode 100755 phar-source/download-phpstan create mode 100755 phpstan create mode 100755 phpstan.phar diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de4a392 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/vendor +/composer.lock diff --git a/phar-source/.gitignore b/phar-source/.gitignore new file mode 100644 index 0000000..61ead86 --- /dev/null +++ b/phar-source/.gitignore @@ -0,0 +1 @@ +/vendor diff --git a/phar-source/box.json b/phar-source/box.json new file mode 100644 index 0000000..f144eb2 --- /dev/null +++ b/phar-source/box.json @@ -0,0 +1,7 @@ +{ + "alias": "download-phpstan.phar", + "banner": false, + "check-requirements": false, + "force-autodiscovery": true, + "output": "../phpstan.phar" +} diff --git a/phar-source/composer.json b/phar-source/composer.json new file mode 100644 index 0000000..a7c95f3 --- /dev/null +++ b/phar-source/composer.json @@ -0,0 +1,17 @@ +{ + "require": { + "php": "^7.4 || ^8.0", + "splitbrain/php-archive": "^1.4" + }, + "require-dev": { + "humbug/box": "^4.6" + }, + "autoload": { + "psr-4": { + "DownloadPHPStanPhar\\": ["src/"] + } + }, + "bin": [ + "download-phpstan" + ] +} diff --git a/phar-source/composer.lock b/phar-source/composer.lock new file mode 100644 index 0000000..d1d9a86 --- /dev/null +++ b/phar-source/composer.lock @@ -0,0 +1,4232 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "8b14e5ea54236fe28a360ed7758e8816", + "packages": [ + { + "name": "splitbrain/php-archive", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/splitbrain/php-archive.git", + "reference": "e45d0d9247742490ea87afc6c026f211424999c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/splitbrain/php-archive/zipball/e45d0d9247742490ea87afc6c026f211424999c8", + "reference": "e45d0d9247742490ea87afc6c026f211424999c8", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "ext-bz2": "*", + "ext-zip": "*", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^8" + }, + "suggest": { + "ext-bz2": "For bz2 compression", + "ext-iconv": "Used for proper filename encode handling", + "ext-mbstring": "Can be used alternatively for handling filename encoding", + "ext-zlib": "For zlib compression" + }, + "type": "library", + "autoload": { + "psr-4": { + "splitbrain\\PHPArchive\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Gohr", + "email": "andi@splitbrain.org" + } + ], + "description": "Pure-PHP implementation to read and write TAR and ZIP archives", + "keywords": [ + "archive", + "extract", + "tar", + "unpack", + "unzip", + "zip" + ], + "support": { + "issues": "https://github.com/splitbrain/php-archive/issues", + "source": "https://github.com/splitbrain/php-archive/tree/1.4.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/splitbrain", + "type": "github" + } + ], + "time": "2025-08-01T08:09:37+00:00" + } + ], + "packages-dev": [ + { + "name": "amphp/amp", + "version": "v3.1.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/amp.git", + "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/amp/zipball/fa0ab33a6f47a82929c38d03ca47ebb71086a93f", + "reference": "fa0ab33a6f47a82929c38d03ca47ebb71086a93f", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Future/functions.php", + "src/Internal/functions.php" + ], + "psr-4": { + "Amp\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + } + ], + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "https://amphp.org/amp", + "keywords": [ + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" + ], + "support": { + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v3.1.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-08-27T21:42:00+00:00" + }, + { + "name": "amphp/byte-stream", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/byte-stream.git", + "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/55a6bd071aec26fa2a3e002618c20c35e3df1b46", + "reference": "55a6bd071aec26fa2a3e002618c20c35e3df1b46", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/parser": "^1.1", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2.3" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.22.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php" + ], + "psr-4": { + "Amp\\ByteStream\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "https://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "support": { + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v2.1.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-03-16T17:10:27+00:00" + }, + { + "name": "amphp/cache", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/cache.git", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/cache/zipball/46912e387e6aa94933b61ea1ead9cf7540b7797c", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Cache\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + } + ], + "description": "A fiber-aware cache API based on Amp and Revolt.", + "homepage": "https://amphp.org/cache", + "support": { + "issues": "https://github.com/amphp/cache/issues", + "source": "https://github.com/amphp/cache/tree/v2.0.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-19T03:38:06+00:00" + }, + { + "name": "amphp/dns", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/dns.git", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/process": "^2", + "daverandom/libdns": "^2.0.2", + "ext-filter": "*", + "ext-json": "*", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Dns\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Wright", + "email": "addr@daverandom.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + } + ], + "description": "Async DNS resolution for Amp.", + "homepage": "https://github.com/amphp/dns", + "keywords": [ + "amp", + "amphp", + "async", + "client", + "dns", + "resolve" + ], + "support": { + "issues": "https://github.com/amphp/dns/issues", + "source": "https://github.com/amphp/dns/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-01-19T15:43:40+00:00" + }, + { + "name": "amphp/parallel", + "version": "v2.3.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/parallel.git", + "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/parallel/zipball/321b45ae771d9c33a068186b24117e3cd1c48dce", + "reference": "321b45ae771d9c33a068186b24117e3cd1c48dce", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/pipeline": "^1", + "amphp/process": "^2", + "amphp/serialization": "^1", + "amphp/socket": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" + }, + "type": "library", + "autoload": { + "files": [ + "src/Context/functions.php", + "src/Context/Internal/functions.php", + "src/Ipc/functions.php", + "src/Worker/functions.php" + ], + "psr-4": { + "Amp\\Parallel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Parallel processing component for Amp.", + "homepage": "https://github.com/amphp/parallel", + "keywords": [ + "async", + "asynchronous", + "concurrent", + "multi-processing", + "multi-threading" + ], + "support": { + "issues": "https://github.com/amphp/parallel/issues", + "source": "https://github.com/amphp/parallel/tree/v2.3.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-08-27T21:55:40+00:00" + }, + { + "name": "amphp/parser", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/parser.git", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Parser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A generator parser to make streaming parsers simple.", + "homepage": "https://github.com/amphp/parser", + "keywords": [ + "async", + "non-blocking", + "parser", + "stream" + ], + "support": { + "issues": "https://github.com/amphp/parser/issues", + "source": "https://github.com/amphp/parser/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-03-21T19:16:53+00:00" + }, + { + "name": "amphp/pipeline", + "version": "v1.2.3", + "source": { + "type": "git", + "url": "https://github.com/amphp/pipeline.git", + "reference": "7b52598c2e9105ebcddf247fc523161581930367" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/7b52598c2e9105ebcddf247fc523161581930367", + "reference": "7b52598c2e9105ebcddf247fc523161581930367", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "php": ">=8.1", + "revolt/event-loop": "^1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" + }, + "type": "library", + "autoload": { + "psr-4": { + "Amp\\Pipeline\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Asynchronous iterators and operators.", + "homepage": "https://amphp.org/pipeline", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "iterator", + "non-blocking" + ], + "support": { + "issues": "https://github.com/amphp/pipeline/issues", + "source": "https://github.com/amphp/pipeline/tree/v1.2.3" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-03-16T16:33:53+00:00" + }, + { + "name": "amphp/process", + "version": "v2.0.3", + "source": { + "type": "git", + "url": "https://github.com/amphp/process.git", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Process\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A fiber-aware process manager based on Amp and Revolt.", + "homepage": "https://amphp.org/process", + "support": { + "issues": "https://github.com/amphp/process/issues", + "source": "https://github.com/amphp/process/tree/v2.0.3" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-19T03:13:44+00:00" + }, + { + "name": "amphp/serialization", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/serialization.git", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "phpunit/phpunit": "^9 || ^8 || ^7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Serialization\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Serialization tools for IPC and data storage in PHP.", + "homepage": "https://github.com/amphp/serialization", + "keywords": [ + "async", + "asynchronous", + "serialization", + "serialize" + ], + "support": { + "issues": "https://github.com/amphp/serialization/issues", + "source": "https://github.com/amphp/serialization/tree/master" + }, + "time": "2020-03-25T21:39:07+00:00" + }, + { + "name": "amphp/socket", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/socket.git", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/dns": "^2", + "ext-openssl": "*", + "kelunik/certificate": "^1.1", + "league/uri": "^6.5 | ^7", + "league/uri-interfaces": "^2.3 | ^7", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "amphp/process": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php", + "src/SocketAddress/functions.php" + ], + "psr-4": { + "Amp\\Socket\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@gmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.", + "homepage": "https://github.com/amphp/socket", + "keywords": [ + "amp", + "async", + "encryption", + "non-blocking", + "sockets", + "tcp", + "tls" + ], + "support": { + "issues": "https://github.com/amphp/socket/issues", + "source": "https://github.com/amphp/socket/tree/v2.3.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-21T14:33:03+00:00" + }, + { + "name": "amphp/sync", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/sync.git", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1", + "shasum": "" + }, + "require": { + "amphp/amp": "^3", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Sync\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" + } + ], + "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.", + "homepage": "https://github.com/amphp/sync", + "keywords": [ + "async", + "asynchronous", + "mutex", + "semaphore", + "synchronization" + ], + "support": { + "issues": "https://github.com/amphp/sync/issues", + "source": "https://github.com/amphp/sync/tree/v2.3.0" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-08-03T19:31:26+00:00" + }, + { + "name": "composer/pcre", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, + "require-dev": { + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" + }, + "type": "library", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" + }, + "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": "2024-11-12T16:29:46+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2025-08-20T19:15:30+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + }, + "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": "2024-05-06T16:37:16+00:00" + }, + { + "name": "daverandom/libdns", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/DaveRandom/LibDNS.git", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "Required for IDN support" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "LibDNS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "DNS protocol implementation written in pure PHP", + "keywords": [ + "dns" + ], + "support": { + "issues": "https://github.com/DaveRandom/LibDNS/issues", + "source": "https://github.com/DaveRandom/LibDNS/tree/v2.1.0" + }, + "time": "2024-04-12T12:12:48+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=13" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12 || ^13", + "phpstan/phpstan": "1.4.10 || 2.1.11", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.5" + }, + "time": "2025-04-07T20:06:18+00:00" + }, + { + "name": "fidry/console", + "version": "0.6.11", + "source": { + "type": "git", + "url": "https://github.com/theofidry/console.git", + "reference": "bea8316beae874fc5b8be679d67dd3169c7e205f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/console/zipball/bea8316beae874fc5b8be679d67dd3169c7e205f", + "reference": "bea8316beae874fc5b8be679d67dd3169c7e205f", + "shasum": "" + }, + "require": { + "php": "^8.2", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "symfony/console": "^6.4 || ^7.2", + "symfony/deprecation-contracts": "^3.4", + "symfony/event-dispatcher-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php84": "^1.31", + "symfony/service-contracts": "^2.5 || ^3.0", + "thecodingmachine/safe": "^2.0 || ^3.0", + "webmozart/assert": "^1.11" + }, + "conflict": { + "symfony/dependency-injection": "<6.4.0 || >=7.0.0 <7.2.0", + "symfony/framework-bundle": "<6.4.0 || >=7.0.0 <7.2.0", + "symfony/http-kernel": "<6.4.0 || >=7.0.0 <7.2.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "composer/semver": "^3.3.2", + "ergebnis/composer-normalize": "^2.33", + "fidry/makefile": "^0.2.1 || ^1.0.0", + "infection/infection": "^0.28", + "phpunit/phpunit": "^10.2", + "symfony/dependency-injection": "^6.4 || ^7.2", + "symfony/flex": "^2.4.0", + "symfony/framework-bundle": "^6.4 || ^7.2", + "symfony/http-kernel": "^6.4 || ^7.2", + "symfony/yaml": "^6.4 || ^7.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fidry\\Console\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo Fidry", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Library to create CLI applications", + "keywords": [ + "cli", + "console", + "symfony" + ], + "support": { + "issues": "https://github.com/theofidry/console/issues", + "source": "https://github.com/theofidry/console/tree/0.6.11" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2025-02-14T11:06:15+00:00" + }, + { + "name": "fidry/filesystem", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/theofidry/filesystem.git", + "reference": "d0d9e8dfa43f7663da153c306b0d5bc24846ad8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/filesystem/zipball/d0d9e8dfa43f7663da153c306b0d5bc24846ad8e", + "reference": "d0d9e8dfa43f7663da153c306b0d5bc24846ad8e", + "shasum": "" + }, + "require": { + "php": "^8.3", + "symfony/filesystem": "^6.4 || ^7.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4", + "ergebnis/composer-normalize": "^2.28", + "infection/infection": ">=0.26", + "phpunit/phpunit": "^12", + "symfony/finder": "^6.4 || ^7.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Fidry\\FileSystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Théo Fidry", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Symfony Filesystem with a few more utilities.", + "keywords": [ + "filesystem" + ], + "support": { + "issues": "https://github.com/theofidry/filesystem/issues", + "source": "https://github.com/theofidry/filesystem/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2025-02-13T23:05:19+00:00" + }, + { + "name": "humbug/box", + "version": "4.6.7", + "source": { + "type": "git", + "url": "https://github.com/box-project/box.git", + "reference": "190d52718c2876452625c4489a04771e0f22c06b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/box-project/box/zipball/190d52718c2876452625c4489a04771e0f22c06b", + "reference": "190d52718c2876452625c4489a04771e0f22c06b", + "shasum": "" + }, + "require": { + "amphp/parallel": "^2.0", + "composer-plugin-api": "^2.2", + "composer/semver": "^3.3.2", + "composer/xdebug-handler": "^3.0.3", + "ext-iconv": "*", + "ext-mbstring": "*", + "ext-phar": "*", + "fidry/console": "^0.6.0", + "fidry/filesystem": "^1.2.1", + "humbug/php-scoper": "^0.18.14", + "justinrainbow/json-schema": "^6.2.0", + "nikic/iter": "^2.2", + "php": "^8.2", + "phpdocumentor/reflection-docblock": "^5.4", + "phpdocumentor/type-resolver": "^1.7", + "psr/log": "^3.0", + "sebastian/diff": "^5.0 || ^6.0 || ^7.0", + "seld/jsonlint": "^1.10.2", + "seld/phar-utils": "^1.2", + "symfony/finder": "^6.4.0 || ^7.0.0", + "symfony/polyfill-iconv": "^1.28", + "symfony/polyfill-mbstring": "^1.28", + "symfony/process": "^6.4.0 || ^7.0.0", + "symfony/var-dumper": "^6.4.0 || ^7.0.0", + "thecodingmachine/safe": "^2.5 || ^3.0", + "webmozart/assert": "^1.11" + }, + "conflict": { + "marc-mabe/php-enum": "<4.4" + }, + "replace": { + "symfony/polyfill-php80": "*", + "symfony/polyfill-php81": "*", + "symfony/polyfill-php82": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ergebnis/composer-normalize": "^2.29", + "ext-xml": "*", + "fidry/makefile": "^1.0.1", + "mikey179/vfsstream": "^1.6.11", + "phpspec/prophecy": "^1.18", + "phpspec/prophecy-phpunit": "^2.1.0", + "phpunit/phpunit": "^10.5.2", + "symfony/yaml": "^6.4.0 || ^7.0.0" + }, + "suggest": { + "ext-openssl": "To accelerate private key generation." + }, + "bin": [ + "bin/box" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "4.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "KevinGH\\Box\\": "src" + }, + "exclude-from-classmap": [ + "/Test/", + "vendor/humbug/php-scoper/vendor-hotfix" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kevin Herrera", + "email": "kevin@herrera.io", + "homepage": "http://kevin.herrera.io" + }, + { + "name": "Théo Fidry", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Fast, zero config application bundler with PHARs.", + "keywords": [ + "phar" + ], + "support": { + "issues": "https://github.com/box-project/box/issues", + "source": "https://github.com/box-project/box/tree/4.6.7" + }, + "time": "2025-09-06T15:32:16+00:00" + }, + { + "name": "humbug/php-scoper", + "version": "0.18.17", + "source": { + "type": "git", + "url": "https://github.com/humbug/php-scoper.git", + "reference": "0a2556c7c23776a61cf22689e2f24298ba00e33a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/humbug/php-scoper/zipball/0a2556c7c23776a61cf22689e2f24298ba00e33a", + "reference": "0a2556c7c23776a61cf22689e2f24298ba00e33a", + "shasum": "" + }, + "require": { + "fidry/console": "^0.6.10", + "fidry/filesystem": "^1.1", + "jetbrains/phpstorm-stubs": "^2024.1", + "nikic/php-parser": "^5.0", + "php": "^8.2", + "symfony/console": "^6.4 || ^7.0", + "symfony/filesystem": "^6.4 || ^7.0", + "symfony/finder": "^6.4 || ^7.0", + "symfony/var-dumper": "^7.1", + "thecodingmachine/safe": "^3.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.1", + "ergebnis/composer-normalize": "^2.28", + "fidry/makefile": "^1.0", + "humbug/box": "^4.6.2", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^10.0 || ^11.0", + "symfony/yaml": "^6.4 || ^7.0" + }, + "bin": [ + "bin/php-scoper" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Humbug\\PhpScoper\\": "src/" + }, + "classmap": [ + "vendor-hotfix/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Théo Fidry", + "email": "theo.fidry@gmail.com" + }, + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com" + } + ], + "description": "Prefixes all PHP namespaces in a file or directory.", + "support": { + "issues": "https://github.com/humbug/php-scoper/issues", + "source": "https://github.com/humbug/php-scoper/tree/0.18.17" + }, + "time": "2025-02-19T22:50:39+00:00" + }, + { + "name": "jetbrains/phpstorm-stubs", + "version": "v2024.3", + "source": { + "type": "git", + "url": "https://github.com/JetBrains/phpstorm-stubs.git", + "reference": "0e82bdfe850c71857ee4ee3501ed82a9fc5d043c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/0e82bdfe850c71857ee4ee3501ed82a9fc5d043c", + "reference": "0e82bdfe850c71857ee4ee3501ed82a9fc5d043c", + "shasum": "" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "v3.64.0", + "nikic/php-parser": "v5.3.1", + "phpdocumentor/reflection-docblock": "5.6.0", + "phpunit/phpunit": "11.4.3" + }, + "type": "library", + "autoload": { + "files": [ + "PhpStormStubsMap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "PHP runtime & extensions header files for PhpStorm", + "homepage": "https://www.jetbrains.com/phpstorm", + "keywords": [ + "autocomplete", + "code", + "inference", + "inspection", + "jetbrains", + "phpstorm", + "stubs", + "type" + ], + "support": { + "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2024.3" + }, + "time": "2024-12-14T08:03:12+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "6.5.2", + "source": { + "type": "git", + "url": "https://github.com/jsonrainbow/json-schema.git", + "reference": "ac0d369c09653cf7af561f6d91a705bc617a87b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/ac0d369c09653cf7af561f6d91a705bc617a87b8", + "reference": "ac0d369c09653cf7af561f6d91a705bc617a87b8", + "shasum": "" + }, + "require": { + "ext-json": "*", + "marc-mabe/php-enum": "^4.0", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "3.3.0", + "json-schema/json-schema-test-suite": "^23.2", + "marc-mabe/php-enum-phpstan": "^2.0", + "phpspec/prophecy": "^1.19", + "phpstan/phpstan": "^1.12", + "phpunit/phpunit": "^8.5" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/jsonrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/jsonrainbow/json-schema/issues", + "source": "https://github.com/jsonrainbow/json-schema/tree/6.5.2" + }, + "time": "2025-09-09T09:42:27+00:00" + }, + { + "name": "kelunik/certificate", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/kelunik/certificate.git", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "php": ">=7.0" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^6 | 7 | ^8 | ^9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Kelunik\\Certificate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Access certificate details and transform between different formats.", + "keywords": [ + "DER", + "certificate", + "certificates", + "openssl", + "pem", + "x509" + ], + "support": { + "issues": "https://github.com/kelunik/certificate/issues", + "source": "https://github.com/kelunik/certificate/tree/v1.1.3" + }, + "time": "2023-02-03T21:26:53+00:00" + }, + { + "name": "league/uri", + "version": "7.5.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" + }, + { + "name": "marc-mabe/php-enum", + "version": "v4.7.2", + "source": { + "type": "git", + "url": "https://github.com/marc-mabe/php-enum.git", + "reference": "bb426fcdd65c60fb3638ef741e8782508fda7eef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/marc-mabe/php-enum/zipball/bb426fcdd65c60fb3638ef741e8782508fda7eef", + "reference": "bb426fcdd65c60fb3638ef741e8782508fda7eef", + "shasum": "" + }, + "require": { + "ext-reflection": "*", + "php": "^7.1 | ^8.0" + }, + "require-dev": { + "phpbench/phpbench": "^0.16.10 || ^1.0.4", + "phpstan/phpstan": "^1.3.1", + "phpunit/phpunit": "^7.5.20 | ^8.5.22 | ^9.5.11", + "vimeo/psalm": "^4.17.0 | ^5.26.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.2-dev", + "dev-master": "4.7-dev" + } + }, + "autoload": { + "psr-4": { + "MabeEnum\\": "src/" + }, + "classmap": [ + "stubs/Stringable.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Marc Bennewitz", + "email": "dev@mabe.berlin", + "homepage": "https://mabe.berlin/", + "role": "Lead" + } + ], + "description": "Simple and fast implementation of enumerations with native PHP", + "homepage": "https://github.com/marc-mabe/php-enum", + "keywords": [ + "enum", + "enum-map", + "enum-set", + "enumeration", + "enumerator", + "enummap", + "enumset", + "map", + "set", + "type", + "type-hint", + "typehint" + ], + "support": { + "issues": "https://github.com/marc-mabe/php-enum/issues", + "source": "https://github.com/marc-mabe/php-enum/tree/v4.7.2" + }, + "time": "2025-09-14T11:18:39+00:00" + }, + { + "name": "nikic/iter", + "version": "v2.4.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/iter.git", + "reference": "3f031ae08d82c4394410e76b88b441331a6fa15f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/iter/zipball/3f031ae08d82c4394410e76b88b441331a6fa15f", + "reference": "3f031ae08d82c4394410e76b88b441331a6fa15f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.18 || ^5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/iter.func.php", + "src/iter.php", + "src/iter.rewindable.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Iteration primitives using generators", + "keywords": [ + "functional", + "generator", + "iterator" + ], + "support": { + "issues": "https://github.com/nikic/iter/issues", + "source": "https://github.com/nikic/iter/tree/v2.4.1" + }, + "time": "2024-03-19T20:45:05+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.6.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1" + }, + "time": "2025-08-13T20:13:15+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.6.3", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94f8051919d1b0369a6bcc7931d679a511c03fe9", + "reference": "94f8051919d1b0369a6bcc7931d679a511c03fe9", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.3" + }, + "time": "2025-08-01T19:43:32+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.3 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.18|^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" + }, + "time": "2024-11-09T15:12:26+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/1e0cd5370df5dd2e556a36b9c62f62e555870495", + "reference": "1e0cd5370df5dd2e556a36b9c62f62e555870495", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^5.3.0", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpstan/phpstan-strict-rules": "^2.0", + "phpunit/phpunit": "^9.6", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/2.3.0" + }, + "time": "2025-08-30T15:50:23+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "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/2.0.2" + }, + "time": "2021-11-05T16:47:00+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": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "revolt/event-loop", + "version": "v1.0.7", + "source": { + "type": "git", + "url": "https://github.com/revoltphp/event-loop.git", + "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/09bf1bf7f7f574453efe43044b06fafe12216eb3", + "reference": "09bf1bf7f7f574453efe43044b06fafe12216eb3", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.15" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Revolt\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "Rock-solid event loop for concurrent PHP applications.", + "keywords": [ + "async", + "asynchronous", + "concurrency", + "event", + "event-loop", + "non-blocking", + "scheduler" + ], + "support": { + "issues": "https://github.com/revoltphp/event-loop/issues", + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.7" + }, + "time": "2025-01-25T19:27:39+00:00" + }, + { + "name": "sebastian/diff", + "version": "7.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:55:46+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2024-07-11T14:55:45+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" + }, + "time": "2022-08-31T10:31:18+00:00" + }, + { + "name": "symfony/console", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-25T06:35:40+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.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-25T14:21:43+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.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-25T14:21:43+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "reference": "edcbb768a186b5c3f25d0643159a787d3e63b7fd", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-07T08:17:47+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.3.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/2a6614966ba1074fa93dae0bc804227422df4dfe", + "reference": "2a6614966ba1074fa93dae0bc804227422df4dfe", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.3.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "reference": "5f3b930437ae03ae5dff61269024d8ea1b3774aa", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } + }, + "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 for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-17T14:58:18+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "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 for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T09:58:17+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "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 for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "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 for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191", + "reference": "d8ced4d875142b6a7426000426b8abc631d6b191", + "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\\Php84\\": "" + }, + "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.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-24T13:30:11+00:00" + }, + { + "name": "symfony/process", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "32241012d521e2e8a9d713adb0812bb773b907f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1", + "reference": "32241012d521e2e8a9d713adb0812bb773b907f1", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-18T09:42:54+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.6.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": "2025-04-25T09:37:31+00:00" + }, + { + "name": "symfony/string", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1", + "symfony/error-handler": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-25T06:35:40+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/uid": "^6.4|^7.0", + "twig/twig": "^3.12" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-13T11:49:31+00:00" + }, + { + "name": "thecodingmachine/safe", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/safe.git", + "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/2cdd579eeaa2e78e51c7509b50cc9fb89a956236", + "reference": "2cdd579eeaa2e78e51c7509b50cc9fb89a956236", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpstan/phpstan": "^2", + "phpunit/phpunit": "^10", + "squizlabs/php_codesniffer": "^3.2" + }, + "type": "library", + "autoload": { + "files": [ + "lib/special_cases.php", + "generated/apache.php", + "generated/apcu.php", + "generated/array.php", + "generated/bzip2.php", + "generated/calendar.php", + "generated/classobj.php", + "generated/com.php", + "generated/cubrid.php", + "generated/curl.php", + "generated/datetime.php", + "generated/dir.php", + "generated/eio.php", + "generated/errorfunc.php", + "generated/exec.php", + "generated/fileinfo.php", + "generated/filesystem.php", + "generated/filter.php", + "generated/fpm.php", + "generated/ftp.php", + "generated/funchand.php", + "generated/gettext.php", + "generated/gmp.php", + "generated/gnupg.php", + "generated/hash.php", + "generated/ibase.php", + "generated/ibmDb2.php", + "generated/iconv.php", + "generated/image.php", + "generated/imap.php", + "generated/info.php", + "generated/inotify.php", + "generated/json.php", + "generated/ldap.php", + "generated/libxml.php", + "generated/lzf.php", + "generated/mailparse.php", + "generated/mbstring.php", + "generated/misc.php", + "generated/mysql.php", + "generated/mysqli.php", + "generated/network.php", + "generated/oci8.php", + "generated/opcache.php", + "generated/openssl.php", + "generated/outcontrol.php", + "generated/pcntl.php", + "generated/pcre.php", + "generated/pgsql.php", + "generated/posix.php", + "generated/ps.php", + "generated/pspell.php", + "generated/readline.php", + "generated/rnp.php", + "generated/rpminfo.php", + "generated/rrd.php", + "generated/sem.php", + "generated/session.php", + "generated/shmop.php", + "generated/sockets.php", + "generated/sodium.php", + "generated/solr.php", + "generated/spl.php", + "generated/sqlsrv.php", + "generated/ssdeep.php", + "generated/ssh2.php", + "generated/stream.php", + "generated/strings.php", + "generated/swoole.php", + "generated/uodbc.php", + "generated/uopz.php", + "generated/url.php", + "generated/var.php", + "generated/xdiff.php", + "generated/xml.php", + "generated/xmlrpc.php", + "generated/yaml.php", + "generated/yaz.php", + "generated/zip.php", + "generated/zlib.php" + ], + "classmap": [ + "lib/DateTime.php", + "lib/DateTimeImmutable.php", + "lib/Exceptions/", + "generated/Exceptions/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHP core functions that throw exceptions instead of returning FALSE on error", + "support": { + "issues": "https://github.com/thecodingmachine/safe/issues", + "source": "https://github.com/thecodingmachine/safe/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://github.com/OskarStark", + "type": "github" + }, + { + "url": "https://github.com/shish", + "type": "github" + }, + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2025-05-14T06:15:44+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7.4 || ^8.0" + }, + "platform-dev": {}, + "plugin-api-version": "2.6.0" +} diff --git a/phar-source/download-phpstan b/phar-source/download-phpstan new file mode 100755 index 0000000..027f354 --- /dev/null +++ b/phar-source/download-phpstan @@ -0,0 +1,82 @@ +#!/usr/bin/env php +open($tempPath); + $phpstanDirPath = null; + foreach ($zip->contents() as $file) { + if (!$file->getIsdir()) { + continue; + } + + $phpstanDirPath = $file->getPath(); + break; + } + + if ($phpstanDirPath === null) { + echo "Could not find phpstan path in the zip\n"; + @unlink($tempPath); + exit(1); + } + + $zip = new Zip(); + $zip->open($tempPath); + $zip->extract($root); + + $resCopy = copy($root . '/' . $phpstanDirPath . '/phpstan.phar', $root . '/phpstan-downloaded.phar'); + if ($resCopy === false) { + echo "Could not find copy phpstan.phar\n"; + @unlink($tempPath); + exit(1); + } +}; + +if (!file_exists($phpstanPharPath)) { + $downloadPhpstan(); +} + +Phar::loadPhar($phpstanPharPath, 'phpstan.phar'); +require 'phar://' . $phpstanPharPath . '/bin/phpstan'; diff --git a/phpstan b/phpstan new file mode 100755 index 0000000..e40e6ce --- /dev/null +++ b/phpstan @@ -0,0 +1,8 @@ +#!/usr/bin/env php +AV@wkCADAE3ULTF`1FB%t9`Uh~3P*AB;jg!5KrrPFCwn(MTU?W}rrGZViP zaZcEAGaL~we(ZE*m6*T;nh`L7Q47&D5)-B^Bt{?x2qtt-TIx4u&^=;;Pz&*WYyX^m zej>t=X}j)Kr*GYih;#N{d+oK?UTf{O*IxTqU#w3?!}VsTw;uK`y}|il>8r2#@6zG9 zKYaA)!XNO1JtA8=*kHV^Z$aX!cXrX{AA@y8gJ`A6}fc&coI_*8VU4L^aRPwZHe@{T);LR~fY}?qJk$r^V|3 z@UN-r{QTel>0iDv)n|5n82VjS{;xIW{QUC2{qz6DRL<)9ZV!!iyJ7HcI2?8QJsIZz zdrP&>&wu%=-jxCHw=$6L7yxYfpZ-o&5{0INTpFTHj%qN-C1_AvWnD#`LpFjM5_dhd$=J%L@e%BGE|C9en0paKW^pErZ z>S91ne3`dzdkP3YC(ZxwKQKTrjg6F;GI&mxw)(^2WH1hc7`6UGO)Y-@t$+Q0{mOuD zECPD>AO>@yVe<1I{hhz~`vzwIMlg3e-Eg~{NC9#rImH-&Qfb-8@;;5SRlVCit|MUM-3 z>aDMP@_git`@pg7Pr75T1w}MmS_)g|eSqkpvige34}h6zAn!eR{oUr#{_g%aZ@usP zlN@v_CQdsXc6w*ts6QE^Lt5xSTK0SLBlH8W-}ZveXdHVfkQI)351l&QKG<^_M%(%? zfdXJ*JZU&kN{IpC?L)vrR9<_XaW3$>Y?9s6h6b^_KtDT!Zs>jUZ1k}$Hz#B7D)cU( z1ljKvlmo>woANLF9khAwkMpyj$7yRin4+?#Z4ZMw84-IQ3=pT3pMF6dO$tE6pAC{JWsSthc%t}oAW3B-5dBORY%Rh7m0Qe4YEQZfyI+RyJL46~@L&Ff?ktbPi$RKjd?*c~)be05J_<)96gz}pQHN}8Pzxwo z^h}j347d7|ZlF-}FGJ5Xm5H4q_NyLX4>+Z#kh&LMdB5unu)+blD7*HgKL~p(7CU*a znc{iJ@Jnyf?VvnqY;-pBj0E%ODZ$v~PZuovY^jl*!Pe5A`9V&3EKez^%7CzJ)F$Z!~y@_5q zQ&i1MaF5J$=S6DnTHdlv&1Nnk4v{ewlBRAiq8F68H%$X79ujz;pI%@QjB85YX z0cD{_kGMGIw^ZF#uIS^ggXB`*rJZR~h)VZ_t_+!`9TYH%%t8-c9e7X8k|*$**B+M# zTzRWr(Nckn;&}I9|8)1c_mx*I)CvW18D+Zk`yBQMmTadZNG`?ZM%=46E4ddZCx`3B zd=Zrk-Y!Jkum|0K91btTp|?F8_QfBI>*3k>LbUsdxpQM00MVYETr_V_-RcY2f0t$Hw!pa;Fl;A}`Ehm~PlP_jEM zm%P1`WAC!#dk>5<@*jOmf{~v62s%o!(Hz&m^Rnyc5>d2KZ?B=J;j&>&9j^t1XbDd+E>HQ zI9xeCdA@yggo%PCz+dL=PhJQGFlWG6SR^ScJ9Pz$8k_O?5Ox|xz|jPf>>{*_gcaQ) zIC`qhZzyQpL8r!5K$SZT#}k+nhWMM>WfTr~d!2EkS*(QB(63fXfx`%J$1@VFGy!9)#$o<7q{k6#%^41kc1@Mm6x>^uiww z{p*z_KB2%HcFxYn-b(ACx8LcGyv-nl4d3gndjD>J7<9a6{j;-<-|Isf;6+DP=N^p8 z^KckqQi4G-ZGu&=Jq$yxFItckXW^)-@hHltu!0be6QzFt0q=ndg115+G=0 z*#{V_&@8R)Bp?pvb+>cT(Jc_PP-3(MLlrY^Rq$Me2^n=~x4X}`pL-8BkMaA#s`uUQ$%}(mCmu>1ZSJ3Z?;Y%ToBQ8;zunz`zUpoN+2PUl z@v(Psw6y#3aBp`T&vy5>_Fg^5(${;2diw__-rnxZ-4g&kIq=w^2DQ75dOP0B?W3(1 zfV}x^cW?LP`_-kL-IIO7+&MV%Hoe2mqm$jOS9_aB-r=jG!-L~(H2)l6vAEtjLMz)Z zxA#x-Xcf=A?QikJJBCksk4-IYz5@0~#LwG0IQ;%-_nQ|d-iw1h$hl+h*)}lSe73i( znnI_x_BMB4u6oZmUv7Rw?2fzxKsj1sF@>G?-HUBLVtbqTZ|el=josKf*grYK&sFsD z=)_k2ZufY5)!RJUJtjeRjt*X~E|Hw50q6jNdi&c73P~*lvLk{bB-kr-+Th|n-`?B< zEDXIEk4EgfZe8~sl6PD#) zT;h0N{XXB+(&s7WQ;=^;QI_7(OKq$Px(;)54XbA&n3nElksnr}UUr}!IAOF4l%S*& z^ccu`gYFSEtpgDgMoNiKrPU8Y_HBJ>$vXXQr{5T@0J*yUrS#u%)_a``D0ND-5k%nO z@zGjgRX!>*6^&QjlP?}kE;#tn6fxxAvU;SA+&6~Ow$V3EThua9P4P6Hp<6I%1Ue)V z1)yiUFiJGC_QVf@mE7_5MZ4d-R&DiwISdo6ZSuKwQJC^nT62+%*GH}BFRI@jLVI2H zhwr!|jA0AAymLtdh682HD42b5N~}E@hN@So?m{SrJ--Rw9Kj0!=Q-peVQG1$))_0| zSzde}hufI^*uHt^pM|4`saD{-do_alQbeIFd&a{_XmQ@CjmJF`N>O5wA}gD;V?jHw-xE#R0jmJ{ZZHgc-b$((#-%svqmy(yiMJ1a%!jLl z7AG7=8xgS>GBE5dqC}HuL<}+4uRR(wa9GA@=Dq4+BV;(j zR)Mn(h8Eb!Q?SZ8NU`HLJ3#TU4~IpogRXtmmM2d~il6Dy5s70e+)V0t5J4ds**J)< zuCBO9S!;LB^8Ml2I(F6g|Fwcp@1~_IEWN&@y6^OA>4TWI5G3ByOL*xpzx$(!_G9o!W{MD8gPG^qu!1WUX{ge|X1`CM_&3!0YhU zC`#mZycIoN!!gA6!<_f{iGA1azj+4wuZZeXmm$IlYhaS&;-7UzzhOOn|{ z4oTv|yb*NaXFUBP>n1mg)Rp7|BRmEtKFnU}0A_X_tU>(+WP9)e|I3^aU;f zH3Z>kMa|F%b@7G3eLaR3QuRVjb2Z&!o*81LF=;_3pJFNuPq`a#s_37Sk5gH^LMW(T zmwtDGW;0<&l+k^5T2LVGgCtZ8DYEE(#?UrGS)o0BnB0Mx$zvFo9c|nY_8cUVg6po( zxB)#9s8r^mB7NF)f$ITSO(aVmOBI%H$FY-)Sb z8m&*R-UQ7Hf1pv+AKp{VFtn6rVvp61#aRefRG?40-A zc}N0~)yyOOwyPYFE!m+3xDGoiqK3f*f;B&NyJlZhpnp(p05#pa$KHxC>O=h?VgS({ z8f=m?`OY+ue8+BU4ogT9YmI3Rwzw!tsed*8+3%DNOM*?6btV9TW=;aW_!Km=QNf}) z<4^S|^(u*`G7U_9HTuzbI9e3Dr(A+#mtT$g>%!ZpoQxa1>)49X{ZoaM&VQ}yzJ0B$ zzD*ecH>o5|b9QL6Z#vHA%`A?&VT;12(^zL3+uQ_pY+#&0$>f`x08B{g7<>}sCNR>R zl)*(VveL?p<#ojsJTZA~9Z0t+vMtb0liKSR&Z_pQBDNKK`q=n<^CqY046lOH1UHiD z6>$%_#7IE7WtlE}izDyNZV$F|C)gaG$>x;ZVbrZ#Bo@#CV%q6xeNTD-9${k-xFpo7 z8v9@jSh8cL$6kwsSrWmSBne?}y*$$dfmBsGP!Ul#XFl}YOM*?6b*2`pX37G-m;!H} z2$)edJ@cio^l2`dwtzx-nldn}o#|>|*3kO0IX-1vmtjW3B?kh)j>30inj{EH%s6Si zFAxP_^q8r;<`v&&*%i^w{L~4w@?aCr;@+C9diB1DQh%cCYu)MggI^j^O7P1 zF6#V)1e(eW<^b?7Cb%8fqah;{aim$PBo!?p<(vYN8VJ^sp^hp=LrFT(m`u_JgLSCQ zJ;yp#Vx2p#h(HLgvAkE?9Pkj@uE*zOtbbXkeYy@#LA4x9+BnqDoN?&rrmP%N;>N$n ze!8xdRDaUb_f{1*VuWTdv=lwR#AqW5r$yb!XxKj29(S;$;@U_}FVpS~v@a{E1r_&Z z+zx3V7S>JGpIEyJ52O0B7TjNGL6e+6*+QJ_m1(P^OzwAv}_V8z$L z6Qm!fV5gFM%H%si+!TVZdax6wMgh<}B@Q?hVm4)+Bddw!_%@SfUCY4>$h=pv{i>A& z;3RKq@f2^JM2tUChDTZiZ9&B%mJ5aDERLMMT;Cn=%;aMz50$wkvV0vlE zg|n_x2tZotSJ}Hb@UXv%6Cl}RP0GxUPwS>0>~=db+DeW~jEz}5xSC6hEnxub$O9D+ z3v|xFeuOW8cJPKeHkeqUB$Q$sxSdm!P_kArjq&crHUp=SZmy#m(rk-&S%ga30`*1!HZ{t99_jn(Chb4o4F9L#DvF z0)&AwWR)>N5`+{?;Sc4nR*@LX(U$BK!rX*6HtoLdiUTl78O;Szix_%ye&|%663FrG zX*7PBnzIn2J`t0CfZ+mn9 zq4%}tVBAiMA4dEbR6r1Gi{Bn_V;nP$1I|g5emt6x!)GVp^$ZCXX2+Yd(8M;8+5?U;jZQl}qp0SY0B0hnu&M4INvaKvT1+{IE6lOAKB=p%%Jsvk>$e^i_ zoPlmwAsA0{X)M-|T{VAh@fA5a=ng7NIsJ7R*vbd}p1oG@(`>y1oYmOS`)0#Y8JB*= z6DkpvsVZ>JzSF}=T1`1i_}Jq3218{lY7Di05qT+NEXaVwVkF>f3Kh5e2I0yfaQnVCf|vCl>Jz*9u2R znDR~Jb#|1KlrwUA?TH!Q?+{n9ZHz@d`zv6d{bx7cahj8Dj^2*pVDBRB}u&l@L8+6gC#_q5$9seivTj7mnRQdEgXa3khJ5dWuKB zU<)gq=&o*4f=(kNYB!4gO2>DqU_~9?X%+__R_;ehJ1V8>braKUm}w-?{%1#Jk_Tm6 z6hqq$;zSXwxNHH_wu*5VPSEe-0mrsSvuEQnU?=q^_=i65N>cXXe9l=1A()3yL-aUO zL5_!G9GaFsU}|I63}?S~k8m98;OKi~Si{+~O?-XGP6dj@1g!FK z#J07hdRp2qRXkPS%IZaj!2-Tld6biwZ zBCN$@f*^rzch$q0r)3S)nZc~Zzh&j9BYFl?9H$4};&`$srAh`BqHP@oDoq1c=AZ2D zY{NtGIBQHWBnJ1yxJDho@_;EQ6u9`maFgkL3`$d~Axa@9*%`1el$22}Fm{xp!>r7$ zSVld`OMvl2H!?@Ug`=m2RL@45r6UdI)=fW+KZ$-ha^FrA@RK?#1dMgC9DpZDWJ(z# zO{2{mdSuKmQYkTrnbew2p;`SaBn5#WDE6M(B9BiWM;N4#0LAS7jd85;L5#%`UEyZe zR8Hk=!=x2PjRE1{g2P2VO|5OKVy>S~5nT}{W$vtz2XMM>t=oBL{G~VQP+V|MYn%fs za?|jt!+lfagW27iA|R7Yspf6Gk}#%vA+7>)b=CwX1{fW9Hb7?)oqFueW@c6;_9Q}r zpr_3P(`SC(#+)dm*wJl)->1(Hw`4R|WmWZD)9HQu!Gu z5NNN<5XRnXaz~UD5XyGt*9>AjwkJa$Jwi^M0C^7O45*>D_Piw4u^L~6fP+aic2tBSx=6+xN|l8AhVTV`hJA_u`+$l)SnvAF;cU5C+k zGu28zoF>@^Ipxg+#;MZce9&ZxC>N)-PI;LHII5B)w#oClKm+OArXSa28qNYpI9X6X zu5|~%BF#=uhx?IeOb2)qw05xmVE)zx8#mP!X~ITSe`H&>{!JQ1F5U&3(b;=*b0*2} zkmpd0L%U5eM;e*j!T=nTE$O7$)8#Fe!#LH6^?=$`0UVY6O)_^mnbMv-_UeTSQl%OF zxvXlwmfY@0c{;QyP2el!=A-0M7{LHkY21;%1o_CAhk^Ut4+t+`$rq4m43%RZNoIdz z-Z0%diNM5{upz{@QSBNu_~?tYFCnb{-}96muRCX7M885ur2!CKDH%ckiyrM0T2Hi)8*XV8)bC7aqOBMDOmwkJbY z!GxlJ9ip5~x!2Ce=j@=t%l+(#UBo|o==A_E{p%$f%BhbhK zZzUqiNCcDpEwaLSPtKTaXO&7y__3t6p`_CD8vveeYn2Kqs1#s?oY_n3Ceq^0>B4OE zXZ9TH^(Q995rx${^7P8*bkjzw0wNlthEA@Vwkj7zAi@E*=S_(ujD?NAEDo4wE++C6 zOaE_VGm-{ViSOEtSuISbaE9@Cla|tkpD^ghwVej$*cUg!#xVpx0SyPrqU}$&06ztv z=}>QqpD_|Y1`AVn(YCCS_$iHAAUAE@SepxSVBF-K$!o^!T(AXHbNY}ic8xoMdw|qX zDp|^KWsAX>43NQgD%?%{OzxOzr-n&jrQH-3pv_pWYbQJv8tB@SEbV4Q+08X4g1J(F zA{&F$O*H5znonrWK$+5%Bd$NH5mVpULj1|Na-0!*^hgS7YjKKW$E3ZTYSIV{YqTKv zLvByHSt?v(xWqk!n&g@K-tr0A!|96&QWACg!75c+`_}NYrk0x=5p$l=hKdpiW-}`s zcLF(W$}EY7P}!o>9ip?7G%A!$dbFtnpeS@s@t%1G#lX?lR(d={>mF{ zuFyEQ`IBA1Zog8|inrM_BW&57Ec)9(+i0obY=*}(KCNW+Sf@;1L_j7ayr$|y7gZ}G zryfX143({5Vp>*o0n1C8O?5%Vpss|1NB(ot+4O1>vk`kkRvKqYyx+u&9ETV1-Msl$ z`EL&WA$-9ABU>bz#7e{?U{VrT%P9_Qfgq!)(M~Fu9o8Q%Zy5F^6E#!s`jH*&dhm?#F^L;@7vUwV6m3wOi7)IWZ&zB`Wgb+n72KD5&TMm2K zCkpeULYX7Ge+vQTaH-&o29N3}FV&x$77W-m+*;=S`=xy0&o!v0i2gzD@F@Le${`*l z;ndPvr4Us6H!4IIf*6y)TR}_~j<8ipBDv595C&PSgad zlHN3@7^&I}xkIGMKknP+CFEGJrpPebBcVtS(F5K8E*)V5n-*oR{N&I=@?3|_yL zURdx0q*lFHv*|rQFcZWhd}6Lx%ksz)b!o_YYPAPyHpWXed3APO$x zGLPUBQacy2Zy7yBt__?t9+?NP-y-dLc=^cV(FhnghBY*XHlR(M8Xw{qerA0f=cZ^H4na2?|+i7Akzcdy@0W4**+ zerCi$XxZbQ88MN_avJYEyH*2kd`?Wuos>LBI?&ZemUfjK7g_>RP?B$}=qH9D;wmEs zHY?#iHW`g5Rh3+{{2EOtm5@%&Bh6EmwTuZY+wLir({J6pL%OD(ZBuRYU9;VKsI!Ns z%ydKIrj1OcQ^W=%KGRlt zoipMw=bkTef;+f|D9UQ+O$)~wk$B8tYqy3>dzwbJKrABF0jbM52&u2_F0QtE6Sr5h zGnCpUkhs`bfgi<1%y6%->uVz?Hr0(6=Fi~O?RIdt>hRhmp0aEbkIn#*S;xM;Hzs;^ zeS&ro`GbFxz7$IxRmkNkh3KcTmF386HWHqs86bO`npu*pNtPjJVY7<4>~yKuId%t} z=rMLF@ldVErN4;?myyt`itZqjXq-sP?i}(fkF?r@1Qs~3{``P zHj+_Ay3{_XW6&@~89BcYQv-AyGc%6ft>e_$g ze1OQFS8?nz>dFLhg7DJ3p5|_+xPIxFg>!j&ge}EUn@M4PV`gJD!sOey#>pJGFzh8_ zbywYcafMrfxVm}AOH<99(VB?2rTv;mAN62h#QW<_tVP@zq*iiQD!BlZ;UnFOY0R^W z&~&)dqem9+75ad_b=SD?Ea~>>WWqwQoKxb}IW4VKK&&3c71zj$=$h3*41Ep!NS4#= zvZRdgZH%CEu!w78&A|0&!s1ud zqm)XFUO}$tvBGu%$85`T>}W+UfX2lcF<6oMz_x%g9%llvl1XEI~en1;`KAsj@815G1FD40ysrf-l7 zzLgAdiNN{8b9r*hvZ;>?X;iif4cNd>%qf?VY>}8TXT*df;Lvk%V@WR)Q(Xg@w>X%= zAp+sn^xgt$DP`AF;D8bJy{}sQ$cLj)_pfe*l2na*~k{;FQRPMDdu!lPP=j>0?4fHrnfi?ZDX68yzh#DViV~_-gLOHEgtUD z?WTP&rsL1v35&?b^umbDpS>3rk#sMVDB!r@Ps@}jj12Z3kyit+g**#7Q_BftJD7|Q z+RvC?XkGM{G(Ryzs(VR!IuDD02SuH-*| zENw}3p90@$^fM!yOkP=rkT#aE5FVf7G=wt$)D_}zpyL+uv9CQN+Oe#>PC7fHTC%9h zH=GH(st)sl{L#+^Er=KK(`tH4-~pYqNLFd>RcjiJa=afPa!9>>or~9tWwoR=^z+DQ z-G5ou>fy(sV~Oc-U;V*_a@>$rj}VQbXGD6Z)s7k#-quaGYu4~~GdkN;Enq|$VqgqX zJ$#PG{K!esH1w~cMGb>Oy}%#);$LgwvI?FDH+&lSOO)A?mMP|8OR%BKjNI6Fi7-*7nW4_9*FSIw-q#!%kf&ja{k zwohLjBSrD^?L%bYLXP6+CPal&f$L@osg|5ADz?}Pm85?Xxk>a~QqhK-OSZ6xgf^3D z0jBuR)el~7&P1L%X9T8kFu54ucNald6co|%E+T|BjN@A+nLvdR4vw}$TfxkA>!LPa zU;@bA@+xFu7{y(}X+LT50`w>gfT^*rPM5B4Y?SMYUx)+#NEe+XNXNymdTWhUB)^hO z9JwuIh>mzg)p1f)XlEy+vPnAOM%Tw^=7csAOlC?UzEI*l($mJ(N+Hkp<}Y&iI_g*} z!Xyk;bH3acNzbhc2;Ug;&X!A*!q1F1{8%^B46d49bJnc2yAR&m~k7VR6~9 z5ee0v5Uep?MA2Q>Tp<^y`EifhpPG0WlDR~Q>o`zh2_;)h#0ce%ni2?}=ARDmhI3TJ z7dH5Cjl8m4u%X=z--D^g;Tdk#qTNFAqQmhRoFZ}F+|z^YAe(~*rnA*e_b-GYuXRGe zw=EpL4_lKl!oW=^i-MMeSz`|nu{E?pqeTlsTsVuJKZX=Yi^#0c?dc|>VGKH>^sYM- zV`~2*V+~@H)EF)X@lD2sF>ND4$6<)6r~}wLIJWx=r`%`>F^Mp?8r3Vap&9L!;}zW8 zpa=wlfl6f{asn?E1w?*FRANXtNW^$JJ&v&YxYuYP{JDu@U*7ue`MSy?5sB%R*3wI54Pq3M~}XVab{f zKh-lV%BW=LfnFD>h>y?G^yikQYJl~)&D>j8f^S6_A{h*l)atMdq+DbdBuh+iYDWUE>{MCmYT>vgaE zYew2|b;fM(6s2ej!Sq~(#R94@XJNM?I!gSEFo; z@q`R=-da;x<^9dAo2^;$)l_p-Lz!lbnoeq=sC$`k@q9K9duOt5{Rd?pPUk_#=#v5c zU}rdm64qePVEQnRItnZU~zNfJ7>_r%2!v>u&FlUOQ zIUMVvowp|t6yZvmYI^- z$)hJpU76Y1)&7$?KB0{|h|DhqW)tOK!h>RlfuQNP_j?+@z0_} z%x>XXhwQFL4l08}`bk!Y9q^ylR9luh{o^~7bR$~~a+7pfiFC^NG)B6BES;J;jv) z(c45M6#?*g*4hP*GP&hUP~y}AQ4otNQVN24tyZfyilu6!RP`G{t5&U)>cK{_)Z7RP z<*?aoSIcf2atcyvn^UL`qMBD!ECLI;jFitK6X3cF%fza)q#i8?7%8Pp7JYnMGMCuo!iv%1jDNiR3Xql0*Cy z(MY&yA>r*fAFShF8JYy`1z;AlUY7I4e9;+tDH$WKl*kv7WfHV)`vt#QF8j51rS3OM z8>Nj_xdA?H`IS0&wO%YVYW_yKodomAw2k^5(d82;9Pu=PqzT--9*1jCAh;P}F+!I> z=u)!xF+xj;xrDA({aQ09)Qf)DD%IM4$uEb6LaA14v`U3mxf+&(cClHhC7Ze>Lc9IH z7lO;>$cvJ?Fo&m+st3a{kEbg&NZYX7sE0M*->7Vq%gtIb^zmP?(Q4PLl|r*#->AE} zQ-$+xiPWm+_d?{LmnpKPH<@Ci#I)Q=7E5q5N~Fsq#74alHp@Y?+HTc0n(b1%RcJM< zkQ$YCtLa1kHCv@pxm8a|s9Pd2`+YA2=3Wr8Z*&)Bct2R9XLl~NQwD`ZncZ;MzdV< z3q{bn(kwQ^V51zAs zHj>cqhR~Qil6_c0R2CyQtcf%!6O4@#=`sn0SlcK=OgBrQaI;jawV?ch8gyW>-flFC zL0GBy;YP*3D}@-Rz`bzysNZ@Qju)dgMMR1OF=|VRxzw&U!a}8lzakdd&H4t^VzXXq zRSPYwVjw}9VZGTdhN-4*iMe&x?}yCSz1HGHo@e7hQqLuFsaP*;)SLB2wOB3$(17h$ ztJ-L{tBrE2U8=$QsMiZ1b8?Q~7LnQUJ0`J>bRD#Yi)q9%IC=K6P)f`ta9+iU}M8C6>r+BqWXx(gc76a}g7Cn${)b17YG6*s`MwPLMY3LE91R`4s8$_C7kX1P*nwJQz3 z*{FuM?MYfsbp4KbI`BanP#N*^aMyms`a8pY5hFIeN%LiMvr%bnRKi9(tTpRl2;-vF z4vSbWwnI8QVA{cqZZ-TQ1AZb~=hxHyziWc`TTId!uA385j6z;WlyC_+o57{TTn4XH zH(I53H3-1lex+6}2W2=wDiGPFCKlp_b`?}_mm9ZF^Gp)lG2PppV0ew7+8(Y%T}(9= z^0j<1WfjDjTosv1@n+~Zuq?z!*r>y`RBbkzVXeLq)an?8Vr`>U4@-sWZHturdc5=Z zLTQHGjIMFYZ!!OLF>BEsqqUTnOX>iIM%W12ex=;T4puqvi`8`sHX2R8Pzd2xy(?lnB)DUm|2`ZegE96qdCxA+8xJqA*)?e{ zrYJ8-WbI0^)o8+WDPmNL8ymN;O0y_%$3*Xj{@Em4pA0(- z(Yg*UpKT#ZiMgb1z@uF)R;mF=T`89;wPFQ6s&c7WYJ}~eP%2iN0W6x7H|&#zjMMLX zqwtzKT8Dde7Zd9wWr_kZ(?v?8%OqUf*iOK9FSdBgL8FMRnhJc~*p-9{-l%L~tG(Xd zXcp>~l=QkqV!I@`W4d4X!xrMfnxWiWAND4T+2xm&e0`1}mlAWS-fUJ7E`oisTD4Ux zw43Ex8N6Mu6tN_N^SjV!2R?M`?XQ6{2yn+FhxG2W);l;qx{xrrWKhFwX(A=&lDgb3 zlo6g&Xuv>eRmvNcO0f{uYt2TZiLYh6L)=dB4wjov$M1#2v`Zx$_JV}2a%G=1mSd7c zO3Wp6yNEsB0vxX!$hp=G>g_gm##(;8Sq{U{-+)P8t|36`_9clTwA1}NCO2BbMP@il z*@H>G4tc6?16zaR_M+cgh|Nn`0V6TuONqI}F9rp8t2Tm4hz-g%VpRP`#jj)EEGSol zst>OU^k}Vg`zz3S#Q3?!0wdH!x|MeejRqNgwy`KB=8ncjrQIl0iyOs_pxDH$*g%wE zt5x497hx%G_}IB`70TEVO3u1ZR;p7+!;<4($AkS@!?EIi7c9NdNWdu1@R!FXhAJ|5 zEI@DsRfUyCwF&ba9`<@2mSrPEunGi!5N^Q4L6qC=y9?rD5humnj{v>>Hw{8??(3zb{nsmm*mNs0t_P4^Kq zR`kYj7c9u{4F5@K#ss}lVlKVml?ky}s=-H7trUZ1uu;I$sRlPB40~*6RNIZ9x=~9B zxlflov98|(opDiVZ@h*C4alGgkIbUtWxjMliMiwsnplw*OIZGg4Zm1HR93s#D73IA z%7C{JE7*Fm(rl&{YPUk}6b0^q>gVI}V6E-9VEJ4xD$vu^j4?RCBzEg+7>wIjtzht2@9&G+NdGbN&lYogWeAEGttoEi)4Eb9 z!F+7Cnj587z0ktBh5)N2f1}aBq6z`a2)!?rgFA=^9~fGjzTX3_yZy6;7@83lvn95a zNHcxH0n;wlLIiR)YUQwuu)+WyMu}J6Xjc(p(e(Wi&g)cyyOG%J^!?CwEuJcMDyg#$ zTE#>hip3qK!%oPJC=8)>?kKRNg3T6wBCX2^tk> z_Mp(X11C|U?{`k=ZXlajI4iJNkS~-o*fueN%+0fkVO5cIp#)zS>xdci+YO!%sF$&M z>mv#k4vVk_ZydH0YmAvJ-+`NG6uOu?(-NA;79Q=zoe`Mahy^0KLoa`EcJ#ed$p zT+Ci7&UH3RiTNbQt`%Z#aQFpVCY6l>LY=Tli~SYYPVG{$$cGynt=r$A9c9ztRwzH? zob%}VqTTO(TtwMr9Z^mx^_39bjJHmSorFYbH4DW;3BKm4k7LdSgtV920Skjbb%uS8)8G+Abp|3MXsY2+pb0VC7(?ar**aPlOo+xu+pQC#K^RnqDvhzYDl%8-`{fp5p0E=2Ya#Zsu!W910YQZU4A|psmJv8osUo1^&WN5M z!+jIK1Es5S?)(hIhd^)QEMx_WH7u0<5OTg6Aq1w_$uVvC|Am%kAT?#rcfD1DE8f( z*qcP|p1YqImJ;_p1lV(L6sFSuhVE^1bqw_VFlHNqKI1N10=AG)i zu?%yPa`AC$ypmRm(Ecr!#gjNUM5qe&UfGT@o3wsPDZluIxi)CVn(odrRLheKK` z@r*RRs?}lvuIwfZu5hD(12H9>{Du7FhkMd5AEVcA%fX6MMGz*f7IG^D z#dcw%fNU06YBx(hT--sSP)4|VxwUb3_Lc7ZJ(2nnyEbxR-(oREx8~0-LzV}XRs{(x zHjqQ4j`O+!qPmcruM!r^#SJ*|Y8#E(?H>*>lieY}9g`gQ>a_X+?vc6hv1x;R0K9){ zF+G~OLlBebQev(|FX1#s6|tfrA}&H?LacJhfK7OubZl+3n>fq6QLUBAx9>d7rokN( z{wi!<^ndV&<8@pMgtK)E(fk%SgNsPtf(-*K36N#0;UlCA8MoRvPhD$Z+syY{^;%)$ z4osI+|L>08FvD?Q<*&Y2Z+3d?qw}SuU#Z*Xa4{OMmC`qTir@C@rQ@Tm$GOq4m18m7 zaDt+^kr$_cd#!U`Hl=T9U3zx3xxe+|aqa?<6Igh&^qE}xiG13F{?gI*;Q`=eZwj*T z8veY^Ca!psul%{--_oxD=HwhV431jE&R~qovvBR-pmTv zczG2|&2J*&BI&X>ft8FaCp_h2=fYC48{`j$-nm2e()YF zpB!y|yLFK>3&)ab^V!-2O>dyE#phiY*H7QV0{!shDvU#MDn^pVp)!yFe(e}Uh zYWw))fwV0f-)wz)ZK1$7FHTPme!ESSv;JJd@O{`i?|TnSCAoSVob`ow9EOjwdFO#m z&CcG-4-f$Vfib@U8*UCd--JEfJm3$Pu5bgAfpT?qmDfDfAD*r2uPo-R9T@JCS^`MV z*yHEF^`2w?EWtmnm3K8Qb-F4VbJtW^xXQ^n^faV#5ApXO2G$JOzv;np))t>j`k5ZnrIR+`f z&AoAFe7ywus3#q!$yvAG#3Y2w8s>4Dzti;|sEL3(usI*rTAe&d_F#G~-bLU&IFZs1 z*cj%v7SvLygL_5g%P_pab%CCb*L~ctjhRjPFoJ+s{$QBkr>9DK%azT`A1JrDo@+z$e) zdF`2Au*Cr(X+%v6-dg)FVyJBO2iNG!`Pf@&J@iV2V%6L11<1ob^1kVx552F>@bA-B ze{|7@eHZ3~@X6BBVK}_NlzOpN+Ut&cbBxG@YSl| zxvIo8l-ETl-5T)z;L-Uiua*R8-2I4>xON*?OX4C)d`CaldC_Z#5tnP#aD^}X8hQph zeQjf(wBd*<63NZESLgkUSXoedsg3(J&?JT$m<4@U9MYoP@~fv36eZLLy9TwSRMhCv z($Wc96>ThiQ3H-kCV{GuTLwUoP@}3}jm~)!B(#~n2%K7ZiH}To&^u%?!2u-%eRjP; zAE_O932~yEd9?px+dDqkIr(n$XxrO8_70B@zTJJk{oH%7d5qr=R=w|bPhK3nI`L2f z7SYM~-ocKyx&OWQ+ui-=xCj2vZ~^@Bv3GE^wEOaKZ+9EdcK5gTUOnI4|HgZUdiw__ z-rnxZUEC4xog8>A-&2Na^k#_(nM@uZG zu=BoqvCT(pZxjD*oj{Ya8(Rna(9>HdtLWv?iLLtG?(z1jw|TUCOoHqj9lTs!A~{h5 z&;bPX_O}%jl3EC4M+8Mkuvh4`!Nq&Ny}1Wi7@qyu@a1t!1Jv91;b_Uk?1X{(?ZdM$ z8tuV8>y93IuVsd`-eMXBeO2JAuc3*SmMC#?+6T-R8Mbd=F>I=Uzuzn^;WniuTz&lv z_hn-W;j-h&fZPSnXHG>-W)VJ6w!FHOSFrxY1QR?AP-%ThU4X2C?IJ(?ncv-ts%^h- zg#)?sHGDtD<-{ZJjeWHAVdz5AAqTi|XsxKO z%}Klkn{DH5A@k)ozuP^;%j}xZ)XNfxMw7%|Lq+4xZ+1g-1(Lq%78G3OtES(27gbSK z$(N#LDWF^;cR8F&O5hNvE@>+0OP{fMiF+8OphIX+Jy|JGTy3bEe=(?T9lG;8?}YzS zV?=|*DqM%G@E=RWFHwXyuH$;~2;BI5*uNTi^T%5wt?nwegQvLEvzN?*shmEn=x#ms zHdei5LHDs~>d_;M7)KXtLuo;Hmt*mzcQD|hqDM1EF4@JcKN8X^YXDh3@hWn#a5h<~ zS0KrkWyL^n)$MZ)s1>q?pfsMkDGE2R!+t>2&3hD+01URa0|md^YxiL&P_O9=mmv*Q z_eGIuBEt4)b^9aM#(@h60U>1!f2@YWmQNlUhR}+l^HB}@4cZDqgcAf9Hh<_0O1uXc z_s@*X#pd2oNMZ>*c1er{Pw0nR+s|Od&=$V#PvpLPt&(A-nROvbV%g%_we&odI?v zE(Qi{=;JOikqO`Izw*ZZP_N@Lb|`yx29q<8>#I$3!b;;1FKChu=nJD2se5XNbhC@z z_An}tY1gno+Z{3=+s8bEUcqmVH)zA=(J;^hMJ=d)WxbiMq9D(!lIPi^RMyU?FNJ9| zJmc7qUJk+lfUuaM(n621DT|vcNQyJyq@e&NT?fDqgWACnk27!7^+)HX8>Z9GuHmj| z`@HL0aFCXu)I=%KP9v(kw>v!)dGC8LE}a#|G8U9!Di2^StLxLL36{0#XPTsOz8t=% z{Y(;R{>gjK;8=i|8(_+ktXSm$@Y#gJjHgCnuSAx2fNL&b^I}mTx<&aw@arMzY+5s| zlU$I?a9{K=Y^qoKwsQ=D>b%p8p|~amNxmbLh}A*obVp2cNf15pG=Uc!K+;j$aY!JL z5G5dDgxfKs@D9qf&wJap=jbHZSuqUwlEP!8mj4jxhB2gLGKmt7C~>1{Bn__91R*Gj zRa5}S*PV$k>AjgW6wAwCo1ioFgoQ9!>A1je@B$rzbbe|AMw-sC0)EufPYWfuRlxh0 z$7H|hk_SM|^wsms2rfgRr)fM5ms}FpI!)Jif^8!d@@VN^rF@c`W)8F1x z_aa4&!5qz?$-ANl0+x#K6pY3kt_L@4Zhjin`8Gq9Y(Wds&EfUJE2H^^G8z{{6o^By zBRDzXL>g}5 znhb}~U$%Ej-nqI{N^9*UTp_uCXJRcDicANo%x|JDb(_i)gJm+`8XCs>{o@Yai0vZ; z=+Fvs=K}py05%y>tr{|~sM+(7>m=W?p2R7jvYYf3g5%mnoWXUUp}C*V7+&KR}``>vNExO$iFaP(|5 zwp^NnBb22spM~f#E;JCB3t_nrKlLMRW|CT3=z3wh4W&#&6T>xvvDRr{TLu(AxE6U@ ztUio}6NaA|q%PDuyQzcCysQ53o#{GthH$ge|K01P%^H(s4b=$-i4p0de|aLUqm%W{=s)L5D9hG5yRc zm3*n@kX10q*hJBWDa>huzMWe=inSsZAP{!2^3qt@X~!mQy(F%BuHBt$GrQv{2j6u6 z_1sAxQF{?Lrhxrm1p|CsruJ8GUvpPh`$V6>sp~}rDI~;bk%fbv9W&hTD>;`P6njBB zP7u5RncWP>S0P3ZEz;+(!IcVI;NMU7n~_=$e=6iuVSRo5ERQVR=Q0J!4BFmM;H}S5 zbAnl>va~Ld8muYa*rY@jC!(0eQ^c?q3Q{EMx9)BG95i_BJ#8y6N^rBrs+Su!T|#l} zzOc3C4_1Ue2Ztj;Pbr&8(ddzv%NxjOdgkaTCv8mXq(|l`)Avk~VAMlmSi}^w(%=u& z{Yp_w1twKs^PwV3&^%mG%qwW zu@&t*(G{jif%&{9LPrA=w6R*lx=lF>1a%_Y^JSHJvs!~2sYAQzpOmMv+qgFt!EOG{E84(iWfMcnU zA%HCs*zZ2?3}amLRPEasrfHu$g63%(RDBn{!U|Uazs~jBcs0(wHH%%%f8f0iS}ptr zZf)-?TbeC*5XOe^uI0|Jf1M@2ZM z%foHs$9J|5X9>gm-_?PqR|MGS9i7iRIravA5g; z4Dv7+DpR$*DgZ`DEXJuau;_L|)kuZ^##>*~iIhVziAOQS>tWm!p1{q2h~OF6g!G_%;j|}F0a2&` zSXaW6v6?pUqiLF4JH_CEJj&zGV0K;50>qsSe9OMhjUa8Ag+F+Z~}S2QEDbo%Tv+bZY$ZX7U*) zdS(@3#R8|;6&Rka8U+*v#REE zKu>$iHBw2oM`zWCJ zmvtDi(_&%__@*tJCy?d?OihPQt6s5?D4rfNu_?Ga!Z{~yC5epnaNYyk#W+0jE=K0% z5fU(Qo+ODB2B&-lFGZ~U)j7dJU9sBK!6gz>9lfFamC|3~yicV;$tyn}$N=nHXv2ST!<-YxvVOe&BaZ32D^IHvbMz^L@qmd|`?w^Y2AP>fR)K(!9 z6m5E6PYtt3n@Nvi;MOT}_JauCvmey{g_VA(?F)m7lD?>xC4O1x>7<7!S-1i%tOPv_ zq}j512f?;lIXV%GdG8G2;W+6eM^HRD`PMu8+Fdgl@M+x~S2D_eLO-u!+cc*7EG@$_ zv$3DHVRI8rL+A;f;UhJV9ATtbGd`DC@J3QdAleCuUkghjfe@EQXFm|)$}+fPjwDi* zKSdf5!qe%KFcLOXxNojlVgqR&ip^0LasSSK&@-6RBRwz~6N7dHkFqif$Xa~b;ETzI z1VcO>_b07$W0Zr~F(dh<(!>cA*4KA-|LoFh15=oTF~Yxb2@7p<3XH#=yS0!HkEPY;;=*ga_-@+G5+ znTgO~LH&arBTXMcQx<^y7IB<@or+K)vzn^hxMo$HbF*MYr>Y$h0!)hdsA^=ZN2RSO zwcyx*lB2rRc@iQ^e7Yo!aBx_Kpk3bLZ~o~{h#6^PaH23Br-*Q0AeCrp`B)aENNmD% zSjus}@n@PTH>UTfL4(qB3jzBz)P%M0LM0MIc=yo8VL4~NM@B1N9kd;HbbHbYatIY#U4}akab>w0O2t1Pg$nH6nByo7WpZ3h*wxa@|NyH zLq2*}B&yEpM#dx9AM7;(V0lWHJcOu~;k7yzulgPYV zPfHKm$}$cpGQG^H1ixVK;W3Xa$`j^QS^3@G?z7YF{jCEgayWgyy|cG@fM?Aw{@LQ6l8dcSHZ=Bof3SfyB9bYT)X%7M-Y3|5%iN%P5Xm>ai_t@pML1 z71cPzDr8|GU|SZT85Ky7mE@p7$_bXMo($K{?*8ua3x~3%VSa+Gc>HhJLFNW^xW#Y_ z)5WxrT_~}wW-2d7xJXhF_zCqB`1e=6wMs^VQ~kySYN|UdcZ1IDADr&&y~^yKBTEg^ zvwN#2k|}IHg-7D!e}e%^5rw>GK$_1C6g9j5`Z4#uWK&9$HKTflG|MhLmGBu5gmn^) zCGb?d@1U4fM<%z*bp+Ok=Dp!gr-{f0kFA|8xiD-B5EcSD6Ix8{%egrd(T>DEf#*tp z3x-&LyUxS+LD*Um{KSnIL(dHYv!W*{)98d%V(F1`x)iGPc)@Cm_hEhtX z7vL7x4npL_BWct22YHl?68<&w7PTKensuN71h-Wa+C}q^B)XhdyBx+uA!>-kBOz7d8BLM+qq!>B zq1l2CkB@P7sEMFw+l^K$JmF%N08tu%&!;XGr%zvhJkLCADYZV>SwhJV!N1VbgD2|9 z;am+ltCdJVII`5WJ|qw~saNiAwE=M5CGO-!e0wrVOG70k9*y^=CYXz_4B2i7d6 zp`%oP6j=~yBrWG>boLK#9b_3erHouvwCHl@Ugho#Wi@;06RmG%Q9-k#E%I3(%5?Sq zi1eY@dytxp6;kUI35tP%X!Ie345H=~Lm*)d{3qg$`6DO=;cCZ*W#;!#g z+igOVJ-JH+Ar!DY zA+RXXj*L$_EG323Y#1Et(K~g}jS~w=`-V2%MT!tNMK@NC)M_EMm0b>*eUXQ{Pvia= zVZu?*bo?*pu*`KGM;r}@q;CLsF4X&5MIqL~w6aw+XYhz!%PaOZT^7%l@w+7ZcT?c8 za>A3!BGF{k<_TJ{gPIypHSjnMC<(!^(6c;1=_;(D#wFI)v<|zBnl~G(G`D!A6|zkB z&c?{bPfX39G3fLZ#_YBS5={}uYzF@;K~6_8eC@r!4G(ri6W=FglJPL82@*S?#-=nT z0y#RiZ;&u=)rnrm@#kRYQpIi_PT3h$r|$&1n+G7h06eSt&qJs)~$F{YyqQ8FimDhOa{V5vX(SJC!fuuFq86nt2eWAU^ zmk3u272IrAs3lQiTTKi%@-FkM`HMUQd_vm%`qxnjR}XNFi5{t_%($yFcS)VPF8{*4 z#Or|6cWv{mBWao(a$f(I)LQ>mDe?77twdF5aom-eCR`)h_XG`WFN6R@?sYB(?rml~ zvN@xzi^}PyR8!({NrH3ep1J>!1=*z4A#Ec{o06I+z(M{nF;q9~^JpMU71CMGs>z9Q z42P}~f1a+V2yR-6>Y3;18Uj(qQfkFp($CYiIJ~wM+5J{sQqR-n*-BP<^*kzX6e~@= zsS$8i=*lrOV--?X#g2h}saWSrZ*w%l-3~epo6gB7r3YAxF}WN>vwWr1i2Habbk*er z=3JYGWB`7w=-mN|dXqjSft`SV3|op-D>a8NbxgNmr|hZPI)B#*)-U;geZ86ea%zJN z*DtY4ekK#tL^N2KC(i@t`0N%KRE^N1puHG~)$m{{K(H~^0UMOHU z@l~(${)ESg?6Al@iyh6-ARP2;VU_P5K^ePhK2I)s!ymI|_&Jj0K z-fTXkL1G`G_>iaXc#u1Bh|V?wPLQcBcop7PiaR@nLNT`DH0|3u=5!|5CnAaqh~|!g zB#FTca`8e%*g{`>Mek88@YiS*RY%b!+m2TXLM|+Gx9JnIUkrH#j9X8*L=Kuoa`!Ot zKg8|C92$pZ&#Td>O-$f*eoWa3QYT$LA17I)&OtORW(8aa?sV2%wfGFugx ztu&>e%;#y%IiMVoMLJuwrHEBM!cnJk!&Pj?4}Dc+6*ZN_oTZ(dw(e0q*)BmR7?Vj! zVd5@}iRf`8hHYLlrTVNvV5FgZ=EQuCTSK-0S3LsR9MPOwj@N&+*Uo2^;CWXuz zgFhk)u~@WrioThuInG0>FH>DVh#=UKMg>n%ylS8#wX1*A>WwG!vH)*a>ptkedys*( z)q|vj{N1KPG%#(@h9jg}f zR2voEyI%i_7r;7sEF`iF=;;HouM6*M<$CpP$_uN`%f8M{#_fh{NgJ{#oC@#j1=L2o zv(EJ*(Jp%Fssek4Ei2a|`H;p!;LOB=CtE~le;NuF8#Ae-CyJ118&eQ*l&jSghp7 zh}s3s&DS9@wcc%2g_QHGA16N($t3>)i;It?@rhBJvXeH9rXm7&!dob+E| zenzBXQTleE5*=bWvLTvyQ?ZK3of4)oOj6^NqEQ5Cp)Oj$(|Q@f&F-X`*#_OIle^!8 zs8YT|wFcWdtd#3K@PZH?d-)f%=c|*QwT7Or`U4m0!q4kL+~_TG;DP&d&3mLJbSF z3w22y!0=SpB@z=z!heJ=7_fP74+lbc9agN>cd!lFC=5s2h(ZH;me+$D6tH{WK~8n# z*~UCVah1%KnUa#LO<1I(KF(5&bL77<}uaS5Om%ju3?g)|I zyzdw*Txn{YY{JM=MKOc8S(e70PL-t5L{a6Fwh0Ylv+V{yE3YeD$;rsVYx1Xm>OGb3 z49>;$l0cxG3c~6~rn(6VhSDB-w87Cz@MN(kf zQL}{M1jQTc>$~6V9~^CGvIa#0B=<5QJcQRq_K@Y5L}(#j5HDKc9k=?=k@&z~O=n)l z{k7?ZN@oHYqWMae4QiBepCWqeGdCJ$Kdy&5??-?MExLFESN7(6;duSR@4(0QV|(FHB6&hSJHqFbX3nNhD(TsYCjf^g&EM0eis=Z#9cL`*a$)Xy&zRA(s6n`5Pp^> z(wZg`LeffAM4_n>LkD7oRrgs28^P1csJ^2Rw_~RiGCgOh8K7*(QEoa`QOBP=@l4d+ zjM)>PC}#S^W{753%gRb6F3XNV>LICVA1=o9Q7nLfrqc~qT0+Oe4>Z=my~p*Or~77<0YWo($P{ybA~FaXqjfxBONdAXC#SHP7QN4 zEmc=Gn>v=8K#^!-eOSZY?YBJZ7<^bOPY|Dy(j(42+L8=~i3-Xk-w@|)#3Kghbb1S)=Jl#-I!S)Ng^M*?>v4>^qQ$`LcjMT=N)RwdHT5s9gX?h{eVJ(5HuRV)O!U*4T2O~*?*Ln!YCzk*V8k)J zYI2rU8sm2~g%9?MzlggMAZdxgyoiW8@ctcGBEaYDJtFgzYCDSb*IkTtL=CMX zhn|JxU*&WGB%ONa#~$|Zreb7Yu-my8Unb*JWZ+-d-g1h4D(9;>C8<8{R;Q=L+# zn=|e<_Sz0BWi!)aAR{y}uC*&6(0L z1c7@DPPIIxZC#IHzsAQTD~{>3BF4HF)R%0ysSrGWj9mqI{heLsRChT*x-xp0Ss82Q zaUVA_T)`7ucwa7k5#@x<1ZO-BGMk1W5{dCPYqfl*)=KNq_&A85lgf6~vO2Fe#-*GZ zn-%zv*Ba7w8Tm+l8uLNT{5!WFJ{tl*uOYCP$m#c4`*R)PYX35{e?@8k3}ZQcL_Ian zDRVw6@bI$&*SajlAk-_gkCpQL<5A$ZrhJT&UrhJ(dx#c*57)`Wpwy*noWobeqpv!I zfXhiXccndcd9lYROn^TK%9=c0=7pj(k?$yTXYF>`Zl)vWKU!L$SWA08ZI6KcZ6p1}NO z{}pVr-WhMrp@c?igAru0VEELZAQ}YMJt40scE?BFH~sUW_Z8%S=V{d0e1CZMgdM_c zX}x2_SM<&ygp}xZ;0A(5c)1I=4dzG7(1avF8l#b?$+q-Ch88*q&V!@v&F80EFJA5c z_Vjr7ciUjaBCe~d)@!mXE53ZD)?foW(PT!Vm^laNydn9<*8@7GbyJTXZ5_NkJlZ}! zKHYqEa-aq{QA2W2qsm6=ZTmd+NbMF*X+N-7;zZW z=`sc<90*MMbZg!UJi4A8m@iQToPe7)M-eoM^{^bX+wF#De%Ha`W;X`FY3I~gfi-y< zl6D)I@-rDFC9HM)YD5N!bcE*>y>w)c$Z6HeSJ)Gm(~|0^Z2Kt2r*!3CI-X^EHxYIi zwGHnP`!T{EN;hEWD8f6hcy9n&qye`Pm-ebP2>YlL(s>X<@K;REQcej&Dn+xX2xHgu zJ2|7_RGCWA{e%7OI0RKRYnrlbI=Ows@99mO1KgE}ZbQnz$4!g&Wb;U=8gAL}TqGW9 z)=qG^*`uIhvab@Xm&&1+3dET{Y8s~AbC@(CBBPuz>RvQ9J%!suU1E&*>1Z%$K5c;~ zrq+dzsN<+B7*Aox#Hho3fSyVS#-tsgM>RQrB2dBtoJGj1v-X6Ia!6Hfpega{z}v>y z%}T$;UTOZwVvui;k7o+HZSI~vH8;*hsKNdj#x4m^yNKD;$!hc2yf&Nqmb-YHv1ynU zv1rIAc()Zp#6iT-j{K3t-3IxkEDfI@MsSP`xb6AJ(C8q8PGdY={Q`y&2T8%u&&>GxyA;u6j-82aH z4YwE7Whk23(072M9H! zmBqg=y`xZgp2!eEbxJ@68ur^6%t_AC>;43;aYXzu43hzpQYAH~3D_Fh{L`=XHji23B;=O1Lq_Q=R&W|jx;&$&)*tQ`BKS)V z>6^XEYq|}#^pLNp!?7d~PiCcNw}P9z+gd1$e>6|=r&+VA3QFaC49kfY)xZR8rV6^& z_h$*}W*j(gv`rYc+nrVi%fD+g`lirR##txGMw|NQ8^Z+o1&f zisZb0)m7Ei)zwwi)m8n81^NbyGiM7YSLFM|q_bPI8j3P2xu^i97ip|$vEg4zm>%+G zmX@%1Y&JEAKVUX~7w_O|9^KtoC^X89G%4cqzGt@ATVUCeBZzdBqNEzXEyRz1hGuLU z>;7$0h_6J{@S&YKug+n6^U|PiL)acqkWgUw2AIKyuB(A?fj5QCK+H7efuFtBK9E?w zvq}_XCyMnMA=G`d(Fl^VeaF5eL3;Ox?Ss5*P*7-Nsh+B#$?HwQWPj6Z7SEgGQ0+Df zwxn!(imNXQ@Hk;k*HiUV9KOI3L?7xo-BKt+Oa;uNRwq2XrIjHd6gMX*djM;XtDrc) z@iJ2xsQjx5S9j~qDCG{hzr>6AMFbbCqMZ`J8o?Rhx+SR?*H&iH`nTP7C*SsT-#cUh z?Rj}<-Wmuz{o|HRni>s(t5v40Lwe9<(JP#o$Uj0w4_1)>&_- zCieK0m@EvTkl;uxJBPPueR zeO)R+;%F6WKvTBq=fSHu?L*rL{{gQ(+!Y5yh(a7)fo?|kd5Ij_9K&OU2JrkCl_8RY z+Xo8bGvuyF02*lz96ldrR4yXMfBZz+M2{Ug- zv`d78dXguXl7Or;qRR7WEXw1<-~zEe_yZVbynPS$1Q5du93;Em*^L2yu{t^0J~-P+ zJ4kN9;e^z8S$5V3Z{ZjgcBv|sj50t>c{>^JopG4)E&7--VF=TUZ<3&$@d3mDqk$uI zfQdYt3BoOK{eeBZL16Swc45C}y32^daZhCDa0HC@qL*N}bAlYdD@HWl0c}o4^j3p7 zf+s?E5*C0&XPPt6!r&l;g=u``Fh-Qc_Gs0jcv2$V>YkXqKrCq+&mwi*W*X!|qh+p8 z2(Dc{v_&aqp`&`}A7E@kRf9QUa{Ox9`Ql^DzE#K`%h{AxNtFWdnHp-Zf*-I$>_=Uq4OQiW$qc>5oN+V*jL#@^ z-Z4W;FxAw%^}{~7f0&w8cR;%IA|i|n^!eTT5U zIXD3&hnX@Kpv&got;5eiZ+?3D```aQDjJ=f)qc?nFtUr5Efah0CSoN!E$j;GLh#od z(=}X~U}7nAA^mCrAr)jUwx+Zx_=!yhau&0pJAaP>PZk?!8d9J=%$+(U*of|S??cd8 zfh*f{)XAae--ZxMd{U8+Owy7TKWNk8Y&ULB&dMVB1fM{oAP6Pgj#?jsoCf`XBm4jC zh@K7C+_~@%A&F$bfT@tLyee*a#rc)51{aF{v^eAyV;D;xCY#T%mQV>}n@mK<_8JR! zPSw~D$Wog>5be_GMnclg4c<^*QBs{?As(jF*D&>s}~NRA%SiJ*zOj!4DU9$T|l6@(*BaMlp2${>m$TgzYNc2noRrw!URbc2+3o=D<@mWyKvwWG`mn61jig3Wq1Loo*I!Y)e) zV%nitO=DJ6+)-hmObr7=hjIP-@qd;v`hGEyZkr=8N2(mp|H_) z8jE;#I*-drSrPLyd|vh++>UDKxjDie-={cH=C-pe(R9Gpw6?Y<=FP3(ROTtADY|%O zlk<6l*@mO(eCUF<;piNdMWU63zva2%k6RfGWO}^H8*2C}vJZ?t{Ke@X&jGMjI8f~A zG?rW*zL8Du6Jh~_E{y*0FS9i29tgk@_{9T~1lF1_iNFH6t~g*u z^KEm&OvO3+o4ktK%^IP(30O17A5_xA=X%O%+O zN@;K5!VdV!tD28OGaZN9mDWu0-Iw0?%20i}=r(RU=0+KN0r%L2x48&py343^Kk5zl zI`MZazO`8Sz^w#dl6MtZZt6d&rP6Wm)m^}5ox;2j4$A#MJ#_$f2InC!wAtRLpKWNH z@rz7i8>MaVVEULv(aiS-4;K8QBUyB)V8Dqjq;L??T%Lhi!m7DHZwDpK>rNdl)*#aj z37>HF?US`MVCWZ{pb8tC1g7E4V#PMZIOQzM$uaPv!FL-D^EpvB!h}PWhm`2-XIwXW zWN%hhj%eX9DmZ{eEvkg?P7-u*5NHg=*6ZV z>g|DCb0Xp}CesdE`Twz1i!Q<#6oOL4F`p?f_;lMU=@SLgZr#0ib@6Tu#DoT zW*$f@`ajJb8DX_DZrIXs=-i9VmyPWFQ8op8kU{Lz6ZjCexMo}l7G?73@I4W27@hyR*-{xc7#YFoJLbLNh3uF{HUT4 zIOR3lxeJ?(4|Z?ftnyteeEF*85$g-!vWK36glxu7$3;{8x=A&^X~Kl*SOxIehM%PY zioW+TOM45189;D?gEV*rjtG|LgTQ-KXM7!Q%j0B}GF+FD7ZeF7M zX0V0hET7Ht3DSVF%4n3KWRbrlgmcR__@0aR+!ZVsvTn7&+Ea zW(+F>Uu#JKdnh%Hhq>9dW6*ndkpzQ&O<6E1twLnyjO=vsMRBF(MY#mQPaB&kzf7dy z%7Kb^cGR0(10YO}-SK%cMhF;sld2D6W6|j)xuEkdDm+-8tpXBk|$P(pq5CU08@2cOK}Q z#$~C)h!phqtI3ja3x?r1A#9TeK{vZkaHaAPI{HoQGFyrj@fm#r&*KlUe!b6PpZ+Yi zakjHefx;H>qyig&w6Sk&$bT8;t@j^!?q*VjFoeG6-*%B$piO;7q9}EoDX>}+q^2#r z>}B16@FPsuY_4F|N~s9$Q-cmXDD}^3`!#Bgra0W(52RwxHOUM15o=BAnVf#fgqp&5o-OPqrWtlBsqiDM%y42%amm!`Xy0*G?ryn1+aSOPvh_r+c| z7`ys%e1b!mu*+sE6{5Fv>}>z^^!Vn+#`*dA`rgqQ&y#J;rn{%-IJ~xjoTaEYynlLl zu!+SH8OkU8e)GmUzxwX|J8xfk?e#$A*7K=MU&IBasUXW$o>%i&M;f8MGvQ0nG#SlHrRO&6b$<)yxknsy--Y3plMRCRmmxv}=*c625I4RmZu2zip@?CcY3Oum2 z_obZ>kC=+ZV_?LYv~f<=(SdByFONajktN3f^8%ePOw+`n5cAw)gyRf5L)IkR8Bj$-_;tz;KB)wV2k{59K98zNgkuZ;!(iu&(Ha#u94Pv@MaEDoL58 z?lt$Q*u}gWBURFSz&S}v**uuw=r#^;u(Up1XvC4WuJm7Qt?Tr`#umf2Zvl7VI@Izq zKj#_288~W|{=6))B+T$(+%`Arw{X6XvU%YaS-Oct6W(&cLWrYqrQjG6-5(82qIrzikP3vJQm)|X3mS<7t!BT}8hVho>5fprpHF)O{>=i;BQ z3jcR6ySUFoU)ZW*la|gzEYg(^xFN!STO;3`Vz+#Lf>cuOn-NXL`30PU{0woWATvvVfjL+8vKUqKsCg==R#>wM4iJX4|OzRQ7|X|JWFtio!%x zIRGEYG@xZ_jujBE9?9Z7n`8qs9pV|R?sb0+J$u*%h2f{J?^Tb#dJwh@)ALmS`abth zQ}Kd2Ix-eg{^=5D*yjspQ^uk`IVgwf0HOGobm0fdzz<=Kp9#aRJV>ZG^J!^&pv|IL zl2C{w5&OziP=UhiCz~qgjgY~6_!=+CvLvWNJxPi4JGR2z7ra>Esj-xk1Ru=;0KlTy zEUj*j?O&$cGv^XN2rQLfFWa!Iz+#tM9qW$=B;sqlu5Yj5s*WZW1O%R(kJnf*O!q;a zPLWD8I@tqHu}4NheU`T<%Y`+_Ab@_&u(rOjzHy6%%HBtvF%<1YM8f_H7V7V{_se7* zg5-x{g%czopSkTb=C(UW^(V}F1c|!{;>#sYQq9B800se4gxaAC0^ujGAoe#v^Cb?w z2d51N$l@rgG}$&&fl#TCPa53nT!aWWjlnK1EyrX+wAxY8`5Sh%NbUTP8 z;56I2LeUF}<=V_`>Uv1f?J|XdAKlRZu3WvX#0AL+1j|)askKUVRieVJ%%-A)1>g}u zUmsl^y{7-z$(3u@M%G7YI@WN+|5erYCSB2yZdu;p(Kk9=Z^x+|QM3*P|x@xT?P%7oB2CTc>FCxP64BqieG4 z;p*d_p4)n$K)7T@Q13%}gV`rNQcXTxY>1uh?PMC6vJtd(>xu~aK(`HqA7Q58RtvhE z%ruO1{&OutE>(zQt}5RN=6NL9cwm|SHJp)V69RU-qwudLCxea@ex(vkSOIzAC}Nkm zuGe)C=~6c9$Szn>e^O7>e8_Sw06gB z#D;619Hqn=U;nYYF+P<`Q6a+6h`M8j~(@#lx5$I}x)CPW|rMbW$}x|gm$5xO%hE)YA!7$aoH^+ zv7aw&bW~z4K3oe1=!&_IwojohT)YgGvPG$pWPf%5(LG31UzHuW6bbKQ3lEpg&J@`K zOmDaH5fkJUBs2?-6>}$%6T>fZY?=fe`B4EQy+~oPd;1_>oqVtsB@fce5HWwZ?`5^< zd>4Yb;9a%oe3#OkkS;9@Q~LF}$u7Dz5ex>btiq_NL3qP17%_7I1_omAJAYf4Lm@Go zUkUT(IN77Fel+z0*XB$9sOv4w)9$zY5#CBO5?c6O_y`eBw^GI*BcbOD9W6VUuu7iJ zzSz_*4nlG^G!e2UYd>j)nUc_Cc?8#bUbchT!LVUo1N`ok*+E?OxzyVtHN;fM8cs7H@Jk)AA8kXmJqRkzmdTMQ zJDM6qx=fd~#7fyGNUoGPq3O1WcMf<54U>i~@$to-l391mwLNoEjSY+3xWj^Iz5!fN z{pCcK*&HSWb-^N=D)CnaSq!J6;__lm{BaTXwu7kHMWwSdgXxw|Nu@}mnSG*Ur@^7x z4d_$Xh7abKV{q5KgZ_Q5wPh2(UDi$SJxxN9ymR1kBj>Xii_}JGlXea$^hz)db1U<$ z`GOpFNfEi??rZ!B+<&R9>FK_v@03kVE%!CO57nH(no#%S>(^3h`Fpt5p=wFAC6411 z>PP3eE-nM_(0z^O?;rw#N*Tewtn@TLI7J%G%?&x^?TDy_9B*ay04ma0hKvRP<3@*+ z?vHV7f@#5d9};;WtUE>M%0B!Y2a$MiT*v6#_pCFEag+@pU>Ue5`j5zq)-8AhmA-cf zo|mxn;pbHEJ!M%I$jTJ4%M{sH*N!3~qEj^OtOy1o2RQn4A>c;^j5Vttyw+MZTISOn zT83*MPEpw(VKgt$KNtmDd$t~02uPyFfg6f8&Wr_h<7~%#UjWWt#nvt-=tG)9+ZM2Q z&Uj~xEkj=Or5LiDb&;bZl?Z*pw`J~osYC9YQdMutH(YqJ$g!FTt{b4_qO2OU|D;vM zp4HoSaAmY#QVvJ9rSEdTi;}z8mmci0(44tHtyZ2&`|$`$2m6^%h68$sW4P{GX}R;V zg?x&_d*&3o{;mq^l0uGtcfya>{tkX1ttmoykMOs?J8l1giF_4q#z+zn>K)z ziC`0bD^5#y+E+j1?axmWG>-nN9d-8;;cV7(;txA}_UsS|@!QGYy^VubI!cbI!&&3=a=>i$*|O>CM{w$G+zB-_vxN2hcfcIxln9-g zj}?L14Tnj+YG}IqB3^4L6co&kXKs)(eaOEuje=V=PC;dzW@|3**iGuju6oIY=$*_? z-=g2kT)ugz(XRqHSIRwrmaF0&NZ{3WreO{KiPxUd>v;ougJgkLw9Lkx>O4}Uw1s*n_ZE%Izdzit3433?z8yuU49%b zynmzlu!yUqNm8;BY`JpvMvYQpOGV}LQ*V`_zGdR;H6jKdQKFsX(rOKRW}(k;bzp%vQ~YXV1~>3ZOfYH zaEZdL5KJ5z^QK|DbpR+Zr`yi6Q8}o_hxLtl!Iu~;gpUIe4mu_Di;Tb%)V#;VZK(PS zcOo6?=`AePU;O^);Ebxq^g>jU=5)RY9r0SB7NluRl-_7pBmf2|T8&&L+A&X{T;Qi? z6%&;?#+H0GxC--*cBqk+kkGU?upZ)z;@5T!6=v=Y6w+J!J*9zsh;WJHkN-p?n*_0_-bP zV_82H$-PD=bYx6i9fueoyBdBSjrOMH_j5`==57tfbkSrsFg zB7!TZD$x|p^}$Lb_ASOXn4SbIw3!1AeFly8te49@fPpgd>L}Q{oE?SDUR<;0#%((c zX8R;uzV;~9qQU)ZUq34j_b|OSEYazXDv`ANE^_r>P^WgQ-d)(q%#1^i_%Eh-syoEm z&q&4a^edzRI{?7(4aMgA81ixJ8_t3+-#oqeSR4M$Z2xgy7 zMh7H$=Ly`^uw=b-d+YWacv44))GAzaaEuzousBQf3xd2f>23eR+T#dy>z+_nN5@t2 zpp&i~Ugm&r{P3d(@4bDeT0)#w(y@t*x06je|Geb#LyZs!BlCXJATW=j z4;7cAiiEcTla3f9y5oj~BOHFSkxDUvn>SGbkg(U+h8HuQckbQ$sLT&{6q$x#-L|FU zE-tZ{n%igVYyzV#IAcDxhR2M>+n{=ImJVAb*$88d_YET4ioEUKv|K!IOWq=P50^;4&{RoUg zIi#LZ9C+G{_B<&vM2m{Bsn(NuO)VnArdnU-HB}skExG2+Yp5_1nf7q4Gl(Q=6hN{@ zo#7)R*`h(#EXRTpkF_ZowK6O+Cq9M*4Iy;}LyG}+iB|KzSsr4~ZDFiuWWYMsv-8oD zSzk@yo?F|Hr!PKsX=@A0%0@}v(!wEuO|P?=c0ofed;;oPo4YSs0sUh1Jbj5}-8i^B4B ze_+;#aC~Z*LK8H}m6Z4PRgkNOi^#PeE%mmCO2Oga&hL47Dmk<3zM3>*!Y@N1nk}M_ zeKFIy?$6~GPe>Vl^!B$rT~upzKTW!z?RxtuMh?vu(Z#-$(XED0tvOc>oBV)4y5{xg zn3+j1w>z7Vv_=<@=i7z_B!&^<=a6H;9>P|ROy4m-vElvFQ5nQ=u)`ZV`*s-6~tweKy&kCcT|He#@y0voY)L znk35l?Cs8I40WNli|DjYSJk%e+9}mDstNtl+xaumDl4+?uSqJ6@!rmwl(Oj}Ld|Yv z%eq@9laENHtq0sc9To5NVe&TH!F9>o5(R;0z)?XId3!9Y3$KiB_8Xm?BE>`g8V=9# zjPVD>6?C^>WP8F7$WQWZ#847)dNha89l1pn9fI=IV4)}5yWyAQ-#-{_kB4iI9`P8? z2L6dHBk|&=cmszJ4lqH6-R-cAbC%l8PsN4-I?3-$HkRS0##ZfQ=_h#S=xR|6e%1e2 zZ~0t^77vYdU17^-@hL&BcY_hCo5xe6v^o9-+5u;oz8uim44Wl~L|zuqTH!&+#o>@) zs?5{CL1W?Xw%sQ8DN%j^$5Mmo9I@Cq&%KMuv+w-k8_&X@7V<@RqhIl+S@!Ge zLFtNhzW(Z54|>Z~BqN5+`w@MdyIrADPI2*Btt&!cvX)F|fMr+;h$|?{Ncq(cHAdjAyfWwIOOKFpK6F%SrVzqA~ za#PN%prx3QY)#DKQV$SkhE^+KQgC_n8DI;Ip`Ppv?PudL3XS*#!=(z$$ZMe0dzN<9 z;YPfIeesjk1^<$Rg_9Q;Jf7mlV(DPRWp*%u3WuK7nqxdHBYAvZs*pX^jBf%*pmt?L z7_H>dW0Qc8|I-kYXEwPp>Ne5lJsAP; zvGVrafvzgVJ;=Cw1Z}s+JBYlZ#ux9W4T!~UhUs{eEju4{Oq4z{;z-j`A>g(@$Vn~(VzeK=l}kv Date: Wed, 24 Sep 2025 13:57:21 +0000 Subject: [PATCH 2/2] Add renovate.json --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +}