From 11e1932120edc7143b9646079e37ce58622e019d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20=C5=A0pa=C4=8Dek?= Date: Mon, 1 Apr 2024 22:17:39 +0200 Subject: [PATCH] Working MongoDB integration --- .env | 10 +- composer.json | 4 +- composer.lock | 22 +- config/packages/doctrine_mongodb.yaml | 5 +- public/styles/edit_graph.css | 53 +++++ public/styles/style.css | 159 +++++++++++++ public/styles/web_style.css | 176 +++++++++++++++ src/Controller/IndexController.php | 3 +- src/Controller/UserController.php | 46 ++++ src/Document/Chart.php | 65 ++++++ src/Document/User.php | 53 +++++ src/Form/Model/Registration.php | 41 ++++ src/Form/Type/RegistrationType.php | 17 ++ src/Form/Type/UserType.php | 32 +++ src/Repository/ChartRepository.php | 48 ++++ src/Repository/UserRepository.php | 48 ++++ templates/base.html.twig | 3 +- templates/header.html.twig | 11 + templates/register.html.twig | 6 + vendor/autoload.php | 18 ++ vendor/composer/ClassLoader.php | 137 ++++++------ vendor/composer/InstalledVersions.php | 33 ++- vendor/composer/autoload_classmap.php | 7 +- vendor/composer/autoload_namespaces.php | 2 +- vendor/composer/autoload_psr4.php | 2 +- vendor/composer/autoload_real.php | 54 +---- vendor/composer/autoload_static.php | 17 +- vendor/composer/installed.json | 20 +- vendor/composer/installed.php | 282 ++++++++++++------------ 29 files changed, 1076 insertions(+), 298 deletions(-) create mode 100755 public/styles/edit_graph.css create mode 100755 public/styles/style.css create mode 100755 public/styles/web_style.css create mode 100644 src/Controller/UserController.php create mode 100644 src/Document/Chart.php create mode 100644 src/Document/User.php create mode 100644 src/Form/Model/Registration.php create mode 100644 src/Form/Type/RegistrationType.php create mode 100644 src/Form/Type/UserType.php create mode 100644 src/Repository/ChartRepository.php create mode 100644 src/Repository/UserRepository.php create mode 100644 templates/header.html.twig create mode 100644 templates/register.html.twig diff --git a/.env b/.env index 38d4f78..ae198ff 100644 --- a/.env +++ b/.env @@ -25,7 +25,8 @@ APP_SECRET=81d9eeb71d116d422bb931d0c810ce44 # # DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" # DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8&charset=utf8mb4" -DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8" + DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8" +#DATABASE_URL=mongo://172.22.1.110:27017 ###< doctrine/doctrine-bundle ### ###> symfony/messenger ### @@ -40,6 +41,9 @@ MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0 ###< symfony/mailer ### ###> doctrine/mongodb-odm-bundle ### -MONGODB_URL=mongodb://localhost:27017 -MONGODB_DB=symfony +MONGODB_URL=mongodb://172.22.1.110:27017 +MONGODB_DB=charts +MONGODB_USER=webapp +MONGODB_PASS=webapp +MONGODB_AUTH=charts ###< doctrine/mongodb-odm-bundle ### diff --git a/composer.json b/composer.json index 3c6e80b..884b1d6 100644 --- a/composer.json +++ b/composer.json @@ -10,8 +10,10 @@ "doctrine/dbal": "^3", "doctrine/doctrine-bundle": "^2.12", "doctrine/doctrine-migrations-bundle": "^3.3", - "doctrine/mongodb-odm-bundle": "^5.0", + "doctrine/mongodb-odm": "^2.7", + "doctrine/mongodb-odm-bundle": "^5.*", "doctrine/orm": "^3.1", + "mongodb/mongodb": "^1.18", "phpdocumentor/reflection-docblock": "^5.3", "phpstan/phpdoc-parser": "^1.27", "symfony/apache-pack": "^1.0", diff --git a/composer.lock b/composer.lock index a2dcc8a..ffb75a6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ac1ace3d152830a03eede47ce72777f9", + "content-hash": "46a368f6c1680011c0f2e135980f8df9", "packages": [ { "name": "doctrine/cache", @@ -1697,23 +1697,23 @@ }, { "name": "mongodb/mongodb", - "version": "1.17.1", + "version": "1.18.0", "source": { "type": "git", "url": "https://github.com/mongodb/mongo-php-library.git", - "reference": "01d0840bf0678f519e72dc71b69c8a50a0856c2d" + "reference": "d421c418ef56a96f3dfa6b2828f936df6848ccf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/01d0840bf0678f519e72dc71b69c8a50a0856c2d", - "reference": "01d0840bf0678f519e72dc71b69c8a50a0856c2d", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/d421c418ef56a96f3dfa6b2828f936df6848ccf9", + "reference": "d421c418ef56a96f3dfa6b2828f936df6848ccf9", "shasum": "" }, "require": { + "composer-runtime-api": "^2.0", "ext-hash": "*", "ext-json": "*", - "ext-mongodb": "^1.17.0", - "jean85/pretty-package-versions": "^2.0.1", + "ext-mongodb": "^1.18.0", "php": "^7.4 || ^8.0", "psr/log": "^1.1.4|^2|^3", "symfony/polyfill-php80": "^1.27", @@ -1729,7 +1729,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17.x-dev" + "dev-master": "1.18.x-dev" } }, "autoload": { @@ -1768,9 +1768,9 @@ ], "support": { "issues": "https://github.com/mongodb/mongo-php-library/issues", - "source": "https://github.com/mongodb/mongo-php-library/tree/1.17.1" + "source": "https://github.com/mongodb/mongo-php-library/tree/1.18.0" }, - "time": "2024-03-14T10:33:11+00:00" + "time": "2024-03-27T17:04:50+00:00" }, { "name": "monolog/monolog", @@ -9887,5 +9887,5 @@ "ext-iconv": "*" }, "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/config/packages/doctrine_mongodb.yaml b/config/packages/doctrine_mongodb.yaml index e032656..c1deb6f 100644 --- a/config/packages/doctrine_mongodb.yaml +++ b/config/packages/doctrine_mongodb.yaml @@ -4,7 +4,10 @@ doctrine_mongodb: connections: default: server: '%env(resolve:MONGODB_URL)%' - options: {} + options: + username: '%env(resolve:MONGODB_USER)%' + password: '%env(resolve:MONGODB_PASS)%' + authSource: '%env(resolve:MONGODB_AUTH)%' default_database: '%env(resolve:MONGODB_DB)%' document_managers: default: diff --git a/public/styles/edit_graph.css b/public/styles/edit_graph.css new file mode 100755 index 0000000..ea84d9d --- /dev/null +++ b/public/styles/edit_graph.css @@ -0,0 +1,53 @@ +main { + display: block; +} + +#mainDiv { + width: 100%; + display: flex; + padding: 10px; +} + +#graphDiv { + width: 75%; + height: 450px; +} + +#settings_div { + text-align: center; + width: 25%; +} + +#tableDiv { + padding: 0; + overflow: auto; + flex-basis: 75%; +} + +#shareDiv { + padding: 5px; + flex-basis: 25%; + margin-left: 5px; +} + +#secondaryDiv { + display: flex; +} + +#shareUsername { + width: 100px; + height: 35px; +} + +#shareHeader { + text-align: center; +} + +@media (max-width: 950px) { + #mainDiv {display: block} + #graphDiv {width: 100%;} + #settings_div {width: 100%; display: block} + #tableDiv {width: 100%} + #shareDiv {width: 100%} + #secondaryDiv {display: block} +} \ No newline at end of file diff --git a/public/styles/style.css b/public/styles/style.css new file mode 100755 index 0000000..d8bf08f --- /dev/null +++ b/public/styles/style.css @@ -0,0 +1,159 @@ +#graphDiv { + height: 100%; +} + +body { + height: 100%; + margin: 0; +} + +html { + height: 100%; +} + +#dataDiv { + display: none; + position: absolute; + height: 35px; + width: 70px; + background-color: white; + border: 1px solid lightgrey; + padding: 5px; + border-radius: 5px; +} + +#dataDiv p { + margin: 0; + font-size: 13px; +} + +#dataDiv b{ + position: center; + font-size: 13px; +} + +#graphLegend { + display: none; + justify-content: center; + align-items: center; + text-align: center; +} + +#graphLegend div { + display: inline; + margin: 0 10px 0 10px; + width: 50px; +} + +#settings_div{ + width: 300px; + padding: 5px; + background-color: var(--main); +} + +#settings_div h2{ + color: var(--dark); +} + +#shareDiv{ + width: 300px; + padding: 5px; + background-color: var(--side); +} + +#shareDiv h2{ + color: var(--dark); +} + +table { + margin-top: 20px; + width: 100%; +} + +table, th, td { + border-collapse: collapse; +} + +th, td { + padding: 4px; + border: 1px solid darkgrey; + min-width: 100px; + text-align: center; +} + +tr:nth-child(even) td:not(.UI_remove_row){ + background-color: var(--main); +} + +th { + background-color: var(--main-dark); +} + +th div { + color: var(--light); +} + +th input { + padding: 0; + margin: 0; +} + +[contenteditable] { + outline: 0 solid transparent; +} + +#rcMenu { + z-index: 1000; + position: absolute; + background-color: white; + border: 1px solid lightgrey; + box-shadow: 2px 2px 2px gray; + display: none; + margin: 0; + width: 180px; +} + +#rcMenu ul{ + list-style-type: none; + padding-left: 10px; + width: 180px; +} + +#rcMenu a { + text-decoration: none; + border-bottom: 1px solid lightgrey; + width: 160px; + display: block; +} + +#rcMenu a:hover{ + background-color: lightgrey; +} + +#shareDiv { + background-color: var(--main); +} + +#shareList { + border: 1px solid var(--main-dark); +} + +#shareList div{ + padding: 5px; +} + +#shareList div button{ + color: red; + display: inline-block; + float: right; + height: 25px; + margin: 0; + padding: 2px; +} + +#shareList div button:hover{ + background-color: var(--side); + color: red; + display: flex; + transition: 300ms; +} \ No newline at end of file diff --git a/public/styles/web_style.css b/public/styles/web_style.css new file mode 100755 index 0000000..475a087 --- /dev/null +++ b/public/styles/web_style.css @@ -0,0 +1,176 @@ +@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;600;700;800&display=swap'); + +:root { + --dark: #1E1B18; + --light: #E3E7F1; + --side: #E3E7F1; + --main: #7391C8; + --main-dark: #52688F; +} + +* { + font-family: 'Open Sans', sans-serif; + color: var(--dark); +} + +body { + margin: 0; + padding: 0; +} + +button { + background-color: var(--main-dark); + border: none; + color: white; + padding: 10px 15px; + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 16px; + margin: 5px; +} + +header { + display: flex; + background-color: var(--main-dark); + margin: 0; +} + +header #logo { + text-align: center; + flex-basis: 20%; + display: flex; +} + +header nav { + display: flex; + flex-basis: 70%; + justify-content: flex-end; +} + +header #user { + flex-basis: 10%; + display: flex; +} + +header #user a { + flex-basis: 100%; + text-align: center; + background-color: var(--main); + color: var(--dark); +} + +header #user a:hover { + background-color: var(--main-dark); +} + +header a { + text-decoration: none; + color: var(--light); + font-weight: 600; + font-size: 1em; + line-height: 1.4em; + padding: 1.4em 2em; + transition: 300ms; +} + +header a:hover { + background-color: var(--main-dark); +} + +body { + background-color: var(--light); +} + +main { + height: calc(100vh - 4.2em); + width: 100%; + display: flex; + padding: 0; +} + +h1 { + color: var(--light); + font-size: 1.6em; + margin: 2em 0 0 0; + flex-basis: 100%; +} + +h2 { + color: var(--side); + font-size: 1.2em; +} + +.loginDiv { + min-width: 300px; + width: 60%; + margin: 50px auto; + text-align: center; + background-color: var(--main); +} + +.loginDiv .msg { + color: red; +} + +.loginDiv #logoutBtn { + color: red; +} + +#myGraphs { + width: 50%; + height: calc(100vh - 4.2em); + margin: 0; + text-align: center; + background-color: var(--main); + display: inline-block; +} + +#myGraphs #createGraphBtn { + color: limegreen; +} + +#myGraphList div, #sharedGraphList div{ + width: 80%; + margin: 10px 10%; + border: 1px solid var(--main-dark); + padding: 5px; + text-align: left; +} + +#myGraphList div a, #sharedGraphList div a{ + text-decoration: none; + display: inline-block; + height: 100%; + width: 75%; + padding: 5px; +} + +#myGraphList div button{ + color: red; + display: inline-block; + float: right; + margin: 0; + padding: 5px; +} + +#myGraphList div button:hover{ + background-color: var(--side); + color: red; + display: flex; + transition: 300ms; +} + +#sharedGraphs { + width: 50%; + height: calc(100vh - 4.2em); + margin: 0; + text-align: center; + background-color: var(--side); + display: inline-block; +} + +#sharedGraphs h1{ + color: var(--dark); + padding-bottom: 52px; +} \ No newline at end of file diff --git a/src/Controller/IndexController.php b/src/Controller/IndexController.php index 0a56a68..b229695 100644 --- a/src/Controller/IndexController.php +++ b/src/Controller/IndexController.php @@ -9,9 +9,8 @@ use Symfony\Component\Routing\Annotation\Route; class IndexController extends AbstractController { #[Route('/', name: 'homepage')] - public function index(): Response + public function indexAction(): Response { - #return new Response("response"); return $this->render('index.html.twig'); } diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php new file mode 100644 index 0000000..9acf7c6 --- /dev/null +++ b/src/Controller/UserController.php @@ -0,0 +1,46 @@ +createForm(RegistrationType::class, new Registration()); + + return $this->render('register.html.twig', [ + 'form' => $form->createView() + ]); + } + + #[Route('/create', name: 'create')] + public function createAction(DocumentManager $dm, Request $request) + { + $form = $this->createForm(RegistrationType::class, new Registration()); + + $form->handleRequest($request); + + if ($form->isSubmitted() && $form->isValid()) { + $registration = $form->getData(); + + $dm->persist($registration->getUser()); + $dm->flush(); + + return $this->redirect('/'); + } + + return $this->render('register.html.twig', [ + 'form' => $form->createView() + ]); + } + } \ No newline at end of file diff --git a/src/Document/Chart.php b/src/Document/Chart.php new file mode 100644 index 0000000..c920299 --- /dev/null +++ b/src/Document/Chart.php @@ -0,0 +1,65 @@ +id; + } + + public function getNamel(): ?string + { + return $this->name; + } + + public function setName(?string $name): void + { + $this->name = $name; + } + + public function getCode(): ?string + { + return $this->code; + } + + public function setCode(?string $code): void + { + $this->code = $code; + } + + public function getMetadata(): ?string + { + return $this->metadata; + } + + public function setMetadata(?string $metadata): void + { + $this->metadata = $metadata; + } +} \ No newline at end of file diff --git a/src/Document/User.php b/src/Document/User.php new file mode 100644 index 0000000..f1bd1cf --- /dev/null +++ b/src/Document/User.php @@ -0,0 +1,53 @@ +id; + } + + public function getEmail(): ?string + { + return $this->email; + } + + public function setEmail(?string $email): void + { + $this->email = $email; + } + + public function getPassword(): ?string + { + return $this->password; + } + + // stupid simple encryption (please don't copy it!) + public function setPassword(?string $password): void + { + $this->password = sha1($password); + } +} \ No newline at end of file diff --git a/src/Form/Model/Registration.php b/src/Form/Model/Registration.php new file mode 100644 index 0000000..5eb5923 --- /dev/null +++ b/src/Form/Model/Registration.php @@ -0,0 +1,41 @@ +user = $user; + } + + public function getUser() + { + return $this->user; + } + + public function getTermsAccepted() + { + return $this->termsAccepted; + } + + public function setTermsAccepted($termsAccepted) + { + $this->termsAccepted = (bool) $termsAccepted; + } +} \ No newline at end of file diff --git a/src/Form/Type/RegistrationType.php b/src/Form/Type/RegistrationType.php new file mode 100644 index 0000000..1bb965e --- /dev/null +++ b/src/Form/Type/RegistrationType.php @@ -0,0 +1,17 @@ +add('user', UserType::class); + $builder->add('terms', CheckboxType::class, ['property_path' => 'termsAccepted']); + } +} \ No newline at end of file diff --git a/src/Form/Type/UserType.php b/src/Form/Type/UserType.php new file mode 100644 index 0000000..07c7af6 --- /dev/null +++ b/src/Form/Type/UserType.php @@ -0,0 +1,32 @@ +add('email', EmailType::class); + $builder->add('password', RepeatedType::class, [ + 'first_name' => 'password', + 'second_name' => 'confirm', + 'type' => PasswordType::class + ]); + } + + public function configureOptions(OptionsResolver $resolver) + { + $resolver->setDefaults([ + 'data_class' => User::class, + ]); + } +} \ No newline at end of file diff --git a/src/Repository/ChartRepository.php b/src/Repository/ChartRepository.php new file mode 100644 index 0000000..0430061 --- /dev/null +++ b/src/Repository/ChartRepository.php @@ -0,0 +1,48 @@ + + * + * @method Chart|null find($id, $lockMode = null, $lockVersion = null) + * @method Chart|null findOneBy(array $criteria, array $orderBy = null) + * @method Chart[] findAll() + * @method Chart[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class ChartRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Chart::class); + } + + // /** + // * @return Chart[] Returns an array of Chart objects + // */ + // public function findByExampleField($value): array + // { + // return $this->createQueryBuilder('c') + // ->andWhere('c.exampleField = :val') + // ->setParameter('val', $value) + // ->orderBy('c.id', 'ASC') + // ->setMaxResults(10) + // ->getQuery() + // ->getResult() + // ; + // } + + // public function findOneBySomeField($value): ?Chart + // { + // return $this->createQueryBuilder('c') + // ->andWhere('c.exampleField = :val') + // ->setParameter('val', $value) + // ->getQuery() + // ->getOneOrNullResult() + // ; + // } +} diff --git a/src/Repository/UserRepository.php b/src/Repository/UserRepository.php new file mode 100644 index 0000000..3767526 --- /dev/null +++ b/src/Repository/UserRepository.php @@ -0,0 +1,48 @@ + + * + * @method User|null find($id, $lockMode = null, $lockVersion = null) + * @method User|null findOneBy(array $criteria, array $orderBy = null) + * @method User[] findAll() + * @method User[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +class UserRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, User::class); + } + +// /** +// * @return User[] Returns an array of User objects +// */ +// public function findByExampleField($value): array +// { +// return $this->createQueryBuilder('u') +// ->andWhere('u.exampleField = :val') +// ->setParameter('val', $value) +// ->orderBy('u.id', 'ASC') +// ->setMaxResults(10) +// ->getQuery() +// ->getResult() +// ; +// } + +// public function findOneBySomeField($value): ?User +// { +// return $this->createQueryBuilder('u') +// ->andWhere('u.exampleField = :val') +// ->setParameter('val', $value) +// ->getQuery() +// ->getOneOrNullResult() +// ; +// } +} diff --git a/templates/base.html.twig b/templates/base.html.twig index d4f83f7..9d3a3ae 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -4,9 +4,9 @@ {% block title %}Welcome!{% endblock %} - {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #} {% block stylesheets %} {{ encore_entry_link_tags('app') }} + {% endblock %} {% block javascripts %} @@ -14,6 +14,7 @@ {% endblock %} + {% include "header.html.twig" %} {% block body %}{% endblock %} diff --git a/templates/header.html.twig b/templates/header.html.twig new file mode 100644 index 0000000..4199d18 --- /dev/null +++ b/templates/header.html.twig @@ -0,0 +1,11 @@ +
+ + +
+ Login +
+
diff --git a/templates/register.html.twig b/templates/register.html.twig new file mode 100644 index 0000000..58b6242 --- /dev/null +++ b/templates/register.html.twig @@ -0,0 +1,6 @@ +{# templates/egister.html.twig #} +{{ form_start(form, {'action': path('create'), 'method': 'POST'}) }} + {{ form_widget(form) }} + + +{{ form_end(form) }} \ No newline at end of file diff --git a/vendor/autoload.php b/vendor/autoload.php index 8051dbe..f68adbd 100644 --- a/vendor/autoload.php +++ b/vendor/autoload.php @@ -2,6 +2,24 @@ // autoload.php @generated by Composer +if (PHP_VERSION_ID < 50600) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, $err); + } elseif (!headers_sent()) { + echo $err; + } + } + trigger_error( + $err, + E_USER_ERROR + ); +} + require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInit4fe506277082b063a84f05968212cec8::getLoader(); diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index afef3fa..7824d8f 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -42,35 +42,37 @@ namespace Composer\Autoload; */ class ClassLoader { - /** @var ?string */ + /** @var \Closure(string):void */ + private static $includeFile; + + /** @var string|null */ private $vendorDir; // PSR-4 /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixLengthsPsr4 = array(); /** - * @var array[] - * @psalm-var array> + * @var array> */ private $prefixDirsPsr4 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr4 = array(); // PSR-0 /** - * @var array[] - * @psalm-var array> + * List of PSR-0 prefixes + * + * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) + * + * @var array>> */ private $prefixesPsr0 = array(); /** - * @var array[] - * @psalm-var array + * @var list */ private $fallbackDirsPsr0 = array(); @@ -78,8 +80,7 @@ class ClassLoader private $useIncludePath = false; /** - * @var string[] - * @psalm-var array + * @var array */ private $classMap = array(); @@ -87,29 +88,29 @@ class ClassLoader private $classMapAuthoritative = false; /** - * @var bool[] - * @psalm-var array + * @var array */ private $missingClasses = array(); - /** @var ?string */ + /** @var string|null */ private $apcuPrefix; /** - * @var self[] + * @var array */ private static $registeredLoaders = array(); /** - * @param ?string $vendorDir + * @param string|null $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; + self::initializeIncludeClosure(); } /** - * @return string[] + * @return array> */ public function getPrefixes() { @@ -121,8 +122,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array> + * @return array> */ public function getPrefixesPsr4() { @@ -130,8 +130,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirs() { @@ -139,8 +138,7 @@ class ClassLoader } /** - * @return array[] - * @psalm-return array + * @return list */ public function getFallbackDirsPsr4() { @@ -148,8 +146,7 @@ class ClassLoader } /** - * @return string[] Array of classname => path - * @psalm-return array + * @return array Array of classname => path */ public function getClassMap() { @@ -157,8 +154,7 @@ class ClassLoader } /** - * @param string[] $classMap Class to filename map - * @psalm-param array $classMap + * @param array $classMap Class to filename map * * @return void */ @@ -175,24 +171,25 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - (array) $paths + $paths ); } @@ -201,19 +198,19 @@ class ClassLoader $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = (array) $paths; + $this->prefixesPsr0[$first][$prefix] = $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - (array) $paths + $paths ); } } @@ -222,9 +219,9 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * @@ -232,17 +229,18 @@ class ClassLoader */ public function addPsr4($prefix, $paths, $prepend = false) { + $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - (array) $paths, + $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - (array) $paths + $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -252,18 +250,18 @@ class ClassLoader throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = (array) $paths; + $this->prefixDirsPsr4[$prefix] = $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - (array) $paths, + $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - (array) $paths + $paths ); } } @@ -272,8 +270,8 @@ class ClassLoader * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param string[]|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param list|string $paths The PSR-0 base directories * * @return void */ @@ -290,8 +288,8 @@ class ClassLoader * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param string[]|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param list|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * @@ -425,7 +423,8 @@ class ClassLoader public function loadClass($class) { if ($file = $this->findFile($class)) { - includeFile($file); + $includeFile = self::$includeFile; + $includeFile($file); return true; } @@ -476,9 +475,9 @@ class ClassLoader } /** - * Returns the currently registered loaders indexed by their corresponding vendor directories. + * Returns the currently registered loaders keyed by their corresponding vendor directories. * - * @return self[] + * @return array */ public static function getRegisteredLoaders() { @@ -555,18 +554,26 @@ class ClassLoader return false; } -} -/** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - * @private - */ -function includeFile($file) -{ - include $file; + /** + * @return void + */ + private static function initializeIncludeClosure() + { + if (self::$includeFile !== null) { + return; + } + + /** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + */ + self::$includeFile = \Closure::bind(static function($file) { + include $file; + }, null, null); + } } diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php index d50e0c9..51e734a 100644 --- a/vendor/composer/InstalledVersions.php +++ b/vendor/composer/InstalledVersions.php @@ -21,12 +21,14 @@ use Composer\Semver\VersionParser; * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final */ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null */ private static $installed; @@ -37,7 +39,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -96,7 +98,7 @@ class InstalledVersions { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; } } @@ -117,7 +119,7 @@ class InstalledVersions */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { - $constraint = $parser->parseConstraints($constraint); + $constraint = $parser->parseConstraints((string) $constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); @@ -241,7 +243,7 @@ class InstalledVersions /** * @return array - * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} */ public static function getRootPackage() { @@ -255,7 +257,7 @@ class InstalledVersions * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} */ public static function getRawData() { @@ -278,7 +280,7 @@ class InstalledVersions * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -301,7 +303,7 @@ class InstalledVersions * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data */ public static function reload($data) { @@ -311,7 +313,7 @@ class InstalledVersions /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { @@ -326,7 +328,9 @@ class InstalledVersions 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'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require $vendorDir.'/composer/installed.php'; + $installed[] = self::$installedByVendor[$vendorDir] = $required; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -338,12 +342,17 @@ class InstalledVersions // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - self::$installed = require __DIR__ . '/installed.php'; + /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ + $required = require __DIR__ . '/installed.php'; + self::$installed = $required; } else { self::$installed = array(); } } - $installed[] = self::$installed; + + if (self::$installed !== array()) { + $installed[] = self::$installed; + } return $installed; } diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 49c9384..f67f922 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -2,12 +2,16 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( 'App\\Controller\\IndexController' => $baseDir . '/src/Controller/IndexController.php', + 'App\\Entity\\Chart' => $baseDir . '/src/Entity/Chart.php', + 'App\\Entity\\User' => $baseDir . '/src/Entity/User.php', 'App\\Kernel' => $baseDir . '/src/Kernel.php', + 'App\\Repository\\ChartRepository' => $baseDir . '/src/Repository/ChartRepository.php', + 'App\\Repository\\UserRepository' => $baseDir . '/src/Repository/UserRepository.php', 'Collator' => $vendorDir . '/symfony/polyfill-intl-icu/Resources/stubs/Collator.php', 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'DateError' => $vendorDir . '/symfony/polyfill-php83/Resources/stubs/DateError.php', @@ -1723,6 +1727,7 @@ return array( 'MongoDB\\GridFS\\CollectionWrapper' => $vendorDir . '/mongodb/mongodb/src/GridFS/CollectionWrapper.php', 'MongoDB\\GridFS\\Exception\\CorruptFileException' => $vendorDir . '/mongodb/mongodb/src/GridFS/Exception/CorruptFileException.php', 'MongoDB\\GridFS\\Exception\\FileNotFoundException' => $vendorDir . '/mongodb/mongodb/src/GridFS/Exception/FileNotFoundException.php', + 'MongoDB\\GridFS\\Exception\\LogicException' => $vendorDir . '/mongodb/mongodb/src/GridFS/Exception/LogicException.php', 'MongoDB\\GridFS\\Exception\\StreamException' => $vendorDir . '/mongodb/mongodb/src/GridFS/Exception/StreamException.php', 'MongoDB\\GridFS\\ReadableStream' => $vendorDir . '/mongodb/mongodb/src/GridFS/ReadableStream.php', 'MongoDB\\GridFS\\StreamWrapper' => $vendorDir . '/mongodb/mongodb/src/GridFS/StreamWrapper.php', diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index b7fc012..15a2ff3 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 8e4d483..bd7ab0d 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(dirname(__FILE__)); +$vendorDir = dirname(__DIR__); $baseDir = dirname($vendorDir); return array( diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php index 4e1441a..b32cb1c 100644 --- a/vendor/composer/autoload_real.php +++ b/vendor/composer/autoload_real.php @@ -25,56 +25,26 @@ class ComposerAutoloaderInit4fe506277082b063a84f05968212cec8 require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInit4fe506277082b063a84f05968212cec8', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); spl_autoload_unregister(array('ComposerAutoloaderInit4fe506277082b063a84f05968212cec8', 'loadClassLoader')); - $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); - if ($useStaticLoader) { - require __DIR__ . '/autoload_static.php'; + require __DIR__ . '/autoload_static.php'; + call_user_func(\Composer\Autoload\ComposerStaticInit4fe506277082b063a84f05968212cec8::getInitializer($loader)); - call_user_func(\Composer\Autoload\ComposerStaticInit4fe506277082b063a84f05968212cec8::getInitializer($loader)); - } else { - $map = require __DIR__ . '/autoload_namespaces.php'; - foreach ($map as $namespace => $path) { - $loader->set($namespace, $path); - } + $loader->register(true); - $map = require __DIR__ . '/autoload_psr4.php'; - foreach ($map as $namespace => $path) { - $loader->setPsr4($namespace, $path); - } + $filesToLoad = \Composer\Autoload\ComposerStaticInit4fe506277082b063a84f05968212cec8::$files; + $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - $classMap = require __DIR__ . '/autoload_classmap.php'; - if ($classMap) { - $loader->addClassMap($classMap); + require $file; } - } - - $loader->register(true); - - if ($useStaticLoader) { - $includeFiles = Composer\Autoload\ComposerStaticInit4fe506277082b063a84f05968212cec8::$files; - } else { - $includeFiles = require __DIR__ . '/autoload_files.php'; - } - foreach ($includeFiles as $fileIdentifier => $file) { - composerRequire4fe506277082b063a84f05968212cec8($fileIdentifier, $file); + }, null, null); + foreach ($filesToLoad as $fileIdentifier => $file) { + $requireFile($fileIdentifier, $file); } return $loader; } } - -/** - * @param string $fileIdentifier - * @param string $file - * @return void - */ -function composerRequire4fe506277082b063a84f05968212cec8($fileIdentifier, $file) -{ - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; - - require $file; - } -} diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 49d543e..4ffffc4 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -7,21 +7,21 @@ namespace Composer\Autoload; class ComposerStaticInit4fe506277082b063a84f05968212cec8 { public static $files = array ( - '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', - 'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', - '6a47392539ca2329373e0d33e1dba053' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/bootstrap.php', - '92c8763cd6170fce6fcfe7e26b4e8c10' => __DIR__ . '/..' . '/symfony/phpunit-bridge/bootstrap.php', '662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php', - '2203a247e6fda86070a5e4e07aed533a' => __DIR__ . '/..' . '/symfony/clock/Resources/now.php', '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', - 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', + '2203a247e6fda86070a5e4e07aed533a' => __DIR__ . '/..' . '/symfony/clock/Resources/now.php', '3a37ebac017bc098e9a86b35401e7a68' => __DIR__ . '/..' . '/mongodb/mongodb/src/functions.php', + '6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php', + '6a47392539ca2329373e0d33e1dba053' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/bootstrap.php', + 'ec07570ca5a812141189b1fa81503674' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert/Functions.php', + '92c8763cd6170fce6fcfe7e26b4e8c10' => __DIR__ . '/..' . '/symfony/phpunit-bridge/bootstrap.php', + 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', ); public static $prefixLengthsPsr4 = array ( @@ -597,7 +597,11 @@ class ComposerStaticInit4fe506277082b063a84f05968212cec8 public static $classMap = array ( 'App\\Controller\\IndexController' => __DIR__ . '/../..' . '/src/Controller/IndexController.php', + 'App\\Entity\\Chart' => __DIR__ . '/../..' . '/src/Entity/Chart.php', + 'App\\Entity\\User' => __DIR__ . '/../..' . '/src/Entity/User.php', 'App\\Kernel' => __DIR__ . '/../..' . '/src/Kernel.php', + 'App\\Repository\\ChartRepository' => __DIR__ . '/../..' . '/src/Repository/ChartRepository.php', + 'App\\Repository\\UserRepository' => __DIR__ . '/../..' . '/src/Repository/UserRepository.php', 'Collator' => __DIR__ . '/..' . '/symfony/polyfill-intl-icu/Resources/stubs/Collator.php', 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'DateError' => __DIR__ . '/..' . '/symfony/polyfill-php83/Resources/stubs/DateError.php', @@ -2313,6 +2317,7 @@ class ComposerStaticInit4fe506277082b063a84f05968212cec8 'MongoDB\\GridFS\\CollectionWrapper' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/CollectionWrapper.php', 'MongoDB\\GridFS\\Exception\\CorruptFileException' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/Exception/CorruptFileException.php', 'MongoDB\\GridFS\\Exception\\FileNotFoundException' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/Exception/FileNotFoundException.php', + 'MongoDB\\GridFS\\Exception\\LogicException' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/Exception/LogicException.php', 'MongoDB\\GridFS\\Exception\\StreamException' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/Exception/StreamException.php', 'MongoDB\\GridFS\\ReadableStream' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/ReadableStream.php', 'MongoDB\\GridFS\\StreamWrapper' => __DIR__ . '/..' . '/mongodb/mongodb/src/GridFS/StreamWrapper.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 8b60496..a0ab23f 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1821,24 +1821,24 @@ }, { "name": "mongodb/mongodb", - "version": "1.17.1", - "version_normalized": "1.17.1.0", + "version": "1.18.0", + "version_normalized": "1.18.0.0", "source": { "type": "git", "url": "https://github.com/mongodb/mongo-php-library.git", - "reference": "01d0840bf0678f519e72dc71b69c8a50a0856c2d" + "reference": "d421c418ef56a96f3dfa6b2828f936df6848ccf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/01d0840bf0678f519e72dc71b69c8a50a0856c2d", - "reference": "01d0840bf0678f519e72dc71b69c8a50a0856c2d", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/d421c418ef56a96f3dfa6b2828f936df6848ccf9", + "reference": "d421c418ef56a96f3dfa6b2828f936df6848ccf9", "shasum": "" }, "require": { + "composer-runtime-api": "^2.0", "ext-hash": "*", "ext-json": "*", - "ext-mongodb": "^1.17.0", - "jean85/pretty-package-versions": "^2.0.1", + "ext-mongodb": "^1.18.0", "php": "^7.4 || ^8.0", "psr/log": "^1.1.4|^2|^3", "symfony/polyfill-php80": "^1.27", @@ -1851,11 +1851,11 @@ "symfony/phpunit-bridge": "^5.2", "vimeo/psalm": "^5.13" }, - "time": "2024-03-14T10:33:11+00:00", + "time": "2024-03-27T17:04:50+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17.x-dev" + "dev-master": "1.18.x-dev" } }, "installation-source": "dist", @@ -1895,7 +1895,7 @@ ], "support": { "issues": "https://github.com/mongodb/mongo-php-library/issues", - "source": "https://github.com/mongodb/mongo-php-library/tree/1.17.1" + "source": "https://github.com/mongodb/mongo-php-library/tree/1.18.0" }, "install-path": "../mongodb/mongodb" }, diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 0d165a7..59edb03 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -1,247 +1,247 @@ array( - 'pretty_version' => 'dev-main', - 'version' => 'dev-main', + 'name' => '__root__', + 'pretty_version' => '1.0.0+no-version-set', + 'version' => '1.0.0.0', + 'reference' => NULL, 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => 'ab9bb2189a4120f1f81681a9d104b24d84372a0e', - 'name' => '__root__', 'dev' => true, ), 'versions' => array( '__root__' => array( - 'pretty_version' => 'dev-main', - 'version' => 'dev-main', + 'pretty_version' => '1.0.0+no-version-set', + 'version' => '1.0.0.0', + 'reference' => NULL, 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => 'ab9bb2189a4120f1f81681a9d104b24d84372a0e', 'dev_requirement' => false, ), 'doctrine/cache' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', + 'reference' => '1ca8f21980e770095a31456042471a57bc4c68fb', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/cache', 'aliases' => array(), - 'reference' => '1ca8f21980e770095a31456042471a57bc4c68fb', 'dev_requirement' => false, ), 'doctrine/collections' => array( 'pretty_version' => '2.2.1', 'version' => '2.2.1.0', + 'reference' => '420480fc085bc65f3c956af13abe8e7546f94813', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/collections', 'aliases' => array(), - 'reference' => '420480fc085bc65f3c956af13abe8e7546f94813', 'dev_requirement' => false, ), 'doctrine/dbal' => array( 'pretty_version' => '3.8.3', 'version' => '3.8.3.0', + 'reference' => 'db922ba9436b7b18a23d1653a0b41ff2369ca41c', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/dbal', 'aliases' => array(), - 'reference' => 'db922ba9436b7b18a23d1653a0b41ff2369ca41c', 'dev_requirement' => false, ), 'doctrine/deprecations' => array( 'pretty_version' => '1.1.3', 'version' => '1.1.3.0', + 'reference' => 'dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), - 'reference' => 'dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab', 'dev_requirement' => false, ), 'doctrine/doctrine-bundle' => array( 'pretty_version' => '2.12.0', 'version' => '2.12.0.0', + 'reference' => '5418e811a14724068e95e0ba43353b903ada530f', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../doctrine/doctrine-bundle', 'aliases' => array(), - 'reference' => '5418e811a14724068e95e0ba43353b903ada530f', 'dev_requirement' => false, ), 'doctrine/doctrine-migrations-bundle' => array( 'pretty_version' => '3.3.0', 'version' => '3.3.0.0', + 'reference' => '1dd42906a5fb9c5960723e2ebb45c68006493835', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../doctrine/doctrine-migrations-bundle', 'aliases' => array(), - 'reference' => '1dd42906a5fb9c5960723e2ebb45c68006493835', 'dev_requirement' => false, ), 'doctrine/event-manager' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', + 'reference' => '750671534e0241a7c50ea5b43f67e23eb5c96f32', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/event-manager', 'aliases' => array(), - 'reference' => '750671534e0241a7c50ea5b43f67e23eb5c96f32', 'dev_requirement' => false, ), 'doctrine/inflector' => array( 'pretty_version' => '2.0.10', 'version' => '2.0.10.0', + 'reference' => '5817d0659c5b50c9b950feb9af7b9668e2c436bc', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), - 'reference' => '5817d0659c5b50c9b950feb9af7b9668e2c436bc', 'dev_requirement' => false, ), 'doctrine/instantiator' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', + 'reference' => 'c6222283fa3f4ac679f8b9ced9a4e23f163e80d0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/instantiator', 'aliases' => array(), - 'reference' => 'c6222283fa3f4ac679f8b9ced9a4e23f163e80d0', 'dev_requirement' => false, ), 'doctrine/lexer' => array( 'pretty_version' => '3.0.1', 'version' => '3.0.1.0', + 'reference' => '31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/lexer', 'aliases' => array(), - 'reference' => '31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd', 'dev_requirement' => false, ), 'doctrine/migrations' => array( 'pretty_version' => '3.7.4', 'version' => '3.7.4.0', + 'reference' => '954e0a314c2f0eb9fb418210445111747de254a6', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/migrations', 'aliases' => array(), - 'reference' => '954e0a314c2f0eb9fb418210445111747de254a6', 'dev_requirement' => false, ), 'doctrine/mongodb-odm' => array( 'pretty_version' => '2.7.0', 'version' => '2.7.0.0', + 'reference' => '8c7fa3f31c0018571f9c841b9212811df44ded96', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/mongodb-odm', 'aliases' => array(), - 'reference' => '8c7fa3f31c0018571f9c841b9212811df44ded96', 'dev_requirement' => false, ), 'doctrine/mongodb-odm-bundle' => array( 'pretty_version' => '5.0.1', 'version' => '5.0.1.0', + 'reference' => '4d8d32b726e7af21a562a2b6a227f0496c7d39d5', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../doctrine/mongodb-odm-bundle', 'aliases' => array(), - 'reference' => '4d8d32b726e7af21a562a2b6a227f0496c7d39d5', 'dev_requirement' => false, ), 'doctrine/orm' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => '9c560713925ac5859342e6ff370c4c997acf2fd4', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/orm', 'aliases' => array(), - 'reference' => '9c560713925ac5859342e6ff370c4c997acf2fd4', 'dev_requirement' => false, ), 'doctrine/persistence' => array( 'pretty_version' => '3.3.2', 'version' => '3.3.2.0', + 'reference' => '477da35bd0255e032826f440b94b3e37f2d56f42', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/persistence', 'aliases' => array(), - 'reference' => '477da35bd0255e032826f440b94b3e37f2d56f42', 'dev_requirement' => false, ), 'doctrine/sql-formatter' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', + 'reference' => 'a321d114e0a18e6497f8a2cd6f890e000cc17ecc', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/sql-formatter', 'aliases' => array(), - 'reference' => 'a321d114e0a18e6497f8a2cd6f890e000cc17ecc', 'dev_requirement' => false, ), 'egulias/email-validator' => array( 'pretty_version' => '4.0.2', 'version' => '4.0.2.0', + 'reference' => 'ebaaf5be6c0286928352e054f2d5125608e5405e', 'type' => 'library', 'install_path' => __DIR__ . '/../egulias/email-validator', 'aliases' => array(), - 'reference' => 'ebaaf5be6c0286928352e054f2d5125608e5405e', 'dev_requirement' => false, ), 'friendsofphp/proxy-manager-lts' => array( 'pretty_version' => 'v1.0.18', 'version' => '1.0.18.0', + 'reference' => '2c8a6cffc3220e99352ad958fe7cf06bf6f7690f', 'type' => 'library', 'install_path' => __DIR__ . '/../friendsofphp/proxy-manager-lts', 'aliases' => array(), - 'reference' => '2c8a6cffc3220e99352ad958fe7cf06bf6f7690f', 'dev_requirement' => false, ), 'jean85/pretty-package-versions' => array( 'pretty_version' => '2.0.6', 'version' => '2.0.6.0', + 'reference' => 'f9fdd29ad8e6d024f52678b570e5593759b550b4', 'type' => 'library', 'install_path' => __DIR__ . '/../jean85/pretty-package-versions', 'aliases' => array(), - 'reference' => 'f9fdd29ad8e6d024f52678b570e5593759b550b4', 'dev_requirement' => false, ), 'laminas/laminas-code' => array( 'pretty_version' => '4.13.0', 'version' => '4.13.0.0', + 'reference' => '7353d4099ad5388e84737dd16994316a04f48dbf', 'type' => 'library', 'install_path' => __DIR__ . '/../laminas/laminas-code', 'aliases' => array(), - 'reference' => '7353d4099ad5388e84737dd16994316a04f48dbf', 'dev_requirement' => false, ), 'masterminds/html5' => array( 'pretty_version' => '2.8.1', 'version' => '2.8.1.0', + 'reference' => 'f47dcf3c70c584de14f21143c55d9939631bc6cf', 'type' => 'library', 'install_path' => __DIR__ . '/../masterminds/html5', 'aliases' => array(), - 'reference' => 'f47dcf3c70c584de14f21143c55d9939631bc6cf', 'dev_requirement' => true, ), 'mongodb/mongodb' => array( - 'pretty_version' => '1.17.1', - 'version' => '1.17.1.0', + 'pretty_version' => '1.18.0', + 'version' => '1.18.0.0', + 'reference' => 'd421c418ef56a96f3dfa6b2828f936df6848ccf9', 'type' => 'library', 'install_path' => __DIR__ . '/../mongodb/mongodb', 'aliases' => array(), - 'reference' => '01d0840bf0678f519e72dc71b69c8a50a0856c2d', 'dev_requirement' => false, ), 'monolog/monolog' => array( 'pretty_version' => '3.5.0', 'version' => '3.5.0.0', + 'reference' => 'c915e2634718dbc8a4a15c61b0e62e7a44e14448', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), - 'reference' => 'c915e2634718dbc8a4a15c61b0e62e7a44e14448', 'dev_requirement' => false, ), 'myclabs/deep-copy' => array( 'pretty_version' => '1.11.1', 'version' => '1.11.1.0', + 'reference' => '7284c22080590fb39f2ffa3e9057f10a4ddd0e0c', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/deep-copy', 'aliases' => array(), - 'reference' => '7284c22080590fb39f2ffa3e9057f10a4ddd0e0c', 'dev_requirement' => true, ), 'nikic/php-parser' => array( 'pretty_version' => 'v5.0.2', 'version' => '5.0.2.0', + 'reference' => '139676794dc1e9231bf7bcd123cfc0c99182cb13', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), - 'reference' => '139676794dc1e9231bf7bcd123cfc0c99182cb13', 'dev_requirement' => true, ), 'ocramius/proxy-manager' => array( @@ -253,19 +253,19 @@ 'phar-io/manifest' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => '54750ef60c58e43759730615a392c31c80e23176', 'type' => 'library', 'install_path' => __DIR__ . '/../phar-io/manifest', 'aliases' => array(), - 'reference' => '54750ef60c58e43759730615a392c31c80e23176', 'dev_requirement' => true, ), 'phar-io/version' => array( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', + 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74', 'type' => 'library', 'install_path' => __DIR__ . '/../phar-io/version', 'aliases' => array(), - 'reference' => '4f7fd7836c6f332bb2933569e566a0d6c4cbed74', 'dev_requirement' => true, ), 'php-http/async-client-implementation' => array( @@ -283,100 +283,100 @@ 'phpdocumentor/reflection-common' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', + 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/reflection-common', 'aliases' => array(), - 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b', 'dev_requirement' => false, ), 'phpdocumentor/reflection-docblock' => array( 'pretty_version' => '5.3.0', 'version' => '5.3.0.0', + 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/reflection-docblock', 'aliases' => array(), - 'reference' => '622548b623e81ca6d78b721c5e029f4ce664f170', 'dev_requirement' => false, ), 'phpdocumentor/type-resolver' => array( 'pretty_version' => '1.8.2', 'version' => '1.8.2.0', + 'reference' => '153ae662783729388a584b4361f2545e4d841e3c', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/type-resolver', 'aliases' => array(), - 'reference' => '153ae662783729388a584b4361f2545e4d841e3c', 'dev_requirement' => false, ), 'phpstan/phpdoc-parser' => array( 'pretty_version' => '1.27.0', 'version' => '1.27.0.0', + 'reference' => '86e4d5a4b036f8f0be1464522f4c6b584c452757', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), - 'reference' => '86e4d5a4b036f8f0be1464522f4c6b584c452757', 'dev_requirement' => false, ), 'phpunit/php-code-coverage' => array( 'pretty_version' => '9.2.31', 'version' => '9.2.31.0', + 'reference' => '48c34b5d8d983006bd2adc2d0de92963b9155965', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-code-coverage', 'aliases' => array(), - 'reference' => '48c34b5d8d983006bd2adc2d0de92963b9155965', 'dev_requirement' => true, ), 'phpunit/php-file-iterator' => array( 'pretty_version' => '3.0.6', 'version' => '3.0.6.0', + 'reference' => 'cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-file-iterator', 'aliases' => array(), - 'reference' => 'cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf', 'dev_requirement' => true, ), 'phpunit/php-invoker' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', + 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-invoker', 'aliases' => array(), - 'reference' => '5a10147d0aaf65b58940a0b72f71c9ac0423cc67', 'dev_requirement' => true, ), 'phpunit/php-text-template' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-text-template', 'aliases' => array(), - 'reference' => '5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28', 'dev_requirement' => true, ), 'phpunit/php-timer' => array( 'pretty_version' => '5.0.3', 'version' => '5.0.3.0', + 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/php-timer', 'aliases' => array(), - 'reference' => '5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2', 'dev_requirement' => true, ), 'phpunit/phpunit' => array( 'pretty_version' => '9.6.18', 'version' => '9.6.18.0', + 'reference' => '32c2c2d6580b1d8ab3c10b1e9e4dc263cc69bb04', 'type' => 'library', 'install_path' => __DIR__ . '/../phpunit/phpunit', 'aliases' => array(), - 'reference' => '32c2c2d6580b1d8ab3c10b1e9e4dc263cc69bb04', 'dev_requirement' => true, ), 'psr/cache' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), - 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'dev_requirement' => false, ), 'psr/cache-implementation' => array( @@ -388,10 +388,10 @@ 'psr/clock' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/clock', 'aliases' => array(), - 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'dev_requirement' => false, ), 'psr/clock-implementation' => array( @@ -403,10 +403,10 @@ 'psr/container' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', + 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), - 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'dev_requirement' => false, ), 'psr/container-implementation' => array( @@ -418,10 +418,10 @@ 'psr/event-dispatcher' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', + 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), - 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( @@ -439,10 +439,10 @@ 'psr/link' => array( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', + 'reference' => '84b159194ecfd7eaa472280213976e96415433f7', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/link', 'aliases' => array(), - 'reference' => '84b159194ecfd7eaa472280213976e96415433f7', 'dev_requirement' => false, ), 'psr/link-implementation' => array( @@ -454,10 +454,10 @@ 'psr/log' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', + 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), - 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'dev_requirement' => false, ), 'psr/log-implementation' => array( @@ -476,190 +476,190 @@ 'sebastian/cli-parser' => array( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', + 'reference' => '2b56bea83a09de3ac06bb18b92f068e60cc6f50b', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/cli-parser', 'aliases' => array(), - 'reference' => '2b56bea83a09de3ac06bb18b92f068e60cc6f50b', 'dev_requirement' => true, ), 'sebastian/code-unit' => array( 'pretty_version' => '1.0.8', 'version' => '1.0.8.0', + 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit', 'aliases' => array(), - 'reference' => '1fc9f64c0927627ef78ba436c9b17d967e68e120', 'dev_requirement' => true, ), 'sebastian/code-unit-reverse-lookup' => array( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', + 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup', 'aliases' => array(), - 'reference' => 'ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5', 'dev_requirement' => true, ), 'sebastian/comparator' => array( 'pretty_version' => '4.0.8', 'version' => '4.0.8.0', + 'reference' => 'fa0f136dd2334583309d32b62544682ee972b51a', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/comparator', 'aliases' => array(), - 'reference' => 'fa0f136dd2334583309d32b62544682ee972b51a', 'dev_requirement' => true, ), 'sebastian/complexity' => array( 'pretty_version' => '2.0.3', 'version' => '2.0.3.0', + 'reference' => '25f207c40d62b8b7aa32f5ab026c53561964053a', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/complexity', 'aliases' => array(), - 'reference' => '25f207c40d62b8b7aa32f5ab026c53561964053a', 'dev_requirement' => true, ), 'sebastian/diff' => array( 'pretty_version' => '4.0.6', 'version' => '4.0.6.0', + 'reference' => 'ba01945089c3a293b01ba9badc29ad55b106b0bc', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/diff', 'aliases' => array(), - 'reference' => 'ba01945089c3a293b01ba9badc29ad55b106b0bc', 'dev_requirement' => true, ), 'sebastian/environment' => array( 'pretty_version' => '5.1.5', 'version' => '5.1.5.0', + 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/environment', 'aliases' => array(), - 'reference' => '830c43a844f1f8d5b7a1f6d6076b784454d8b7ed', 'dev_requirement' => true, ), 'sebastian/exporter' => array( 'pretty_version' => '4.0.6', 'version' => '4.0.6.0', + 'reference' => '78c00df8f170e02473b682df15bfcdacc3d32d72', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/exporter', 'aliases' => array(), - 'reference' => '78c00df8f170e02473b682df15bfcdacc3d32d72', 'dev_requirement' => true, ), 'sebastian/global-state' => array( 'pretty_version' => '5.0.7', 'version' => '5.0.7.0', + 'reference' => 'bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/global-state', 'aliases' => array(), - 'reference' => 'bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9', 'dev_requirement' => true, ), 'sebastian/lines-of-code' => array( 'pretty_version' => '1.0.4', 'version' => '1.0.4.0', + 'reference' => 'e1e4a170560925c26d424b6a03aed157e7dcc5c5', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/lines-of-code', 'aliases' => array(), - 'reference' => 'e1e4a170560925c26d424b6a03aed157e7dcc5c5', 'dev_requirement' => true, ), 'sebastian/object-enumerator' => array( 'pretty_version' => '4.0.4', 'version' => '4.0.4.0', + 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-enumerator', 'aliases' => array(), - 'reference' => '5c9eeac41b290a3712d88851518825ad78f45c71', 'dev_requirement' => true, ), 'sebastian/object-reflector' => array( 'pretty_version' => '2.0.4', 'version' => '2.0.4.0', + 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/object-reflector', 'aliases' => array(), - 'reference' => 'b4f479ebdbf63ac605d183ece17d8d7fe49c15c7', 'dev_requirement' => true, ), 'sebastian/recursion-context' => array( 'pretty_version' => '4.0.5', 'version' => '4.0.5.0', + 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/recursion-context', 'aliases' => array(), - 'reference' => 'e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1', 'dev_requirement' => true, ), 'sebastian/resource-operations' => array( 'pretty_version' => '3.0.4', 'version' => '3.0.4.0', + 'reference' => '05d5692a7993ecccd56a03e40cd7e5b09b1d404e', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/resource-operations', 'aliases' => array(), - 'reference' => '05d5692a7993ecccd56a03e40cd7e5b09b1d404e', 'dev_requirement' => true, ), 'sebastian/type' => array( 'pretty_version' => '3.2.1', 'version' => '3.2.1.0', + 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/type', 'aliases' => array(), - 'reference' => '75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7', 'dev_requirement' => true, ), 'sebastian/version' => array( 'pretty_version' => '3.0.2', 'version' => '3.0.2.0', + 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', 'type' => 'library', 'install_path' => __DIR__ . '/../sebastian/version', 'aliases' => array(), - 'reference' => 'c6c1022351a901512170118436c764e473f6de8c', 'dev_requirement' => true, ), 'symfony/apache-pack' => array( 'pretty_version' => 'v1.0.1', 'version' => '1.0.1.0', + 'reference' => '3aa5818d73ad2551281fc58a75afd9ca82622e6c', 'type' => 'symfony-pack', 'install_path' => __DIR__ . '/../symfony/apache-pack', 'aliases' => array(), - 'reference' => '3aa5818d73ad2551281fc58a75afd9ca82622e6c', 'dev_requirement' => false, ), 'symfony/asset' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '3ae493792fc17cc31b84e231f30f2d154575f171', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/asset', 'aliases' => array(), - 'reference' => '3ae493792fc17cc31b84e231f30f2d154575f171', 'dev_requirement' => false, ), 'symfony/browser-kit' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '725d5b15681685ac17b20b575254c75639722488', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/browser-kit', 'aliases' => array(), - 'reference' => '725d5b15681685ac17b20b575254c75639722488', 'dev_requirement' => true, ), 'symfony/cache' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'fc822951dd360a593224bb2cef90a087d0dff60f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache', 'aliases' => array(), - 'reference' => 'fc822951dd360a593224bb2cef90a087d0dff60f', 'dev_requirement' => false, ), 'symfony/cache-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', + 'reference' => '1d74b127da04ffa87aa940abe15446fa89653778', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache-contracts', 'aliases' => array(), - 'reference' => '1d74b127da04ffa87aa940abe15446fa89653778', 'dev_requirement' => false, ), 'symfony/cache-implementation' => array( @@ -671,127 +671,127 @@ 'symfony/clock' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => '8b9d08887353d627d5f6c3bf3373b398b49051c2', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/clock', 'aliases' => array(), - 'reference' => '8b9d08887353d627d5f6c3bf3373b398b49051c2', 'dev_requirement' => false, ), 'symfony/config' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '44deeba7233f08f383185ffa37dace3b3bc87364', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), - 'reference' => '44deeba7233f08f383185ffa37dace3b3bc87364', 'dev_requirement' => false, ), 'symfony/console' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '6b099f3306f7c9c2d2786ed736d0026b2903205f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), - 'reference' => '6b099f3306f7c9c2d2786ed736d0026b2903205f', 'dev_requirement' => false, ), 'symfony/css-selector' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'ec60a4edf94e63b0556b6a0888548bb400a3a3be', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/css-selector', 'aliases' => array(), - 'reference' => 'ec60a4edf94e63b0556b6a0888548bb400a3a3be', 'dev_requirement' => true, ), 'symfony/debug-bundle' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'b0db5c443883ce5c10c2265c77feb9833c3d9d6d', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/debug-bundle', 'aliases' => array(), - 'reference' => 'b0db5c443883ce5c10c2265c77feb9833c3d9d6d', 'dev_requirement' => true, ), 'symfony/dependency-injection' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '47f37af245df8457ea63409fc242b3cc825ce5eb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), - 'reference' => '47f37af245df8457ea63409fc242b3cc825ce5eb', 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', + 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), - 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'dev_requirement' => false, ), 'symfony/doctrine-bridge' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => 'e3cf34996df541c62acc1bd5f187aacc18a204d2', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/doctrine-bridge', 'aliases' => array(), - 'reference' => 'e3cf34996df541c62acc1bd5f187aacc18a204d2', 'dev_requirement' => false, ), 'symfony/doctrine-messenger' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '5a9ebba1b0be17af7b1e6b6433ad2cb6e35e97ca', 'type' => 'symfony-messenger-bridge', 'install_path' => __DIR__ . '/../symfony/doctrine-messenger', 'aliases' => array(), - 'reference' => '5a9ebba1b0be17af7b1e6b6433ad2cb6e35e97ca', 'dev_requirement' => false, ), 'symfony/dom-crawler' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '6cb272cbec4dc7a30a853d2931766b03bea92dda', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dom-crawler', 'aliases' => array(), - 'reference' => '6cb272cbec4dc7a30a853d2931766b03bea92dda', 'dev_requirement' => true, ), 'symfony/dotenv' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '8017ea2f0ff4fbda6ae1bf3f5409d5ecff982067', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dotenv', 'aliases' => array(), - 'reference' => '8017ea2f0ff4fbda6ae1bf3f5409d5ecff982067', 'dev_requirement' => false, ), 'symfony/error-handler' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '677b24759decff69e65b1e9d1471d90f95ced880', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/error-handler', 'aliases' => array(), - 'reference' => '677b24759decff69e65b1e9d1471d90f95ced880', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '834c28d533dd0636f910909d01b9ff45cc094b5e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), - 'reference' => '834c28d533dd0636f910909d01b9ff45cc094b5e', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', + 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), - 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -803,73 +803,73 @@ 'symfony/expression-language' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '0877c599cb260c9614f9229c0a2090d6919fd621', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/expression-language', 'aliases' => array(), - 'reference' => '0877c599cb260c9614f9229c0a2090d6919fd621', 'dev_requirement' => false, ), 'symfony/filesystem' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '2890e3a825bc0c0558526c04499c13f83e1b6b12', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), - 'reference' => '2890e3a825bc0c0558526c04499c13f83e1b6b12', 'dev_requirement' => false, ), 'symfony/finder' => array( 'pretty_version' => 'v7.0.0', 'version' => '7.0.0.0', + 'reference' => '6e5688d69f7cfc4ed4a511e96007e06c2d34ce56', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), - 'reference' => '6e5688d69f7cfc4ed4a511e96007e06c2d34ce56', 'dev_requirement' => false, ), 'symfony/flex' => array( 'pretty_version' => 'v2.4.5', 'version' => '2.4.5.0', + 'reference' => 'b0a405f40614c9f584b489d54f91091817b0e26e', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../symfony/flex', 'aliases' => array(), - 'reference' => 'b0a405f40614c9f584b489d54f91091817b0e26e', 'dev_requirement' => false, ), 'symfony/form' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '5cfe85c74caf924c7cec2134e169320b464ede84', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/form', 'aliases' => array(), - 'reference' => '5cfe85c74caf924c7cec2134e169320b464ede84', 'dev_requirement' => false, ), 'symfony/framework-bundle' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'b58bcb2f9c32405b8fbaa24a1e38c8a10bad7b21', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/framework-bundle', 'aliases' => array(), - 'reference' => 'b58bcb2f9c32405b8fbaa24a1e38c8a10bad7b21', 'dev_requirement' => false, ), 'symfony/http-client' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => '425f462a59d8030703ee04a9e1c666575ed5db3b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-client', 'aliases' => array(), - 'reference' => '425f462a59d8030703ee04a9e1c666575ed5db3b', 'dev_requirement' => false, ), 'symfony/http-client-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', + 'reference' => '1ee70e699b41909c209a0c930f11034b93578654', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-client-contracts', 'aliases' => array(), - 'reference' => '1ee70e699b41909c209a0c930f11034b93578654', 'dev_requirement' => false, ), 'symfony/http-client-implementation' => array( @@ -881,118 +881,118 @@ 'symfony/http-foundation' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '439fdfdd344943254b1ef6278613e79040548045', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), - 'reference' => '439fdfdd344943254b1ef6278613e79040548045', 'dev_requirement' => false, ), 'symfony/http-kernel' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => '37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-kernel', 'aliases' => array(), - 'reference' => '37c24ca28f65e3121a68f3dd4daeb36fb1fa2a72', 'dev_requirement' => false, ), 'symfony/intl' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '295995df4acf6790a35b9ce6ec32b313efb11ff8', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/intl', 'aliases' => array(), - 'reference' => '295995df4acf6790a35b9ce6ec32b313efb11ff8', 'dev_requirement' => false, ), 'symfony/mailer' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '72e16d87bf50a3ce195b9470c06bb9d7b816ea85', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mailer', 'aliases' => array(), - 'reference' => '72e16d87bf50a3ce195b9470c06bb9d7b816ea85', 'dev_requirement' => false, ), 'symfony/maker-bundle' => array( 'pretty_version' => 'v1.57.0', 'version' => '1.57.0.0', + 'reference' => '2c90181911241648356b828b86b04fe3571aca0b', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/maker-bundle', 'aliases' => array(), - 'reference' => '2c90181911241648356b828b86b04fe3571aca0b', 'dev_requirement' => true, ), 'symfony/messenger' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '804a8997f93313a8f7ed19e8cca3b44fdd18bdec', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/messenger', 'aliases' => array(), - 'reference' => '804a8997f93313a8f7ed19e8cca3b44fdd18bdec', 'dev_requirement' => false, ), 'symfony/mime' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mime', 'aliases' => array(), - 'reference' => 'c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716', 'dev_requirement' => false, ), 'symfony/monolog-bridge' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '5d4f188e60d1e38a1d9d4bb6fbbbc13111dff2b1', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/monolog-bridge', 'aliases' => array(), - 'reference' => '5d4f188e60d1e38a1d9d4bb6fbbbc13111dff2b1', 'dev_requirement' => false, ), 'symfony/monolog-bundle' => array( 'pretty_version' => 'v3.10.0', 'version' => '3.10.0.0', + 'reference' => '414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/monolog-bundle', 'aliases' => array(), - 'reference' => '414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181', 'dev_requirement' => false, ), 'symfony/notifier' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '515326dab227ecd3198b04df50edf949f7767a9a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/notifier', 'aliases' => array(), - 'reference' => '515326dab227ecd3198b04df50edf949f7767a9a', 'dev_requirement' => false, ), 'symfony/options-resolver' => array( 'pretty_version' => 'v7.0.0', 'version' => '7.0.0.0', + 'reference' => '700ff4096e346f54cb628ea650767c8130f1001f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/options-resolver', 'aliases' => array(), - 'reference' => '700ff4096e346f54cb628ea650767c8130f1001f', 'dev_requirement' => false, ), 'symfony/password-hasher' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '0eba656c16ecdf5588b3ddd2b2337b06173d839f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/password-hasher', 'aliases' => array(), - 'reference' => '0eba656c16ecdf5588b3ddd2b2337b06173d839f', 'dev_requirement' => false, ), 'symfony/phpunit-bridge' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '54ca13ec990a40411ad978e08d994fca6cdd865f', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/phpunit-bridge', 'aliases' => array(), - 'reference' => '54ca13ec990a40411ad978e08d994fca6cdd865f', 'dev_requirement' => true, ), 'symfony/polyfill-ctype' => array( @@ -1010,46 +1010,46 @@ 'symfony/polyfill-intl-grapheme' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => '32a9da87d7b3245e09ac426c83d334ae9f06f80f', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), - 'reference' => '32a9da87d7b3245e09ac426c83d334ae9f06f80f', 'dev_requirement' => false, ), 'symfony/polyfill-intl-icu' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => '07094a28851a49107f3ab4f9120ca2975a64b6e1', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-icu', 'aliases' => array(), - 'reference' => '07094a28851a49107f3ab4f9120ca2975a64b6e1', 'dev_requirement' => false, ), 'symfony/polyfill-intl-idn' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => 'a287ed7475f85bf6f61890146edbc932c0fff919', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), - 'reference' => 'a287ed7475f85bf6f61890146edbc932c0fff919', 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => 'bc45c394692b948b4d383a08d7753968bed9a83d', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), - 'reference' => 'bc45c394692b948b4d383a08d7753968bed9a83d', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), - 'reference' => '9773676c8a1bb1f8d4340a62efe641cf76eda7ec', 'dev_requirement' => false, ), 'symfony/polyfill-php72' => array( @@ -1085,109 +1085,109 @@ 'symfony/polyfill-php83' => array( 'pretty_version' => 'v1.29.0', 'version' => '1.29.0.0', + 'reference' => '86fcae159633351e5fd145d1c47de6c528f8caff', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php83', 'aliases' => array(), - 'reference' => '86fcae159633351e5fd145d1c47de6c528f8caff', 'dev_requirement' => false, ), 'symfony/process' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '0e7727191c3b71ebec6d529fa0e50a01ca5679e9', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), - 'reference' => '0e7727191c3b71ebec6d529fa0e50a01ca5679e9', 'dev_requirement' => false, ), 'symfony/property-access' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '44e3746d4de8d0961a44ee332c74dd0918266127', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/property-access', 'aliases' => array(), - 'reference' => '44e3746d4de8d0961a44ee332c74dd0918266127', 'dev_requirement' => false, ), 'symfony/property-info' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'e160f92ea827243abf2dbf36b8460b1377194406', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/property-info', 'aliases' => array(), - 'reference' => 'e160f92ea827243abf2dbf36b8460b1377194406', 'dev_requirement' => false, ), 'symfony/routing' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => 'ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/routing', 'aliases' => array(), - 'reference' => 'ba6bf07d43289c6a4b4591ddb75bc3bc5f069c19', 'dev_requirement' => false, ), 'symfony/runtime' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'ef2c2fd4b40fb8cd22221154399ad8888e81cdb5', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../symfony/runtime', 'aliases' => array(), - 'reference' => 'ef2c2fd4b40fb8cd22221154399ad8888e81cdb5', 'dev_requirement' => false, ), 'symfony/security-bundle' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => '5d620bd5493d62d8016b2383d8690fade66163c1', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/security-bundle', 'aliases' => array(), - 'reference' => '5d620bd5493d62d8016b2383d8690fade66163c1', 'dev_requirement' => false, ), 'symfony/security-core' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '72b9d961a5dcd21e6bc29b99df51a9000a15dde0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/security-core', 'aliases' => array(), - 'reference' => '72b9d961a5dcd21e6bc29b99df51a9000a15dde0', 'dev_requirement' => false, ), 'symfony/security-csrf' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => 'f0f724e599f069b768e335e4bdf795726c7dfe8e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/security-csrf', 'aliases' => array(), - 'reference' => 'f0f724e599f069b768e335e4bdf795726c7dfe8e', 'dev_requirement' => false, ), 'symfony/security-http' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'f3a70a937128f47366821a9f4b5dbfaa0ba9c862', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/security-http', 'aliases' => array(), - 'reference' => 'f3a70a937128f47366821a9f4b5dbfaa0ba9c862', 'dev_requirement' => false, ), 'symfony/serializer' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'c71d61c6c37804e10981960e5f5ebc2c8f0a4fbb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/serializer', 'aliases' => array(), - 'reference' => 'c71d61c6c37804e10981960e5f5ebc2c8f0a4fbb', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v3.4.1', 'version' => '3.4.1.0', + 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), - 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0', 'dev_requirement' => false, ), 'symfony/service-implementation' => array( @@ -1199,37 +1199,37 @@ 'symfony/stopwatch' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '983900d6fddf2b0cbaacacbbad07610854bd8112', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/stopwatch', 'aliases' => array(), - 'reference' => '983900d6fddf2b0cbaacacbbad07610854bd8112', 'dev_requirement' => false, ), 'symfony/string' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'f5832521b998b0bec40bee688ad5de98d4cf111b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), - 'reference' => 'f5832521b998b0bec40bee688ad5de98d4cf111b', 'dev_requirement' => false, ), 'symfony/translation' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '5b75e872f7d135d7abb4613809fadc8d9f3d30a0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), - 'reference' => '5b75e872f7d135d7abb4613809fadc8d9f3d30a0', 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( 'pretty_version' => 'v3.4.1', 'version' => '3.4.1.0', + 'reference' => '06450585bf65e978026bda220cdebca3f867fde7', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), - 'reference' => '06450585bf65e978026bda220cdebca3f867fde7', 'dev_requirement' => false, ), 'symfony/translation-implementation' => array( @@ -1241,109 +1241,109 @@ 'symfony/twig-bridge' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'd16aa4eb5bdaeb6e7407782431dc70530f3b1df5', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/twig-bridge', 'aliases' => array(), - 'reference' => 'd16aa4eb5bdaeb6e7407782431dc70530f3b1df5', 'dev_requirement' => false, ), 'symfony/twig-bundle' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'acab2368f53491e018bf31ef48b39df55a6812ef', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/twig-bundle', 'aliases' => array(), - 'reference' => 'acab2368f53491e018bf31ef48b39df55a6812ef', 'dev_requirement' => false, ), 'symfony/validator' => array( 'pretty_version' => 'v7.0.5', 'version' => '7.0.5.0', + 'reference' => '6a73d479191a0bbbd9ffa3886af6e6ff6e79fb86', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/validator', 'aliases' => array(), - 'reference' => '6a73d479191a0bbbd9ffa3886af6e6ff6e79fb86', 'dev_requirement' => false, ), 'symfony/var-dumper' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'e03ad7c1535e623edbb94c22cc42353e488c6670', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-dumper', 'aliases' => array(), - 'reference' => 'e03ad7c1535e623edbb94c22cc42353e488c6670', 'dev_requirement' => false, ), 'symfony/var-exporter' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => 'dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-exporter', 'aliases' => array(), - 'reference' => 'dfb0acb6803eb714f05d97dd4c5abe6d5fa9fe41', 'dev_requirement' => false, ), 'symfony/web-link' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '855a347feb2ecfc1d1a379c739aff956d4cbec00', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/web-link', 'aliases' => array(), - 'reference' => '855a347feb2ecfc1d1a379c739aff956d4cbec00', 'dev_requirement' => false, ), 'symfony/web-profiler-bundle' => array( 'pretty_version' => 'v7.0.4', 'version' => '7.0.4.0', + 'reference' => '542daea1345fe181cbfd52db00717174a838ea0a', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../symfony/web-profiler-bundle', 'aliases' => array(), - 'reference' => '542daea1345fe181cbfd52db00717174a838ea0a', 'dev_requirement' => true, ), 'symfony/yaml' => array( 'pretty_version' => 'v7.0.3', 'version' => '7.0.3.0', + 'reference' => '2d4fca631c00700597e9442a0b2451ce234513d3', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), - 'reference' => '2d4fca631c00700597e9442a0b2451ce234513d3', 'dev_requirement' => false, ), 'theseer/tokenizer' => array( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', + 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2', 'type' => 'library', 'install_path' => __DIR__ . '/../theseer/tokenizer', 'aliases' => array(), - 'reference' => '737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2', 'dev_requirement' => true, ), 'twig/extra-bundle' => array( 'pretty_version' => 'v3.8.0', 'version' => '3.8.0.0', + 'reference' => '32807183753de0388c8e59f7ac2d13bb47311140', 'type' => 'symfony-bundle', 'install_path' => __DIR__ . '/../twig/extra-bundle', 'aliases' => array(), - 'reference' => '32807183753de0388c8e59f7ac2d13bb47311140', 'dev_requirement' => false, ), 'twig/twig' => array( 'pretty_version' => 'v3.8.0', 'version' => '3.8.0.0', + 'reference' => '9d15f0ac07f44dc4217883ec6ae02fd555c6f71d', 'type' => 'library', 'install_path' => __DIR__ . '/../twig/twig', 'aliases' => array(), - 'reference' => '9d15f0ac07f44dc4217883ec6ae02fd555c6f71d', 'dev_requirement' => false, ), 'webmozart/assert' => array( 'pretty_version' => '1.11.0', 'version' => '1.11.0.0', + 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), - 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'dev_requirement' => false, ), ),