dddmo 5 mēneši atpakaļ
vecāks
revīzija
cbdc6e0835
100 mainītis faili ar 1849 papildinājumiem un 1779 dzēšanām
  1. 16 4
      .env
  2. 0 350
      app/JsonRpc/NewsService.php
  3. 0 84
      app/JsonRpc/NewsServiceInterface.php
  4. 0 27
      app/Model/ArticleData.php
  5. 0 27
      app/Model/Category.php
  6. 0 27
      app/Model/Link.php
  7. 0 19
      app/Model/Model.php
  8. 0 27
      app/Model/Website.php
  9. 0 27
      app/Model/WebsiteColumn.php
  10. 0 27
      app/Model/WebsiteRole.php
  11. 0 27
      app/Model/WebsiteRoleUser.php
  12. 185 186
      composer.lock
  13. 29 0
      config/autoload/databases.php
  14. 1 1
      config/autoload/server.php
  15. 0 0
      runtime/container/classes.cache
  16. 0 0
      runtime/container/scan.cache
  17. 1 1
      runtime/hyperf.pid
  18. 12 0
      runtime/logs/hyperf.log
  19. 30 23
      vendor/composer/autoload_classmap.php
  20. 30 23
      vendor/composer/autoload_static.php
  21. 203 193
      vendor/composer/installed.json
  22. 268 268
      vendor/composer/installed.php
  23. 9 1
      vendor/composer/pcre/README.md
  24. 12 4
      vendor/composer/pcre/composer.json
  25. 2 0
      vendor/composer/pcre/src/Regex.php
  26. 15 0
      vendor/composer/semver/CHANGELOG.md
  27. 2 2
      vendor/composer/semver/composer.json
  28. 0 11
      vendor/composer/semver/phpstan-baseline.neon
  29. 1 1
      vendor/composer/semver/src/CompilingMatcher.php
  30. 5 0
      vendor/composer/semver/src/VersionParser.php
  31. 8 1
      vendor/doctrine/annotations/README.md
  32. 1 1
      vendor/doctrine/annotations/UPGRADE.md
  33. 3 3
      vendor/doctrine/annotations/composer.json
  34. 8 1
      vendor/doctrine/annotations/docs/en/index.rst
  35. 10 3
      vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
  36. 3 3
      vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php
  37. 5 3
      vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
  38. 3 2
      vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PsrCachedReader.php
  39. 0 15
      vendor/doctrine/annotations/psalm.xml
  40. 34 10
      vendor/fidry/cpu-core-counter/README.md
  41. 179 0
      vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php
  42. 4 2
      vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php
  43. 5 2
      vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php
  44. 7 4
      vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php
  45. 122 0
      vendor/friendsofphp/php-cs-fixer/CHANGELOG.md
  46. 14 7
      vendor/friendsofphp/php-cs-fixer/composer.json
  47. 12 10
      vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php
  48. 1 90
      vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php
  49. 14 0
      vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php
  50. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php
  51. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php
  52. 1 1
      vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php
  53. 7 7
      vendor/friendsofphp/php-cs-fixer/src/Console/Application.php
  54. 28 20
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php
  55. 8 8
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php
  56. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php
  57. 7 7
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php
  58. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Console/Command/WorkerCommand.php
  59. 16 16
      vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php
  60. 9 9
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php
  61. 4 4
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php
  62. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputFactory.php
  63. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JunitReporter.php
  64. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterFactory.php
  65. 4 4
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/TextReporter.php
  66. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterFactory.php
  67. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/TextReporter.php
  68. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php
  69. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php
  70. 3 3
      vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php
  71. 7 4
      vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php
  72. 22 6
      vendor/friendsofphp/php-cs-fixer/src/DocBlock/TypeExpression.php
  73. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/DocLexer.php
  74. 2 2
      vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php
  75. 5 5
      vendor/friendsofphp/php-cs-fixer/src/Documentation/FixerDocumentGenerator.php
  76. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Documentation/RuleSetDocumentationGenerator.php
  77. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Error/SourceExceptionFactory.php
  78. 1 1
      vendor/friendsofphp/php-cs-fixer/src/FileReader.php
  79. 48 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractPhpUnitFixer.php
  80. 1 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractShortOperatorFixer.php
  81. 33 18
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php
  82. 18 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php
  83. 15 15
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php
  84. 1 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php
  85. 18 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php
  86. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php
  87. 6 2
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php
  88. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php
  89. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/AttributeEmptyParenthesesFixer.php
  90. 16 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/OrderedAttributesFixer.php
  91. 25 3
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php
  92. 61 34
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesPositionFixer.php
  93. 33 7
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/CurlyBracesPositionFixer.php
  94. 14 1
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoTrailingCommaInSinglelineFixer.php
  95. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php
  96. 15 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NumericLiteralSeparatorFixer.php
  97. 28 17
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/PsrAutoloadingFixer.php
  98. 24 13
      vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ConstantCaseFixer.php
  99. 13 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php
  100. 26 15
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php

+ 16 - 4
.env

@@ -1,4 +1,4 @@
-APP_NAME=news_producer
+APP_NAME=collector_producer
 APP_ENV=dev
 APP_ENV=dev
 
 
 
 
@@ -12,7 +12,19 @@ DB_CHARSET=utf8mb4
 DB_COLLATION=utf8mb4_unicode_ci
 DB_COLLATION=utf8mb4_unicode_ci
 DB_PREFIX=
 DB_PREFIX=
 
 
-REDIS_HOST=101.254.114.211
-REDIS_AUTH=YPWWnFnNebc7427B
-REDIS_PORT=26739
+
+
+DB_DRIVER2=mysql
+DB_HOST2=101.254.114.211
+DB_PORT2=13306
+DB_DATABASE2=collector
+DB_USERNAME2=root
+DB_PASSWORD2=xKmapDpKCxMMSkbe
+DB_CHARSET2=utf8mb4
+DB_COLLATION2=utf8mb4_unicode_ci
+DB_PREFIX2=col_
+
+REDIS_HOST=localhost
+REDIS_AUTH=(null)
+REDIS_PORT=6379
 REDIS_DB=0
 REDIS_DB=0

+ 0 - 350
app/JsonRpc/NewsService.php

