array ( 'pretty_version' => '1.0.0+no-version-set', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => NULL, 'name' => 'hyperf/hyperf-skeleton', ), 'versions' => array ( 'comely-io/data-types' => array ( 'pretty_version' => '1.0.34', 'version' => '1.0.34.0', 'aliases' => array ( ), 'reference' => '833ecf364a99aa5cd161e0ebd1191860921834c6', ), 'composer/pcre' => array ( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', 'aliases' => array ( ), 'reference' => '4bff79ddd77851fe3cdd11616ed3f92841ba5bd2', ), 'composer/semver' => array ( 'pretty_version' => '3.3.2', 'version' => '3.3.2.0', 'aliases' => array ( ), 'reference' => '3953f23262f2bff1919fc82183ad9acb13ff62c9', ), 'composer/xdebug-handler' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', ), 'cordoval/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'davedevelopment/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'doctrine/annotations' => array ( 'pretty_version' => '1.14.3', 'version' => '1.14.3.0', 'aliases' => array ( ), 'reference' => 'fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af', ), 'doctrine/deprecations' => array ( 'pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => '612a3ee5ab0d5dd97b7cf3874a6efe24325efac3', ), 'doctrine/inflector' => array ( 'pretty_version' => '2.0.8', 'version' => '2.0.8.0', 'aliases' => array ( ), 'reference' => 'f9301a5b2fb1216b2b08f02ba04dc45423db6bff', ), 'doctrine/instantiator' => array ( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', 'aliases' => array ( ), 'reference' => '0a0fa9780f5d4e507415a065172d26a98d02047b', ), 'doctrine/lexer' => array ( 'pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'aliases' => array ( ), 'reference' => '39ab8fcf5a51ce4b85ca97c7a7d033eb12831124', ), 'fgrosse/phpasn1' => array ( 'pretty_version' => 'v2.5.0', 'version' => '2.5.0.0', 'aliases' => array ( ), 'reference' => '42060ed45344789fb9f21f9f1864fc47b9e3507b', ), 'fig/http-message-util' => array ( 'pretty_version' => '1.1.5', 'version' => '1.1.5.0', 'aliases' => array ( ), 'reference' => '9d94dc0154230ac39e5bf89398b324a86f63f765', ), 'friendsofphp/php-cs-fixer' => array ( 'pretty_version' => 'v3.14.2', 'version' => '3.14.2.0', 'aliases' => array ( ), 'reference' => '14f0541651841b63640e7aafad041ad55dc7aa88', ), 'graham-campbell/result-type' => array ( 'pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'aliases' => array ( ), 'reference' => '672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831', ), 'guzzlehttp/guzzle' => array ( 'pretty_version' => '7.7.0', 'version' => '7.7.0.0', 'aliases' => array ( ), 'reference' => 'fb7566caccf22d74d1ab270de3551f72a58399f5', ), 'guzzlehttp/promises' => array ( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', 'aliases' => array ( ), 'reference' => '3a494dc7dc1d7d12e511890177ae2d0e6c107da6', ), 'guzzlehttp/psr7' => array ( 'pretty_version' => '2.5.0', 'version' => '2.5.0.0', 'aliases' => array ( ), 'reference' => 'b635f279edd83fc275f822a1188157ffea568ff6', ), 'hamcrest/hamcrest-php' => array ( 'pretty_version' => 'v2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => '8c3d0a3f6af734494ad8f6fbbee0ba92422859f3', ), 'hyperf/cache' => array ( 'pretty_version' => 'v2.2.40', 'version' => '2.2.40.0', 'aliases' => array ( ), 'reference' => '118ca172828d51f5eea6e3d654df6275705ddeef', ), 'hyperf/command' => array ( 'pretty_version' => 'v2.2.35', 'version' => '2.2.35.0', 'aliases' => array ( ), 'reference' => '48cd9789166ecf5f3009de45bcf128b997ec5f88', ), 'hyperf/config' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '9437f45aea36358840c907691e9b28492550e9a3', ), 'hyperf/context' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'f2e77442693a07d47f7ca97f8b2fdb8e17196a47', ), 'hyperf/contract' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '1ebf037c91d76ec05af9e5cb3335b0f5ec810e27', ), 'hyperf/crontab' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '64e1a6db961fdf46a111ec172956abb5a386511c', ), 'hyperf/database' => array ( 'pretty_version' => 'v2.2.39', 'version' => '2.2.39.0', 'aliases' => array ( ), 'reference' => '6105b9539aa4db7d615b2fef2687655a7a5df56c', ), 'hyperf/db-connection' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '05d2a1e858f01682739e066430b339a9bcdef837', ), 'hyperf/devtool' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'f447311bf7507ff2b13658250ef3bcff7a9bc881', ), 'hyperf/di' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '471c3cf9e0c02ab3aaa0c6e9884062bd541e4577', ), 'hyperf/dispatcher' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'bcffa8faa11367204c4e00e93f6425d600603e03', ), 'hyperf/engine' => array ( 'pretty_version' => 'v1.2.2', 'version' => '1.2.2.0', 'aliases' => array ( ), 'reference' => '12fdb2b4cec9ee92fc808321a7378cc6251e52cd', ), 'hyperf/event' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'cd92f5c1218c65f29b15c4d12dcf5835e0426ac8', ), 'hyperf/exception-handler' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '4ec8f6debf530b661bb2b436ef96da53ce0abbdc', ), 'hyperf/framework' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '49e98fb747214bcac79aecadda8349e70b8f2891', ), 'hyperf/guzzle' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'ef4d6b02778cf44b7f0edefd9c33a5d8d08ad48f', ), 'hyperf/http-message' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'd71d796177ec72fe30d116c57ed8bd8121a57b6e', ), 'hyperf/http-server' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '0f1f22d408de82c9f8fb3f2cf57457e319210798', ), 'hyperf/hyperf-skeleton' => array ( 'pretty_version' => '1.0.0+no-version-set', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => NULL, ), 'hyperf/ide-helper' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'e7e26af552f7cf5512c357df9604ff9aa77ed3f3', ), 'hyperf/logger' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'f19929efaeca4aba2b91e7452f4f1b3245bfac51', ), 'hyperf/macroable' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'e4e1b3ed614a5a9d4c24a48b0b3a554eb712af9f', ), 'hyperf/memory' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '8adfac46a0f52385a4ad2e8bc4f956c34cb6f25e', ), 'hyperf/model-listener' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '0ac64b517db0d9e192650cd70f81a2962cd54e63', ), 'hyperf/pool' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'b66965453f404f09570a166e9c103a074d2dbd4e', ), 'hyperf/process' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => 'a93b2a4bf0455e3f639649046705e7b3b6ccd137', ), 'hyperf/redis' => array ( 'pretty_version' => 'v2.2.37', 'version' => '2.2.37.0', 'aliases' => array ( ), 'reference' => '89f6c0063c69dc27adb094277947af30d2e59ad0', ), 'hyperf/server' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '1d3364520e37777a7ed83d8bc1597da42f8d6c1b', ), 'hyperf/testing' => array ( 'pretty_version' => 'v2.2.33', 'version' => '2.2.33.0', 'aliases' => array ( ), 'reference' => '63726e3b4e999a96dd4dd62a54f8b2f8f48f850e', ), 'hyperf/utils' => array ( 'pretty_version' => 'v2.2.34', 'version' => '2.2.34.0', 'aliases' => array ( ), 'reference' => '9c8519392166a6c8057cc52f7d02e1ac638581f5', ), 'iexbase/tron-api' => array ( 'pretty_version' => '4.0.1', 'version' => '4.0.1.0', 'aliases' => array ( ), 'reference' => '366227f946f7b8030db8e7326c6f9573c3898583', ), 'iexbase/web3.php' => array ( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', 'aliases' => array ( ), 'reference' => 'f25ed954a7586ead86046dd7e02a333a8098511b', ), 'kodova/hamcrest-php' => array ( 'replaced' => array ( 0 => '*', ), ), 'kornrunner/keccak' => array ( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => '433749d28e117fb97baf9f2631b92b5d9ab3c890', ), 'kornrunner/secp256k1' => array ( 'pretty_version' => '0.1.2', 'version' => '0.1.2.0', 'aliases' => array ( ), 'reference' => '915f0ef1ec748606a1117b171093266de349b058', ), 'laminas/laminas-mime' => array ( 'pretty_version' => '2.10.0', 'version' => '2.10.0.0', 'aliases' => array ( ), 'reference' => '62a899a7c9100889c2d2386b1357003a2cb52fa9', ), 'laminas/laminas-stdlib' => array ( 'pretty_version' => '3.13.0', 'version' => '3.13.0.0', 'aliases' => array ( ), 'reference' => '66a6d03c381f6c9f1dd988bf8244f9afb9380d76', ), 'mdanter/ecc' => array ( 'pretty_version' => 'v0.5.2', 'version' => '0.5.2.0', 'aliases' => array ( ), 'reference' => 'b95f25cc1bacc83a9f0ccd375900b7cfd343029e', ), 'mockery/mockery' => array ( 'pretty_version' => '1.6.2', 'version' => '1.6.2.0', 'aliases' => array ( ), 'reference' => '13a7fa2642c76c58fa2806ef7f565344c817a191', ), 'monolog/monolog' => array ( 'pretty_version' => '2.5.0', 'version' => '2.5.0.0', 'aliases' => array ( ), 'reference' => '4192345e260f1d51b365536199744b987e160edc', ), 'myclabs/deep-copy' => array ( 'pretty_version' => '1.11.1', 'version' => '1.11.1.0', 'aliases' => array ( ), 'reference' => '7284c22080590fb39f2ffa3e9057f10a4ddd0e0c', ), 'nesbot/carbon' => array ( 'pretty_version' => '2.68.1', 'version' => '2.68.1.0', 'aliases' => array ( ), 'reference' => '4f991ed2a403c85efbc4f23eb4030063fdbe01da', ), 'nikic/fast-route' => array ( 'pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', 'aliases' => array ( ), 'reference' => '181d480e08d9476e61381e04a71b34dc0432e812', ), 'nikic/php-parser' => array ( 'pretty_version' => 'v4.16.0', 'version' => '4.16.0.0', 'aliases' => array ( ), 'reference' => '19526a33fb561ef417e822e85f08a00db4059c17', ), 'phar-io/manifest' => array ( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => '97803eca37d319dfa7826cc2437fc020857acb53', ), 'phar-io/version' => array ( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', 'aliases' => array ( ), 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74', ), 'php-di/phpdoc-reader' => array ( 'pretty_version' => '2.2.1', 'version' => '2.2.1.0', 'aliases' => array ( ), 'reference' => '66daff34cbd2627740ffec9469ffbac9f8c8185c', ), 'phpoption/phpoption' => array ( 'pretty_version' => '1.9.1', 'version' => '1.9.1.0', 'aliases' => array ( ), 'reference' => 'dd3a383e599f49777d8b628dadbb90cae435b87e', ), 'phpseclib/phpseclib' => array ( 'pretty_version' => '2.0.44', 'version' => '2.0.44.0', 'aliases' => array ( ), 'reference' => '149f608243f8133c61926aae26ce67d2b22b37e5', ), 'phpstan/phpstan' => array ( 'pretty_version' => '0.12.100', 'version' => '0.12.100.0', 'aliases' => array ( ), 'reference' => '48236ddf823547081b2b153d1cd2994b784328c3', ), 'phpunit/php-code-coverage' => array ( 'pretty_version' => '9.2.26', 'version' => '9.2.26.0', 'aliases' => array ( ), 'reference' => '443bc6912c9bd5b409254a40f4b0f4ced7c80ea1', ), 'phpunit/php-file-iterator' => array ( 'pretty_version' => '3.0.6', 'version' => '3.0.6.0', 'aliases' => array ( ), 'reference' => 'cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf', ), 'phpunit/php-invoker' => array ( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', 'aliases' => array ( ), 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', ), 'phpunit/php-text-template' => array ( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'aliases' => array ( ), 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', ), 'phpunit/php-timer' => array ( 'pretty_version' => '5.0.3', 'version' => '5.0.3.0', 'aliases' => array ( ), 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', ), 'phpunit/phpunit' => array ( 'pretty_version' => '9.6.9', 'version' => '9.6.9.0', 'aliases' => array ( ), 'reference' => 'a9aceaf20a682aeacf28d582654a1670d8826778', ), 'psr/cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', ), 'psr/container' => array ( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'aliases' => array ( ), 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', ), 'psr/event-dispatcher' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', ), 'psr/event-dispatcher-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-client' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '0955afe48220520692d2d09f7ab7e0f93ffd6a31', ), 'psr/http-client-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-factory' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', ), 'psr/http-factory-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-message' => array ( 'pretty_version' => '1.1', 'version' => '1.1.0.0', 'aliases' => array ( ), 'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba', ), 'psr/http-message-implementation' => array ( 'provided' => array ( 0 => '1.0', ), ), 'psr/http-server-handler' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => '84c4fb66179be4caaf8e97bd239203245302e7d4', ), 'psr/http-server-middleware' => array ( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', 'aliases' => array ( ), 'reference' => 'c1481f747daaa6a0782775cd6a8c26a1bf4a3829', ), 'psr/log' => array ( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'aliases' => array ( ), 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', ), 'psr/log-implementation' => array ( 'provided' => array ( 0 => '1.0.0 || 2.0.0 || 3.0.0', 1 => '1.0|2.0', ), ), 'psr/simple-cache' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', ), 'ralouphie/getallheaders' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '120b605dfeb996808c31b6477290a714d356e822', ), 'sebastian/cli-parser' => array ( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'aliases' => array ( ), 'reference' => '442e7c7e687e42adc03470c7b668bc4b2402c0b2', ), 'sebastian/code-unit' => array ( 'pretty_version' => '1.0.8', 'version' => '1.0.8.0', 'aliases' => array ( ), 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', ), 'sebastian/code-unit-reverse-lookup' => array ( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', 'aliases' => array ( ), 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', ), 'sebastian/comparator' => array ( 'pretty_version' => '4.0.8', 'version' => '4.0.8.0', 'aliases' => array ( ), 'reference' => 'fa0f136dd2334583309d32b62544682ee972b51a', ), 'sebastian/complexity' => array ( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'aliases' => array ( ), 'reference' => '739b35e53379900cc9ac327b2147867b8b6efd88', ), 'sebastian/diff' => array ( 'pretty_version' => '4.0.5', 'version' => '4.0.5.0', 'aliases' => array ( ), 'reference' => '74be17022044ebaaecfdf0c5cd504fc9cd5a7131', ), 'sebastian/environment' => array ( 'pretty_version' => '5.1.5', 'version' => '5.1.5.0', 'aliases' => array ( ), 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed', ), 'sebastian/exporter' => array ( 'pretty_version' => '4.0.5', 'version' => '4.0.5.0', 'aliases' => array ( ), 'reference' => 'ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d', ), 'sebastian/global-state' => array ( 'pretty_version' => '5.0.5', 'version' => '5.0.5.0', 'aliases' => array ( ), 'reference' => '0ca8db5a5fc9c8646244e629625ac486fa286bf2', ), 'sebastian/lines-of-code' => array ( 'pretty_version' => '1.0.3', 'version' => '1.0.3.0', 'aliases' => array ( ), 'reference' => 'c1c2e997aa3146983ed888ad08b15470a2e22ecc', ), 'sebastian/object-enumerator' => array ( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', 'aliases' => array ( ), 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', ), 'sebastian/object-reflector' => array ( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', 'aliases' => array ( ), 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', ), 'sebastian/recursion-context' => array ( 'pretty_version' => '4.0.5', 'version' => '4.0.5.0', 'aliases' => array ( ), 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1', ), 'sebastian/resource-operations' => array ( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'aliases' => array ( ), 'reference' => '0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8', ), 'sebastian/type' => array ( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', 'aliases' => array ( ), 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7', ), 'sebastian/version' => array ( 'pretty_version' => '3.0.2', 'version' => '3.0.2.0', 'aliases' => array ( ), 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', ), 'simplito/bigint-wrapper-php' => array ( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'aliases' => array ( ), 'reference' => 'cf21ec76d33f103add487b3eadbd9f5033a25930', ), 'simplito/bn-php' => array ( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', 'aliases' => array ( ), 'reference' => '189167f940cdb681288a967b0f4d66de81adcd97', ), 'simplito/elliptic-php' => array ( 'pretty_version' => '1.0.10', 'version' => '1.0.10.0', 'aliases' => array ( ), 'reference' => 'a6228f480c729cf8efe2650a617c8500e981716d', ), 'swoole/ide-helper' => array ( 'pretty_version' => '4.8.13', 'version' => '4.8.13.0', 'aliases' => array ( ), 'reference' => 'd100c446b2e3d56430cbcab5dc3fa20a9f35c4ef', ), 'symfony/console' => array ( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', 'aliases' => array ( ), 'reference' => '535846c7ee6bc4dd027ca0d93220601456734b10', ), 'symfony/deprecation-contracts' => array ( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'aliases' => array ( ), 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', ), 'symfony/event-dispatcher' => array ( 'pretty_version' => 'v5.4.22', 'version' => '5.4.22.0', 'aliases' => array ( ), 'reference' => '1df20e45d56da29a4b1d8259dd6e950acbf1b13f', ), 'symfony/event-dispatcher-contracts' => array ( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'aliases' => array ( ), 'reference' => 'f98b54df6ad059855739db6fcbc2d36995283fe1', ), 'symfony/event-dispatcher-implementation' => array ( 'provided' => array ( 0 => '2.0', ), ), 'symfony/filesystem' => array ( 'pretty_version' => 'v5.4.25', 'version' => '5.4.25.0', 'aliases' => array ( ), 'reference' => '0ce3a62c9579a53358d3a7eb6b3dfb79789a6364', ), 'symfony/finder' => array ( 'pretty_version' => 'v5.4.21', 'version' => '5.4.21.0', 'aliases' => array ( ), 'reference' => '078e9a5e1871fcfe6a5ce421b539344c21afef19', ), 'symfony/options-resolver' => array ( 'pretty_version' => 'v5.4.21', 'version' => '5.4.21.0', 'aliases' => array ( ), 'reference' => '4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9', ), 'symfony/polyfill-ctype' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '5bbc823adecdae860bb64756d639ecfec17b050a', ), 'symfony/polyfill-intl-grapheme' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '511a08c03c1960e08a883f4cffcacd219b758354', ), 'symfony/polyfill-intl-normalizer' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '19bd1e4fcd5b91116f14d8533c57831ed00571b6', ), 'symfony/polyfill-mbstring' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '8ad114f6b39e2c98a8b0e3bd907732c207c2b534', ), 'symfony/polyfill-php73' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '9e8ecb5f92152187c4799efd3c96b78ccab18ff9', ), 'symfony/polyfill-php80' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936', ), 'symfony/polyfill-php81' => array ( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', 'aliases' => array ( ), 'reference' => '707403074c8ea6e2edaf8794b0157a0bfa52157a', ), 'symfony/process' => array ( 'pretty_version' => 'v5.4.24', 'version' => '5.4.24.0', 'aliases' => array ( ), 'reference' => 'e3c46cc5689c8782944274bb30702106ecbe3b64', ), 'symfony/service-contracts' => array ( 'pretty_version' => 'v1.1.2', 'version' => '1.1.2.0', 'aliases' => array ( ), 'reference' => '191afdcb5804db960d26d8566b7e9a2843cab3a0', ), 'symfony/stopwatch' => array ( 'pretty_version' => 'v5.4.21', 'version' => '5.4.21.0', 'aliases' => array ( ), 'reference' => 'f83692cd869a6f2391691d40a01e8acb89e76fee', ), 'symfony/string' => array ( 'pretty_version' => 'v5.4.22', 'version' => '5.4.22.0', 'aliases' => array ( ), 'reference' => '8036a4c76c0dd29e60b6a7cafcacc50cf088ea62', ), 'symfony/translation' => array ( 'pretty_version' => 'v5.4.24', 'version' => '5.4.24.0', 'aliases' => array ( ), 'reference' => 'de237e59c5833422342be67402d487fbf50334ff', ), 'symfony/translation-contracts' => array ( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'aliases' => array ( ), 'reference' => '136b19dd05cdf0709db6537d058bcab6dd6e2dbe', ), 'symfony/translation-implementation' => array ( 'provided' => array ( 0 => '2.3', ), ), 'theseer/tokenizer' => array ( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', 'aliases' => array ( ), 'reference' => '34a41e998c2183e22995f158c581e7b5e755ab9e', ), 'vlucas/phpdotenv' => array ( 'pretty_version' => 'v5.5.0', 'version' => '5.5.0.0', 'aliases' => array ( ), 'reference' => '1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7', ), ), ); private static $canGetVendors; private static $installedByVendor = array(); public static function getInstalledPackages() { $packages = array(); foreach (self::getInstalled() as $installed) { $packages[] = array_keys($installed['versions']); } if (1 === \count($packages)) { return $packages[0]; } return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); } public static function isInstalled($packageName) { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { return true; } } return false; } public static function satisfies(VersionParser $parser, $packageName, $constraint) { $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); } public static function getVersionRanges($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } $ranges = array(); if (isset($installed['versions'][$packageName]['pretty_version'])) { $ranges[] = $installed['versions'][$packageName]['pretty_version']; } if (array_key_exists('aliases', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); } if (array_key_exists('replaced', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); } if (array_key_exists('provided', $installed['versions'][$packageName])) { $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); } return implode(' || ', $ranges); } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['version'])) { return null; } return $installed['versions'][$packageName]['version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getPrettyVersion($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['pretty_version'])) { return null; } return $installed['versions'][$packageName]['pretty_version']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getReference($packageName) { foreach (self::getInstalled() as $installed) { if (!isset($installed['versions'][$packageName])) { continue; } if (!isset($installed['versions'][$packageName]['reference'])) { return null; } return $installed['versions'][$packageName]['reference']; } throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); } public static function getRootPackage() { $installed = self::getInstalled(); return $installed[0]['root']; } public static function getRawData() { @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); return self::$installed; } public static function getAllRawData() { return self::getInstalled(); } public static function reload($data) { self::$installed = $data; self::$installedByVendor = array(); } private static function getInstalled() { if (null === self::$canGetVendors) { self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); } $installed = array(); if (self::$canGetVendors) { foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; } } } $installed[] = self::$installed; return $installed; } }