@@ -1,350 +0,0 @@
-<?php
-namespace App\JsonRpc;
-
-use App\Model\Article;
-use App\Model\ArticleData;
-use App\Model\Category;
-use App\Model\WebsiteCategory;
-use Hyperf\DbConnection\Db;
-use Hyperf\RpcServer\Annotation\RpcService;
-use App\Tools\Result;
-
-
-#[RpcService(name: "NewsService", protocol: "jsonrpc-http", server: "jsonrpc-http")]
-class NewsService implements NewsServiceInterface
-{
-    /**
-     * @param array $data
-     * @return array|mixed
-     */
-    //*********getCategoryInfo********** */
-    public function getCategoryInfo(array $data): array
-    {
-        $where = [
-            ['name','like','%'.$data['keyWord'].'%'],
-            ['website_id','=',$data['website_id']],
-            ['pid','=',$data['pid']??0]
-        ];
-        $rep = Category::where($where)->limit($data['pageSize'])->orderBy("sort","asc")->offset(($data['page']-1)*$data['pageSize'])->get();
-        $count =  Category::where($where)->count();
-        $data = [
-            'rows'=>$rep->toArray(),
-            'count'=>$count
-        ];
-        if(empty($rep->toArray())){
-            return Result::error("没有栏目数据");
-        }
-        return Result::success($data);
-    }
-
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getCategoryList(array $data): array
-    {
-        $where = [
-            ['name','like','%'.$data['keyWord'].'%'],
-            ['website_id','=',$data['website_id']],
-            ['pid','=',$data['pid']??0]
-        ];
-        $rep = Category::where($where)->limit($data['pageSize'])->orderBy("sort","asc")->offset(($data['page']-1)*$data['pageSize'])->get();
-        $count =  Category::where($where)->count();
-        $data = [
-            'rows'=>$rep->toArray(),
-            'count'=>$count
-        ];
-        if(empty($rep->toArray())){
-            return Result::error("没有栏目数据");
-        }
-        return Result::success($data);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function categoryList(array $data): array
-    {
-       $result =  Category::where($data)->get();
-        if(empty($result)){
-            return Result::error("没有栏目数据");
-        }
-        return Result::success($result);
-    }
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function addCategory(array $data): array
-    {
-        $id = Category::insertGetId($data);
-        if(empty($id)){
-            return Result::error("添加失败");
-        }
-        return Result::success(['id'=>$id]);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function delCategory(array $data): array
-    {
-        $categoryList = Category::where(['pid'=>$data['id']])->get();
-        var_dump("分类列表:",$data,$categoryList);
-        if($categoryList->toArray()){
-            return Result::error("分类下面有子分类不能删除");
-        }
-        $articleList = Article::where(['catid'=>$data['id']])->get();
-        var_dump("文章列表:",$articleList);
-        if($articleList->toArray()){
-            return Result::error("分类下面有资讯不能删除");
-        }
-        $result = Category::where($data)->delete();
-        if(!$result){
-            return Result::error("删除失败");
-        }
-        return Result::success($result);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function updateCategory(array $data): array
-    {
-        $where = [
-            'id'=>$data['id']
-        ];
-        $result = Category::where($where)->update($data);
-        if($result){
-            return Result::success($result);
-        }else{
-            return Result::error("更新失败");
-        }
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getArticleList(array $data): array
-    {
-        $where= [];
-        
-        if(isset($data['keyWord'])){
-            $where[] =   ['article.title','like','%'.$data['keyWord'].'%'];
-            $where[] =   ['article.status','!=','5'];
-        }
-        if(isset($data['catid'])){
-            $where[] =   ['article.catid',$data['catid']];
-            $where[] =   ['article.status', '1'];
-        }elseif(isset($data['keyword'])){
-            $where[] =   ['article.title','like','%'.$data['keyword'].'%'];
-            $where[] =   ['article.status', '1'];
-        }else{
-            $where[] =   ['article.catid',$data['catid']];
-            $where[] =   ['article.title','like','%'.$data['keyword'].'%'];
-            $where[] =   ['article.status', '1'];
-        }
-        $rep = Article::where($where)
-            ->leftJoin('category','article.catid','category.id')
-            ->leftJoin("article_data","article.id","article_data.article_id")
-            ->select("article.*","category.name","article_data.content")
-            ->orderBy("article.id","desc")
-            ->limit($data['pageSize'])
-            ->offset(($data['page']-1)*$data['pageSize'])->get();
-        $count =  Article::where($where)->count();
-        $data = [
-            'rows'=>$rep->toArray(),
-            'count'=>$count
-        ];
-        if(empty($rep)){
-            return Result::error("没有信息数据");
-        }
-        return Result::success($data);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function addArticle(array $data): array
-    {
-        Db::beginTransaction();
-        try{
-
-        $data['cat_arr_id'] = isset($data['cat_arr_id'])?json_encode($data['cat_arr_id']):'';
-        $data['tag'] = isset($data['tag'])?json_encode($data['tag']):'';
-            $articleData = $data;
-            unset($articleData['content']);
-            $id = Article::insertGetId($articleData);
-            $articleDataContent = [
-                'article_id'=>$id,
-                'content'=>$data['content']
-            ];
-            ArticleData::insertGetId($articleDataContent);
-            Db::commit();
-        } catch(\Throwable $ex){
-            Db::rollBack();
-            var_dump($ex->getMessage());
-            return Result::error("创建失败",0);
-        }
-
-        return Result::success(['id'=>$id]);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function delArticle(array $data): array
-    {
-        $result = Article::where($data)->update(['status'=>5]);
-        if(!$result){
-            return Result::error("删除失败");
-        }
-        return Result::success($result);
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function updateArticle(array $data): array
-    {
-        Db::beginTransaction();
-        try{
-            $data['cat_arr_id'] = isset($data['cat_arr_id'])?json_encode($data['cat_arr_id']):'';
-            $data['tag'] = isset($data['tag'])?json_encode($data['tag']):'';
-            $articleData = $data;
-            unset($articleData['content']);
-            unset($articleData['status_name']);
-            unset($articleData['name']);
-            unset($articleData['content']);
-            unset($articleData['pid_arr']);
-            unset($articleData['pid']);
-            $id = Article::where(['id'=>$data['id']])->update($articleData);
-            $articleDataContent = [
-                'content'=>$data['content']
-            ];
-            ArticleData::where(['article_id'=>$data['id']])->update($articleDataContent);
-        } catch(\Throwable $ex){
-            Db::rollBack();
-            var_dump($ex->getMessage());
-            return Result::error("更新失败",0);
-        }
-        return Result::success([]);
-
-    }
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getArticleInfo(array $data): array
-    {
-        $where = [
-            'article.id'=>$data['id']
-        ];
-        $result = Article::where($where)->leftJoin("article_data","article.id","article_data.article_id")->first();
-        if($result){
-            return Result::success($result->toArray());
-        }else{
-            return Result::error("查询失败",0);
-        }
-    }
-    /**
-     *  获取新闻
-     * @param array $data
-     * @return array
-    */
-    public function getWebsiteArticlett(array $data): array   
-    {
-    
-       $category = WebsiteCategory::where('website_id',$data['website_id'])->select('category_id')->get();
-       $category = $category->toArray();
-       $result= [];
-       if($category){
-            $category_ids = [];
-            foreach($category as $val){
-                array_push($category_ids,$val['category_id']);
-            }
-            if(isset($data['placeid'])){
-                $placeid=$data['placeid']-1;
-                $result=Article::where('status',1)->where('level',$data['level'])->whereIn("catid",$category_ids)->orderBy("created_at","desc")->offset($placeid)->limit($data['pageSize'])->get();
-            }else{
-                $result=Article::where('status',1)->where('level',$data['level'])->whereIn("catid",$category_ids)->orderBy("created_at","desc")->offset(0)->limit($data['pageSize'])->get();
-            }
-            if(empty($result)){
-                return Result::error("暂无头条新闻",0);
-            }            
-            return Result::success($result); 
-        }else{
-            return Result::error("本网站下暂无相关栏目",0);
-        }
-    }
-    /**
-     * 获取模块新闻
-     * @param array $data
-     * @return array
-    */
-   
-    public function getWebsiteModelArticles(array $data): array    
-    {
-        $catid=$data['catid'];
-        $category = WebsiteCategory::where('website_id',$data['website_id'])->where('category_id',$catid)->select('category_id')->get();
-        $category = $category->toArray();
-        if(!empty($category)){
-            $where=[
-                'status' => 1,
-                'catid' => $catid,
-            ];
-            if($data['level']==1){
-                $level=[
-                    0=>'1',
-                    1=>'4',
-                    2=>'5'
-                ];
-                $result = Article::where($where)->whereIn('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get();
-            }elseif($data['level']==2){
-                $level='2';
-                $result = Article::where($where)->where('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get();
-
-            }else{
-                $level='3';
-                $result = Article::where($where)->where('level',$level)->orderBy("created_at","desc")->limit($data['pagesize'])->get();
-            }
-            $result= $result->toArray();
-            if(!empty($result) && isset($data['placeid']) && !empty($data['placeid'])){
-                $placeid=$data['placeid']-1;
-                if($level==2 || $level==3){
-                    $where =[
-                        'level' => $level
-                    ];
-                    $result = Article::where($where)
-                    ->orderBy("created_at","desc")
-                    ->offset($placeid)
-                    ->limit($data['pagesize'])->get();
-                }else{
-                    $result = Article::where($where)
-                    ->whereIn('level',$level)
-                    ->offset($placeid)
-                    ->orderBy("created_at","desc")
-                    ->limit($data['pagesize'])->get();
-                } 
-            }
-            if(empty($result)){
-                return Result::error("此栏目暂无相关新闻",0);
-            }
-        }else{
-            return Result::error("此网站暂无此栏目",0);
-        
-        }
-        return Result::success($result);  
-        
-    }
-    
-}

+ 0 - 84
app/JsonRpc/NewsServiceInterface.php

@@ -1,84 +0,0 @@
-<?php
-namespace App\JsonRpc;
-interface NewsServiceInterface
-{
-    
-    /**
-     * @param array $data
-     *  @return array
-    */
-    public function getCategoryList(array $data):array;
-    /**
-     * @param array $data
-     *  @return array
-     */
-    public function categoryList(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function addCategory(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function delCategory(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function updateCategory(array $data):array;
-
-    /**
-     * @param string $keyword
-     * @param int $page
-     * @param int $pageSize
-     */
-    public function getArticleList(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function addArticle(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function delArticle(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function updateArticle(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getArticleInfo(array $data):array;
-     /**
-     * @param array $data
-     * @return array|mixed
-     */
-    public function getCategoryInfo(array $data):array;
-
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getWebsiteArticlett(array $data):array;
-    /**
-     * @param array $data
-     * @return array
-     */
-    public function getWebsiteModelArticles(array $data):array;
-
-}
-
-

+ 0 - 27
app/Model/ArticleData.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class ArticleData extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'article_data';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 27
app/Model/Category.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class Category extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'category';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 27
app/Model/Link.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class Link extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'link';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 19
app/Model/Model.php

@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-/**
- * This file is part of Hyperf.
- *
- * @link     https://www.hyperf.io
- * @document https://hyperf.wiki
- * @contact  group@hyperf.io
- * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
- */
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model as BaseModel;
-
-abstract class Model extends BaseModel
-{
-}

+ 0 - 27
app/Model/Website.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class Website extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'website';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 27
app/Model/WebsiteColumn.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class WebsiteColumn extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'website_column';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 27
app/Model/WebsiteRole.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class WebsiteRole extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'website_role';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

+ 0 - 27
app/Model/WebsiteRoleUser.php

@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace App\Model;
-
-use Hyperf\DbConnection\Model\Model;
-
-/**
- */
-class WebsiteRoleUser extends Model
-{
-    /**
-     * The table associated with the model.
-     */
-    protected ?string $table = 'website_role_user';
-
-    /**
-     * The attributes that are mass assignable.
-     */
-    protected array $fillable = [];
-
-    /**
-     * The attributes that should be cast to native types.
-     */
-    protected array $casts = [];
-}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 185 - 186
composer.lock


+ 29 - 0
config/autoload/databases.php

@@ -13,6 +13,35 @@ use function Hyperf\Support\env;
 
 
 return [
 return [
     'default' => [
     'default' => [
+        'driver' => env('DB_DRIVER2', 'mysql'),
+        'host' => env('DB_HOST2', 'localhost'),
+        'database' => env('DB_DATABASE2', 'hyperf'),
+        'port' => env('DB_PORT2', 3306),
+        'username' => env('DB_USERNAME2', 'root'),
+        'password' => env('DB_PASSWORD2', ''),
+        'charset' => env('DB_CHARSET2', 'utf8'),
+        'collation' => env('DB_COLLATION2', 'utf8_unicode_ci'),
+        'prefix' => env('DB_PREFIX2', ''),
+        'pool' => [
+            'min_connections' => 1,
+            'max_connections' => 10,
+            'connect_timeout' => 10.0,
+            'wait_timeout' => 3.0,
+            'heartbeat' => -1,
+            'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60),
+        ],
+        'variables' => [
+            'time_zone' => '+08:00', // 设置MySQL连接的时区
+        ],
+        'commands' => [
+            'gen:model' => [
+                'path' => 'app/Model',
+                'force_casts' => true,
+                'inheritance' => 'Model',
+            ],
+        ],
+    ],
+    'secondary' => [
         'driver' => env('DB_DRIVER', 'mysql'),
         'driver' => env('DB_DRIVER', 'mysql'),
         'host' => env('DB_HOST', 'localhost'),
         'host' => env('DB_HOST', 'localhost'),
         'database' => env('DB_DATABASE', 'hyperf'),
         'database' => env('DB_DATABASE', 'hyperf'),

+ 1 - 1
config/autoload/server.php

@@ -20,7 +20,7 @@ return [
             'name' => 'jsonrpc-http',
             'name' => 'jsonrpc-http',
             'type' => Server::SERVER_HTTP,
             'type' => Server::SERVER_HTTP,
             'host' => '0.0.0.0',
             'host' => '0.0.0.0',
-            'port' => 9505,
+            'port' => 9509,
             'sock_type' => SWOOLE_SOCK_TCP,
             'sock_type' => SWOOLE_SOCK_TCP,
             'callbacks' => [
             'callbacks' => [
                 Event::ON_REQUEST => [Hyperf\JsonRpc\HttpServer::class, 'onRequest'],
                 Event::ON_REQUEST => [Hyperf\JsonRpc\HttpServer::class, 'onRequest'],

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
runtime/container/classes.cache


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
runtime/container/scan.cache


+ 1 - 1
runtime/hyperf.pid

@@ -1 +1 @@
-137
+439

+ 12 - 0
runtime/logs/hyperf.log

@@ -0,0 +1,12 @@
+[2024-11-11T07:09:14.025620+00:00] sql.INFO: [141.22] select * from `article` [] []
+[2024-11-11T07:10:46.911661+00:00] sql.INFO: [148.07] select * from `article` limit 1 [] []
+[2024-11-11T07:10:47.007749+00:00] sql.INFO: [70.84] select * from `col_article` limit 1 [] []
+[2024-11-11T07:24:22.378221+00:00] sql.INFO: [85.85] select * from `col_web` where (`name` = '中华人民共和国公安部') limit 1 [] []
+[2024-11-11T07:24:22.660190+00:00] sql.INFO: [267.67] insert into `col_web` (`name`, `url`) values ('中华人民共和国公安部', 'https://www.mps.gov.cn/') [] []
+[2024-11-11T07:24:26.380734+00:00] sql.INFO: [15.95] select * from `col_web` where (`name` = '中华人民共和国公安部') limit 1 [] []
+[2024-11-11T07:26:54.043337+00:00] sql.INFO: [82.76] select * from `col_web` where (`name` = '中华人民共和国公安部') limit 1 [] []
+[2024-11-11T07:27:49.603806+00:00] sql.INFO: [19.4] select * from `col_web` where (`name` = '中华人民共和国公安部') limit 1 [] []
+[2024-11-11T07:27:55.025670+00:00] sql.INFO: [167.04] select * from `col_web` where (`name` = '中华人民共和国公安部') limit 1 [] []
+[2024-11-11T07:27:55.249209+00:00] sql.INFO: [208.33] insert into `col_web` (`name`, `url`, `created_at`) values ('中华人民共和国公安部', 'https://www.mps.gov.cn/', '2024-11-11 15:27:55') [] []
+[2024-11-11T08:12:42.450348+00:00] sql.INFO: [116.62] select * from `col_web` [] []
+[2024-11-11T08:13:15.416245+00:00] sql.INFO: [17.45] select * from `col_web` where (`name` like '%公安部%') limit 1 [] []

+ 30 - 23
vendor/composer/autoload_classmap.php

@@ -11,20 +11,13 @@ return array(
     'App\\Controller\\IndexController' => $baseDir . '/app/Controller/IndexController.php',
     'App\\Controller\\IndexController' => $baseDir . '/app/Controller/IndexController.php',
     'App\\Exception\\Handler\\AppExceptionHandler' => $baseDir . '/app/Exception/Handler/AppExceptionHandler.php',
     'App\\Exception\\Handler\\AppExceptionHandler' => $baseDir . '/app/Exception/Handler/AppExceptionHandler.php',
     'App\\Exception\\Handler\\JsonRpcExceptionHandler' => $baseDir . '/app/Exception/Handler/JsonRpcExceptionHandler.php',
     'App\\Exception\\Handler\\JsonRpcExceptionHandler' => $baseDir . '/app/Exception/Handler/JsonRpcExceptionHandler.php',
-    'App\\JsonRpc\\NewsService' => $baseDir . '/app/JsonRpc/NewsService.php',
-    'App\\JsonRpc\\NewsServiceInterface' => $baseDir . '/app/JsonRpc/NewsServiceInterface.php',
+    'App\\JsonRpc\\CollectorService' => $baseDir . '/app/JsonRpc/CollectorService.php',
+    'App\\JsonRpc\\CollectorServiceInterface' => $baseDir . '/app/JsonRpc/CollectorServiceInterface.php',
     'App\\Listener\\DbQueryExecutedListener' => $baseDir . '/app/Listener/DbQueryExecutedListener.php',
     'App\\Listener\\DbQueryExecutedListener' => $baseDir . '/app/Listener/DbQueryExecutedListener.php',
     'App\\Listener\\ResumeExitCoordinatorListener' => $baseDir . '/app/Listener/ResumeExitCoordinatorListener.php',
     'App\\Listener\\ResumeExitCoordinatorListener' => $baseDir . '/app/Listener/ResumeExitCoordinatorListener.php',
     'App\\Model\\Article' => $baseDir . '/app/Model/Article.php',
     'App\\Model\\Article' => $baseDir . '/app/Model/Article.php',
-    'App\\Model\\ArticleData' => $baseDir . '/app/Model/ArticleData.php',
-    'App\\Model\\Category' => $baseDir . '/app/Model/Category.php',
-    'App\\Model\\Link' => $baseDir . '/app/Model/Link.php',
-    'App\\Model\\Model' => $baseDir . '/app/Model/Model.php',
-    'App\\Model\\Website' => $baseDir . '/app/Model/Website.php',
-    'App\\Model\\WebsiteCategory' => $baseDir . '/app/Model/WebsiteCategory.php',
-    'App\\Model\\WebsiteColumn' => $baseDir . '/app/Model/WebsiteColumn.php',
-    'App\\Model\\WebsiteRole' => $baseDir . '/app/Model/WebsiteRole.php',
-    'App\\Model\\WebsiteRoleUser' => $baseDir . '/app/Model/WebsiteRoleUser.php',
+    'App\\Model\\OldModel\\Article' => $baseDir . '/app/Model/OldModel/Article.php',
+    'App\\Model\\Web' => $baseDir . '/app/Model/Web.php',
     'App\\Tools\\Result' => $baseDir . '/app/Tools/Result.php',
     'App\\Tools\\Result' => $baseDir . '/app/Tools/Result.php',
     'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
     'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
     'CURLStringFile' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
     'CURLStringFile' => $vendorDir . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
@@ -120,6 +113,12 @@ return array(
     'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php',
     'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php',
     'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php',
     'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php',
     'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php',
     'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php',
+    'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => $vendorDir . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchFlags' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => $vendorDir . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
     'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php',
     'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php',
     'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php',
     'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php',
     'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php',
     'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php',
@@ -168,6 +167,7 @@ return array(
     'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
     'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
     'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
     'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
     'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
     'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+    'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
     'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
     'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
     'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
     'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
     'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
     'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -312,6 +312,7 @@ return array(
     'Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
+    'Fidry\\CpuCoreCounter\\Finder\\EnvVariableFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/EnvVariableFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
     'Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
     'Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
@@ -329,6 +330,7 @@ return array(
     'Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
     'Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => $vendorDir . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
     'Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => $vendorDir . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
     'Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => $vendorDir . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
+    'Fidry\\CpuCoreCounter\\ParallelisationResult' => $vendorDir . '/fidry/cpu-core-counter/src/ParallelisationResult.php',
     'Fig\\Http\\Message\\RequestMethodInterface' => $vendorDir . '/fig/http-message-util/src/RequestMethodInterface.php',
     'Fig\\Http\\Message\\RequestMethodInterface' => $vendorDir . '/fig/http-message-util/src/RequestMethodInterface.php',
     'Fig\\Http\\Message\\StatusCodeInterface' => $vendorDir . '/fig/http-message-util/src/StatusCodeInterface.php',
     'Fig\\Http\\Message\\StatusCodeInterface' => $vendorDir . '/fig/http-message-util/src/StatusCodeInterface.php',
     'GrahamCampbell\\ResultType\\Error' => $vendorDir . '/graham-campbell/result-type/src/Error.php',
     'GrahamCampbell\\ResultType\\Error' => $vendorDir . '/graham-campbell/result-type/src/Error.php',
@@ -631,6 +633,7 @@ return array(
     'Hyperf\\Context\\Traits\\CoroutineProxy' => $vendorDir . '/hyperf/context/src/Traits/CoroutineProxy.php',
     'Hyperf\\Context\\Traits\\CoroutineProxy' => $vendorDir . '/hyperf/context/src/Traits/CoroutineProxy.php',
     'Hyperf\\Contract\\ApplicationInterface' => $vendorDir . '/hyperf/contract/src/ApplicationInterface.php',
     'Hyperf\\Contract\\ApplicationInterface' => $vendorDir . '/hyperf/contract/src/ApplicationInterface.php',
     'Hyperf\\Contract\\Arrayable' => $vendorDir . '/hyperf/contract/src/Arrayable.php',
     'Hyperf\\Contract\\Arrayable' => $vendorDir . '/hyperf/contract/src/Arrayable.php',
+    'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => $vendorDir . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
     'Hyperf\\Contract\\Castable' => $vendorDir . '/hyperf/contract/src/Castable.php',
     'Hyperf\\Contract\\Castable' => $vendorDir . '/hyperf/contract/src/Castable.php',
     'Hyperf\\Contract\\CastsAttributes' => $vendorDir . '/hyperf/contract/src/CastsAttributes.php',
     'Hyperf\\Contract\\CastsAttributes' => $vendorDir . '/hyperf/contract/src/CastsAttributes.php',
     'Hyperf\\Contract\\CastsInboundAttributes' => $vendorDir . '/hyperf/contract/src/CastsInboundAttributes.php',
     'Hyperf\\Contract\\CastsInboundAttributes' => $vendorDir . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -739,6 +742,7 @@ return array(
     'Hyperf\\Database\\Events\\TransactionBeginning' => $vendorDir . '/hyperf/database/src/Events/TransactionBeginning.php',
     'Hyperf\\Database\\Events\\TransactionBeginning' => $vendorDir . '/hyperf/database/src/Events/TransactionBeginning.php',
     'Hyperf\\Database\\Events\\TransactionCommitted' => $vendorDir . '/hyperf/database/src/Events/TransactionCommitted.php',
     'Hyperf\\Database\\Events\\TransactionCommitted' => $vendorDir . '/hyperf/database/src/Events/TransactionCommitted.php',
     'Hyperf\\Database\\Events\\TransactionRolledBack' => $vendorDir . '/hyperf/database/src/Events/TransactionRolledBack.php',
     'Hyperf\\Database\\Events\\TransactionRolledBack' => $vendorDir . '/hyperf/database/src/Events/TransactionRolledBack.php',
+    'Hyperf\\Database\\Exception\\ClassMorphViolationException' => $vendorDir . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
     'Hyperf\\Database\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/database/src/Exception/InvalidArgumentException.php',
     'Hyperf\\Database\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/database/src/Exception/InvalidArgumentException.php',
     'Hyperf\\Database\\Exception\\InvalidBindingException' => $vendorDir . '/hyperf/database/src/Exception/InvalidBindingException.php',
     'Hyperf\\Database\\Exception\\InvalidBindingException' => $vendorDir . '/hyperf/database/src/Exception/InvalidBindingException.php',
     'Hyperf\\Database\\Exception\\InvalidCastException' => $vendorDir . '/hyperf/database/src/Exception/InvalidCastException.php',
     'Hyperf\\Database\\Exception\\InvalidCastException' => $vendorDir . '/hyperf/database/src/Exception/InvalidCastException.php',
@@ -1100,6 +1104,7 @@ return array(
     'Hyperf\\Framework\\Event\\OnWorkerStop' => $vendorDir . '/hyperf/framework/src/Event/OnWorkerStop.php',
     'Hyperf\\Framework\\Event\\OnWorkerStop' => $vendorDir . '/hyperf/framework/src/Event/OnWorkerStop.php',
     'Hyperf\\Framework\\Event\\OtherWorkerStart' => $vendorDir . '/hyperf/framework/src/Event/OtherWorkerStart.php',
     'Hyperf\\Framework\\Event\\OtherWorkerStart' => $vendorDir . '/hyperf/framework/src/Event/OtherWorkerStart.php',
     'Hyperf\\Framework\\Exception\\NotImplementedException' => $vendorDir . '/hyperf/framework/src/Exception/NotImplementedException.php',
     'Hyperf\\Framework\\Exception\\NotImplementedException' => $vendorDir . '/hyperf/framework/src/Exception/NotImplementedException.php',
+    'Hyperf\\Framework\\Logger\\ConsoleLogger' => $vendorDir . '/hyperf/framework/src/Logger/ConsoleLogger.php',
     'Hyperf\\Framework\\Logger\\StdoutLogger' => $vendorDir . '/hyperf/framework/src/Logger/StdoutLogger.php',
     'Hyperf\\Framework\\Logger\\StdoutLogger' => $vendorDir . '/hyperf/framework/src/Logger/StdoutLogger.php',
     'Hyperf\\Framework\\SymfonyEventDispatcher' => $vendorDir . '/hyperf/framework/src/SymfonyEventDispatcher.php',
     'Hyperf\\Framework\\SymfonyEventDispatcher' => $vendorDir . '/hyperf/framework/src/SymfonyEventDispatcher.php',
     'Hyperf\\Guzzle\\ClientFactory' => $vendorDir . '/hyperf/guzzle/src/ClientFactory.php',
     'Hyperf\\Guzzle\\ClientFactory' => $vendorDir . '/hyperf/guzzle/src/ClientFactory.php',
@@ -1444,6 +1449,7 @@ return array(
     'Hyperf\\Support\\Backoff\\ArrayBackoff' => $vendorDir . '/hyperf/support/src/Backoff/ArrayBackoff.php',
     'Hyperf\\Support\\Backoff\\ArrayBackoff' => $vendorDir . '/hyperf/support/src/Backoff/ArrayBackoff.php',
     'Hyperf\\Support\\ClearStatCache' => $vendorDir . '/hyperf/support/src/ClearStatCache.php',
     'Hyperf\\Support\\ClearStatCache' => $vendorDir . '/hyperf/support/src/ClearStatCache.php',
     'Hyperf\\Support\\Composer' => $vendorDir . '/hyperf/support/src/Composer.php',
     'Hyperf\\Support\\Composer' => $vendorDir . '/hyperf/support/src/Composer.php',
+    'Hyperf\\Support\\DotenvManager' => $vendorDir . '/hyperf/support/src/DotenvManager.php',
     'Hyperf\\Support\\Exception\\ExceptionThrower' => $vendorDir . '/hyperf/support/src/Exception/ExceptionThrower.php',
     'Hyperf\\Support\\Exception\\ExceptionThrower' => $vendorDir . '/hyperf/support/src/Exception/ExceptionThrower.php',
     'Hyperf\\Support\\Exception\\IPReadFailedException' => $vendorDir . '/hyperf/support/src/Exception/IPReadFailedException.php',
     'Hyperf\\Support\\Exception\\IPReadFailedException' => $vendorDir . '/hyperf/support/src/Exception/IPReadFailedException.php',
     'Hyperf\\Support\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/support/src/Exception/InvalidArgumentException.php',
     'Hyperf\\Support\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -1501,6 +1507,8 @@ return array(
     'Hyperf\\Watcher\\Driver\\FindNewerDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
     'Hyperf\\Watcher\\Driver\\FindNewerDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
     'Hyperf\\Watcher\\Driver\\FswatchDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FswatchDriver.php',
     'Hyperf\\Watcher\\Driver\\FswatchDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FswatchDriver.php',
     'Hyperf\\Watcher\\Driver\\ScanFileDriver' => $vendorDir . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
     'Hyperf\\Watcher\\Driver\\ScanFileDriver' => $vendorDir . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+    'Hyperf\\Watcher\\Event\\BeforeServerRestart' => $vendorDir . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+    'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => $vendorDir . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
     'Hyperf\\Watcher\\Option' => $vendorDir . '/hyperf/watcher/src/Option.php',
     'Hyperf\\Watcher\\Option' => $vendorDir . '/hyperf/watcher/src/Option.php',
     'Hyperf\\Watcher\\Process' => $vendorDir . '/hyperf/watcher/src/Process.php',
     'Hyperf\\Watcher\\Process' => $vendorDir . '/hyperf/watcher/src/Process.php',
     'Hyperf\\Watcher\\Watcher' => $vendorDir . '/hyperf/watcher/src/Watcher.php',
     'Hyperf\\Watcher\\Watcher' => $vendorDir . '/hyperf/watcher/src/Watcher.php',
@@ -2295,12 +2303,11 @@ return array(
     'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
     'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
-    'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
     'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
     'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
     'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
-    'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
@@ -2313,6 +2320,7 @@ return array(
     'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -2338,8 +2346,8 @@ return array(
     'PHPUnit\\Framework\\MockObject\\MockObjectApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
     'PHPUnit\\Framework\\MockObject\\MockObjectApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
     'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
     'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
     'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
     'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+    'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
-    'PHPUnit\\Framework\\MockObject\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
     'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
@@ -2400,7 +2408,6 @@ return array(
     'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
     'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
     'PHPUnit\\Framework\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
     'PHPUnit\\Framework\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
     'PHPUnit\\Logging\\EventLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/EventLogger.php',
     'PHPUnit\\Logging\\EventLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/EventLogger.php',
-    'PHPUnit\\Logging\\Exception' => $vendorDir . '/phpunit/phpunit/src/Logging/Exception.php',
     'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
     'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
     'PHPUnit\\Logging\\JUnit\\Subscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
     'PHPUnit\\Logging\\JUnit\\Subscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
@@ -2539,7 +2546,7 @@ return array(
     'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
     'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
     'PHPUnit\\Runner\\ClassIsAbstractException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
     'PHPUnit\\Runner\\ClassIsAbstractException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
     'PHPUnit\\Runner\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
     'PHPUnit\\Runner\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
-    'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+    'PHPUnit\\Runner\\DirectoryDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
     'PHPUnit\\Runner\\ErrorException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
     'PHPUnit\\Runner\\ErrorException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
     'PHPUnit\\Runner\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
     'PHPUnit\\Runner\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
     'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
     'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -2562,11 +2569,9 @@ return array(
     'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
     'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
     'PHPUnit\\Runner\\InvalidOrderException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
     'PHPUnit\\Runner\\InvalidOrderException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
     'PHPUnit\\Runner\\InvalidPhptFileException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
     'PHPUnit\\Runner\\InvalidPhptFileException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
-    'PHPUnit\\Runner\\NoIgnoredEventException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/NoIgnoredEventException.php',
     'PHPUnit\\Runner\\ParameterDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
     'PHPUnit\\Runner\\ParameterDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
     'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
     'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
     'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
     'PHPUnit\\Runner\\PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
-    'PHPUnit\\Runner\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ReflectionException.php',
     'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\NullResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\NullResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\ResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
     'PHPUnit\\Runner\\ResultCache\\ResultCache' => $vendorDir . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
@@ -2616,6 +2621,7 @@ return array(
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
     'PHPUnit\\TextUI\\Application' => $vendorDir . '/phpunit/phpunit/src/TextUI/Application.php',
     'PHPUnit\\TextUI\\Application' => $vendorDir . '/phpunit/phpunit/src/TextUI/Application.php',
+    'PHPUnit\\TextUI\\CannotOpenSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
     'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
     'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
     'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
     'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
     'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
     'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -2658,7 +2664,6 @@ return array(
     'PHPUnit\\TextUI\\Configuration\\Group' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
     'PHPUnit\\TextUI\\Configuration\\Group' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
     'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
-    'PHPUnit\\TextUI\\Configuration\\IncludePathNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Exception/IncludePathNotConfiguredException.php',
     'PHPUnit\\TextUI\\Configuration\\IniSetting' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
     'PHPUnit\\TextUI\\Configuration\\IniSetting' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
     'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
@@ -2692,9 +2697,7 @@ return array(
     'PHPUnit\\TextUI\\Configuration\\Variable' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
     'PHPUnit\\TextUI\\Configuration\\Variable' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollection' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
     'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
-    'PHPUnit\\TextUI\\DirectoryDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/DirectoryDoesNotExistException.php',
     'PHPUnit\\TextUI\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
     'PHPUnit\\TextUI\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
-    'PHPUnit\\TextUI\\ExtensionsNotConfiguredException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ExtensionsNotConfiguredException.php',
     'PHPUnit\\TextUI\\Help' => $vendorDir . '/phpunit/phpunit/src/TextUI/Help.php',
     'PHPUnit\\TextUI\\Help' => $vendorDir . '/phpunit/phpunit/src/TextUI/Help.php',
     'PHPUnit\\TextUI\\InvalidSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
     'PHPUnit\\TextUI\\InvalidSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
     'PHPUnit\\TextUI\\Output\\DefaultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
     'PHPUnit\\TextUI\\Output\\DefaultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
@@ -2725,7 +2728,6 @@ return array(
     'PHPUnit\\TextUI\\Output\\Printer' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
     'PHPUnit\\TextUI\\Output\\Printer' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
     'PHPUnit\\TextUI\\Output\\SummaryPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
     'PHPUnit\\TextUI\\Output\\SummaryPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
     'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
     'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
-    'PHPUnit\\TextUI\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
     'PHPUnit\\TextUI\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
     'PHPUnit\\TextUI\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
     'PHPUnit\\TextUI\\ShellExitCodeCalculator' => $vendorDir . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
     'PHPUnit\\TextUI\\ShellExitCodeCalculator' => $vendorDir . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
     'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
     'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
@@ -2766,7 +2768,6 @@ return array(
     'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
-    'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
     'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
@@ -2811,6 +2812,8 @@ return array(
     'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
     'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
     'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
     'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
     'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
     'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
+    'PHPUnit\\Util\\Http\\Downloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+    'PHPUnit\\Util\\Http\\PhpDownloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
     'PHPUnit\\Util\\InvalidDirectoryException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
     'PHPUnit\\Util\\InvalidDirectoryException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
     'PHPUnit\\Util\\InvalidJsonException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
     'PHPUnit\\Util\\InvalidJsonException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
     'PHPUnit\\Util\\InvalidVersionOperatorException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
     'PHPUnit\\Util\\InvalidVersionOperatorException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -3095,6 +3098,7 @@ return array(
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
     'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
     'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+    'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
     'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
     'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -3157,6 +3161,7 @@ return array(
     'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
     'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
     'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
     'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
     'PhpCsFixer\\Fixer\\Indentation' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
     'PhpCsFixer\\Fixer\\Indentation' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+    'PhpCsFixer\\Fixer\\InternalFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -3207,6 +3212,7 @@ return array(
     'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+    'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -3371,6 +3377,7 @@ return array(
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+    'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

+ 30 - 23
vendor/composer/autoload_static.php

@@ -695,20 +695,13 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'App\\Controller\\IndexController' => __DIR__ . '/../..' . '/app/Controller/IndexController.php',
         'App\\Controller\\IndexController' => __DIR__ . '/../..' . '/app/Controller/IndexController.php',
         'App\\Exception\\Handler\\AppExceptionHandler' => __DIR__ . '/../..' . '/app/Exception/Handler/AppExceptionHandler.php',
         'App\\Exception\\Handler\\AppExceptionHandler' => __DIR__ . '/../..' . '/app/Exception/Handler/AppExceptionHandler.php',
         'App\\Exception\\Handler\\JsonRpcExceptionHandler' => __DIR__ . '/../..' . '/app/Exception/Handler/JsonRpcExceptionHandler.php',
         'App\\Exception\\Handler\\JsonRpcExceptionHandler' => __DIR__ . '/../..' . '/app/Exception/Handler/JsonRpcExceptionHandler.php',
-        'App\\JsonRpc\\NewsService' => __DIR__ . '/../..' . '/app/JsonRpc/NewsService.php',
-        'App\\JsonRpc\\NewsServiceInterface' => __DIR__ . '/../..' . '/app/JsonRpc/NewsServiceInterface.php',
+        'App\\JsonRpc\\CollectorService' => __DIR__ . '/../..' . '/app/JsonRpc/CollectorService.php',
+        'App\\JsonRpc\\CollectorServiceInterface' => __DIR__ . '/../..' . '/app/JsonRpc/CollectorServiceInterface.php',
         'App\\Listener\\DbQueryExecutedListener' => __DIR__ . '/../..' . '/app/Listener/DbQueryExecutedListener.php',
         'App\\Listener\\DbQueryExecutedListener' => __DIR__ . '/../..' . '/app/Listener/DbQueryExecutedListener.php',
         'App\\Listener\\ResumeExitCoordinatorListener' => __DIR__ . '/../..' . '/app/Listener/ResumeExitCoordinatorListener.php',
         'App\\Listener\\ResumeExitCoordinatorListener' => __DIR__ . '/../..' . '/app/Listener/ResumeExitCoordinatorListener.php',
         'App\\Model\\Article' => __DIR__ . '/../..' . '/app/Model/Article.php',
         'App\\Model\\Article' => __DIR__ . '/../..' . '/app/Model/Article.php',
-        'App\\Model\\ArticleData' => __DIR__ . '/../..' . '/app/Model/ArticleData.php',
-        'App\\Model\\Category' => __DIR__ . '/../..' . '/app/Model/Category.php',
-        'App\\Model\\Link' => __DIR__ . '/../..' . '/app/Model/Link.php',
-        'App\\Model\\Model' => __DIR__ . '/../..' . '/app/Model/Model.php',
-        'App\\Model\\Website' => __DIR__ . '/../..' . '/app/Model/Website.php',
-        'App\\Model\\WebsiteCategory' => __DIR__ . '/../..' . '/app/Model/WebsiteCategory.php',
-        'App\\Model\\WebsiteColumn' => __DIR__ . '/../..' . '/app/Model/WebsiteColumn.php',
-        'App\\Model\\WebsiteRole' => __DIR__ . '/../..' . '/app/Model/WebsiteRole.php',
-        'App\\Model\\WebsiteRoleUser' => __DIR__ . '/../..' . '/app/Model/WebsiteRoleUser.php',
+        'App\\Model\\OldModel\\Article' => __DIR__ . '/../..' . '/app/Model/OldModel/Article.php',
+        'App\\Model\\Web' => __DIR__ . '/../..' . '/app/Model/Web.php',
         'App\\Tools\\Result' => __DIR__ . '/../..' . '/app/Tools/Result.php',
         'App\\Tools\\Result' => __DIR__ . '/../..' . '/app/Tools/Result.php',
         'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
         'Attribute' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
         'CURLStringFile' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
         'CURLStringFile' => __DIR__ . '/..' . '/symfony/polyfill-php81/Resources/stubs/CURLStringFile.php',
@@ -804,6 +797,12 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php',
         'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php',
         'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php',
         'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php',
         'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php',
         'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php',
+        'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchFlags' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
         'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php',
         'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php',
         'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php',
         'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php',
         'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php',
         'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php',
@@ -852,6 +851,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
         'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
         'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
         'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
         'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
         'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+        'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
         'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
         'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
         'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
         'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
         'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
         'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -996,6 +996,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\CpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\CpuInfoFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\DummyCpuCoreFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php',
+        'Fidry\\CpuCoreCounter\\Finder\\EnvVariableFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/EnvVariableFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
         'Fidry\\CpuCoreCounter\\Finder\\FinderRegistry' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/FinderRegistry.php',
         'Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\HwLogicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\HwPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php',
@@ -1013,6 +1014,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\WmicPhysicalFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
         'Fidry\\CpuCoreCounter\\Finder\\_NProcessorFinder' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php',
         'Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
         'Fidry\\CpuCoreCounter\\NumberOfCpuCoreNotFound' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php',
+        'Fidry\\CpuCoreCounter\\ParallelisationResult' => __DIR__ . '/..' . '/fidry/cpu-core-counter/src/ParallelisationResult.php',
         'Fig\\Http\\Message\\RequestMethodInterface' => __DIR__ . '/..' . '/fig/http-message-util/src/RequestMethodInterface.php',
         'Fig\\Http\\Message\\RequestMethodInterface' => __DIR__ . '/..' . '/fig/http-message-util/src/RequestMethodInterface.php',
         'Fig\\Http\\Message\\StatusCodeInterface' => __DIR__ . '/..' . '/fig/http-message-util/src/StatusCodeInterface.php',
         'Fig\\Http\\Message\\StatusCodeInterface' => __DIR__ . '/..' . '/fig/http-message-util/src/StatusCodeInterface.php',
         'GrahamCampbell\\ResultType\\Error' => __DIR__ . '/..' . '/graham-campbell/result-type/src/Error.php',
         'GrahamCampbell\\ResultType\\Error' => __DIR__ . '/..' . '/graham-campbell/result-type/src/Error.php',
@@ -1315,6 +1317,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Context\\Traits\\CoroutineProxy' => __DIR__ . '/..' . '/hyperf/context/src/Traits/CoroutineProxy.php',
         'Hyperf\\Context\\Traits\\CoroutineProxy' => __DIR__ . '/..' . '/hyperf/context/src/Traits/CoroutineProxy.php',
         'Hyperf\\Contract\\ApplicationInterface' => __DIR__ . '/..' . '/hyperf/contract/src/ApplicationInterface.php',
         'Hyperf\\Contract\\ApplicationInterface' => __DIR__ . '/..' . '/hyperf/contract/src/ApplicationInterface.php',
         'Hyperf\\Contract\\Arrayable' => __DIR__ . '/..' . '/hyperf/contract/src/Arrayable.php',
         'Hyperf\\Contract\\Arrayable' => __DIR__ . '/..' . '/hyperf/contract/src/Arrayable.php',
+        'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => __DIR__ . '/..' . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
         'Hyperf\\Contract\\Castable' => __DIR__ . '/..' . '/hyperf/contract/src/Castable.php',
         'Hyperf\\Contract\\Castable' => __DIR__ . '/..' . '/hyperf/contract/src/Castable.php',
         'Hyperf\\Contract\\CastsAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsAttributes.php',
         'Hyperf\\Contract\\CastsAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsAttributes.php',
         'Hyperf\\Contract\\CastsInboundAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsInboundAttributes.php',
         'Hyperf\\Contract\\CastsInboundAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -1423,6 +1426,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Database\\Events\\TransactionBeginning' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionBeginning.php',
         'Hyperf\\Database\\Events\\TransactionBeginning' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionBeginning.php',
         'Hyperf\\Database\\Events\\TransactionCommitted' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionCommitted.php',
         'Hyperf\\Database\\Events\\TransactionCommitted' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionCommitted.php',
         'Hyperf\\Database\\Events\\TransactionRolledBack' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionRolledBack.php',
         'Hyperf\\Database\\Events\\TransactionRolledBack' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionRolledBack.php',
+        'Hyperf\\Database\\Exception\\ClassMorphViolationException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
         'Hyperf\\Database\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidArgumentException.php',
         'Hyperf\\Database\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidArgumentException.php',
         'Hyperf\\Database\\Exception\\InvalidBindingException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidBindingException.php',
         'Hyperf\\Database\\Exception\\InvalidBindingException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidBindingException.php',
         'Hyperf\\Database\\Exception\\InvalidCastException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidCastException.php',
         'Hyperf\\Database\\Exception\\InvalidCastException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidCastException.php',
@@ -1784,6 +1788,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Framework\\Event\\OnWorkerStop' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OnWorkerStop.php',
         'Hyperf\\Framework\\Event\\OnWorkerStop' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OnWorkerStop.php',
         'Hyperf\\Framework\\Event\\OtherWorkerStart' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OtherWorkerStart.php',
         'Hyperf\\Framework\\Event\\OtherWorkerStart' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OtherWorkerStart.php',
         'Hyperf\\Framework\\Exception\\NotImplementedException' => __DIR__ . '/..' . '/hyperf/framework/src/Exception/NotImplementedException.php',
         'Hyperf\\Framework\\Exception\\NotImplementedException' => __DIR__ . '/..' . '/hyperf/framework/src/Exception/NotImplementedException.php',
+        'Hyperf\\Framework\\Logger\\ConsoleLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/ConsoleLogger.php',
         'Hyperf\\Framework\\Logger\\StdoutLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/StdoutLogger.php',
         'Hyperf\\Framework\\Logger\\StdoutLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/StdoutLogger.php',
         'Hyperf\\Framework\\SymfonyEventDispatcher' => __DIR__ . '/..' . '/hyperf/framework/src/SymfonyEventDispatcher.php',
         'Hyperf\\Framework\\SymfonyEventDispatcher' => __DIR__ . '/..' . '/hyperf/framework/src/SymfonyEventDispatcher.php',
         'Hyperf\\Guzzle\\ClientFactory' => __DIR__ . '/..' . '/hyperf/guzzle/src/ClientFactory.php',
         'Hyperf\\Guzzle\\ClientFactory' => __DIR__ . '/..' . '/hyperf/guzzle/src/ClientFactory.php',
@@ -2128,6 +2133,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Support\\Backoff\\ArrayBackoff' => __DIR__ . '/..' . '/hyperf/support/src/Backoff/ArrayBackoff.php',
         'Hyperf\\Support\\Backoff\\ArrayBackoff' => __DIR__ . '/..' . '/hyperf/support/src/Backoff/ArrayBackoff.php',
         'Hyperf\\Support\\ClearStatCache' => __DIR__ . '/..' . '/hyperf/support/src/ClearStatCache.php',
         'Hyperf\\Support\\ClearStatCache' => __DIR__ . '/..' . '/hyperf/support/src/ClearStatCache.php',
         'Hyperf\\Support\\Composer' => __DIR__ . '/..' . '/hyperf/support/src/Composer.php',
         'Hyperf\\Support\\Composer' => __DIR__ . '/..' . '/hyperf/support/src/Composer.php',
+        'Hyperf\\Support\\DotenvManager' => __DIR__ . '/..' . '/hyperf/support/src/DotenvManager.php',
         'Hyperf\\Support\\Exception\\ExceptionThrower' => __DIR__ . '/..' . '/hyperf/support/src/Exception/ExceptionThrower.php',
         'Hyperf\\Support\\Exception\\ExceptionThrower' => __DIR__ . '/..' . '/hyperf/support/src/Exception/ExceptionThrower.php',
         'Hyperf\\Support\\Exception\\IPReadFailedException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/IPReadFailedException.php',
         'Hyperf\\Support\\Exception\\IPReadFailedException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/IPReadFailedException.php',
         'Hyperf\\Support\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/InvalidArgumentException.php',
         'Hyperf\\Support\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -2185,6 +2191,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Watcher\\Driver\\FindNewerDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
         'Hyperf\\Watcher\\Driver\\FindNewerDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
         'Hyperf\\Watcher\\Driver\\FswatchDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FswatchDriver.php',
         'Hyperf\\Watcher\\Driver\\FswatchDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FswatchDriver.php',
         'Hyperf\\Watcher\\Driver\\ScanFileDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
         'Hyperf\\Watcher\\Driver\\ScanFileDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+        'Hyperf\\Watcher\\Event\\BeforeServerRestart' => __DIR__ . '/..' . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+        'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => __DIR__ . '/..' . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
         'Hyperf\\Watcher\\Option' => __DIR__ . '/..' . '/hyperf/watcher/src/Option.php',
         'Hyperf\\Watcher\\Option' => __DIR__ . '/..' . '/hyperf/watcher/src/Option.php',
         'Hyperf\\Watcher\\Process' => __DIR__ . '/..' . '/hyperf/watcher/src/Process.php',
         'Hyperf\\Watcher\\Process' => __DIR__ . '/..' . '/hyperf/watcher/src/Process.php',
         'Hyperf\\Watcher\\Watcher' => __DIR__ . '/..' . '/hyperf/watcher/src/Watcher.php',
         'Hyperf\\Watcher\\Watcher' => __DIR__ . '/..' . '/hyperf/watcher/src/Watcher.php',
@@ -2979,12 +2987,11 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
         'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
-        'PHPUnit\\Framework\\MockObject\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseAddMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
         'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
         'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
         'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
-        'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsReadonlyException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsReadonlyException.php',
@@ -2997,6 +3004,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -3022,8 +3030,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\MockObjectApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
         'PHPUnit\\Framework\\MockObject\\MockObjectApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
         'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
         'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
         'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
         'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+        'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
-        'PHPUnit\\Framework\\MockObject\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReturnValueNotConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
         'PHPUnit\\Framework\\MockObject\\Rule\\AnyInvokedCount' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Rule/AnyInvokedCount.php',
@@ -3084,7 +3092,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
         'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
         'PHPUnit\\Framework\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
         'PHPUnit\\Framework\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
         'PHPUnit\\Logging\\EventLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/EventLogger.php',
         'PHPUnit\\Logging\\EventLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/EventLogger.php',
-        'PHPUnit\\Logging\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/Exception.php',
         'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
         'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
         'PHPUnit\\Logging\\JUnit\\Subscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
         'PHPUnit\\Logging\\JUnit\\Subscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestErroredSubscriber.php',
@@ -3223,7 +3230,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
         'PHPUnit\\Runner\\ClassDoesNotExtendTestCaseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassDoesNotExtendTestCaseException.php',
         'PHPUnit\\Runner\\ClassIsAbstractException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
         'PHPUnit\\Runner\\ClassIsAbstractException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
         'PHPUnit\\Runner\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
         'PHPUnit\\Runner\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
-        'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+        'PHPUnit\\Runner\\DirectoryDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
         'PHPUnit\\Runner\\ErrorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
         'PHPUnit\\Runner\\ErrorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
         'PHPUnit\\Runner\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
         'PHPUnit\\Runner\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
         'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
         'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -3246,11 +3253,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
         'PHPUnit\\Runner\\GarbageCollection\\TestFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/GarbageCollection/Subscriber/TestFinishedSubscriber.php',
         'PHPUnit\\Runner\\InvalidOrderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
         'PHPUnit\\Runner\\InvalidOrderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidOrderException.php',
         'PHPUnit\\Runner\\InvalidPhptFileException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
         'PHPUnit\\Runner\\InvalidPhptFileException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/InvalidPhptFileException.php',
-        'PHPUnit\\Runner\\NoIgnoredEventException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/NoIgnoredEventException.php',
         'PHPUnit\\Runner\\ParameterDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
         'PHPUnit\\Runner\\ParameterDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ParameterDoesNotExistException.php',
         'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
         'PHPUnit\\Runner\\PhptExternalFileCannotBeLoadedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/PhptExternalFileCannotBeLoadedException.php',
         'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
         'PHPUnit\\Runner\\PhptTestCase' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/PhptTestCase.php',
-        'PHPUnit\\Runner\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ReflectionException.php',
         'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\DefaultResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/DefaultResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\NullResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\NullResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/NullResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\ResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
         'PHPUnit\\Runner\\ResultCache\\ResultCache' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ResultCache/ResultCache.php',
@@ -3300,6 +3305,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
         'PHPUnit\\TextUI\\Application' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Application.php',
         'PHPUnit\\TextUI\\Application' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Application.php',
+        'PHPUnit\\TextUI\\CannotOpenSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
         'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
         'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
         'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
         'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
         'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
         'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -3342,7 +3348,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Configuration\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
         'PHPUnit\\TextUI\\Configuration\\Group' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Group.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollection.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
         'PHPUnit\\TextUI\\Configuration\\GroupCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/GroupCollectionIterator.php',
-        'PHPUnit\\TextUI\\Configuration\\IncludePathNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Exception/IncludePathNotConfiguredException.php',
         'PHPUnit\\TextUI\\Configuration\\IniSetting' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
         'PHPUnit\\TextUI\\Configuration\\IniSetting' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSetting.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollection.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
         'PHPUnit\\TextUI\\Configuration\\IniSettingCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/IniSettingCollectionIterator.php',
@@ -3376,9 +3381,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Configuration\\Variable' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
         'PHPUnit\\TextUI\\Configuration\\Variable' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/Variable.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollection.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
         'PHPUnit\\TextUI\\Configuration\\VariableCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Value/VariableCollectionIterator.php',
-        'PHPUnit\\TextUI\\DirectoryDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/DirectoryDoesNotExistException.php',
         'PHPUnit\\TextUI\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
         'PHPUnit\\TextUI\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/Exception.php',
-        'PHPUnit\\TextUI\\ExtensionsNotConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ExtensionsNotConfiguredException.php',
         'PHPUnit\\TextUI\\Help' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Help.php',
         'PHPUnit\\TextUI\\Help' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Help.php',
         'PHPUnit\\TextUI\\InvalidSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
         'PHPUnit\\TextUI\\InvalidSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/InvalidSocketException.php',
         'PHPUnit\\TextUI\\Output\\DefaultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
         'PHPUnit\\TextUI\\Output\\DefaultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/DefaultPrinter.php',
@@ -3409,7 +3412,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\Output\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
         'PHPUnit\\TextUI\\Output\\Printer' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/Printer/Printer.php',
         'PHPUnit\\TextUI\\Output\\SummaryPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
         'PHPUnit\\TextUI\\Output\\SummaryPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/SummaryPrinter.php',
         'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
         'PHPUnit\\TextUI\\Output\\TestDox\\ResultPrinter' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Output/TestDox/ResultPrinter.php',
-        'PHPUnit\\TextUI\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/ReflectionException.php',
         'PHPUnit\\TextUI\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
         'PHPUnit\\TextUI\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/RuntimeException.php',
         'PHPUnit\\TextUI\\ShellExitCodeCalculator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
         'PHPUnit\\TextUI\\ShellExitCodeCalculator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/ShellExitCodeCalculator.php',
         'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
         'PHPUnit\\TextUI\\TestDirectoryNotFoundException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/TestDirectoryNotFoundException.php',
@@ -3450,7 +3452,6 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Logging\\TestDox\\Text' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Logging/TestDox/Text.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/Migration.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilder.php',
-        'PHPUnit\\TextUI\\XmlConfiguration\\MigrationBuilderException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationBuilderException.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MigrationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/MigrationException.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\Migrator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrator.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
         'PHPUnit\\TextUI\\XmlConfiguration\\MoveAttributesFromFilterWhitelistToCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/MoveAttributesFromFilterWhitelistToCoverage.php',
@@ -3495,6 +3496,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
         'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
         'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
         'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
         'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
         'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
+        'PHPUnit\\Util\\Http\\Downloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+        'PHPUnit\\Util\\Http\\PhpDownloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
         'PHPUnit\\Util\\InvalidDirectoryException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
         'PHPUnit\\Util\\InvalidDirectoryException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
         'PHPUnit\\Util\\InvalidJsonException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
         'PHPUnit\\Util\\InvalidJsonException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
         'PHPUnit\\Util\\InvalidVersionOperatorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
         'PHPUnit\\Util\\InvalidVersionOperatorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -3779,6 +3782,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
         'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
         'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+        'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
         'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
         'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -3841,6 +3845,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
         'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
         'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
         'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
         'PhpCsFixer\\Fixer\\Indentation' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
         'PhpCsFixer\\Fixer\\Indentation' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+        'PhpCsFixer\\Fixer\\InternalFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -3891,6 +3896,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+        'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -4055,6 +4061,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+        'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 203 - 193
vendor/composer/installed.json


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 268 - 268
vendor/composer/installed.php


+ 9 - 1
vendor/composer/pcre/README.md

@@ -12,7 +12,8 @@ to understand the implications.
 
 
 It thus makes it easier to work with static analysis tools like PHPStan or Psalm as it
 It thus makes it easier to work with static analysis tools like PHPStan or Psalm as it
 simplifies and reduces the possible return values from all the `preg_*` functions which
 simplifies and reduces the possible return values from all the `preg_*` functions which
-are quite packed with edge cases.
+are quite packed with edge cases. As of v2.2.0 / v3.2.0 the library also comes with a
+[PHPStan extension](#phpstan-extension) for parsing regular expressions and giving you even better output types.
 
 
 This library is a thin wrapper around `preg_*` functions with [some limitations](#restrictions--limitations).
 This library is a thin wrapper around `preg_*` functions with [some limitations](#restrictions--limitations).
 If you are looking for a richer API to handle regular expressions have a look at
 If you are looking for a richer API to handle regular expressions have a look at
@@ -175,6 +176,13 @@ preg_match('/(a)(b)*(c)(d)*/', 'ac', $matches, $flags);
 | group 2 (any unmatched group preceding one that matched) is set to `''`. You cannot tell if it matched an empty string or did not match at all | group 2 is `null` when unmatched and a string if it matched, easy to check for |
 | group 2 (any unmatched group preceding one that matched) is set to `''`. You cannot tell if it matched an empty string or did not match at all | group 2 is `null` when unmatched and a string if it matched, easy to check for |
 | group 4 (any optional group without a matching one following) is missing altogether. So you have to check with `isset()`, but really you want `isset($m[4]) && $m[4] !== ''` for safety unless you are very careful to check that a non-optional group follows it | group 4 is always set, and null in this case as there was no match, easy to check for with `$m[4] !== null` |
 | group 4 (any optional group without a matching one following) is missing altogether. So you have to check with `isset()`, but really you want `isset($m[4]) && $m[4] !== ''` for safety unless you are very careful to check that a non-optional group follows it | group 4 is always set, and null in this case as there was no match, easy to check for with `$m[4] !== null` |
 
 
+PHPStan Extension
+-----------------
+
+To use the PHPStan extension if you do not use `phpstan/extension-installer` you can include `vendor/composer/pcre/extension.neon` in your PHPStan config.
+
+The extension provides much better type information for $matches as well as regex validation where possible.
+
 License
 License
 -------
 -------
 
 

+ 12 - 4
vendor/composer/pcre/composer.json

@@ -20,10 +20,13 @@
         "php": "^7.4 || ^8.0"
         "php": "^7.4 || ^8.0"
     },
     },
     "require-dev": {
     "require-dev": {
-        "symfony/phpunit-bridge": "^5",
-        "phpstan/phpstan": "^1.3",
+        "phpunit/phpunit": "^8 || ^9",
+        "phpstan/phpstan": "^1.11.10",
         "phpstan/phpstan-strict-rules": "^1.1"
         "phpstan/phpstan-strict-rules": "^1.1"
     },
     },
+    "conflict": {
+        "phpstan/phpstan": "<1.11.10"
+    },
     "autoload": {
     "autoload": {
         "psr-4": {
         "psr-4": {
             "Composer\\Pcre\\": "src"
             "Composer\\Pcre\\": "src"
@@ -37,10 +40,15 @@
     "extra": {
     "extra": {
         "branch-alias": {
         "branch-alias": {
             "dev-main": "3.x-dev"
             "dev-main": "3.x-dev"
+        },
+        "phpstan": {
+            "includes": [
+                "extension.neon"
+            ]
         }
         }
     },
     },
     "scripts": {
     "scripts": {
-        "test": "vendor/bin/simple-phpunit",
-        "phpstan": "phpstan analyse"
+        "test": "@php vendor/bin/phpunit",
+        "phpstan": "@php phpstan analyse"
     }
     }
 }
 }

+ 2 - 0
vendor/composer/pcre/src/Regex.php

@@ -43,6 +43,7 @@ class Regex
      */
      */
     public static function matchStrictGroups(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchStrictGroupsResult
     public static function matchStrictGroups(string $pattern, string $subject, int $flags = 0, int $offset = 0): MatchStrictGroupsResult
     {
     {
+        // @phpstan-ignore composerPcre.maybeUnsafeStrictGroups
         $count = Preg::matchStrictGroups($pattern, $subject, $matches, $flags, $offset);
         $count = Preg::matchStrictGroups($pattern, $subject, $matches, $flags, $offset);
 
 
         return new MatchStrictGroupsResult($count, $matches);
         return new MatchStrictGroupsResult($count, $matches);
@@ -87,6 +88,7 @@ class Regex
         self::checkOffsetCapture($flags, 'matchAllWithOffsets');
         self::checkOffsetCapture($flags, 'matchAllWithOffsets');
         self::checkSetOrder($flags);
         self::checkSetOrder($flags);
 
 
+        // @phpstan-ignore composerPcre.maybeUnsafeStrictGroups
         $count = Preg::matchAllStrictGroups($pattern, $subject, $matches, $flags, $offset);
         $count = Preg::matchAllStrictGroups($pattern, $subject, $matches, $flags, $offset);
 
 
         return new MatchAllStrictGroupsResult($count, $matches);
         return new MatchAllStrictGroupsResult($count, $matches);

+ 15 - 0
vendor/composer/semver/CHANGELOG.md

@@ -3,6 +3,18 @@
 All notable changes to this project will be documented in this file.
 All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 This project adheres to [Semantic Versioning](http://semver.org/).
 
 
+### [3.4.3] 2024-09-19
+
+  * Fixed some type annotations
+
+### [3.4.2] 2024-07-12
+
+  * Fixed PHP 5.3 syntax error
+
+### [3.4.1] 2024-07-12
+
+  * Fixed normalizeStability's return type to enforce valid stabilities
+
 ### [3.4.0] 2023-08-31
 ### [3.4.0] 2023-08-31
 
 
   * Support larger major version numbers (#149)
   * Support larger major version numbers (#149)
@@ -179,6 +191,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
     - Namespace: `Composer\Test\Package\LinkConstraint` -> `Composer\Test\Semver\Constraint`
     - Namespace: `Composer\Test\Package\LinkConstraint` -> `Composer\Test\Semver\Constraint`
   * Changed: code style using php-cs-fixer.
   * Changed: code style using php-cs-fixer.
 
 
+[3.4.3]: https://github.com/composer/semver/compare/3.4.2...3.4.3
+[3.4.2]: https://github.com/composer/semver/compare/3.4.1...3.4.2
+[3.4.1]: https://github.com/composer/semver/compare/3.4.0...3.4.1
 [3.4.0]: https://github.com/composer/semver/compare/3.3.2...3.4.0
 [3.4.0]: https://github.com/composer/semver/compare/3.3.2...3.4.0
 [3.3.2]: https://github.com/composer/semver/compare/3.3.1...3.3.2
 [3.3.2]: https://github.com/composer/semver/compare/3.3.1...3.3.2
 [3.3.1]: https://github.com/composer/semver/compare/3.3.0...3.3.1
 [3.3.1]: https://github.com/composer/semver/compare/3.3.0...3.3.1

+ 2 - 2
vendor/composer/semver/composer.json

@@ -34,8 +34,8 @@
         "php": "^5.3.2 || ^7.0 || ^8.0"
         "php": "^5.3.2 || ^7.0 || ^8.0"
     },
     },
     "require-dev": {
     "require-dev": {
-        "symfony/phpunit-bridge": "^4.2 || ^5",
-        "phpstan/phpstan": "^1.4"
+        "symfony/phpunit-bridge": "^3 || ^7",
+        "phpstan/phpstan": "^1.11"
     },
     },
     "autoload": {
     "autoload": {
         "psr-4": {
         "psr-4": {

+ 0 - 11
vendor/composer/semver/phpstan-baseline.neon

@@ -1,11 +0,0 @@
-parameters:
-	ignoreErrors:
-		-
-			message: "#^Parameter \\#1 \\$operator of class Composer\\\\Semver\\\\Constraint\\\\Constraint constructor expects '\\!\\='\\|'\\<'\\|'\\<\\='\\|'\\<\\>'\\|'\\='\\|'\\=\\='\\|'\\>'\\|'\\>\\=', non\\-falsy\\-string given\\.$#"
-			count: 1
-			path: src/VersionParser.php
-
-		-
-			message: "#^Strict comparison using \\=\\=\\= between null and non\\-empty\\-string will always evaluate to false\\.$#"
-			count: 2
-			path: src/VersionParser.php

+ 1 - 1
vendor/composer/semver/src/CompilingMatcher.php

@@ -64,7 +64,7 @@ class CompilingMatcher
      * @phpstan-param Constraint::OP_*  $operator
      * @phpstan-param Constraint::OP_*  $operator
      * @param string              $version
      * @param string              $version
      *
      *
-     * @return mixed
+     * @return bool
      */
      */
     public static function match(ConstraintInterface $constraint, $operator, $version)
     public static function match(ConstraintInterface $constraint, $operator, $version)
     {
     {

+ 5 - 0
vendor/composer/semver/src/VersionParser.php

@@ -82,11 +82,16 @@ class VersionParser
      * @param string $stability
      * @param string $stability
      *
      *
      * @return string
      * @return string
+     * @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev'
      */
      */
     public static function normalizeStability($stability)
     public static function normalizeStability($stability)
     {
     {
         $stability = strtolower((string) $stability);
         $stability = strtolower((string) $stability);
 
 
+        if (!in_array($stability, array('stable', 'rc', 'beta', 'alpha', 'dev'), true)) {
+            throw new \InvalidArgumentException('Invalid stability string "'.$stability.'", expected one of stable, RC, beta, alpha or dev');
+        }
+
         return $stability === 'rc' ? 'RC' : $stability;
         return $stability === 'rc' ? 'RC' : $stability;
     }
     }
 
 

+ 8 - 1
vendor/doctrine/annotations/README.md

@@ -4,6 +4,13 @@ which are a native replacement for annotations. As such, this library is
 considered feature complete, and should receive exclusively bugfixes and
 considered feature complete, and should receive exclusively bugfixes and
 security fixes.
 security fixes.
 
 
+We do not recommend using this library in new projects and encourage authors
+of downstream libraries to offer support for attributes as an alternative to
+Doctrine Annotations.
+
+Have a look at [our blog](https://www.doctrine-project.org/2022/11/04/annotations-to-attributes.html)
+to learn more.
+
 # Doctrine Annotations
 # Doctrine Annotations
 
 
 [![Build Status](https://github.com/doctrine/annotations/workflows/Continuous%20Integration/badge.svg?label=build)](https://github.com/doctrine/persistence/actions)
 [![Build Status](https://github.com/doctrine/annotations/workflows/Continuous%20Integration/badge.svg?label=build)](https://github.com/doctrine/persistence/actions)
@@ -16,7 +23,7 @@ Docblock Annotations Parser library (extracted from [Doctrine Common](https://gi
 
 
 ## Documentation
 ## Documentation
 
 
-See the [doctrine-project website](https://www.doctrine-project.org/projects/doctrine-annotations/en/latest/index.html).
+See the [doctrine-project website](https://www.doctrine-project.org/projects/doctrine-annotations/en/stable/index.html).
 
 
 ## Contributing
 ## Contributing
 
 

+ 1 - 1
vendor/doctrine/annotations/UPGRADE.md

@@ -7,7 +7,7 @@
 `Doctrine\Common\Lexer\Token` objects. When using `doctrine/lexer` 2, these
 `Doctrine\Common\Lexer\Token` objects. When using `doctrine/lexer` 2, these
 implement `ArrayAccess` as a way for you to still be able to treat them as
 implement `ArrayAccess` as a way for you to still be able to treat them as
 arrays in some ways.
 arrays in some ways.
-- `CachedReader` and `FileCacheReader` have been removed.
+- `CachedReader` and `FileCacheReader` have been removed use `PsrCachedReader` instead.
 - `AnnotationRegistry` methods related to registering annotations instead of
 - `AnnotationRegistry` methods related to registering annotations instead of
   using autoloading have been removed.
   using autoloading have been removed.
 - Parameter type declarations have been added to all methods of all classes. If
 - Parameter type declarations have been added to all methods of all classes. If

+ 3 - 3
vendor/doctrine/annotations/composer.json

@@ -40,10 +40,10 @@
     "require-dev": {
     "require-dev": {
         "doctrine/cache": "^2.0",
         "doctrine/cache": "^2.0",
         "doctrine/coding-standard": "^10",
         "doctrine/coding-standard": "^10",
-        "phpstan/phpstan": "^1.8.0",
+        "phpstan/phpstan": "^1.10.28",
         "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
         "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
-        "symfony/cache": "^5.4 || ^6",
-        "vimeo/psalm": "^4.10"
+        "symfony/cache": "^5.4 || ^6.4 || ^7",
+        "vimeo/psalm": "^4.30 || ^5.14"
     },
     },
     "suggest": {
     "suggest": {
         "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
         "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"

+ 8 - 1
vendor/doctrine/annotations/docs/en/index.rst

@@ -7,6 +7,13 @@ which are a native replacement for annotations. As such, this library is
 considered feature complete, and should receive exclusively bugfixes and
 considered feature complete, and should receive exclusively bugfixes and
 security fixes.
 security fixes.
 
 
+We do not recommend using this library in new projects and encourage authors
+of downstream libraries to offer support for attributes as an alternative to
+Doctrine Annotations.
+
+Have a look at [our blog](https://www.doctrine-project.org/2022/11/04/annotations-to-attributes.html)
+to learn more.
+
 Introduction
 Introduction
 ============
 ============
 
 
@@ -38,7 +45,7 @@ You can install the Annotation component with composer:
 
 
 .. code-block::
 .. code-block::
 
 
-    $ composer require doctrine/annotations
+    $ composer require doctrine/annotations
 
 
 Create an annotation class
 Create an annotation class
 ==========================
 ==========================

+ 10 - 3
vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php

@@ -12,8 +12,11 @@ use ReflectionProperty;
 use function array_merge;
 use function array_merge;
 use function class_exists;
 use function class_exists;
 use function extension_loaded;
 use function extension_loaded;
+use function filter_var;
 use function ini_get;
 use function ini_get;
 
 
+use const FILTER_VALIDATE_BOOLEAN;
+
 /**
 /**
  * A reader for docblock annotations.
  * A reader for docblock annotations.
  */
  */
@@ -105,13 +108,17 @@ class AnnotationReader implements Reader
     public function __construct(?DocParser $parser = null)
     public function __construct(?DocParser $parser = null)
     {
     {
         if (
         if (
-            extension_loaded('Zend Optimizer+') && (ini_get('zend_optimizerplus.save_comments') === '0' ||
-            ini_get('opcache.save_comments') === '0')
+            extension_loaded('Zend Optimizer+') &&
+            (filter_var(ini_get('zend_optimizerplus.save_comments'), FILTER_VALIDATE_BOOLEAN)  === false ||
+            filter_var(ini_get('opcache.save_comments'), FILTER_VALIDATE_BOOLEAN) === false)
         ) {
         ) {
             throw AnnotationException::optimizerPlusSaveComments();
             throw AnnotationException::optimizerPlusSaveComments();
         }
         }
 
 
-        if (extension_loaded('Zend OPcache') && ini_get('opcache.save_comments') === 0) {
+        if (
+            extension_loaded('Zend OPcache') &&
+            filter_var(ini_get('opcache.save_comments'), FILTER_VALIDATE_BOOLEAN) === false
+        ) {
             throw AnnotationException::optimizerPlusSaveComments();
             throw AnnotationException::optimizerPlusSaveComments();
         }
         }
 
 

+ 3 - 3
vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php

@@ -74,7 +74,7 @@ final class DocLexer extends AbstractLexer
     }
     }
 
 
     /**
     /**
-     * {@inheritdoc}
+     * {@inheritDoc}
      */
      */
     protected function getCatchablePatterns()
     protected function getCatchablePatterns()
     {
     {
@@ -86,7 +86,7 @@ final class DocLexer extends AbstractLexer
     }
     }
 
 
     /**
     /**
-     * {@inheritdoc}
+     * {@inheritDoc}
      */
      */
     protected function getNonCatchablePatterns()
     protected function getNonCatchablePatterns()
     {
     {
@@ -94,7 +94,7 @@ final class DocLexer extends AbstractLexer
     }
     }
 
 
     /**
     /**
-     * {@inheritdoc}
+     * {@inheritDoc}
      */
      */
     protected function getType(&$value)
     protected function getType(&$value)
     {
     {

+ 5 - 3
vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php

@@ -49,6 +49,8 @@ use const PHP_VERSION_ID;
  * A parser for docblock annotations.
  * A parser for docblock annotations.
  *
  *
  * It is strongly discouraged to change the default annotation parsing process.
  * It is strongly discouraged to change the default annotation parsing process.
+ *
+ * @psalm-type Arguments = array{positional_arguments?: array<int, mixed>, named_arguments?: array<string, mixed>}
  */
  */
 final class DocParser
 final class DocParser
 {
 {
@@ -1026,7 +1028,7 @@ EXCEPTION
     /**
     /**
      * MethodCall ::= ["(" [Values] ")"]
      * MethodCall ::= ["(" [Values] ")"]
      *
      *
-     * @return mixed[]
+     * @psalm-return Arguments
      *
      *
      * @throws AnnotationException
      * @throws AnnotationException
      * @throws ReflectionException
      * @throws ReflectionException
@@ -1053,7 +1055,7 @@ EXCEPTION
     /**
     /**
      * Values ::= Array | Value {"," Value}* [","]
      * Values ::= Array | Value {"," Value}* [","]
      *
      *
-     * @return mixed[]
+     * @psalm-return Arguments
      *
      *
      * @throws AnnotationException
      * @throws AnnotationException
      * @throws ReflectionException
      * @throws ReflectionException
@@ -1415,7 +1417,7 @@ EXCEPTION
     /**
     /**
      * Resolve positional arguments (without name) to named ones
      * Resolve positional arguments (without name) to named ones
      *
      *
-     * @param array<string,mixed> $arguments
+     * @psalm-param Arguments $arguments
      *
      *
      * @return array<string,mixed>
      * @return array<string,mixed>
      */
      */

+ 3 - 2
vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PsrCachedReader.php

@@ -12,6 +12,7 @@ use function array_map;
 use function array_merge;
 use function array_merge;
 use function assert;
 use function assert;
 use function filemtime;
 use function filemtime;
+use function is_file;
 use function max;
 use function max;
 use function rawurlencode;
 use function rawurlencode;
 use function time;
 use function time;
@@ -195,7 +196,7 @@ final class PsrCachedReader implements Reader
         $parent = $class->getParentClass();
         $parent = $class->getParentClass();
 
 
         $lastModification =  max(array_merge(
         $lastModification =  max(array_merge(
-            [$filename ? filemtime($filename) : 0],
+            [$filename !== false && is_file($filename) ? filemtime($filename) : 0],
             array_map(function (ReflectionClass $reflectionTrait): int {
             array_map(function (ReflectionClass $reflectionTrait): int {
                 return $this->getTraitLastModificationTime($reflectionTrait);
                 return $this->getTraitLastModificationTime($reflectionTrait);
             }, $class->getTraits()),
             }, $class->getTraits()),
@@ -219,7 +220,7 @@ final class PsrCachedReader implements Reader
         }
         }
 
 
         $lastModificationTime = max(array_merge(
         $lastModificationTime = max(array_merge(
-            [$fileName ? filemtime($fileName) : 0],
+            [$fileName !== false && is_file($fileName) ? filemtime($fileName) : 0],
             array_map(function (ReflectionClass $reflectionTrait): int {
             array_map(function (ReflectionClass $reflectionTrait): int {
                 return $this->getTraitLastModificationTime($reflectionTrait);
                 return $this->getTraitLastModificationTime($reflectionTrait);
             }, $reflectionTrait->getTraits())
             }, $reflectionTrait->getTraits())

+ 0 - 15
vendor/doctrine/annotations/psalm.xml

@@ -1,15 +0,0 @@
-<?xml version="1.0"?>
-<psalm
-    errorLevel="7"
-    resolveFromConfigFile="true"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns="https://getpsalm.org/schema/config"
-    xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
->
-    <projectFiles>
-        <directory name="lib/Doctrine/Common/Annotations" />
-        <ignoreFiles>
-            <directory name="vendor" />
-        </ignoreFiles>
-    </projectFiles>
-</psalm>

+ 34 - 10
vendor/fidry/cpu-core-counter/README.md

@@ -16,6 +16,10 @@ use Fidry\CpuCoreCounter\Finder\DummyCpuCoreFinder;
 
 
 $counter = new CpuCoreCounter();
 $counter = new CpuCoreCounter();
 
 
+// For knowing the number of cores you can use for launching parallel processes:
+$counter->getAvailableForParallelisation()->availableCpus;
+
+// Get the number of CPU cores (by default it will use the logical cores count):
 try {
 try {
     $counter->getCount();   // e.g. 8
     $counter->getCount();   // e.g. 8
 } catch (NumberOfCpuCoreNotFound) {
 } catch (NumberOfCpuCoreNotFound) {
@@ -29,6 +33,10 @@ $counter = new CpuCoreCounter([
     new DummyCpuCoreFinder(1),  // Fallback value
     new DummyCpuCoreFinder(1),  // Fallback value
 ]);
 ]);
 
 
+// A type-safe alternative form:
+$counter->getCountWithFallback(1);
+
+// Note that the result is memoized.
 $counter->getCount();   // e.g. 8
 $counter->getCount();   // e.g. 8
 
 
 ```
 ```
@@ -68,30 +76,46 @@ $cores = (new CpuCoreCounter($finders))->getCount();
 `FinderRegistry` provides two helpful entries:
 `FinderRegistry` provides two helpful entries:
 
 
 - `::getDefaultLogicalFinders()`: gives an ordered list of finders that will
 - `::getDefaultLogicalFinders()`: gives an ordered list of finders that will
-  look for the _logical_ CPU cores count
+  look for the _logical_ CPU cores count.
 - `::getDefaultPhysicalFinders()`: gives an ordered list of finders that will
 - `::getDefaultPhysicalFinders()`: gives an ordered list of finders that will
-  look for the _physical_ CPU cores count
+  look for the _physical_ CPU cores count.
 
 
-By default when using `CpuCoreCounter`, it will use the logical finders since
+By default, when using `CpuCoreCounter`, it will use the logical finders since
 it is more likely what you are looking for and is what is used by PHP source to
 it is more likely what you are looking for and is what is used by PHP source to
 build the PHP binary.
 build the PHP binary.
 
 
 
 
 ### Checks what finders find what on your system
 ### Checks what finders find what on your system
 
 
-You have two commands available that provides insight about what the finders
+You have three scrips available that provides insight about what the finders
 can find:
 can find:
 
 
-```
-$ make diagnose                                     # From this repository
-$ ./vendor/fidry/cpu-core-counter/bin/diagnose.php  # From the library
+```shell
+# Checks what each given finder will find on your system with details about the
+# information it had.
+make diagnose                                     # From this repository
+./vendor/fidry/cpu-core-counter/bin/diagnose.php  # From the library
 ```
 ```
 
 
 And:
 And:
+```shell
+# Execute all finders and display the result they found.
+make execute                                     # From this repository
+./vendor/fidry/cpu-core-counter/bin/execute.php  # From the library
 ```
 ```
-$ make execute                                     # From this repository
-$ ./vendor/fidry/cpu-core-counter/bin/execute.php  # From the library
-```
+
+
+### Debug the results found
+
+You have 3 methods available to help you find out what happened:
+
+1. If you are using the default configuration of finder registries, you can check
+   the previous section which will provide plenty of information.
+2. If what you are interested in is how many CPU cores were found, you can use
+   the `CpuCoreCounter::trace()` method.
+3. If what you are interested in is how the calculation of CPU cores available
+   for parallelisation was done, you can inspect the values of `ParallelisationResult`
+   returned by `CpuCoreCounter::getAvailableForParallelisation()`.
 
 
 
 
 ## Backward Compatibility Promise (BCP)
 ## Backward Compatibility Promise (BCP)

+ 179 - 0
vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php

@@ -14,7 +14,14 @@ declare(strict_types=1);
 namespace Fidry\CpuCoreCounter;
 namespace Fidry\CpuCoreCounter;
 
 
 use Fidry\CpuCoreCounter\Finder\CpuCoreFinder;
 use Fidry\CpuCoreCounter\Finder\CpuCoreFinder;
+use Fidry\CpuCoreCounter\Finder\EnvVariableFinder;
 use Fidry\CpuCoreCounter\Finder\FinderRegistry;
 use Fidry\CpuCoreCounter\Finder\FinderRegistry;
+use InvalidArgumentException;
+use function implode;
+use function max;
+use function sprintf;
+use function sys_getloadavg;
+use const PHP_EOL;
 
 
 final class CpuCoreCounter
 final class CpuCoreCounter
 {
 {
@@ -36,6 +43,89 @@ final class CpuCoreCounter
         $this->finders = $finders ?? FinderRegistry::getDefaultLogicalFinders();
         $this->finders = $finders ?? FinderRegistry::getDefaultLogicalFinders();
     }
     }
 
 
+    /**
+     * @param positive-int|0    $reservedCpus      Number of CPUs to reserve. This is useful when you want
+     *                                             to reserve some CPUs for other processes. If the main
+     *                                             process is going to be busy still, you may want to set
+     *                                             this value to 1.
+     * @param non-zero-int|null $countLimit        The maximum number of CPUs to return. If not provided, it
+     *                                             may look for a limit in the environment variables, e.g.
+     *                                             KUBERNETES_CPU_LIMIT. If negative, the limit will be
+     *                                             the total number of cores found minus the absolute value.
+     *                                             For instance if the system has 10 cores and countLimit=-2,
+     *                                             then the effective limit considered will be 8.
+     * @param float|null        $loadLimit         Element of [0., 1.]. Percentage representing the
+     *                                             amount of cores that should be used among the available
+     *                                             resources. For instance, if set to 0.7, it will use 70%
+     *                                             of the available cores, i.e. if 1 core is reserved, 11
+     *                                             cores are available and 5 are busy, it will use 70%
+     *                                             of (11-1-5)=5 cores, so 3 cores. Set this parameter to null
+     *                                             to skip this check. Beware that 1 does not mean "no limit",
+     *                                             but 100% of the _available_ resources, i.e. with the
+     *                                             previous example, it will return 5 cores. How busy is
+     *                                             the system is determined by the system load average
+     *                                             (see $systemLoadAverage).
+     * @param float|null        $systemLoadAverage The system load average. If passed, it will use
+     *                                             this information to limit the available cores based
+     *                                             on the _available_ resources. For instance, if there
+     *                                             is 10 cores but 3 are busy, then only 7 cores will
+     *                                             be considered for further calculation. If set to
+     *                                             `null`, it will use `sys_getloadavg()` to check the
+     *                                             load of the system in the past minute. You can
+     *                                             otherwise pass an arbitrary value. Should be a
+     *                                             positive float.
+     *
+     * @see https://php.net/manual/en/function.sys-getloadavg.php
+     */
+    public function getAvailableForParallelisation(
+        int $reservedCpus = 0,
+        ?int $countLimit = null,
+        ?float $loadLimit = null,
+        ?float $systemLoadAverage = 0.
+    ): ParallelisationResult {
+        self::checkCountLimit($countLimit);
+        self::checkLoadLimit($loadLimit);
+        self::checkSystemLoadAverage($systemLoadAverage);
+
+        $totalCoreCount = $this->getCountWithFallback(1);
+        $availableCores = max(1, $totalCoreCount - $reservedCpus);
+
+        // Adjust available CPUs based on current load
+        if (null !== $loadLimit) {
+            $correctedSystemLoadAverage = null === $systemLoadAverage
+                ? sys_getloadavg()[0] ?? 0.
+                : $systemLoadAverage;
+
+            $availableCores = max(
+                1,
+                $loadLimit * ($availableCores - $correctedSystemLoadAverage)
+            );
+        }
+
+        if (null === $countLimit) {
+            $correctedCountLimit = self::getKubernetesLimit();
+        } else {
+            $correctedCountLimit = $countLimit > 0
+                ? $countLimit
+                : max(1, $totalCoreCount + $countLimit);
+        }
+
+        if (null !== $correctedCountLimit && $availableCores > $correctedCountLimit) {
+            $availableCores = $correctedCountLimit;
+        }
+
+        return new ParallelisationResult(
+            $reservedCpus,
+            $countLimit,
+            $loadLimit,
+            $systemLoadAverage,
+            $correctedCountLimit,
+            $correctedSystemLoadAverage ?? $systemLoadAverage,
+            $totalCoreCount,
+            (int) $availableCores
+        );
+    }
+
     /**
     /**
      * @throws NumberOfCpuCoreNotFound
      * @throws NumberOfCpuCoreNotFound
      *
      *
@@ -51,6 +141,48 @@ final class CpuCoreCounter
         return $this->count;
         return $this->count;
     }
     }
 
 
+    /**
+     * @param positive-int $fallback
+     *
+     * @return positive-int
+     */
+    public function getCountWithFallback(int $fallback): int
+    {
+        try {
+            return $this->getCount();
+        } catch (NumberOfCpuCoreNotFound $exception) {
+            return $fallback;
+        }
+    }
+
+    /**
+     * This method is mostly for debugging purposes.
+     */
+    public function trace(): string
+    {
+        $output = [];
+
+        foreach ($this->finders as $finder) {
+            $output[] = sprintf(
+                'Executing the finder "%s":',
+                $finder->toString()
+            );
+            $output[] = $finder->diagnose();
+
+            $cores = $finder->find();
+
+            if (null !== $cores) {
+                $output[] = 'Result found: '.$cores;
+
+                break;
+            }
+
+            $output[] = '–––';
+        }
+
+        return implode(PHP_EOL, $output);
+    }
+
     /**
     /**
      * @throws NumberOfCpuCoreNotFound
      * @throws NumberOfCpuCoreNotFound
      *
      *
@@ -86,4 +218,51 @@ final class CpuCoreCounter
 
 
         throw NumberOfCpuCoreNotFound::create();
         throw NumberOfCpuCoreNotFound::create();
     }
     }
+
+    /**
+     * @return positive-int|null
+     */
+    public static function getKubernetesLimit(): ?int
+    {
+        $finder = new EnvVariableFinder('KUBERNETES_CPU_LIMIT');
+
+        return $finder->find();
+    }
+
+    private static function checkCountLimit(?int $countLimit): void
+    {
+        if (0 === $countLimit) {
+            throw new InvalidArgumentException(
+                'The count limit must be a non zero integer. Got "0".'
+            );
+        }
+    }
+
+    private static function checkLoadLimit(?float $loadLimit): void
+    {
+        if (null === $loadLimit) {
+            return;
+        }
+
+        if ($loadLimit < 0. || $loadLimit > 1.) {
+            throw new InvalidArgumentException(
+                sprintf(
+                    'The load limit must be in the range [0., 1.], got "%s".',
+                    $loadLimit
+                )
+            );
+        }
+    }
+
+    private static function checkSystemLoadAverage(?float $systemLoadAverage): void
+    {
+        if (null !== $systemLoadAverage && $systemLoadAverage < 0.) {
+            throw new InvalidArgumentException(
+                sprintf(
+                    'The system load average must be a positive float, got "%s".',
+                    $systemLoadAverage
+                )
+            );
+        }
+    }
 }
 }

+ 4 - 2
vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php

@@ -49,10 +49,12 @@ final class CpuInfoFinder implements CpuCoreFinder
         }
         }
 
 
         return sprintf(
         return sprintf(
-            'Found the file "%s" with the content:%s%s',
+            'Found the file "%s" with the content:%s%s%sWill return "%s".',
             self::CPU_INFO_PATH,
             self::CPU_INFO_PATH,
             PHP_EOL,
             PHP_EOL,
-            $cpuInfo
+            $cpuInfo,
+            PHP_EOL,
+            self::countCpuCores($cpuInfo)
         );
         );
     }
     }
 
 

+ 5 - 2
vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php

@@ -30,10 +30,13 @@ final class NProcFinder extends ProcOpenBasedFinder
     private $all;
     private $all;
 
 
     /**
     /**
-     * @param bool $all If disabled will give the number of cores available for the current process only.
+     * @param bool $all If disabled will give the number of cores available for the current process
+     *                  only. This is disabled by default as it is known to be "buggy" on virtual
+     *                  environments as the virtualization tool, e.g. VMWare, might over-commit
+     *                  resources by default.
      */
      */
     public function __construct(
     public function __construct(
-        bool $all = true,
+        bool $all = false,
         ?ProcessExecutor $executor = null
         ?ProcessExecutor $executor = null
     ) {
     ) {
         parent::__construct($executor);
         parent::__construct($executor);

+ 7 - 4
vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php

@@ -56,16 +56,19 @@ abstract class ProcOpenBasedFinder implements CpuCoreFinder
 
 
         return $failed
         return $failed
             ? sprintf(
             ? sprintf(
-                'Executed the command "%s" which wrote the following output to the STDERR:%s%s',
+                'Executed the command "%s" which wrote the following output to the STDERR:%s%s%sWill return "null".',
                 $command,
                 $command,
                 PHP_EOL,
                 PHP_EOL,
-                $stderr
+                $stderr,
+                PHP_EOL
             )
             )
             : sprintf(
             : sprintf(
-                'Executed the command "%s" and got the following (STDOUT) output:%s%s',
+                'Executed the command "%s" and got the following (STDOUT) output:%s%s%sWill return "%s".',
                 $command,
                 $command,
                 PHP_EOL,
                 PHP_EOL,
-                $stdout
+                $stdout,
+                PHP_EOL,
+                $this->countCpuCores($stdout) ?? 'null'
             );
             );
     }
     }
 
 

+ 122 - 0
vendor/friendsofphp/php-cs-fixer/CHANGELOG.md

@@ -3,6 +3,128 @@ CHANGELOG for PHP CS Fixer
 
 
 This file contains changelogs for stable releases only.
 This file contains changelogs for stable releases only.
 
 
+Changelog for v3.64.0
+---------------------
+
+* feat: Symfony - adjust configuration for sets (#8188)
+* feat: Symfony.trailing_comma_in_multiline - adjust configuration (#8161)
+* feat: Update PSR2, PSR12 and PER-CS2 with `single_space_around_construct` config (#8171)
+* CI: Update PHPStan to 1.12.0 and fix the error that appeared (#8184)
+
+Changelog for v3.63.2
+---------------------
+
+* fix: `FullyQualifiedStrictTypesFixer` - reset cache even if there is no `use` (#8183)
+
+Changelog for v3.63.1
+---------------------
+
+* dummy release
+
+Changelog for v3.63.0
+---------------------
+
+* feat: Add `array_destructuring` as option for `trailing_comma_in_multiline` (#8172)
+* feat: remove braces even for single import (#8156)
+* feat: TrailingCommaInMultilineFixer - dynamically evaluate config against PHP version (#8167)
+* fix: Do not shorten FQN for class resolution if imported symbol is not a class (#7705)
+* fix: Ensure PHP binary path is used as a single CLI argument in parallel worker process (#8180)
+* fix: `PhpUnitAttributesFixer` - fix priorities with `PhpUnitDataProvider(.+)Fixer` (#8169)
+* chore: add  tags for data providers that will change PHPStan's baseline (#8178)
+* chore: add `@return` tags for data providers already having PHPDoc (#8176)
+* chore: add `@return` tags for data providers that do not have array in data (#8179)
+* chore: remove duplicates from data providers (#8164)
+* chore: remove duplicates from data providers that are copies in code (#8145)
+* chore: remove `beStrictAboutTodoAnnotatedTests` from PHPUnit's config (#8160)
+* CI: Update PHPStan to 1.11.10 (#8163)
+* CI: Update PHPStan to 1.11.11 and fix error that changed (#8174)
+* docs: fix indent on rule `date_time_create_from_format_call` (#8173)
+
+Changelog for v3.62.0
+---------------------
+
+* feat: set new_with_parentheses for anonymous_class to false in PER-CS2.0 (#8140)
+* chore: NewWithParenthesesFixer - create TODO to change the default configuration to match PER-CS2 (#8148)
+
+Changelog for v3.61.1
+---------------------
+
+* fix: `NoSuperfluousPhpdocTagsFixer` - fix "Undefined array key 0" error (#8150)
+
+Changelog for v3.61.0
+---------------------
+
+* feat: no_superfluous_phpdoc_tags - also cover ?type (#8125)
+* feat: support PHPUnit v9.1 naming for some asserts (#7997)
+* fix: Do not mangle non-whitespace token in `PhpdocIndentFixer` (#8147)
+* DX: add more typehints for `class-string` (#8139)
+* DX: refactor `ProjectCodeTest::provideDataProviderMethodCases` (#8138)
+
+Changelog for v3.60.0
+---------------------
+
+* feat: Add sprintf in the list of compiler optimized functions (#8092)
+* feat: `PhpUnitAttributesFixer` - add option to keep annotations (#8090)
+* chore: cleanup tests that had `@requires PHP 7.4` ages ago (#8122)
+* chore: cleanup `TokensAnalyzerTest` (#8123)
+* chore: fix example issue reported by reportPossiblyNonexistentGeneralArrayOffset from PHPStan (#8089)
+* chore: NoSuperfluousPhpdocTagsFixer - no need to call heavy toComparableNames method to add null type (#8132)
+* chore: PHPStan 11 array rules (#8011)
+* chore: PhpUnitSizeClassFixerTest - solve PHP 8.4 issues (#8105)
+* chore: reduce PHPStan errors in PhpUnitAttributesFixer (#8091)
+* chore: reuse test methods (#8119)
+* CI: check autoload (#8121)
+* CI: Update PHPStan to 1.11.8 (#8133)
+* deps: upgrade dev-tools (#8102)
+* DX: check for duplicated test data (#8131)
+* DX: check for duplicated test methods (#8124)
+* DX: check for duplicated test methods (as AutoReview test) (#8134)
+* DX: do not exclude duplicates that are clearly mistakes (#8135)
+* DX: Dump `offsetAccess.notFound` errors to baseline (#8107)
+* fix: Better way of walking types in `TypeExpression` (#8076)
+* fix: CI for PHP 8.4 (#8114)
+* fix: update `TokensTest` to shrink PHPStan's baseline (#8112)
+* fix: `no_useless_concat_operator` - do not break variable (2) (#7927)
+* fix: `NullableTypeDeclarationFixer` - don't convert standalone `null` into nullable union type (#8098)
+* fix: `NullableTypeDeclarationFixer` - don't convert standalone `NULL` into nullable union type (#8111)
+* fix: `NullableTypeDeclarationFixer` - insert correct token (#8118)
+* fix: `PhpUnitAttributesFixer` - handle multiple annotations of the same name (#8075)
+
+Changelog for v3.59.3
+---------------------
+
+* refactor: refactor to templated trait+interface (#7988)
+
+Changelog for v3.59.2
+---------------------
+
+* fix: "list" is reserved type (#8087)
+* chore: add missing type in method prototype (#8088)
+* CI: bump Ubuntu version (#8086)
+* deps: bump infection to unblock PHPUnit 11, and few more as chore (#8083)
+
+Changelog for v3.59.1
+---------------------
+
+* fix: Bump React's JSON decoder buffer size (#8068)
+* docs: options - handle enums in dicts (#8082)
+
+Changelog for v3.59.0
+---------------------
+
+* feat(Docker): Multi-arch build (support for `arm64`) (#8079)
+* feat: `@PhpCsFixer` ruleset - normalise implicit backslashes in single quoted strings (#7965)
+* feat: `SimpleToComplexStringVariableFixer` - support variable being an array (#8064)
+* fix: Look up for PHPDoc's variable name by only chars allowed in the variables (#8062)
+* fix: Update `PhpUnitTestCaseStaticMethodCallsFixer::STATIC_METHODS` (#8073)
+* fix: `native_constant_invocation` - array constants with native constant names (#8008)
+* chore: update PHPStan (#8060)
+* CI: Update PHPStan to 1.11.4 (#8074)
+* docs: don't expose list as config type for dicts (#8081)
+* docs: Make wording in `final_class` docs less dismissive (#8065)
+* docs: Update 1-bug_report.yml (#8067)
+* DX: Remove version from Docker Compose files (#8061)
+
 Changelog for v3.58.1
 Changelog for v3.58.1
 ---------------------
 ---------------------
 
 

+ 14 - 7
vendor/friendsofphp/php-cs-fixer/composer.json

@@ -46,16 +46,16 @@
         "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
         "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
     },
     },
     "require-dev": {
     "require-dev": {
-        "facile-it/paraunit": "^1.3 || ^2.0",
-        "infection/infection": "^0.27.11",
+        "facile-it/paraunit": "^1.3 || ^2.3",
+        "infection/infection": "^0.29.5",
         "justinrainbow/json-schema": "^5.2",
         "justinrainbow/json-schema": "^5.2",
         "keradus/cli-executor": "^2.1",
         "keradus/cli-executor": "^2.1",
         "mikey179/vfsstream": "^1.6.11",
         "mikey179/vfsstream": "^1.6.11",
         "php-coveralls/php-coveralls": "^2.7",
         "php-coveralls/php-coveralls": "^2.7",
         "php-cs-fixer/accessible-object": "^1.1",
         "php-cs-fixer/accessible-object": "^1.1",
-        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
-        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
-        "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
+        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
+        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
+        "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2",
         "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
         "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
         "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
         "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
     },
     },
@@ -66,12 +66,18 @@
     "autoload": {
     "autoload": {
         "psr-4": {
         "psr-4": {
             "PhpCsFixer\\": "src/"
             "PhpCsFixer\\": "src/"
-        }
+        },
+        "exclude-from-classmap": [
+            "src/Fixer/Internal/*"
+        ]
     },
     },
     "autoload-dev": {
     "autoload-dev": {
         "psr-4": {
         "psr-4": {
             "PhpCsFixer\\Tests\\": "tests/"
             "PhpCsFixer\\Tests\\": "tests/"
-        }
+        },
+        "exclude-from-classmap": [
+            "tests/Fixtures/"
+        ]
     },
     },
     "bin": [
     "bin": [
         "php-cs-fixer"
         "php-cs-fixer"
@@ -121,6 +127,7 @@
         "self-check": [
         "self-check": [
             "./dev-tools/check_file_permissions.sh",
             "./dev-tools/check_file_permissions.sh",
             "./dev-tools/check_trailing_spaces.sh",
             "./dev-tools/check_trailing_spaces.sh",
+            "@composer dump-autoload --dry-run --optimize --strict-psr",
             "@normalize",
             "@normalize",
             "@unused-deps",
             "@unused-deps",
             "@require-checker",
             "@require-checker",

+ 12 - 10
vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php

@@ -26,6 +26,17 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
 
 /**
 /**
  * @internal
  * @internal
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  scalar_types?: bool,
+ *  union_types?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  scalar_types: bool,
+ *  union_types: bool
+ * }
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
  */
  */
 abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements ConfigurableFixerInterface
 abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
@@ -53,7 +64,7 @@ abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements
 
 
             $doctrineAnnotationTokens = DoctrineAnnotationTokens::createFromDocComment(
             $doctrineAnnotationTokens = DoctrineAnnotationTokens::createFromDocComment(
                 $docCommentToken,
                 $docCommentToken,
-                $this->configuration['ignored_tags']
+                $this->configuration['ignored_tags'] // @phpstan-ignore-line
             );
             );
 
 
             $this->fixAnnotations($doctrineAnnotationTokens);
             $this->fixAnnotations($doctrineAnnotationTokens);
@@ -71,15 +82,6 @@ abstract class AbstractDoctrineAnnotationFixer extends AbstractFixer implements
         return new FixerConfigurationResolver([
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('ignored_tags', 'List of tags that must not be treated as Doctrine Annotations.'))
             (new FixerOptionBuilder('ignored_tags', 'List of tags that must not be treated as Doctrine Annotations.'))
                 ->setAllowedTypes(['string[]'])
                 ->setAllowedTypes(['string[]'])
-                ->setAllowedValues([static function (array $values): bool {
-                    foreach ($values as $value) {
-                        if (!\is_string($value)) {
-                            return false;
-                        }
-                    }
-
-                    return true;
-                }])
                 ->setDefault([
                 ->setDefault([
                     // PHPDocumentor 1
                     // PHPDocumentor 1
                     'abstract',
                     'abstract',

+ 1 - 90
vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php

@@ -14,19 +14,11 @@ declare(strict_types=1);
 
 
 namespace PhpCsFixer;
 namespace PhpCsFixer;
 
 
-use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
-use PhpCsFixer\ConfigurationException\InvalidForEnvFixerConfigurationException;
 use PhpCsFixer\ConfigurationException\RequiredFixerConfigurationException;
 use PhpCsFixer\ConfigurationException\RequiredFixerConfigurationException;
-use PhpCsFixer\Console\Application;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
-use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
-use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
-use PhpCsFixer\FixerConfiguration\InvalidOptionsForEnvException;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\Tokens;
-use Symfony\Component\OptionsResolver\Exception\ExceptionInterface;
-use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
 
 
 /**
 /**
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
@@ -35,21 +27,11 @@ use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
  */
  */
 abstract class AbstractFixer implements FixerInterface
 abstract class AbstractFixer implements FixerInterface
 {
 {
-    /**
-     * @var null|array<string, mixed>
-     */
-    protected $configuration;
-
     /**
     /**
      * @var WhitespacesFixerConfig
      * @var WhitespacesFixerConfig
      */
      */
     protected $whitespacesConfig;
     protected $whitespacesConfig;
 
 
-    /**
-     * @var null|FixerConfigurationResolverInterface
-     */
-    private $configurationDefinition;
-
     public function __construct()
     public function __construct()
     {
     {
         if ($this instanceof ConfigurableFixerInterface) {
         if ($this instanceof ConfigurableFixerInterface) {
@@ -67,7 +49,7 @@ abstract class AbstractFixer implements FixerInterface
 
 
     final public function fix(\SplFileInfo $file, Tokens $tokens): void
     final public function fix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
-        if ($this instanceof ConfigurableFixerInterface && null === $this->configuration) {
+        if ($this instanceof ConfigurableFixerInterface && property_exists($this, 'configuration') && null === $this->configuration) {
             throw new RequiredFixerConfigurationException($this->getName(), 'Configuration is required.');
             throw new RequiredFixerConfigurationException($this->getName(), 'Configuration is required.');
         }
         }
 
 
@@ -99,68 +81,6 @@ abstract class AbstractFixer implements FixerInterface
         return true;
         return true;
     }
     }
 
 
-    /**
-     * @param array<string, mixed> $configuration
-     */
-    public function configure(array $configuration): void
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException('Cannot configure using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
-        }
-
-        foreach ($this->getConfigurationDefinition()->getOptions() as $option) {
-            if (!$option instanceof DeprecatedFixerOption) {
-                continue;
-            }
-
-            $name = $option->getName();
-            if (\array_key_exists($name, $configuration)) {
-                Utils::triggerDeprecation(new \InvalidArgumentException(sprintf(
-                    'Option "%s" for rule "%s" is deprecated and will be removed in version %d.0. %s',
-                    $name,
-                    $this->getName(),
-                    Application::getMajorVersion() + 1,
-                    str_replace('`', '"', $option->getDeprecationMessage())
-                )));
-            }
-        }
-
-        try {
-            $this->configuration = $this->getConfigurationDefinition()->resolve($configuration);
-        } catch (MissingOptionsException $exception) {
-            throw new RequiredFixerConfigurationException(
-                $this->getName(),
-                sprintf('Missing required configuration: %s', $exception->getMessage()),
-                $exception
-            );
-        } catch (InvalidOptionsForEnvException $exception) {
-            throw new InvalidForEnvFixerConfigurationException(
-                $this->getName(),
-                sprintf('Invalid configuration for env: %s', $exception->getMessage()),
-                $exception
-            );
-        } catch (ExceptionInterface $exception) {
-            throw new InvalidFixerConfigurationException(
-                $this->getName(),
-                sprintf('Invalid configuration: %s', $exception->getMessage()),
-                $exception
-            );
-        }
-    }
-
-    public function getConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException(sprintf('Cannot get configuration definition using Abstract parent, child "%s" not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".', static::class));
-        }
-
-        if (null === $this->configurationDefinition) {
-            $this->configurationDefinition = $this->createConfigurationDefinition();
-        }
-
-        return $this->configurationDefinition;
-    }
-
     public function setWhitespacesConfig(WhitespacesFixerConfig $config): void
     public function setWhitespacesConfig(WhitespacesFixerConfig $config): void
     {
     {
         if (!$this instanceof WhitespacesAwareFixerInterface) {
         if (!$this instanceof WhitespacesAwareFixerInterface) {
@@ -172,15 +92,6 @@ abstract class AbstractFixer implements FixerInterface
 
 
     abstract protected function applyFix(\SplFileInfo $file, Tokens $tokens): void;
     abstract protected function applyFix(\SplFileInfo $file, Tokens $tokens): void;
 
 
-    protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        if (!$this instanceof ConfigurableFixerInterface) {
-            throw new \LogicException('Cannot create configuration definition using Abstract parent, child not implementing "PhpCsFixer\Fixer\ConfigurableFixerInterface".');
-        }
-
-        throw new \LogicException('Not implemented.');
-    }
-
     private function getDefaultWhitespacesFixerConfig(): WhitespacesFixerConfig
     private function getDefaultWhitespacesFixerConfig(): WhitespacesFixerConfig
     {
     {
         static $defaultWhitespacesFixerConfig = null;
         static $defaultWhitespacesFixerConfig = null;

+ 14 - 0
vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocToTypeDeclarationFixer.php

@@ -18,6 +18,7 @@ use PhpCsFixer\DocBlock\Annotation;
 use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -31,9 +32,22 @@ use PhpCsFixer\Tokenizer\Tokens;
  * @internal
  * @internal
  *
  *
  * @phpstan-type _CommonTypeInfo array{commonType: string, isNullable: bool}
  * @phpstan-type _CommonTypeInfo array{commonType: string, isNullable: bool}
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  scalar_types?: bool,
+ *  union_types?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  scalar_types: bool,
+ *  union_types: bool
+ * }
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
  */
  */
 abstract class AbstractPhpdocToTypeDeclarationFixer extends AbstractFixer implements ConfigurableFixerInterface
 abstract class AbstractPhpdocToTypeDeclarationFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const REGEX_CLASS = '(?:\\\?+'.TypeExpression::REGEX_IDENTIFIER
     private const REGEX_CLASS = '(?:\\\?+'.TypeExpression::REGEX_IDENTIFIER
         .'(\\\\'.TypeExpression::REGEX_IDENTIFIER.')*+)';
         .'(\\\\'.TypeExpression::REGEX_IDENTIFIER.')*+)';
 
 

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php

@@ -76,7 +76,7 @@ final class Cache implements CacheInterface
         ]);
         ]);
 
 
         if (JSON_ERROR_NONE !== json_last_error() || false === $json) {
         if (JSON_ERROR_NONE !== json_last_error() || false === $json) {
-            throw new \UnexpectedValueException(sprintf(
+            throw new \UnexpectedValueException(\sprintf(
                 'Cannot encode cache signature to JSON, error: "%s". If you have non-UTF8 chars in your signature, like in license for `header_comment`, consider enabling `ext-mbstring` or install `symfony/polyfill-mbstring`.',
                 'Cannot encode cache signature to JSON, error: "%s". If you have non-UTF8 chars in your signature, like in license for `header_comment`, consider enabling `ext-mbstring` or install `symfony/polyfill-mbstring`.',
                 json_last_error_msg()
                 json_last_error_msg()
             ));
             ));
@@ -93,7 +93,7 @@ final class Cache implements CacheInterface
         $data = json_decode($json, true);
         $data = json_decode($json, true);
 
 
         if (null === $data && JSON_ERROR_NONE !== json_last_error()) {
         if (null === $data && JSON_ERROR_NONE !== json_last_error()) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 'Value needs to be a valid JSON string, got "%s", error: "%s".',
                 'Value needs to be a valid JSON string, got "%s", error: "%s".',
                 $json,
                 $json,
                 json_last_error_msg()
                 json_last_error_msg()
@@ -112,7 +112,7 @@ final class Cache implements CacheInterface
         $missingKeys = array_diff_key(array_flip($requiredKeys), $data);
         $missingKeys = array_diff_key(array_flip($requiredKeys), $data);
 
 
         if (\count($missingKeys) > 0) {
         if (\count($missingKeys) > 0) {
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 'JSON data is missing keys %s',
                 'JSON data is missing keys %s',
                 Utils::naturalLanguageJoin(array_keys($missingKeys))
                 Utils::naturalLanguageJoin(array_keys($missingKeys))
             ));
             ));

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php

@@ -140,7 +140,7 @@ final class FileHandler implements FileHandlerInterface
 
 
         if ($this->fileInfo->isDir()) {
         if ($this->fileInfo->isDir()) {
             throw new IOException(
             throw new IOException(
-                sprintf('Cannot write cache file "%s" as the location exists as directory.', $this->fileInfo->getRealPath()),
+                \sprintf('Cannot write cache file "%s" as the location exists as directory.', $this->fileInfo->getRealPath()),
                 0,
                 0,
                 null,
                 null,
                 $this->fileInfo->getPathname()
                 $this->fileInfo->getPathname()
@@ -149,7 +149,7 @@ final class FileHandler implements FileHandlerInterface
 
 
         if ($this->fileInfo->isFile() && !$this->fileInfo->isWritable()) {
         if ($this->fileInfo->isFile() && !$this->fileInfo->isWritable()) {
             throw new IOException(
             throw new IOException(
-                sprintf('Cannot write to file "%s" as it is not writable.', $this->fileInfo->getRealPath()),
+                \sprintf('Cannot write to file "%s" as it is not writable.', $this->fileInfo->getRealPath()),
                 0,
                 0,
                 null,
                 null,
                 $this->fileInfo->getPathname()
                 $this->fileInfo->getPathname()
@@ -171,7 +171,7 @@ final class FileHandler implements FileHandlerInterface
 
 
         if (!@is_dir($dir)) {
         if (!@is_dir($dir)) {
             throw new IOException(
             throw new IOException(
-                sprintf('Directory of cache file "%s" does not exists and couldn\'t be created.', $file),
+                \sprintf('Directory of cache file "%s" does not exists and couldn\'t be created.', $file),
                 0,
                 0,
                 null,
                 null,
                 $file
                 $file

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php

@@ -30,7 +30,7 @@ class InvalidFixerConfigurationException extends InvalidConfigurationException
     public function __construct(string $fixerName, string $message, ?\Throwable $previous = null)
     public function __construct(string $fixerName, string $message, ?\Throwable $previous = null)
     {
     {
         parent::__construct(
         parent::__construct(
-            sprintf('[%s] %s', $fixerName, $message),
+            \sprintf('[%s] %s', $fixerName, $message),
             FixCommandExitStatusCalculator::EXIT_STATUS_FLAG_HAS_INVALID_FIXER_CONFIG,
             FixCommandExitStatusCalculator::EXIT_STATUS_FLAG_HAS_INVALID_FIXER_CONFIG,
             $previous
             $previous
         );
         );

+ 7 - 7
vendor/friendsofphp/php-cs-fixer/src/Console/Application.php

@@ -44,8 +44,8 @@ use Symfony\Component\Console\Output\OutputInterface;
 final class Application extends BaseApplication
 final class Application extends BaseApplication
 {
 {
     public const NAME = 'PHP CS Fixer';
     public const NAME = 'PHP CS Fixer';
-    public const VERSION = '3.58.1';
-    public const VERSION_CODENAME = '7th Gear';
+    public const VERSION = '3.64.0';
+    public const VERSION_CODENAME = 'Space Sets';
 
 
     private ToolInfo $toolInfo;
     private ToolInfo $toolInfo;
     private ?Command $executedCommand = null;
     private ?Command $executedCommand = null;
@@ -89,7 +89,7 @@ final class Application extends BaseApplication
 
 
             if (\count($warnings) > 0) {
             if (\count($warnings) > 0) {
                 foreach ($warnings as $warning) {
                 foreach ($warnings as $warning) {
-                    $stdErr->writeln(sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', $warning));
+                    $stdErr->writeln(\sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', $warning));
                 }
                 }
                 $stdErr->writeln('');
                 $stdErr->writeln('');
             }
             }
@@ -107,7 +107,7 @@ final class Application extends BaseApplication
                 $stdErr->writeln('');
                 $stdErr->writeln('');
                 $stdErr->writeln($stdErr->isDecorated() ? '<bg=yellow;fg=black;>Detected deprecations in use:</>' : 'Detected deprecations in use:');
                 $stdErr->writeln($stdErr->isDecorated() ? '<bg=yellow;fg=black;>Detected deprecations in use:</>' : 'Detected deprecations in use:');
                 foreach ($triggeredDeprecations as $deprecation) {
                 foreach ($triggeredDeprecations as $deprecation) {
-                    $stdErr->writeln(sprintf('- %s', $deprecation));
+                    $stdErr->writeln(\sprintf('- %s', $deprecation));
                 }
                 }
             }
             }
         }
         }
@@ -120,7 +120,7 @@ final class Application extends BaseApplication
      */
      */
     public static function getAbout(bool $decorated = false): string
     public static function getAbout(bool $decorated = false): string
     {
     {
-        $longVersion = sprintf('%s <info>%s</info>', self::NAME, self::VERSION);
+        $longVersion = \sprintf('%s <info>%s</info>', self::NAME, self::VERSION);
 
 
         $commit = '@git-commit@';
         $commit = '@git-commit@';
         $versionCommit = '';
         $versionCommit = '';
@@ -131,8 +131,8 @@ final class Application extends BaseApplication
 
 
         $about = implode('', [
         $about = implode('', [
             $longVersion,
             $longVersion,
-            $versionCommit ? sprintf(' <info>(%s)</info>', $versionCommit) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
-            self::VERSION_CODENAME ? sprintf(' <info>%s</info>', self::VERSION_CODENAME) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
+            $versionCommit ? \sprintf(' <info>(%s)</info>', $versionCommit) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
+            self::VERSION_CODENAME ? \sprintf(' <info>%s</info>', self::VERSION_CODENAME) : '', // @phpstan-ignore-line to avoid `Ternary operator condition is always true|false.`
             ' by <comment>Fabien Potencier</comment>, <comment>Dariusz Ruminski</comment> and <comment>contributors</comment>.',
             ' by <comment>Fabien Potencier</comment>, <comment>Dariusz Ruminski</comment> and <comment>contributors</comment>.',
         ]);
         ]);
 
 

+ 28 - 20
vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php

@@ -24,6 +24,7 @@ use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\ExperimentalFixerInterface;
 use PhpCsFixer\Fixer\ExperimentalFixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
 use PhpCsFixer\Fixer\FixerInterface;
+use PhpCsFixer\Fixer\InternalFixerInterface;
 use PhpCsFixer\FixerConfiguration\AliasedFixerOption;
 use PhpCsFixer\FixerConfiguration\AliasedFixerOption;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
 use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
@@ -130,7 +131,7 @@ final class DescribeCommand extends Command
 
 
             $this->describeList($output, $e->getType());
             $this->describeList($output, $e->getType());
 
 
-            throw new \InvalidArgumentException(sprintf(
+            throw new \InvalidArgumentException(\sprintf(
                 '%s "%s" not found.%s',
                 '%s "%s" not found.%s',
                 ucfirst($e->getType()),
                 ucfirst($e->getType()),
                 $name,
                 $name,
@@ -154,24 +155,24 @@ final class DescribeCommand extends Command
 
 
         $definition = $fixer->getDefinition();
         $definition = $fixer->getDefinition();
 
 
-        $output->writeln(sprintf('<fg=blue>Description of the <info>`%s`</info> rule.</>', $name));
+        $output->writeln(\sprintf('<fg=blue>Description of the <info>`%s`</info> rule.</>', $name));
         $output->writeln('');
         $output->writeln('');
 
 
         if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
         if ($output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE) {
-            $output->writeln(sprintf('Fixer class: <comment>%s</comment>.', \get_class($fixer)));
+            $output->writeln(\sprintf('Fixer class: <comment>%s</comment>.', \get_class($fixer)));
             $output->writeln('');
             $output->writeln('');
         }
         }
 
 
         if ($fixer instanceof DeprecatedFixerInterface) {
         if ($fixer instanceof DeprecatedFixerInterface) {
             $successors = $fixer->getSuccessorsNames();
             $successors = $fixer->getSuccessorsNames();
             $message = [] === $successors
             $message = [] === $successors
-                ? sprintf('it will be removed in version %d.0', Application::getMajorVersion() + 1)
-                : sprintf('use %s instead', Utils::naturalLanguageJoinWithBackticks($successors));
+                ? \sprintf('it will be removed in version %d.0', Application::getMajorVersion() + 1)
+                : \sprintf('use %s instead', Utils::naturalLanguageJoinWithBackticks($successors));
 
 
             $endMessage = '. '.ucfirst($message);
             $endMessage = '. '.ucfirst($message);
             Utils::triggerDeprecation(new \RuntimeException(str_replace('`', '"', "Rule \"{$name}\" is deprecated{$endMessage}.")));
             Utils::triggerDeprecation(new \RuntimeException(str_replace('`', '"', "Rule \"{$name}\" is deprecated{$endMessage}.")));
             $message = Preg::replace('/(`[^`]+`)/', '<info>$1</info>', $message);
             $message = Preg::replace('/(`[^`]+`)/', '<info>$1</info>', $message);
-            $output->writeln(sprintf('<error>DEPRECATED</error>: %s.', $message));
+            $output->writeln(\sprintf('<error>DEPRECATED</error>: %s.', $message));
             $output->writeln('');
             $output->writeln('');
         }
         }
 
 
@@ -192,6 +193,13 @@ final class DescribeCommand extends Command
             $output->writeln('');
             $output->writeln('');
         }
         }
 
 
+        if ($fixer instanceof InternalFixerInterface) {
+            $output->writeln('<error>Fixer applying this rule is INTERNAL.</error>.');
+            $output->writeln('It is expected to be used only on PHP CS Fixer project itself.');
+
+            $output->writeln('');
+        }
+
         if ($fixer->isRisky()) {
         if ($fixer->isRisky()) {
             $output->writeln('<error>Fixer applying this rule is RISKY.</error>');
             $output->writeln('<error>Fixer applying this rule is RISKY.</error>');
 
 
@@ -208,7 +216,7 @@ final class DescribeCommand extends Command
             $configurationDefinition = $fixer->getConfigurationDefinition();
             $configurationDefinition = $fixer->getConfigurationDefinition();
             $options = $configurationDefinition->getOptions();
             $options = $configurationDefinition->getOptions();
 
 
-            $output->writeln(sprintf('Fixer is configurable using following option%s:', 1 === \count($options) ? '' : 's'));
+            $output->writeln(\sprintf('Fixer is configurable using following option%s:', 1 === \count($options) ? '' : 's'));
 
 
             foreach ($options as $option) {
             foreach ($options as $option) {
                 $line = '* <info>'.OutputFormatter::escape($option->getName()).'</info>';
                 $line = '* <info>'.OutputFormatter::escape($option->getName()).'</info>';
@@ -231,7 +239,7 @@ final class DescribeCommand extends Command
                 $line .= ': '.lcfirst(Preg::replace('/\.$/', '', $description)).'; ';
                 $line .= ': '.lcfirst(Preg::replace('/\.$/', '', $description)).'; ';
 
 
                 if ($option->hasDefault()) {
                 if ($option->hasDefault()) {
-                    $line .= sprintf(
+                    $line .= \sprintf(
                         'defaults to <comment>%s</comment>',
                         'defaults to <comment>%s</comment>',
                         Utils::toString($option->getDefault())
                         Utils::toString($option->getDefault())
                     );
                     );
@@ -282,7 +290,7 @@ final class DescribeCommand extends Command
             $differ = new FullDiffer();
             $differ = new FullDiffer();
             $diffFormatter = new DiffConsoleFormatter(
             $diffFormatter = new DiffConsoleFormatter(
                 $output->isDecorated(),
                 $output->isDecorated(),
-                sprintf(
+                \sprintf(
                     '<comment>   ---------- begin diff ----------</comment>%s%%s%s<comment>   ----------- end diff -----------</comment>',
                     '<comment>   ---------- begin diff ----------</comment>%s%%s%s<comment>   ----------- end diff -----------</comment>',
                     PHP_EOL,
                     PHP_EOL,
                     PHP_EOL
                     PHP_EOL
@@ -309,12 +317,12 @@ final class DescribeCommand extends Command
 
 
                 if ($fixer instanceof ConfigurableFixerInterface) {
                 if ($fixer instanceof ConfigurableFixerInterface) {
                     if (null === $configuration) {
                     if (null === $configuration) {
-                        $output->writeln(sprintf(' * Example #%d. Fixing with the <comment>default</comment> configuration.', $index + 1));
+                        $output->writeln(\sprintf(' * Example #%d. Fixing with the <comment>default</comment> configuration.', $index + 1));
                     } else {
                     } else {
-                        $output->writeln(sprintf(' * Example #%d. Fixing with configuration: <comment>%s</comment>.', $index + 1, Utils::toString($codeSample->getConfiguration())));
+                        $output->writeln(\sprintf(' * Example #%d. Fixing with configuration: <comment>%s</comment>.', $index + 1, Utils::toString($codeSample->getConfiguration())));
                     }
                     }
                 } else {
                 } else {
-                    $output->writeln(sprintf(' * Example #%d.', $index + 1));
+                    $output->writeln(\sprintf(' * Example #%d.', $index + 1));
                 }
                 }
 
 
                 $output->writeln([$diffFormatter->format($diff, '   %s'), '']);
                 $output->writeln([$diffFormatter->format($diff, '   %s'), '']);
@@ -330,9 +338,9 @@ final class DescribeCommand extends Command
 
 
             foreach ($ruleSetConfigs as $set => $config) {
             foreach ($ruleSetConfigs as $set => $config) {
                 if (null !== $config) {
                 if (null !== $config) {
-                    $output->writeln(sprintf('* <info>%s</info> with config: <comment>%s</comment>', $set, Utils::toString($config)));
+                    $output->writeln(\sprintf('* <info>%s</info> with config: <comment>%s</comment>', $set, Utils::toString($config)));
                 } else {
                 } else {
-                    $output->writeln(sprintf('* <info>%s</info> with <comment>default</comment> config', $set));
+                    $output->writeln(\sprintf('* <info>%s</info> with <comment>default</comment> config', $set));
                 }
                 }
             }
             }
 
 
@@ -349,7 +357,7 @@ final class DescribeCommand extends Command
         $ruleSetDefinitions = RuleSets::getSetDefinitions();
         $ruleSetDefinitions = RuleSets::getSetDefinitions();
         $fixers = $this->getFixers();
         $fixers = $this->getFixers();
 
 
-        $output->writeln(sprintf('<fg=blue>Description of the <info>`%s`</info> set.</>', $ruleSetDefinitions[$name]->getName()));
+        $output->writeln(\sprintf('<fg=blue>Description of the <info>`%s`</info> set.</>', $ruleSetDefinitions[$name]->getName()));
         $output->writeln('');
         $output->writeln('');
 
 
         $output->writeln($this->replaceRstLinks($ruleSetDefinitions[$name]->getDescription()));
         $output->writeln($this->replaceRstLinks($ruleSetDefinitions[$name]->getDescription()));
@@ -365,7 +373,7 @@ final class DescribeCommand extends Command
         foreach ($ruleSetDefinitions[$name]->getRules() as $rule => $config) {
         foreach ($ruleSetDefinitions[$name]->getRules() as $rule => $config) {
             if (str_starts_with($rule, '@')) {
             if (str_starts_with($rule, '@')) {
                 $set = $ruleSetDefinitions[$rule];
                 $set = $ruleSetDefinitions[$rule];
-                $help .= sprintf(
+                $help .= \sprintf(
                     " * <info>%s</info>%s\n   | %s\n\n",
                     " * <info>%s</info>%s\n   | %s\n\n",
                     $rule,
                     $rule,
                     $set->isRisky() ? ' <error>risky</error>' : '',
                     $set->isRisky() ? ' <error>risky</error>' : '',
@@ -379,12 +387,12 @@ final class DescribeCommand extends Command
             $fixer = $fixers[$rule];
             $fixer = $fixers[$rule];
 
 
             $definition = $fixer->getDefinition();
             $definition = $fixer->getDefinition();
-            $help .= sprintf(
+            $help .= \sprintf(
                 " * <info>%s</info>%s\n   | %s\n%s\n",
                 " * <info>%s</info>%s\n   | %s\n%s\n",
                 $rule,
                 $rule,
                 $fixer->isRisky() ? ' <error>risky</error>' : '',
                 $fixer->isRisky() ? ' <error>risky</error>' : '',
                 $definition->getSummary(),
                 $definition->getSummary(),
-                true !== $config ? sprintf("   <comment>| Configuration: %s</comment>\n", Utils::toString($config)) : ''
+                true !== $config ? \sprintf("   <comment>| Configuration: %s</comment>\n", Utils::toString($config)) : ''
             );
             );
         }
         }
 
 
@@ -440,7 +448,7 @@ final class DescribeCommand extends Command
 
 
             $items = $this->getSetNames();
             $items = $this->getSetNames();
             foreach ($items as $item) {
             foreach ($items as $item) {
-                $output->writeln(sprintf('* <info>%s</info>', $item));
+                $output->writeln(\sprintf('* <info>%s</info>', $item));
             }
             }
         }
         }
 
 
@@ -449,7 +457,7 @@ final class DescribeCommand extends Command
 
 
             $items = array_keys($this->getFixers());
             $items = array_keys($this->getFixers());
             foreach ($items as $item) {
             foreach ($items as $item) {
-                $output->writeln(sprintf('* <info>%s</info>', $item));
+                $output->writeln(\sprintf('* <info>%s</info>', $item));
             }
             }
         }
         }
     }
     }

+ 8 - 8
vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php

@@ -263,10 +263,10 @@ use Symfony\Component\Stopwatch\Stopwatch;
             $stdErr->writeln(Application::getAboutWithRuntime(true));
             $stdErr->writeln(Application::getAboutWithRuntime(true));
             $isParallel = $resolver->getParallelConfig()->getMaxProcesses() > 1;
             $isParallel = $resolver->getParallelConfig()->getMaxProcesses() > 1;
 
 
-            $stdErr->writeln(sprintf(
+            $stdErr->writeln(\sprintf(
                 'Running analysis on %d core%s.',
                 'Running analysis on %d core%s.',
                 $resolver->getParallelConfig()->getMaxProcesses(),
                 $resolver->getParallelConfig()->getMaxProcesses(),
-                $isParallel ? sprintf(
+                $isParallel ? \sprintf(
                     's with %d file%s per process',
                     's with %d file%s per process',
                     $resolver->getParallelConfig()->getFilesPerProcess(),
                     $resolver->getParallelConfig()->getFilesPerProcess(),
                     $resolver->getParallelConfig()->getFilesPerProcess() > 1 ? 's' : ''
                     $resolver->getParallelConfig()->getFilesPerProcess() > 1 ? 's' : ''
@@ -275,26 +275,26 @@ use Symfony\Component\Stopwatch\Stopwatch;
 
 
             /** @TODO v4 remove warnings related to parallel runner */
             /** @TODO v4 remove warnings related to parallel runner */
             $usageDocs = 'https://cs.symfony.com/doc/usage.html';
             $usageDocs = 'https://cs.symfony.com/doc/usage.html';
-            $stdErr->writeln(sprintf(
+            $stdErr->writeln(\sprintf(
                 $stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s',
                 $stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s',
                 $isParallel
                 $isParallel
                     ? 'Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!'
                     ? 'Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!'
-                    : sprintf(
+                    : \sprintf(
                         'You can enable parallel runner and speed up the analysis! Please see %s for more information.',
                         'You can enable parallel runner and speed up the analysis! Please see %s for more information.',
                         $stdErr->isDecorated()
                         $stdErr->isDecorated()
-                            ? sprintf('<href=%s;bg=yellow;fg=red;bold>usage docs</>', OutputFormatter::escape($usageDocs))
+                            ? \sprintf('<href=%s;bg=yellow;fg=red;bold>usage docs</>', OutputFormatter::escape($usageDocs))
                             : $usageDocs
                             : $usageDocs
                     )
                     )
             ));
             ));
 
 
             $configFile = $resolver->getConfigFile();
             $configFile = $resolver->getConfigFile();
-            $stdErr->writeln(sprintf('Loaded config <comment>%s</comment>%s.', $resolver->getConfig()->getName(), null === $configFile ? '' : ' from "'.$configFile.'"'));
+            $stdErr->writeln(\sprintf('Loaded config <comment>%s</comment>%s.', $resolver->getConfig()->getName(), null === $configFile ? '' : ' from "'.$configFile.'"'));
 
 
             if ($resolver->getUsingCache()) {
             if ($resolver->getUsingCache()) {
                 $cacheFile = $resolver->getCacheFile();
                 $cacheFile = $resolver->getCacheFile();
 
 
                 if (is_file($cacheFile)) {
                 if (is_file($cacheFile)) {
-                    $stdErr->writeln(sprintf('Using cache file "%s".', $cacheFile));
+                    $stdErr->writeln(\sprintf('Using cache file "%s".', $cacheFile));
                 }
                 }
             }
             }
         }
         }
@@ -303,7 +303,7 @@ use Symfony\Component\Stopwatch\Stopwatch;
 
 
         if (null !== $stdErr && $resolver->configFinderIsOverridden()) {
         if (null !== $stdErr && $resolver->configFinderIsOverridden()) {
             $stdErr->writeln(
             $stdErr->writeln(
-                sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', 'Paths from configuration file have been overridden by paths provided as command arguments.')
+                \sprintf($stdErr->isDecorated() ? '<bg=yellow;fg=black;>%s</>' : '%s', 'Paths from configuration file have been overridden by paths provided as command arguments.')
             );
             );
         }
         }
 
 

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Command/ListSetsCommand.php

@@ -80,7 +80,7 @@ final class ListSetsCommand extends Command
             $formats = $factory->getFormats();
             $formats = $factory->getFormats();
             sort($formats);
             sort($formats);
 
 
-            throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
+            throw new InvalidConfigurationException(\sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
         }
         }
 
 
         return $reporter;
         return $reporter;

+ 7 - 7
vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php

@@ -102,7 +102,7 @@ final class SelfUpdateCommand extends Command
             $latestVersion = $this->versionChecker->getLatestVersion();
             $latestVersion = $this->versionChecker->getLatestVersion();
             $latestVersionOfCurrentMajor = $this->versionChecker->getLatestVersionOfMajor($currentMajor);
             $latestVersionOfCurrentMajor = $this->versionChecker->getLatestVersionOfMajor($currentMajor);
         } catch (\Exception $exception) {
         } catch (\Exception $exception) {
-            $output->writeln(sprintf(
+            $output->writeln(\sprintf(
                 '<error>Unable to determine newest version: %s</error>',
                 '<error>Unable to determine newest version: %s</error>',
                 $exception->getMessage()
                 $exception->getMessage()
             ));
             ));
@@ -122,8 +122,8 @@ final class SelfUpdateCommand extends Command
             0 !== $this->versionChecker->compareVersions($latestVersionOfCurrentMajor, $latestVersion)
             0 !== $this->versionChecker->compareVersions($latestVersionOfCurrentMajor, $latestVersion)
             && true !== $input->getOption('force')
             && true !== $input->getOption('force')
         ) {
         ) {
-            $output->writeln(sprintf('<info>A new major version of PHP CS Fixer is available</info> (<comment>%s</comment>)', $latestVersion));
-            $output->writeln(sprintf('<info>Before upgrading please read</info> https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/%s/UPGRADE-v%s.md', $latestVersion, $currentMajor + 1));
+            $output->writeln(\sprintf('<info>A new major version of PHP CS Fixer is available</info> (<comment>%s</comment>)', $latestVersion));
+            $output->writeln(\sprintf('<info>Before upgrading please read</info> https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/%s/UPGRADE-v%s.md', $latestVersion, $currentMajor + 1));
             $output->writeln('<info>If you are ready to upgrade run this command with</info> <comment>-f</comment>');
             $output->writeln('<info>If you are ready to upgrade run this command with</info> <comment>-f</comment>');
             $output->writeln('<info>Checking for new minor/patch version...</info>');
             $output->writeln('<info>Checking for new minor/patch version...</info>');
 
 
@@ -143,7 +143,7 @@ final class SelfUpdateCommand extends Command
         }
         }
 
 
         if (!is_writable($localFilename)) {
         if (!is_writable($localFilename)) {
-            $output->writeln(sprintf('<error>No permission to update</error> "%s" <error>file.</error>', $localFilename));
+            $output->writeln(\sprintf('<error>No permission to update</error> "%s" <error>file.</error>', $localFilename));
 
 
             return 1;
             return 1;
         }
         }
@@ -152,7 +152,7 @@ final class SelfUpdateCommand extends Command
         $remoteFilename = $this->toolInfo->getPharDownloadUri($remoteTag);
         $remoteFilename = $this->toolInfo->getPharDownloadUri($remoteTag);
 
 
         if (false === @copy($remoteFilename, $tempFilename)) {
         if (false === @copy($remoteFilename, $tempFilename)) {
-            $output->writeln(sprintf('<error>Unable to download new version</error> %s <error>from the server.</error>', $remoteTag));
+            $output->writeln(\sprintf('<error>Unable to download new version</error> %s <error>from the server.</error>', $remoteTag));
 
 
             return 1;
             return 1;
         }
         }
@@ -162,7 +162,7 @@ final class SelfUpdateCommand extends Command
         $pharInvalidityReason = $this->pharChecker->checkFileValidity($tempFilename);
         $pharInvalidityReason = $this->pharChecker->checkFileValidity($tempFilename);
         if (null !== $pharInvalidityReason) {
         if (null !== $pharInvalidityReason) {
             unlink($tempFilename);
             unlink($tempFilename);
-            $output->writeln(sprintf('<error>The download of</error> %s <error>is corrupt (%s).</error>', $remoteTag, $pharInvalidityReason));
+            $output->writeln(\sprintf('<error>The download of</error> %s <error>is corrupt (%s).</error>', $remoteTag, $pharInvalidityReason));
             $output->writeln('<error>Please re-run the "self-update" command to try again.</error>');
             $output->writeln('<error>Please re-run the "self-update" command to try again.</error>');
 
 
             return 1;
             return 1;
@@ -170,7 +170,7 @@ final class SelfUpdateCommand extends Command
 
 
         rename($tempFilename, $localFilename);
         rename($tempFilename, $localFilename);
 
 
-        $output->writeln(sprintf('<info>PHP CS Fixer updated</info> (<comment>%s</comment> -> <comment>%s</comment>)', $currentVersion, $remoteTag));
+        $output->writeln(\sprintf('<info>PHP CS Fixer updated</info> (<comment>%s</comment> -> <comment>%s</comment>)', $currentVersion, $remoteTag));
 
 
         return 0;
         return 0;
     }
     }

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Console/Command/WorkerCommand.php

@@ -110,7 +110,7 @@ final class WorkerCommand extends Command
         $loop = new StreamSelectLoop();
         $loop = new StreamSelectLoop();
         $tcpConnector = new TcpConnector($loop);
         $tcpConnector = new TcpConnector($loop);
         $tcpConnector
         $tcpConnector
-            ->connect(sprintf('127.0.0.1:%d', $port))
+            ->connect(\sprintf('127.0.0.1:%d', $port))
             ->then(
             ->then(
                 /** @codeCoverageIgnore */
                 /** @codeCoverageIgnore */
                 function (ConnectionInterface $connection) use ($loop, $runner, $identifier): void {
                 function (ConnectionInterface $connection) use ($loop, $runner, $identifier): void {
@@ -148,7 +148,7 @@ final class WorkerCommand extends Command
 
 
                         if (ParallelAction::RUNNER_REQUEST_ANALYSIS !== $action) {
                         if (ParallelAction::RUNNER_REQUEST_ANALYSIS !== $action) {
                             // At this point we only expect analysis requests, if any other action happen, we need to fix the code.
                             // At this point we only expect analysis requests, if any other action happen, we need to fix the code.
-                            throw new \LogicException(sprintf('Unexpected action ParallelAction::%s.', $action));
+                            throw new \LogicException(\sprintf('Unexpected action ParallelAction::%s.', $action));
                         }
                         }
 
 
                         /** @var iterable<int, string> $files */
                         /** @var iterable<int, string> $files */

+ 16 - 16
vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php

@@ -348,7 +348,7 @@ final class ConfigurationResolver
                 );
                 );
 
 
                 if (\count($riskyFixers) > 0) {
                 if (\count($riskyFixers) > 0) {
-                    throw new InvalidConfigurationException(sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky=yes option?', Utils::naturalLanguageJoin($riskyFixers)));
+                    throw new InvalidConfigurationException(\sprintf('The rules contain risky fixers (%s), but they are not allowed to run. Perhaps you forget to use --allow-risky=yes option?', Utils::naturalLanguageJoin($riskyFixers)));
                 }
                 }
             }
             }
         }
         }
@@ -392,7 +392,7 @@ final class ConfigurationResolver
                             : $cwd.\DIRECTORY_SEPARATOR.$path;
                             : $cwd.\DIRECTORY_SEPARATOR.$path;
 
 
                         if (!file_exists($absolutePath)) {
                         if (!file_exists($absolutePath)) {
-                            throw new InvalidConfigurationException(sprintf(
+                            throw new InvalidConfigurationException(\sprintf(
                                 'The path "%s" is not readable.',
                                 'The path "%s" is not readable.',
                                 $path
                                 $path
                             ));
                             ));
@@ -422,7 +422,7 @@ final class ConfigurationResolver
                         ? ProgressOutputType::NONE
                         ? ProgressOutputType::NONE
                         : ProgressOutputType::BAR;
                         : ProgressOutputType::BAR;
                 } elseif (!\in_array($progressType, ProgressOutputType::all(), true)) {
                 } elseif (!\in_array($progressType, ProgressOutputType::all(), true)) {
-                    throw new InvalidConfigurationException(sprintf(
+                    throw new InvalidConfigurationException(\sprintf(
                         'The progress type "%s" is not defined, supported are %s.',
                         'The progress type "%s" is not defined, supported are %s.',
                         $progressType,
                         $progressType,
                         Utils::naturalLanguageJoin(ProgressOutputType::all())
                         Utils::naturalLanguageJoin(ProgressOutputType::all())
@@ -452,7 +452,7 @@ final class ConfigurationResolver
                 $formats = $reporterFactory->getFormats();
                 $formats = $reporterFactory->getFormats();
                 sort($formats);
                 sort($formats);
 
 
-                throw new InvalidConfigurationException(sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
+                throw new InvalidConfigurationException(\sprintf('The format "%s" is not defined, supported are %s.', $format, Utils::naturalLanguageJoin($formats)));
             }
             }
         }
         }
 
 
@@ -551,7 +551,7 @@ final class ConfigurationResolver
 
 
         if (null !== $configFile) {
         if (null !== $configFile) {
             if (false === file_exists($configFile) || false === is_readable($configFile)) {
             if (false === file_exists($configFile) || false === is_readable($configFile)) {
-                throw new InvalidConfigurationException(sprintf('Cannot read config file "%s".', $configFile));
+                throw new InvalidConfigurationException(\sprintf('Cannot read config file "%s".', $configFile));
             }
             }
 
 
             return [$configFile];
             return [$configFile];
@@ -660,7 +660,7 @@ final class ConfigurationResolver
             $rules = json_decode($rules, true);
             $rules = json_decode($rules, true);
 
 
             if (JSON_ERROR_NONE !== json_last_error()) {
             if (JSON_ERROR_NONE !== json_last_error()) {
-                throw new InvalidConfigurationException(sprintf('Invalid JSON rules input: "%s".', json_last_error_msg()));
+                throw new InvalidConfigurationException(\sprintf('Invalid JSON rules input: "%s".', json_last_error_msg()));
             }
             }
 
 
             return $rules;
             return $rules;
@@ -701,7 +701,7 @@ final class ConfigurationResolver
 
 
         foreach ($rules as $key => $value) {
         foreach ($rules as $key => $value) {
             if (\is_int($key)) {
             if (\is_int($key)) {
-                throw new InvalidConfigurationException(sprintf('Missing value for "%s" rule/set.', $value));
+                throw new InvalidConfigurationException(\sprintf('Missing value for "%s" rule/set.', $value));
             }
             }
 
 
             $ruleSet[$key] = true;
             $ruleSet[$key] = true;
@@ -777,7 +777,7 @@ final class ConfigurationResolver
             foreach ($unknownFixers as $unknownFixer) {
             foreach ($unknownFixers as $unknownFixer) {
                 if (isset($renamedRules[$unknownFixer])) { // Check if present as old renamed rule
                 if (isset($renamedRules[$unknownFixer])) { // Check if present as old renamed rule
                     $hasOldRule = true;
                     $hasOldRule = true;
-                    $message .= sprintf(
+                    $message .= \sprintf(
                         '"%s" is renamed (did you mean "%s"?%s), ',
                         '"%s" is renamed (did you mean "%s"?%s), ',
                         $unknownFixer,
                         $unknownFixer,
                         $renamedRules[$unknownFixer]['new_name'],
                         $renamedRules[$unknownFixer]['new_name'],
@@ -786,7 +786,7 @@ final class ConfigurationResolver
                 } else { // Go to normal matcher if it is not a renamed rule
                 } else { // Go to normal matcher if it is not a renamed rule
                     $matcher = new WordMatcher($availableFixers);
                     $matcher = new WordMatcher($availableFixers);
                     $alternative = $matcher->match($unknownFixer);
                     $alternative = $matcher->match($unknownFixer);
-                    $message .= sprintf(
+                    $message .= \sprintf(
                         '"%s"%s, ',
                         '"%s"%s, ',
                         $unknownFixer,
                         $unknownFixer,
                         null === $alternative ? '' : ' (did you mean "'.$alternative.'"?)'
                         null === $alternative ? '' : ' (did you mean "'.$alternative.'"?)'
@@ -808,8 +808,8 @@ final class ConfigurationResolver
             if (isset($rules[$fixerName]) && $fixer instanceof DeprecatedFixerInterface) {
             if (isset($rules[$fixerName]) && $fixer instanceof DeprecatedFixerInterface) {
                 $successors = $fixer->getSuccessorsNames();
                 $successors = $fixer->getSuccessorsNames();
                 $messageEnd = [] === $successors
                 $messageEnd = [] === $successors
-                    ? sprintf(' and will be removed in version %d.0.', Application::getMajorVersion() + 1)
-                    : sprintf('. Use %s instead.', str_replace('`', '"', Utils::naturalLanguageJoinWithBackticks($successors)));
+                    ? \sprintf(' and will be removed in version %d.0.', Application::getMajorVersion() + 1)
+                    : \sprintf('. Use %s instead.', str_replace('`', '"', Utils::naturalLanguageJoinWithBackticks($successors)));
 
 
                 Utils::triggerDeprecation(new \RuntimeException("Rule \"{$fixerName}\" is deprecated{$messageEnd}"));
                 Utils::triggerDeprecation(new \RuntimeException("Rule \"{$fixerName}\" is deprecated{$messageEnd}"));
             }
             }
@@ -836,7 +836,7 @@ final class ConfigurationResolver
             $modes,
             $modes,
             true
             true
         )) {
         )) {
-            throw new InvalidConfigurationException(sprintf(
+            throw new InvalidConfigurationException(\sprintf(
                 'The path-mode "%s" is not defined, supported are %s.',
                 'The path-mode "%s" is not defined, supported are %s.',
                 $this->options['path-mode'],
                 $this->options['path-mode'],
                 Utils::naturalLanguageJoin($modes)
                 Utils::naturalLanguageJoin($modes)
@@ -926,7 +926,7 @@ final class ConfigurationResolver
     private function setOption(string $name, $value): void
     private function setOption(string $name, $value): void
     {
     {
         if (!\array_key_exists($name, $this->options)) {
         if (!\array_key_exists($name, $this->options)) {
-            throw new InvalidConfigurationException(sprintf('Unknown option name: "%s".', $name));
+            throw new InvalidConfigurationException(\sprintf('Unknown option name: "%s".', $name));
         }
         }
 
 
         $this->options[$name] = $value;
         $this->options[$name] = $value;
@@ -937,7 +937,7 @@ final class ConfigurationResolver
         $value = $this->options[$optionName];
         $value = $this->options[$optionName];
 
 
         if (!\is_string($value)) {
         if (!\is_string($value)) {
-            throw new InvalidConfigurationException(sprintf('Expected boolean or string value for option "%s".', $optionName));
+            throw new InvalidConfigurationException(\sprintf('Expected boolean or string value for option "%s".', $optionName));
         }
         }
 
 
         if ('yes' === $value) {
         if ('yes' === $value) {
@@ -948,7 +948,7 @@ final class ConfigurationResolver
             return false;
             return false;
         }
         }
 
 
-        throw new InvalidConfigurationException(sprintf('Expected "yes" or "no" for option "%s", got "%s".', $optionName, $value));
+        throw new InvalidConfigurationException(\sprintf('Expected "yes" or "no" for option "%s", got "%s".', $optionName, $value));
     }
     }
 
 
     private static function separatedContextLessInclude(string $path): ConfigInterface
     private static function separatedContextLessInclude(string $path): ConfigInterface
@@ -957,7 +957,7 @@ final class ConfigurationResolver
 
 
         // verify that the config has an instance of Config
         // verify that the config has an instance of Config
         if (!$config instanceof ConfigInterface) {
         if (!$config instanceof ConfigInterface) {
-            throw new InvalidConfigurationException(sprintf('The config file: "%s" does not return a "PhpCsFixer\ConfigInterface" instance. Got: "%s".', $path, \is_object($config) ? \get_class($config) : \gettype($config)));
+            throw new InvalidConfigurationException(\sprintf('The config file: "%s" does not return a "PhpCsFixer\ConfigInterface" instance. Got: "%s".', $path, \is_object($config) ? \get_class($config) : \gettype($config)));
         }
         }
 
 
         return $config;
         return $config;

+ 9 - 9
vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php

@@ -44,7 +44,7 @@ final class ErrorOutput
      */
      */
     public function listErrors(string $process, array $errors): void
     public function listErrors(string $process, array $errors): void
     {
     {
-        $this->output->writeln(['', sprintf(
+        $this->output->writeln(['', \sprintf(
             'Files that were not fixed due to errors reported during %s:',
             'Files that were not fixed due to errors reported during %s:',
             $process
             $process
         )]);
         )]);
@@ -52,13 +52,13 @@ final class ErrorOutput
         $showDetails = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE;
         $showDetails = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_VERY_VERBOSE;
         $showTrace = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_DEBUG;
         $showTrace = $this->output->getVerbosity() >= OutputInterface::VERBOSITY_DEBUG;
         foreach ($errors as $i => $error) {
         foreach ($errors as $i => $error) {
-            $this->output->writeln(sprintf('%4d) %s', $i + 1, $error->getFilePath()));
+            $this->output->writeln(\sprintf('%4d) %s', $i + 1, $error->getFilePath()));
             $e = $error->getSource();
             $e = $error->getSource();
             if (!$showDetails || null === $e) {
             if (!$showDetails || null === $e) {
                 continue;
                 continue;
             }
             }
 
 
-            $class = sprintf('[%s]', \get_class($e));
+            $class = \sprintf('[%s]', \get_class($e));
             $message = $e->getMessage();
             $message = $e->getMessage();
             $code = $e->getCode();
             $code = $e->getCode();
             if (0 !== $code) {
             if (0 !== $code) {
@@ -80,7 +80,7 @@ final class ErrorOutput
                     $line .= str_repeat(' ', $length - \strlen($line));
                     $line .= str_repeat(' ', $length - \strlen($line));
                 }
                 }
 
 
-                $this->output->writeln(sprintf('      <error>  %s  </error>', $this->prepareOutput($line)));
+                $this->output->writeln(\sprintf('      <error>  %s  </error>', $this->prepareOutput($line)));
             }
             }
 
 
             if ($showTrace && !$e instanceof LintingException) { // stack trace of lint exception is of no interest
             if ($showTrace && !$e instanceof LintingException) { // stack trace of lint exception is of no interest
@@ -99,13 +99,13 @@ final class ErrorOutput
 
 
             if (Error::TYPE_LINT === $error->getType() && 0 < \count($error->getAppliedFixers())) {
             if (Error::TYPE_LINT === $error->getType() && 0 < \count($error->getAppliedFixers())) {
                 $this->output->writeln('');
                 $this->output->writeln('');
-                $this->output->writeln(sprintf('      Applied fixers: <comment>%s</comment>', implode(', ', $error->getAppliedFixers())));
+                $this->output->writeln(\sprintf('      Applied fixers: <comment>%s</comment>', implode(', ', $error->getAppliedFixers())));
 
 
                 $diff = $error->getDiff();
                 $diff = $error->getDiff();
                 if (null !== $diff) {
                 if (null !== $diff) {
                     $diffFormatter = new DiffConsoleFormatter(
                     $diffFormatter = new DiffConsoleFormatter(
                         $this->isDecorated,
                         $this->isDecorated,
-                        sprintf(
+                        \sprintf(
                             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
                             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
                             PHP_EOL,
                             PHP_EOL,
                             PHP_EOL
                             PHP_EOL
@@ -132,18 +132,18 @@ final class ErrorOutput
     private function outputTrace(array $trace): void
     private function outputTrace(array $trace): void
     {
     {
         if (isset($trace['class'], $trace['type'], $trace['function'])) {
         if (isset($trace['class'], $trace['type'], $trace['function'])) {
-            $this->output->writeln(sprintf(
+            $this->output->writeln(\sprintf(
                 '      <comment>%s</comment>%s<comment>%s()</comment>',
                 '      <comment>%s</comment>%s<comment>%s()</comment>',
                 $this->prepareOutput($trace['class']),
                 $this->prepareOutput($trace['class']),
                 $this->prepareOutput($trace['type']),
                 $this->prepareOutput($trace['type']),
                 $this->prepareOutput($trace['function'])
                 $this->prepareOutput($trace['function'])
             ));
             ));
         } elseif (isset($trace['function'])) {
         } elseif (isset($trace['function'])) {
-            $this->output->writeln(sprintf('      <comment>%s()</comment>', $this->prepareOutput($trace['function'])));
+            $this->output->writeln(\sprintf('      <comment>%s()</comment>', $this->prepareOutput($trace['function'])));
         }
         }
 
 
         if (isset($trace['file'])) {
         if (isset($trace['file'])) {
-            $this->output->writeln(sprintf('        in <info>%s</info> at line <info>%d</info>', $this->prepareOutput($trace['file']), $trace['line']));
+            $this->output->writeln(\sprintf('        in <info>%s</info> at line <info>%d</info>', $this->prepareOutput($trace['file']), $trace['line']));
         }
         }
     }
     }
 
 

+ 4 - 4
vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/DotsOutput.php

@@ -82,7 +82,7 @@ final class DotsOutput implements ProgressOutputInterface
     public function onFixerFileProcessed(FixerFileProcessedEvent $event): void
     public function onFixerFileProcessed(FixerFileProcessedEvent $event): void
     {
     {
         $status = self::$eventStatusMap[$event->getStatus()];
         $status = self::$eventStatusMap[$event->getStatus()];
-        $this->getOutput()->write($this->getOutput()->isDecorated() ? sprintf($status['format'], $status['symbol']) : $status['symbol']);
+        $this->getOutput()->write($this->getOutput()->isDecorated() ? \sprintf($status['format'], $status['symbol']) : $status['symbol']);
 
 
         ++$this->processedFiles;
         ++$this->processedFiles;
 
 
@@ -90,7 +90,7 @@ final class DotsOutput implements ProgressOutputInterface
         $isLast = $this->processedFiles === $this->context->getFilesCount();
         $isLast = $this->processedFiles === $this->context->getFilesCount();
 
 
         if (0 === $symbolsOnCurrentLine || $isLast) {
         if (0 === $symbolsOnCurrentLine || $isLast) {
-            $this->getOutput()->write(sprintf(
+            $this->getOutput()->write(\sprintf(
                 '%s %'.\strlen((string) $this->context->getFilesCount()).'d / %d (%3d%%)',
                 '%s %'.\strlen((string) $this->context->getFilesCount()).'d / %d (%3d%%)',
                 $isLast && 0 !== $symbolsOnCurrentLine ? str_repeat(' ', $this->symbolsPerLine - $symbolsOnCurrentLine) : '',
                 $isLast && 0 !== $symbolsOnCurrentLine ? str_repeat(' ', $this->symbolsPerLine - $symbolsOnCurrentLine) : '',
                 $this->processedFiles,
                 $this->processedFiles,
@@ -114,10 +114,10 @@ final class DotsOutput implements ProgressOutputInterface
                 continue;
                 continue;
             }
             }
 
 
-            $symbols[$symbol] = sprintf('%s-%s', $this->getOutput()->isDecorated() ? sprintf($status['format'], $symbol) : $symbol, $status['description']);
+            $symbols[$symbol] = \sprintf('%s-%s', $this->getOutput()->isDecorated() ? \sprintf($status['format'], $symbol) : $symbol, $status['description']);
         }
         }
 
 
-        $this->getOutput()->write(sprintf("\nLegend: %s\n", implode(', ', $symbols)));
+        $this->getOutput()->write(\sprintf("\nLegend: %s\n", implode(', ', $symbols)));
     }
     }
 
 
     private function getOutput(): OutputInterface
     private function getOutput(): OutputInterface

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Output/Progress/ProgressOutputFactory.php

@@ -38,7 +38,7 @@ final class ProgressOutputFactory
 
 
         if (!$this->isBuiltInType($outputType)) {
         if (!$this->isBuiltInType($outputType)) {
             throw new \InvalidArgumentException(
             throw new \InvalidArgumentException(
-                sprintf(
+                \sprintf(
                     'Something went wrong, "%s" output type is not supported',
                     'Something went wrong, "%s" output type is not supported',
                     $outputType
                     $outputType
                 )
                 )

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/JunitReporter.php

@@ -59,7 +59,7 @@ final class JunitReporter implements ReporterInterface
         if ($reportSummary->getTime() > 0) {
         if ($reportSummary->getTime() > 0) {
             $testsuite->setAttribute(
             $testsuite->setAttribute(
                 'time',
                 'time',
-                sprintf(
+                \sprintf(
                     '%.3f',
                     '%.3f',
                     $reportSummary->getTime() / 1_000
                     $reportSummary->getTime() / 1_000
                 )
                 )

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/ReporterFactory.php

@@ -36,7 +36,7 @@ final class ReporterFactory
 
 
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
                 $relativeNamespace = $file->getRelativePath();
                 $relativeNamespace = $file->getRelativePath();
-                $builtInReporters[] = sprintf(
+                $builtInReporters[] = \sprintf(
                     '%s\%s%s',
                     '%s\%s%s',
                     __NAMESPACE__,
                     __NAMESPACE__,
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
@@ -60,7 +60,7 @@ final class ReporterFactory
         $format = $reporter->getFormat();
         $format = $reporter->getFormat();
 
 
         if (isset($this->reporters[$format])) {
         if (isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is already registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is already registered.', $format));
         }
         }
 
 
         $this->reporters[$format] = $reporter;
         $this->reporters[$format] = $reporter;
@@ -82,7 +82,7 @@ final class ReporterFactory
     public function getReporter(string $format): ReporterInterface
     public function getReporter(string $format): ReporterInterface
     {
     {
         if (!isset($this->reporters[$format])) {
         if (!isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is not registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is not registered.', $format));
         }
         }
 
 
         return $this->reporters[$format];
         return $this->reporters[$format];

+ 4 - 4
vendor/friendsofphp/php-cs-fixer/src/Console/Report/FixReport/TextReporter.php

@@ -35,7 +35,7 @@ final class TextReporter implements ReporterInterface
         $identifiedFiles = 0;
         $identifiedFiles = 0;
         foreach ($reportSummary->getChanged() as $file => $fixResult) {
         foreach ($reportSummary->getChanged() as $file => $fixResult) {
             ++$identifiedFiles;
             ++$identifiedFiles;
-            $output .= sprintf('%4d) %s', $identifiedFiles, $file);
+            $output .= \sprintf('%4d) %s', $identifiedFiles, $file);
 
 
             if ($reportSummary->shouldAddAppliedFixers()) {
             if ($reportSummary->shouldAddAppliedFixers()) {
                 $output .= $this->getAppliedFixers(
                 $output .= $this->getAppliedFixers(
@@ -62,7 +62,7 @@ final class TextReporter implements ReporterInterface
      */
      */
     private function getAppliedFixers(bool $isDecoratedOutput, array $appliedFixers): string
     private function getAppliedFixers(bool $isDecoratedOutput, array $appliedFixers): string
     {
     {
-        return sprintf(
+        return \sprintf(
             $isDecoratedOutput ? ' (<comment>%s</comment>)' : ' (%s)',
             $isDecoratedOutput ? ' (<comment>%s</comment>)' : ' (%s)',
             implode(', ', $appliedFixers)
             implode(', ', $appliedFixers)
         );
         );
@@ -74,7 +74,7 @@ final class TextReporter implements ReporterInterface
             return '';
             return '';
         }
         }
 
 
-        $diffFormatter = new DiffConsoleFormatter($isDecoratedOutput, sprintf(
+        $diffFormatter = new DiffConsoleFormatter($isDecoratedOutput, \sprintf(
             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
             '<comment>      ---------- begin diff ----------</comment>%s%%s%s<comment>      ----------- end diff -----------</comment>',
             PHP_EOL,
             PHP_EOL,
             PHP_EOL
             PHP_EOL
@@ -89,7 +89,7 @@ final class TextReporter implements ReporterInterface
             return '';
             return '';
         }
         }
 
 
-        return PHP_EOL.sprintf(
+        return PHP_EOL.\sprintf(
             '%s %d of %d %s in %.3f seconds, %.2f MB memory used'.PHP_EOL,
             '%s %d of %d %s in %.3f seconds, %.2f MB memory used'.PHP_EOL,
             $isDryRun ? 'Found' : 'Fixed',
             $isDryRun ? 'Found' : 'Fixed',
             $identifiedFiles,
             $identifiedFiles,

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/ReporterFactory.php

@@ -38,7 +38,7 @@ final class ReporterFactory
 
 
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
             foreach (SymfonyFinder::create()->files()->name('*Reporter.php')->in(__DIR__) as $file) {
                 $relativeNamespace = $file->getRelativePath();
                 $relativeNamespace = $file->getRelativePath();
-                $builtInReporters[] = sprintf(
+                $builtInReporters[] = \sprintf(
                     '%s\%s%s',
                     '%s\%s%s',
                     __NAMESPACE__,
                     __NAMESPACE__,
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
                     '' !== $relativeNamespace ? $relativeNamespace.'\\' : '',
@@ -59,7 +59,7 @@ final class ReporterFactory
         $format = $reporter->getFormat();
         $format = $reporter->getFormat();
 
 
         if (isset($this->reporters[$format])) {
         if (isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is already registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is already registered.', $format));
         }
         }
 
 
         $this->reporters[$format] = $reporter;
         $this->reporters[$format] = $reporter;
@@ -81,7 +81,7 @@ final class ReporterFactory
     public function getReporter(string $format): ReporterInterface
     public function getReporter(string $format): ReporterInterface
     {
     {
         if (!isset($this->reporters[$format])) {
         if (!isset($this->reporters[$format])) {
-            throw new \UnexpectedValueException(sprintf('Reporter for format "%s" is not registered.', $format));
+            throw new \UnexpectedValueException(\sprintf('Reporter for format "%s" is not registered.', $format));
         }
         }
 
 
         return $this->reporters[$format];
         return $this->reporters[$format];

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/Report/ListSetsReport/TextReporter.php

@@ -37,7 +37,7 @@ final class TextReporter implements ReporterInterface
         $output = '';
         $output = '';
 
 
         foreach ($sets as $i => $set) {
         foreach ($sets as $i => $set) {
-            $output .= sprintf('%2d) %s', $i + 1, $set->getName()).PHP_EOL.'      '.$set->getDescription().PHP_EOL;
+            $output .= \sprintf('%2d) %s', $i + 1, $set->getName()).PHP_EOL.'      '.$set->getDescription().PHP_EOL;
 
 
             if ($set->isRisky()) {
             if ($set->isRisky()) {
                 $output .= '      Set contains risky rules.'.PHP_EOL;
                 $output .= '      Set contains risky rules.'.PHP_EOL;

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php

@@ -34,7 +34,7 @@ final class GithubClient implements GithubClientInterface
         );
         );
 
 
         if (false === $result) {
         if (false === $result) {
-            throw new \RuntimeException(sprintf('Failed to load tags at "%s".', $this->url));
+            throw new \RuntimeException(\sprintf('Failed to load tags at "%s".', $this->url));
         }
         }
 
 
         /**
         /**
@@ -47,7 +47,7 @@ final class GithubClient implements GithubClientInterface
          */
          */
         $result = json_decode($result, true);
         $result = json_decode($result, true);
         if (JSON_ERROR_NONE !== json_last_error()) {
         if (JSON_ERROR_NONE !== json_last_error()) {
-            throw new \RuntimeException(sprintf(
+            throw new \RuntimeException(\sprintf(
                 'Failed to read response from "%s" as JSON: %s.',
                 'Failed to read response from "%s" as JSON: %s.',
                 $this->url,
                 $this->url,
                 json_last_error_msg()
                 json_last_error_msg()

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php

@@ -50,7 +50,7 @@ final class WarningsDetector
         if ($this->toolInfo->isInstalledByComposer()) {
         if ($this->toolInfo->isInstalledByComposer()) {
             $details = $this->toolInfo->getComposerInstallationDetails();
             $details = $this->toolInfo->getComposerInstallationDetails();
             if (ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME === $details['name']) {
             if (ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME === $details['name']) {
-                $this->warnings[] = sprintf(
+                $this->warnings[] = \sprintf(
                     'You are running PHP CS Fixer installed with old vendor `%s`. Please update to `%s`.',
                     'You are running PHP CS Fixer installed with old vendor `%s`. Please update to `%s`.',
                     ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME,
                     ToolInfo::COMPOSER_LEGACY_PACKAGE_NAME,
                     ToolInfo::COMPOSER_PACKAGE_NAME
                     ToolInfo::COMPOSER_PACKAGE_NAME

+ 3 - 3
vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php

@@ -42,7 +42,7 @@ final class DiffConsoleFormatter
             ? $this->template
             ? $this->template
             : Preg::replace('/<[^<>]+>/', '', $this->template);
             : Preg::replace('/<[^<>]+>/', '', $this->template);
 
 
-        return sprintf(
+        return \sprintf(
             $template,
             $template,
             implode(
             implode(
                 PHP_EOL,
                 PHP_EOL,
@@ -61,7 +61,7 @@ final class DiffConsoleFormatter
                                         $colour = 'cyan';
                                         $colour = 'cyan';
                                     }
                                     }
 
 
-                                    return sprintf('<fg=%s>%s</fg=%s>', $colour, OutputFormatter::escape($matches[0]), $colour);
+                                    return \sprintf('<fg=%s>%s</fg=%s>', $colour, OutputFormatter::escape($matches[0]), $colour);
                                 },
                                 },
                                 $line,
                                 $line,
                                 1,
                                 1,
@@ -73,7 +73,7 @@ final class DiffConsoleFormatter
                             }
                             }
                         }
                         }
 
 
-                        return sprintf($lineTemplate, $line);
+                        return \sprintf($lineTemplate, $line);
                     },
                     },
                     Preg::split('#\R#u', $diff)
                     Preg::split('#\R#u', $diff)
                 )
                 )

+ 7 - 4
vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php

@@ -171,14 +171,17 @@ final class Annotation
     }
     }
 
 
     /**
     /**
-     * @return null|string
-     *
      * @internal
      * @internal
      */
      */
-    public function getVariableName()
+    public function getVariableName(): ?string
     {
     {
         $type = preg_quote($this->getTypesContent() ?? '', '/');
         $type = preg_quote($this->getTypesContent() ?? '', '/');
-        $regex = "/@{$this->tag->getName()}\\s+({$type}\\s*)?(&\\s*)?(\\.{3}\\s*)?(?<variable>\\$.+?)(?:[\\s*]|$)/";
+        $regex = \sprintf(
+            '/@%s\s+(%s\s*)?(&\s*)?(\.{3}\s*)?(?<variable>\$%s)(?:.*|$)/',
+            $this->tag->getName(),
+            $type,
+            TypeExpression::REGEX_IDENTIFIER
+        );
 
 
         if (Preg::match($regex, $this->lines[0]->getContent(), $matches)) {
         if (Preg::match($regex, $this->lines[0]->getContent(), $matches)) {
             return $matches['variable'];
             return $matches['variable'];

+ 22 - 6
vendor/friendsofphp/php-cs-fixer/src/DocBlock/TypeExpression.php

@@ -271,23 +271,37 @@ final class TypeExpression
      */
      */
     public function walkTypes(\Closure $callback): void
     public function walkTypes(\Closure $callback): void
     {
     {
-        foreach (array_reverse($this->innerTypeExpressions) as [
-            'start_index' => $startIndex,
+        $innerValueOrig = $this->value;
+
+        $startIndexOffset = 0;
+
+        foreach ($this->innerTypeExpressions as [
+            'start_index' => $startIndexOrig,
             'expression' => $inner,
             'expression' => $inner,
         ]) {
         ]) {
-            $initialValueLength = \strlen($inner->toString());
+            $innerLengthOrig = \strlen($inner->toString());
 
 
             $inner->walkTypes($callback);
             $inner->walkTypes($callback);
 
 
             $this->value = substr_replace(
             $this->value = substr_replace(
                 $this->value,
                 $this->value,
                 $inner->toString(),
                 $inner->toString(),
-                $startIndex,
-                $initialValueLength
+                $startIndexOrig + $startIndexOffset,
+                $innerLengthOrig
             );
             );
+
+            $startIndexOffset += \strlen($inner->toString()) - $innerLengthOrig;
         }
         }
 
 
         $callback($this);
         $callback($this);
+
+        if ($this->value !== $innerValueOrig) {
+            $this->isUnionType = false;
+            $this->typesGlue = '|';
+            $this->innerTypeExpressions = [];
+
+            $this->parse();
+        }
     }
     }
 
 
     /**
     /**
@@ -393,7 +407,9 @@ final class TypeExpression
             $consumedValueLength = \strlen($matches[0][0]);
             $consumedValueLength = \strlen($matches[0][0]);
             $index += $consumedValueLength;
             $index += $consumedValueLength;
 
 
-            if (\strlen($this->value) === $index) {
+            if (\strlen($this->value) <= $index) {
+                \assert(\strlen($this->value) === $index);
+
                 return;
                 return;
             }
             }
         }
         }

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/DocLexer.php

@@ -151,7 +151,7 @@ final class DocLexer
     private function scan(string $input): void
     private function scan(string $input): void
     {
     {
         if (!isset($this->regex)) {
         if (!isset($this->regex)) {
-            $this->regex = sprintf(
+            $this->regex = \sprintf(
                 '/(%s)|%s/%s',
                 '/(%s)|%s/%s',
                 implode(')|(', $this->getCatchablePatterns()),
                 implode(')|(', $this->getCatchablePatterns()),
                 implode('|', $this->getNonCatchablePatterns()),
                 implode('|', $this->getNonCatchablePatterns()),

+ 2 - 2
vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php

@@ -256,7 +256,7 @@ final class Tokens extends \SplFixedArray
                 $type = \get_class($token);
                 $type = \get_class($token);
             }
             }
 
 
-            throw new \InvalidArgumentException(sprintf('Token must be an instance of PhpCsFixer\Doctrine\Annotation\Token, "%s" given.', $type));
+            throw new \InvalidArgumentException(\sprintf('Token must be an instance of PhpCsFixer\Doctrine\Annotation\Token, "%s" given.', $type));
         }
         }
 
 
         parent::offsetSet($index, $token);
         parent::offsetSet($index, $token);
@@ -270,7 +270,7 @@ final class Tokens extends \SplFixedArray
     public function offsetUnset($index): void
     public function offsetUnset($index): void
     {
     {
         if (!isset($this[$index])) {
         if (!isset($this[$index])) {
-            throw new \OutOfBoundsException(sprintf('Index "%s" is invalid or does not exist.', $index));
+            throw new \OutOfBoundsException(\sprintf('Index "%s" is invalid or does not exist.', $index));
         }
         }
 
 
         $max = \count($this) - 1;
         $max = \count($this) - 1;

+ 5 - 5
vendor/friendsofphp/php-cs-fixer/src/Documentation/FixerDocumentGenerator.php

@@ -83,7 +83,7 @@ final class FixerDocumentGenerator
             $alternatives = $fixer->getSuccessorsNames();
             $alternatives = $fixer->getSuccessorsNames();
 
 
             if (0 !== \count($alternatives)) {
             if (0 !== \count($alternatives)) {
-                $deprecationDescription .= RstUtils::toRst(sprintf(
+                $deprecationDescription .= RstUtils::toRst(\sprintf(
                     "\n\nYou should use %s instead.",
                     "\n\nYou should use %s instead.",
                     Utils::naturalLanguageJoinWithBackticks($alternatives)
                     Utils::naturalLanguageJoinWithBackticks($alternatives)
                 ), 0);
                 ), 0);
@@ -167,7 +167,7 @@ final class FixerDocumentGenerator
                 if (null === $allowed) {
                 if (null === $allowed) {
                     $allowedKind = 'Allowed types';
                     $allowedKind = 'Allowed types';
                     $allowed = array_map(
                     $allowed = array_map(
-                        static fn (string $value): string => '``'.(str_ends_with($value, '[]') ? sprintf('list<%s>', substr($value, 0, -2)) : $value).'``',
+                        static fn (string $value): string => '``'.Utils::convertArrayTypeToList($value).'``',
                         $option->getAllowedTypes(),
                         $option->getAllowedTypes(),
                     );
                     );
                 } else {
                 } else {
@@ -202,7 +202,7 @@ final class FixerDocumentGenerator
                 RST;
                 RST;
 
 
             foreach ($samples as $index => $sample) {
             foreach ($samples as $index => $sample) {
-                $title = sprintf('Example #%d', $index + 1);
+                $title = \sprintf('Example #%d', $index + 1);
                 $titleLine = str_repeat('~', \strlen($title));
                 $titleLine = str_repeat('~', \strlen($title));
                 $doc .= "\n\n{$title}\n{$titleLine}";
                 $doc .= "\n\n{$title}\n{$titleLine}";
 
 
@@ -210,7 +210,7 @@ final class FixerDocumentGenerator
                     if (null === $sample->getConfiguration()) {
                     if (null === $sample->getConfiguration()) {
                         $doc .= "\n\n*Default* configuration.";
                         $doc .= "\n\n*Default* configuration.";
                     } else {
                     } else {
-                        $doc .= sprintf(
+                        $doc .= \sprintf(
                             "\n\nWith configuration: ``%s``.",
                             "\n\nWith configuration: ``%s``.",
                             Utils::toString($sample->getConfiguration())
                             Utils::toString($sample->getConfiguration())
                         );
                         );
@@ -380,7 +380,7 @@ final class FixerDocumentGenerator
                    the sample is not suitable for current version of PHP (%s).
                    the sample is not suitable for current version of PHP (%s).
                 RST;
                 RST;
 
 
-            return sprintf($error, PHP_VERSION);
+            return \sprintf($error, PHP_VERSION);
         }
         }
 
 
         $old = $sample->getCode();
         $old = $sample->getCode();

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Documentation/RuleSetDocumentationGenerator.php

@@ -58,7 +58,7 @@ final class RuleSetDocumentationGenerator
 
 
             if (0 !== \count($alternatives)) {
             if (0 !== \count($alternatives)) {
                 $deprecationDescription .= RstUtils::toRst(
                 $deprecationDescription .= RstUtils::toRst(
-                    sprintf(
+                    \sprintf(
                         "\n\nYou should use %s instead.",
                         "\n\nYou should use %s instead.",
                         Utils::naturalLanguageJoinWithBackticks($alternatives)
                         Utils::naturalLanguageJoinWithBackticks($alternatives)
                     ),
                     ),

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Error/SourceExceptionFactory.php

@@ -37,7 +37,7 @@ final class SourceExceptionFactory
             }
             }
         } catch (\Throwable $e) {
         } catch (\Throwable $e) {
             $exception = new \RuntimeException(
             $exception = new \RuntimeException(
-                sprintf('[%s] %s', $exceptionClass, $error['message']),
+                \sprintf('[%s] %s', $exceptionClass, $error['message']),
                 $error['code']
                 $error['code']
             );
             );
         }
         }

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/FileReader.php

@@ -61,7 +61,7 @@ final class FileReader
         if (false === $content) {
         if (false === $content) {
             $error = error_get_last();
             $error = error_get_last();
 
 
-            throw new \RuntimeException(sprintf(
+            throw new \RuntimeException(\sprintf(
                 'Failed to read content from "%s".%s',
                 'Failed to read content from "%s".%s',
                 $realPath,
                 $realPath,
                 null !== $error ? ' '.$error['message'] : ''
                 null !== $error ? ' '.$error['message'] : ''

+ 48 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractPhpUnitFixer.php

@@ -19,6 +19,7 @@ use PhpCsFixer\DocBlock\DocBlock;
 use PhpCsFixer\DocBlock\Line;
 use PhpCsFixer\DocBlock\Line;
 use PhpCsFixer\Indicator\PhpUnitTestCaseIndicator;
 use PhpCsFixer\Indicator\PhpUnitTestCaseIndicator;
 use PhpCsFixer\Tokenizer\Analyzer\AttributeAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\AttributeAnalyzer;
+use PhpCsFixer\Tokenizer\Analyzer\FunctionsAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\NamespaceUsesAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\NamespaceUsesAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\WhitespacesAnalyzer;
 use PhpCsFixer\Tokenizer\Analyzer\WhitespacesAnalyzer;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\CT;
@@ -98,6 +99,52 @@ abstract class AbstractPhpUnitFixer extends AbstractFixer
         return $tokens[$index]->isGivenKind(T_DOC_COMMENT);
         return $tokens[$index]->isGivenKind(T_DOC_COMMENT);
     }
     }
 
 
+    /**
+     * @return iterable<array{
+     *     index: int,
+     *     loweredName: string,
+     *     openBraceIndex: int,
+     *     closeBraceIndex: int,
+     * }>
+     */
+    protected function getPreviousAssertCall(Tokens $tokens, int $startIndex, int $endIndex): iterable
+    {
+        $functionsAnalyzer = new FunctionsAnalyzer();
+
+        for ($index = $endIndex; $index > $startIndex; --$index) {
+            $index = $tokens->getPrevTokenOfKind($index, [[T_STRING]]);
+
+            if (null === $index) {
+                return;
+            }
+
+            // test if "assert" something call
+            $loweredContent = strtolower($tokens[$index]->getContent());
+
+            if (!str_starts_with($loweredContent, 'assert')) {
+                continue;
+            }
+
+            // test candidate for simple calls like: ([\]+'some fixable call'(...))
+            $openBraceIndex = $tokens->getNextMeaningfulToken($index);
+
+            if (!$tokens[$openBraceIndex]->equals('(')) {
+                continue;
+            }
+
+            if (!$functionsAnalyzer->isTheSameClassCall($tokens, $index)) {
+                continue;
+            }
+
+            yield [
+                'index' => $index,
+                'loweredName' => $loweredContent,
+                'openBraceIndex' => $openBraceIndex,
+                'closeBraceIndex' => $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $openBraceIndex),
+            ];
+        }
+    }
+
     private function createDocBlock(Tokens $tokens, int $docBlockIndex, string $annotation): void
     private function createDocBlock(Tokens $tokens, int $docBlockIndex, string $annotation): void
     {
     {
         $lineEnd = $this->whitespacesConfig->getLineEnding();
         $lineEnd = $this->whitespacesConfig->getLineEnding();
@@ -138,6 +185,7 @@ abstract class AbstractPhpUnitFixer extends AbstractFixer
             }
             }
         }
         }
         $doc = $this->makeDocBlockMultiLineIfNeeded($doc, $tokens, $docBlockIndex, $annotation);
         $doc = $this->makeDocBlockMultiLineIfNeeded($doc, $tokens, $docBlockIndex, $annotation);
+
         $lines = $this->addInternalAnnotation($doc, $tokens, $docBlockIndex, $annotation);
         $lines = $this->addInternalAnnotation($doc, $tokens, $docBlockIndex, $annotation);
         $lines = implode('', $lines);
         $lines = implode('', $lines);
 
 

+ 1 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/AbstractShortOperatorFixer.php

@@ -241,7 +241,7 @@ abstract class AbstractShortOperatorFixer extends AbstractFixer
             return false;
             return false;
         }
         }
 
 
-        throw new \InvalidArgumentException(sprintf('Not supported operator "%s".', $operatorToken->toJson()));
+        throw new \InvalidArgumentException(\sprintf('Not supported operator "%s".', $operatorToken->toJson()));
     }
     }
 
 
     private function belongsToSwitchOrAlternativeSyntax(AlternativeSyntaxAnalyzer $alternativeSyntaxAnalyzer, Tokens $tokens, int $index): bool
     private function belongsToSwitchOrAlternativeSyntax(AlternativeSyntaxAnalyzer $alternativeSyntaxAnalyzer, Tokens $tokens, int $index): bool

+ 33 - 18
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -31,9 +32,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 /**
 /**
  * @author Vladimir Reznichenko <kalessil@gmail.com>
  * @author Vladimir Reznichenko <kalessil@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  sets?: list<'@all'|'@exif'|'@ftp'|'@IMAP'|'@internal'|'@ldap'|'@mbreg'|'@mysqli'|'@oci'|'@odbc'|'@openssl'|'@pcntl'|'@pg'|'@posix'|'@snmp'|'@sodium'|'@time'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  sets: list<'@all'|'@exif'|'@ftp'|'@IMAP'|'@internal'|'@ldap'|'@mbreg'|'@mysqli'|'@oci'|'@odbc'|'@openssl'|'@pcntl'|'@pg'|'@posix'|'@snmp'|'@sodium'|'@time'>
+ * }
  */
  */
 final class NoAliasFunctionsFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NoAliasFunctionsFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const SETS = [
     private const SETS = [
         '@internal' => [
         '@internal' => [
             'diskfreespace' => 'disk_free_space',
             'diskfreespace' => 'disk_free_space',
@@ -160,23 +173,6 @@ final class NoAliasFunctionsFixer extends AbstractFixer implements ConfigurableF
      */
      */
     private array $aliases = [];
     private array $aliases = [];
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->aliases = [];
-
-        foreach ($this->configuration['sets'] as $set) {
-            if ('@all' === $set) {
-                $this->aliases = array_merge(...array_values(self::SETS));
-
-                break;
-            }
-
-            $this->aliases = array_merge($this->aliases, self::SETS[$set]);
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -240,6 +236,25 @@ mbereg_search_getregs();
         return true;
         return true;
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->aliases = [];
+
+        foreach ($this->configuration['sets'] as $set) {
+            if ('@all' === $set) {
+                $this->aliases = array_merge(...array_values(self::SETS));
+
+                break;
+            }
+
+            if (!isset(self::SETS[$set])) {
+                throw new \LogicException(\sprintf('Set %s passed option validation, but not part of ::SETS.', $set));
+            }
+
+            $this->aliases = array_merge($this->aliases, self::SETS[$set]);
+        }
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
         $functionsAnalyzer = new FunctionsAnalyzer();
         $functionsAnalyzer = new FunctionsAnalyzer();
@@ -306,7 +321,7 @@ mbereg_search_getregs();
         $list = "List of sets to fix. Defined sets are:\n\n";
         $list = "List of sets to fix. Defined sets are:\n\n";
 
 
         foreach ($sets as $set => $description) {
         foreach ($sets as $set => $description) {
-            $list .= sprintf("* `%s` (%s);\n", $set, $description);
+            $list .= \sprintf("* `%s` (%s);\n", $set, $description);
         }
         }
 
 
         $list = rtrim($list, ";\n").'.';
         $list = rtrim($list, ";\n").'.';

+ 18 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -28,21 +29,26 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 
 /**
 /**
  * @author Sullivan Senechal <soullivaneuh@gmail.com>
  * @author Sullivan Senechal <soullivaneuh@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use?: 'echo'|'print'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use: 'echo'|'print'
+ * }
  */
  */
 final class NoMixedEchoPrintFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NoMixedEchoPrintFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @var T_ECHO|T_PRINT
      * @var T_ECHO|T_PRINT
      */
      */
     private int $candidateTokenType;
     private int $candidateTokenType;
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->candidateTokenType = 'echo' === $this->configuration['use'] ? T_PRINT : T_ECHO;
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -69,6 +75,11 @@ final class NoMixedEchoPrintFixer extends AbstractFixer implements ConfigurableF
         return $tokens->isTokenKindFound($this->candidateTokenType);
         return $tokens->isTokenKindFound($this->candidateTokenType);
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->candidateTokenType = 'echo' === $this->configuration['use'] ? T_PRINT : T_ECHO;
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
         foreach ($tokens as $index => $token) {
         foreach ($tokens as $index => $token) {

+ 15 - 15
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Alias;
 
 
 use PhpCsFixer\AbstractFunctionReferenceFixer;
 use PhpCsFixer\AbstractFunctionReferenceFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
 
 
 /**
 /**
  * @author Vladimir Reznichenko <kalessil@gmail.com>
  * @author Vladimir Reznichenko <kalessil@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  replacements?: array<string, string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  replacements: array<string, string>
+ * }
  */
  */
 final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer implements ConfigurableFixerInterface
 final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @var array<string, array<int, int>>
      * @var array<string, array<int, int>>
      */
      */
@@ -43,11 +56,6 @@ final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer imple
         'random_int' => [0, 2],
         'random_int' => [0, 2],
     ];
     ];
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -119,23 +127,15 @@ final class RandomApiMigrationFixer extends AbstractFunctionReferenceFixer imple
     {
     {
         return new FixerConfigurationResolver([
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('replacements', 'Mapping between replaced functions with the new ones.'))
             (new FixerOptionBuilder('replacements', 'Mapping between replaced functions with the new ones.'))
-                ->setAllowedTypes(['array'])
+                ->setAllowedTypes(['array<string, string>'])
                 ->setAllowedValues([static function (array $value): bool {
                 ->setAllowedValues([static function (array $value): bool {
                     foreach ($value as $functionName => $replacement) {
                     foreach ($value as $functionName => $replacement) {
                         if (!\array_key_exists($functionName, self::$argumentCounts)) {
                         if (!\array_key_exists($functionName, self::$argumentCounts)) {
-                            throw new InvalidOptionsException(sprintf(
+                            throw new InvalidOptionsException(\sprintf(
                                 'Function "%s" is not handled by the fixer.',
                                 'Function "%s" is not handled by the fixer.',
                                 $functionName
                                 $functionName
                             ));
                             ));
                         }
                         }
-
-                        if (!\is_string($replacement)) {
-                            throw new InvalidOptionsException(sprintf(
-                                'Replacement for function "%s" must be a string, "%s" given.',
-                                $functionName,
-                                get_debug_type($replacement)
-                            ));
-                        }
                     }
                     }
 
 
                     return true;
                     return true;

+ 1 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php

@@ -149,6 +149,7 @@ settype($bar, "null");
             if ('null' === $type) {
             if ('null' === $type) {
                 $this->fixSettypeNullCall($tokens, $functionNameIndex, $argumentToken);
                 $this->fixSettypeNullCall($tokens, $functionNameIndex, $argumentToken);
             } else {
             } else {
+                \assert(isset($map[$type]));
                 $this->fixSettypeCall($tokens, $functionNameIndex, $argumentToken, new Token($map[$type]));
                 $this->fixSettypeCall($tokens, $functionNameIndex, $argumentToken, new Token($map[$type]));
             }
             }
         }
         }

+ 18 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -30,21 +31,26 @@ use PhpCsFixer\Tokenizer\Tokens;
  * @author Gregor Harlan <gharlan@web.de>
  * @author Gregor Harlan <gharlan@web.de>
  * @author Sebastiaan Stok <s.stok@rollerscapes.net>
  * @author Sebastiaan Stok <s.stok@rollerscapes.net>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  syntax?: 'long'|'short'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  syntax: 'long'|'short'
+ * }
  */
  */
 final class ArraySyntaxFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class ArraySyntaxFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @var CT::T_ARRAY_SQUARE_BRACE_OPEN|T_ARRAY
      * @var CT::T_ARRAY_SQUARE_BRACE_OPEN|T_ARRAY
      */
      */
     private $candidateTokenKind;
     private $candidateTokenKind;
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->resolveCandidateTokenKind();
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -76,6 +82,11 @@ final class ArraySyntaxFixer extends AbstractFixer implements ConfigurableFixerI
         return $tokens->isTokenKindFound($this->candidateTokenKind);
         return $tokens->isTokenKindFound($this->candidateTokenKind);
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->resolveCandidateTokenKind();
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
         for ($index = $tokens->count() - 1; 0 <= $index; --$index) {
         for ($index = $tokens->count() - 1; 0 <= $index; --$index) {

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -27,9 +28,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 
 /**
 /**
  * @author Adam Marczuk <adam@marczuk.info>
  * @author Adam Marczuk <adam@marczuk.info>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  after_heredoc?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  after_heredoc: bool
+ * }
  */
  */
 final class NoWhitespaceBeforeCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NoWhitespaceBeforeCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(

+ 6 - 2
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php

@@ -15,9 +15,10 @@ declare(strict_types=1);
 namespace PhpCsFixer\Fixer\ArrayNotation;
 namespace PhpCsFixer\Fixer\ArrayNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
-use PhpCsFixer\FixerDefinition\CodeSample;
 use PhpCsFixer\FixerDefinition\FixerDefinition;
 use PhpCsFixer\FixerDefinition\FixerDefinition;
 use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
 use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
+use PhpCsFixer\FixerDefinition\VersionSpecification;
+use PhpCsFixer\FixerDefinition\VersionSpecificCodeSample;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\Token;
 use PhpCsFixer\Tokenizer\Token;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\Tokens;
@@ -31,7 +32,10 @@ final class NormalizeIndexBraceFixer extends AbstractFixer
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
             'Array index should always be written by using square braces.',
             'Array index should always be written by using square braces.',
-            [new CodeSample("<?php\necho \$sample{\$index};\n")]
+            [new VersionSpecificCodeSample(
+                "<?php\necho \$sample{\$index};\n",
+                new VersionSpecification(null, 8_04_00 - 1)
+            )]
         );
         );
     }
     }
 
 

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ArrayNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 
 /**
 /**
  * @author Adam Marczuk <adam@marczuk.info>
  * @author Adam Marczuk <adam@marczuk.info>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  ensure_single_space?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  ensure_single_space: bool
+ * }
  */
  */
 final class WhitespaceAfterCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class WhitespaceAfterCommaInArrayFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/AttributeEmptyParenthesesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\AttributeNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -28,9 +29,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 
 /**
 /**
  * @author HypeMC <hypemc@gmail.com>
  * @author HypeMC <hypemc@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use_parentheses?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use_parentheses: bool
+ * }
  */
  */
 final class AttributeEmptyParenthesesFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class AttributeEmptyParenthesesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(

+ 16 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/AttributeNotation/OrderedAttributesFixer.php

@@ -17,6 +17,7 @@ namespace PhpCsFixer\Fixer\AttributeNotation;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
 use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -38,9 +39,23 @@ use Symfony\Component\OptionsResolver\Options;
  * @author HypeMC <hypemc@gmail.com>
  * @author HypeMC <hypemc@gmail.com>
  *
  *
  * @phpstan-import-type _AttributeItems from AttributeAnalysis
  * @phpstan-import-type _AttributeItems from AttributeAnalysis
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  order?: list<string>,
+ *  sort_algorithm?: 'alpha'|'custom'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  order: array<string, int>,
+ *  sort_algorithm: 'alpha'|'custom'
+ * }
  */
  */
 final class OrderedAttributesFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class OrderedAttributesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public const ORDER_ALPHA = 'alpha';
     public const ORDER_ALPHA = 'alpha';
     public const ORDER_CUSTOM = 'custom';
     public const ORDER_CUSTOM = 'custom';
 
 
@@ -263,7 +278,7 @@ final class OrderedAttributesFixer extends AbstractFixer implements Configurable
                     ($this->configuration['order'][$b['name']] ?? PHP_INT_MAX);
                     ($this->configuration['order'][$b['name']] ?? PHP_INT_MAX);
             }
             }
 
 
-            throw new \InvalidArgumentException(sprintf('Invalid sort algorithm "%s" provided.', $sortAlgorithm));
+            throw new \InvalidArgumentException(\sprintf('Invalid sort algorithm "%s" provided.', $sortAlgorithm));
         });
         });
 
 
         return $elements;
         return $elements;

+ 25 - 3
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureBracesFixer;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureBracesFixer;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureContinuationPositionFixer;
 use PhpCsFixer\Fixer\ControlStructure\ControlStructureContinuationPositionFixer;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
@@ -37,9 +38,29 @@ use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  *
  *
  * @deprecated
  * @deprecated
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_class_with_empty_body?: bool,
+ *  allow_single_line_closure?: bool,
+ *  position_after_anonymous_constructs?: 'next'|'same',
+ *  position_after_control_structures?: 'next'|'same',
+ *  position_after_functions_and_oop_constructs?: 'next'|'same'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_class_with_empty_body: bool,
+ *  allow_single_line_closure: bool,
+ *  position_after_anonymous_constructs: 'next'|'same',
+ *  position_after_control_structures: 'next'|'same',
+ *  position_after_functions_and_oop_constructs: 'next'|'same'
+ * }
  */
  */
 final class BracesFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface, DeprecatedFixerInterface
 final class BracesFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface, DeprecatedFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @internal
      * @internal
      */
      */
@@ -152,10 +173,8 @@ class Foo
         return array_keys($this->proxyFixers);
         return array_keys($this->proxyFixers);
     }
     }
 
 
-    public function configure(array $configuration): void
+    protected function configurePostNormalisation(): void
     {
     {
-        parent::configure($configuration);
-
         $this->getBracesPositionFixer()->configure([
         $this->getBracesPositionFixer()->configure([
             'control_structures_opening_brace' => $this->translatePositionOption($this->configuration['position_after_control_structures']),
             'control_structures_opening_brace' => $this->translatePositionOption($this->configuration['position_after_control_structures']),
             'functions_opening_brace' => $this->translatePositionOption($this->configuration['position_after_functions_and_oop_constructs']),
             'functions_opening_brace' => $this->translatePositionOption($this->configuration['position_after_functions_and_oop_constructs']),
@@ -243,6 +262,9 @@ class Foo
         return $this->controlStructureContinuationPositionFixer;
         return $this->controlStructureContinuationPositionFixer;
     }
     }
 
 
+    /**
+     * @return BracesPositionFixer::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END|BracesPositionFixer::SAME_LINE
+     */
     private function translatePositionOption(string $option): string
     private function translatePositionOption(string $option): string
     {
     {
         return self::LINE_NEXT === $option
         return self::LINE_NEXT === $option

+ 61 - 34
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesPositionFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
@@ -30,8 +31,33 @@ use PhpCsFixer\Tokenizer\Token;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\TokensAnalyzer;
 use PhpCsFixer\Tokenizer\TokensAnalyzer;
 
 
+/**
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_functions?: bool,
+ *  allow_single_line_empty_anonymous_classes?: bool,
+ *  anonymous_classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_functions: bool,
+ *  allow_single_line_empty_anonymous_classes: bool,
+ *  anonymous_classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ */
 final class BracesPositionFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 final class BracesPositionFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     use Indentation;
     use Indentation;
 
 
     /**
     /**
@@ -144,6 +170,41 @@ $bar = function () { $result = true;
         return -2;
         return -2;
     }
     }
 
 
+    /** @protected */
+    public function createConfigurationDefinition(): FixerConfigurationResolverInterface
+    {
+        return new FixerConfigurationResolver([
+            (new FixerOptionBuilder('control_structures_opening_brace', 'The position of the opening brace of control structures‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('functions_opening_brace', 'The position of the opening brace of functions‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
+                ->getOption(),
+            (new FixerOptionBuilder('anonymous_functions_opening_brace', 'The position of the opening brace of anonymous functions‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('classes_opening_brace', 'The position of the opening brace of classes‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
+                ->getOption(),
+            (new FixerOptionBuilder('anonymous_classes_opening_brace', 'The position of the opening brace of anonymous classes‘ body.'))
+                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
+                ->setDefault(self::SAME_LINE)
+                ->getOption(),
+            (new FixerOptionBuilder('allow_single_line_empty_anonymous_classes', 'Allow anonymous classes to have opening and closing braces on the same line.'))
+                ->setAllowedTypes(['bool'])
+                ->setDefault(true)
+                ->getOption(),
+            (new FixerOptionBuilder('allow_single_line_anonymous_functions', 'Allow anonymous functions to have opening and closing braces on the same line.'))
+                ->setAllowedTypes(['bool'])
+                ->setDefault(true)
+                ->getOption(),
+        ]);
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
         $classyTokens = Token::getClassyTokenKinds();
         $classyTokens = Token::getClassyTokenKinds();
@@ -338,40 +399,6 @@ $bar = function () { $result = true;
         }
         }
     }
     }
 
 
-    protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
-    {
-        return new FixerConfigurationResolver([
-            (new FixerOptionBuilder('control_structures_opening_brace', 'The position of the opening brace of control structures‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('functions_opening_brace', 'The position of the opening brace of functions‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
-                ->getOption(),
-            (new FixerOptionBuilder('anonymous_functions_opening_brace', 'The position of the opening brace of anonymous functions‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('classes_opening_brace', 'The position of the opening brace of classes‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END)
-                ->getOption(),
-            (new FixerOptionBuilder('anonymous_classes_opening_brace', 'The position of the opening brace of anonymous classes‘ body.'))
-                ->setAllowedValues([self::NEXT_LINE_UNLESS_NEWLINE_AT_SIGNATURE_END, self::SAME_LINE])
-                ->setDefault(self::SAME_LINE)
-                ->getOption(),
-            (new FixerOptionBuilder('allow_single_line_empty_anonymous_classes', 'Allow anonymous classes to have opening and closing braces on the same line.'))
-                ->setAllowedTypes(['bool'])
-                ->setDefault(true)
-                ->getOption(),
-            (new FixerOptionBuilder('allow_single_line_anonymous_functions', 'Allow anonymous functions to have opening and closing braces on the same line.'))
-                ->setAllowedTypes(['bool'])
-                ->setDefault(true)
-                ->getOption(),
-        ]);
-    }
-
     private function findParenthesisEnd(Tokens $tokens, int $structureTokenIndex): int
     private function findParenthesisEnd(Tokens $tokens, int $structureTokenIndex): int
     {
     {
         $nextIndex = $tokens->getNextMeaningfulToken($structureTokenIndex);
         $nextIndex = $tokens->getNextMeaningfulToken($structureTokenIndex);

+ 33 - 7
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/CurlyBracesPositionFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\AbstractProxyFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\DeprecatedFixerInterface;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\Indentation;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
@@ -25,9 +26,33 @@ use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
 
 
 /**
 /**
  * @deprecated
  * @deprecated
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  allow_single_line_anonymous_functions?: bool,
+ *  allow_single_line_empty_anonymous_classes?: bool,
+ *  anonymous_classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace?: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  allow_single_line_anonymous_functions: bool,
+ *  allow_single_line_empty_anonymous_classes: bool,
+ *  anonymous_classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  anonymous_functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  classes_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  control_structures_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line',
+ *  functions_opening_brace: 'next_line_unless_newline_at_signature_end'|'same_line'
+ * }
  */
  */
 final class CurlyBracesPositionFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, DeprecatedFixerInterface, WhitespacesAwareFixerInterface
 final class CurlyBracesPositionFixer extends AbstractProxyFixer implements ConfigurableFixerInterface, DeprecatedFixerInterface, WhitespacesAwareFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     use Indentation;
     use Indentation;
 
 
     /**
     /**
@@ -61,13 +86,6 @@ final class CurlyBracesPositionFixer extends AbstractProxyFixer implements Confi
         );
         );
     }
     }
 
 
-    public function configure(array $configuration): void
-    {
-        $this->bracesPositionFixer->configure($configuration);
-
-        parent::configure($configuration);
-    }
-
     /**
     /**
      * {@inheritdoc}
      * {@inheritdoc}
      *
      *
@@ -86,6 +104,14 @@ final class CurlyBracesPositionFixer extends AbstractProxyFixer implements Confi
         ];
         ];
     }
     }
 
 
+    /**
+     * @param _AutogeneratedInputConfiguration $configuration
+     */
+    protected function configurePreNormalisation(array $configuration): void
+    {
+        $this->bracesPositionFixer->configure($configuration);
+    }
+
     protected function createProxyFixers(): array
     protected function createProxyFixers(): array
     {
     {
         return [
         return [

+ 14 - 1
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NoTrailingCommaInSinglelineFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\AllowedValueSubset;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -27,8 +28,21 @@ use PhpCsFixer\Tokenizer\Analyzer\AttributeAnalyzer;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\CT;
 use PhpCsFixer\Tokenizer\Tokens;
 use PhpCsFixer\Tokenizer\Tokens;
 
 
+/**
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: list<'arguments'|'array'|'array_destructuring'|'group_import'>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: list<'arguments'|'array'|'array_destructuring'|'group_import'>
+ * }
+ */
 final class NoTrailingCommaInSinglelineFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NoTrailingCommaInSinglelineFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -95,7 +109,6 @@ final class NoTrailingCommaInSinglelineFixer extends AbstractFixer implements Co
 
 
     private function shouldBeCleared(Tokens $tokens, int $openIndex): bool
     private function shouldBeCleared(Tokens $tokens, int $openIndex): bool
     {
     {
-        /** @var list<string> $elements */
         $elements = $this->configuration['elements'];
         $elements = $this->configuration['elements'];
 
 
         if ($tokens[$openIndex]->isGivenKind(CT::T_ARRAY_SQUARE_BRACE_OPEN)) {
         if ($tokens[$openIndex]->isGivenKind(CT::T_ARRAY_SQUARE_BRACE_OPEN)) {

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -30,9 +31,21 @@ use PhpCsFixer\Tokenizer\Tokens;
  * Removes Zero-width space (ZWSP), Non-breaking space (NBSP) and other invisible unicode symbols.
  * Removes Zero-width space (ZWSP), Non-breaking space (NBSP) and other invisible unicode symbols.
  *
  *
  * @author Ivan Boprzenkov <ivan.borzenkov@gmail.com>
  * @author Ivan Boprzenkov <ivan.borzenkov@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  use_escape_sequences_in_strings?: bool
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  use_escape_sequences_in_strings: bool
+ * }
  */
  */
 final class NonPrintableCharacterFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NonPrintableCharacterFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @var array<string, array{string, string}>
      * @var array<string, array{string, string}>
      */
      */

+ 15 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NumericLiteralSeparatorFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Basic;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -35,9 +36,23 @@ use PhpCsFixer\Tokenizer\Tokens;
  *
  *
  * @author Marvin Heilemann <marvin.heilemann+github@googlemail.com>
  * @author Marvin Heilemann <marvin.heilemann+github@googlemail.com>
  * @author Greg Korba <greg@codito.dev>
  * @author Greg Korba <greg@codito.dev>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  override_existing?: bool,
+ *  strategy?: 'no_separator'|'use_separator'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  override_existing: bool,
+ *  strategy: 'no_separator'|'use_separator'
+ * }
  */
  */
 final class NumericLiteralSeparatorFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class NumericLiteralSeparatorFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public const STRATEGY_USE_SEPARATOR = 'use_separator';
     public const STRATEGY_USE_SEPARATOR = 'use_separator';
     public const STRATEGY_NO_SEPARATOR = 'no_separator';
     public const STRATEGY_NO_SEPARATOR = 'no_separator';
 
 

+ 28 - 17
vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/PsrAutoloadingFixer.php

@@ -17,6 +17,7 @@ namespace PhpCsFixer\Fixer\Basic;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\DocBlock\TypeExpression;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -35,9 +36,21 @@ use PhpCsFixer\Tokenizer\TokensAnalyzer;
  * @author Bram Gotink <bram@gotink.me>
  * @author Bram Gotink <bram@gotink.me>
  * @author Graham Campbell <hello@gjcampbell.co.uk>
  * @author Graham Campbell <hello@gjcampbell.co.uk>
  * @author Kuba Werłos <werlos@gmail.com>
  * @author Kuba Werłos <werlos@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  dir?: null|string
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  dir: null|string
+ * }
  */
  */
 final class PsrAutoloadingFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class PsrAutoloadingFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -64,21 +77,6 @@ class InvalidName {}
         );
         );
     }
     }
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        if (null !== $this->configuration['dir']) {
-            $realpath = realpath($this->configuration['dir']);
-
-            if (false === $realpath) {
-                throw new \InvalidArgumentException(sprintf('Failed to resolve configured directory "%s".', $this->configuration['dir']));
-            }
-
-            $this->configuration['dir'] = $realpath;
-        }
-    }
-
     public function isCandidate(Tokens $tokens): bool
     public function isCandidate(Tokens $tokens): bool
     {
     {
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
@@ -115,7 +113,7 @@ class InvalidName {}
         }
         }
 
 
         try {
         try {
-            $tokens = Tokens::fromCode(sprintf('<?php class %s {}', $file->getBasename('.php')));
+            $tokens = Tokens::fromCode(\sprintf('<?php class %s {}', $file->getBasename('.php')));
 
 
             if ($tokens[3]->isKeyword() || $tokens[3]->isMagicConstant()) {
             if ($tokens[3]->isKeyword() || $tokens[3]->isMagicConstant()) {
                 // name cannot be a class name - detected by PHP 5.x
                 // name cannot be a class name - detected by PHP 5.x
@@ -130,6 +128,19 @@ class InvalidName {}
         return !Preg::match('{[/\\\](stub|fixture)s?[/\\\]}i', $file->getRealPath());
         return !Preg::match('{[/\\\](stub|fixture)s?[/\\\]}i', $file->getRealPath());
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        if (null !== $this->configuration['dir']) {
+            $realpath = realpath($this->configuration['dir']);
+
+            if (false === $realpath) {
+                throw new \InvalidArgumentException(\sprintf('Failed to resolve configured directory "%s".', $this->configuration['dir']));
+            }
+
+            $this->configuration['dir'] = $realpath;
+        }
+    }
+
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     {
     {
         return new FixerConfigurationResolver([
         return new FixerConfigurationResolver([
@@ -230,7 +241,7 @@ class InvalidName {}
         $namespaceParts = array_reverse(explode('\\', $maxNamespace));
         $namespaceParts = array_reverse(explode('\\', $maxNamespace));
 
 
         foreach ($namespaceParts as $namespacePart) {
         foreach ($namespaceParts as $namespacePart) {
-            $nameCandidate = sprintf('%s_%s', $namespacePart, $name);
+            $nameCandidate = \sprintf('%s_%s', $namespacePart, $name);
 
 
             if (strtolower($nameCandidate) !== strtolower(substr($currentName, -\strlen($nameCandidate)))) {
             if (strtolower($nameCandidate) !== strtolower(substr($currentName, -\strlen($nameCandidate)))) {
                 break;
                 break;

+ 24 - 13
vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/ConstantCaseFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\Casing;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -29,9 +30,21 @@ use PhpCsFixer\Tokenizer\Tokens;
  * Fixer for constants case.
  * Fixer for constants case.
  *
  *
  * @author Pol Dellaiera <pol.dellaiera@protonmail.com>
  * @author Pol Dellaiera <pol.dellaiera@protonmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  case?: 'lower'|'upper'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  case: 'lower'|'upper'
+ * }
  */
  */
 final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * Hold the function that will be used to convert the constants.
      * Hold the function that will be used to convert the constants.
      *
      *
@@ -39,19 +52,6 @@ final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixer
      */
      */
     private $fixFunction;
     private $fixFunction;
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        if ('lower' === $this->configuration['case']) {
-            $this->fixFunction = static fn (string $content): string => strtolower($content);
-        }
-
-        if ('upper' === $this->configuration['case']) {
-            $this->fixFunction = static fn (string $content): string => strtoupper($content);
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -68,6 +68,17 @@ final class ConstantCaseFixer extends AbstractFixer implements ConfigurableFixer
         return $tokens->isTokenKindFound(T_STRING);
         return $tokens->isTokenKindFound(T_STRING);
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        if ('lower' === $this->configuration['case']) {
+            $this->fixFunction = static fn (string $content): string => strtolower($content);
+        }
+
+        if ('upper' === $this->configuration['case']) {
+            $this->fixFunction = static fn (string $content): string => strtoupper($content);
+        }
+    }
+
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     protected function createConfigurationDefinition(): FixerConfigurationResolverInterface
     {
     {
         return new FixerConfigurationResolver([
         return new FixerConfigurationResolver([

+ 13 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\CastNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
 use PhpCsFixer\FixerConfiguration\FixerOptionBuilder;
@@ -27,9 +28,21 @@ use PhpCsFixer\Tokenizer\Tokens;
 
 
 /**
 /**
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
  * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  space?: 'none'|'single'
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  space: 'none'|'single'
+ * }
  */
  */
 final class CastSpacesFixer extends AbstractFixer implements ConfigurableFixerInterface
 final class CastSpacesFixer extends AbstractFixer implements ConfigurableFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     private const INSIDE_CAST_SPACE_REPLACE_MAP = [
     private const INSIDE_CAST_SPACE_REPLACE_MAP = [
         ' ' => '',
         ' ' => '',
         "\t" => '',
         "\t" => '',

+ 26 - 15
vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php

@@ -16,6 +16,7 @@ namespace PhpCsFixer\Fixer\ClassNotation;
 
 
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\AbstractFixer;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
 use PhpCsFixer\Fixer\ConfigurableFixerInterface;
+use PhpCsFixer\Fixer\ConfigurableFixerTrait;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\Fixer\WhitespacesAwareFixerInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolver;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
 use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
@@ -45,9 +46,21 @@ use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
  *      elements: non-empty-list<_Element>
  *      elements: non-empty-list<_Element>
  *  }
  *  }
  * @phpstan-type _Element array{token: Token, type: string, index: int, start?: int, end?: int}
  * @phpstan-type _Element array{token: Token, type: string, index: int, start?: int, end?: int}
+ *
+ * @implements ConfigurableFixerInterface<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration>
+ *
+ * @phpstan-type _AutogeneratedInputConfiguration array{
+ *  elements?: array<string, string>
+ * }
+ * @phpstan-type _AutogeneratedComputedConfiguration array{
+ *  elements: array<string, string>
+ * }
  */
  */
 final class ClassAttributesSeparationFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 final class ClassAttributesSeparationFixer extends AbstractFixer implements ConfigurableFixerInterface, WhitespacesAwareFixerInterface
 {
 {
+    /** @use ConfigurableFixerTrait<_AutogeneratedInputConfiguration, _AutogeneratedComputedConfiguration> */
+    use ConfigurableFixerTrait;
+
     /**
     /**
      * @internal
      * @internal
      */
      */
@@ -65,17 +78,6 @@ final class ClassAttributesSeparationFixer extends AbstractFixer implements Conf
      */
      */
     private array $classElementTypes = [];
     private array $classElementTypes = [];
 
 
-    public function configure(array $configuration): void
-    {
-        parent::configure($configuration);
-
-        $this->classElementTypes = []; // reset previous configuration
-
-        foreach ($this->configuration['elements'] as $elementType => $spacing) {
-            $this->classElementTypes[$elementType] = $spacing;
-        }
-    }
-
     public function getDefinition(): FixerDefinitionInterface
     public function getDefinition(): FixerDefinitionInterface
     {
     {
         return new FixerDefinition(
         return new FixerDefinition(
@@ -172,6 +174,15 @@ class Sample
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
         return $tokens->isAnyTokenKindsFound(Token::getClassyTokenKinds());
     }
     }
 
 
+    protected function configurePostNormalisation(): void
+    {
+        $this->classElementTypes = []; // reset previous configuration
+
+        foreach ($this->configuration['elements'] as $elementType => $spacing) {
+            $this->classElementTypes[$elementType] = $spacing;
+        }
+    }
+
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     protected function applyFix(\SplFileInfo $file, Tokens $tokens): void
     {
     {
         foreach ($this->getElementsByClass($tokens) as $class) {
         foreach ($this->getElementsByClass($tokens) as $class) {
@@ -199,14 +210,14 @@ class Sample
     {
     {
         return new FixerConfigurationResolver([
         return new FixerConfigurationResolver([
             (new FixerOptionBuilder('elements', 'Dictionary of `const|method|property|trait_import|case` => `none|one|only_if_meta` values.'))
             (new FixerOptionBuilder('elements', 'Dictionary of `const|method|property|trait_import|case` => `none|one|only_if_meta` values.'))
-                ->setAllowedTypes(['string[]'])
+                ->setAllowedTypes(['array<string, string>'])
                 ->setAllowedValues([static function (array $option): bool {
                 ->setAllowedValues([static function (array $option): bool {
                     foreach ($option as $type => $spacing) {
                     foreach ($option as $type => $spacing) {
                         $supportedTypes = ['const', 'method', 'property', 'trait_import', 'case'];
                         $supportedTypes = ['const', 'method', 'property', 'trait_import', 'case'];
 
 
                         if (!\in_array($type, $supportedTypes, true)) {
                         if (!\in_array($type, $supportedTypes, true)) {
                             throw new InvalidOptionsException(
                             throw new InvalidOptionsException(
-                                sprintf(
+                                \sprintf(
                                     'Unexpected element type, expected any of %s, got "%s".',
                                     'Unexpected element type, expected any of %s, got "%s".',
                                     Utils::naturalLanguageJoin($supportedTypes),
                                     Utils::naturalLanguageJoin($supportedTypes),
                                     \gettype($type).'#'.$type
                                     \gettype($type).'#'.$type
@@ -218,7 +229,7 @@ class Sample
 
 
                         if (!\in_array($spacing, $supportedSpacings, true)) {
                         if (!\in_array($spacing, $supportedSpacings, true)) {
                             throw new InvalidOptionsException(
                             throw new InvalidOptionsException(
-                                sprintf(
+                                \sprintf(
                                     'Unexpected spacing for element type "%s", expected any of %s, got "%s".',
                                     'Unexpected spacing for element type "%s", expected any of %s, got "%s".',
                                     $spacing,
                                     $spacing,
                                     Utils::naturalLanguageJoin($supportedSpacings),
                                     Utils::naturalLanguageJoin($supportedSpacings),
@@ -352,7 +363,7 @@ class Sample
             return $tokens[$aboveElementDocCandidateIndex]->isGivenKind([T_DOC_COMMENT, CT::T_ATTRIBUTE_CLOSE]) ? 2 : 1;
             return $tokens[$aboveElementDocCandidateIndex]->isGivenKind([T_DOC_COMMENT, CT::T_ATTRIBUTE_CLOSE]) ? 2 : 1;
         }
         }
 
 
-        throw new \RuntimeException(sprintf('Unknown spacing "%s".', $spacing));
+        throw new \RuntimeException(\sprintf('Unknown spacing "%s".', $spacing));
     }
     }
 
 
     /**
     /**

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels