liuggio / fastest

Simple parallel testing execution... with some goodies for functional tests.
MIT License
473 stars 65 forks source link

Incompatible with laravel #148

Closed garrettgjb closed 4 years ago

garrettgjb commented 4 years ago

Below I am doing a fresh install of the latest laravel and require this package. I believe the problem is because of facade/ignition which requires symfony/console "^5.0". This package requires symfony/console "^3.4|^4.2". I think if this package worked with symfony/console 5.0 it would work.

❯ composer global require laravel/installer

Changed current directory to /Users/gbanker/.composer
Using version ^3.0 for laravel/installer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
laravel new blog

Package operations: 0 installs, 1 update, 0 removals
  - Updating laravel/installer (v2.2.0 => v3.0.1): Downloading (100%)         
Writing lock file
Generating autoload files

~/test2 on ☁️  us-east-1                         

❯ laravel new blog
Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 92 installs, 0 updates, 0 removals
  - Installing doctrine/inflector (2.0.1): Downloading (100%)         
  - Installing doctrine/lexer (1.2.0): Loading from cache
  - Installing dragonmantank/cron-expression (v2.3.0): Loading from cache
  - Installing voku/portable-ascii (1.4.10): Downloading (100%)         
  - Installing symfony/polyfill-ctype (v1.17.0): Downloading (100%)         
  - Installing phpoption/phpoption (1.7.3): Downloading (100%)         
  - Installing vlucas/phpdotenv (v4.1.5): Downloading (100%)         
  - Installing symfony/css-selector (v5.0.8): Downloading (100%)         
  - Installing tijsverkoyen/css-to-inline-styles (2.2.2): Loading from cache
  - Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)         
  - Installing symfony/var-dumper (v5.0.8): Downloading (100%)         
  - Installing symfony/routing (v5.0.8): Downloading (100%)         
  - Installing symfony/process (v5.0.8): Downloading (100%)         
  - Installing symfony/polyfill-php73 (v1.17.0): Downloading (100%)         
  - Installing symfony/polyfill-php72 (v1.17.0): Downloading (100%)         
  - Installing symfony/polyfill-intl-idn (v1.17.0): Downloading (100%)         
  - Installing symfony/mime (v5.0.8): Downloading (100%)         
  - Installing symfony/http-foundation (v5.0.8): Downloading (100%)         
  - Installing psr/event-dispatcher (1.0.0): Downloading (100%)         
  - Installing symfony/event-dispatcher-contracts (v2.0.1): Downloading (100%)         
  - Installing symfony/event-dispatcher (v5.0.8): Downloading (100%)         
  - Installing psr/log (1.1.3): Downloading (100%)         
  - Installing symfony/error-handler (v5.0.8): Downloading (100%)         
  - Installing symfony/http-kernel (v5.0.8): Downloading (100%)         
  - Installing symfony/finder (v5.0.8): Downloading (100%)         
  - Installing psr/container (1.0.0): Loading from cache
  - Installing symfony/service-contracts (v2.0.1): Loading from cache
  - Installing symfony/console (v5.0.8): Downloading (100%)         
  - Installing symfony/polyfill-iconv (v1.17.0): Downloading (100%)         
  - Installing egulias/email-validator (2.1.17): Loading from cache
  - Installing swiftmailer/swiftmailer (v6.2.3): Loading from cache
  - Installing ramsey/collection (1.0.1): Downloading (100%)         
  - Installing brick/math (0.8.15): Downloading (100%)         
  - Installing ramsey/uuid (4.0.1): Downloading (100%)         
  - Installing psr/simple-cache (1.0.1): Loading from cache
  - Installing opis/closure (3.5.1): Loading from cache
  - Installing symfony/translation-contracts (v2.0.1): Loading from cache
  - Installing symfony/translation (v5.0.8): Downloading (100%)         
  - Installing nesbot/carbon (2.34.2): Downloading (100%)         
  - Installing monolog/monolog (2.0.2): Loading from cache
  - Installing league/flysystem (1.0.69): Downloading (100%)         
  - Installing league/commonmark (1.4.3): Downloading (100%)         
  - Installing laravel/framework (v7.12.0): Downloading (100%)         
  - Installing fideloper/proxy (4.3.0): Downloading (100%)         
  - Installing asm89/stack-cors (1.3.0): Downloading (100%)         
  - Installing fruitcake/laravel-cors (v1.0.6): Downloading (100%)         
  - Installing ralouphie/getallheaders (3.0.3): Loading from cache
  - Installing psr/http-message (1.0.1): Downloading (100%)         
  - Installing guzzlehttp/psr7 (1.6.1): Loading from cache
  - Installing guzzlehttp/promises (v1.3.1): Loading from cache
  - Installing guzzlehttp/guzzle (6.5.3): Downloading (100%)         
  - Installing nikic/php-parser (v4.4.0): Downloading (100%)         
  - Installing dnoegel/php-xdg-base-dir (v0.1.1): Loading from cache
  - Installing psy/psysh (v0.10.4): Downloading (100%)         
  - Installing laravel/tinker (v2.4.0): Downloading (100%)         
  - Installing scrivo/highlight.php (v9.18.1.1): Downloading (100%)         
  - Installing filp/whoops (2.7.2): Downloading (100%)         
  - Installing facade/ignition-contracts (1.0.0): Loading from cache
  - Installing facade/flare-client-php (1.3.2): Downloading (100%)         
  - Installing facade/ignition (2.0.4): Downloading (100%)         
  - Installing fzaninotto/faker (v1.9.1): Loading from cache
  - Installing hamcrest/hamcrest-php (v2.0.0): Loading from cache
  - Installing mockery/mockery (1.4.0): Downloading (100%)         
  - Installing nunomaduro/collision (v4.2.0): Downloading (100%)         
  - Installing webmozart/assert (1.8.0): Downloading (100%)         
  - Installing phpdocumentor/reflection-common (2.1.0): Downloading (100%)         
  - Installing phpdocumentor/type-resolver (1.1.0): Downloading (100%)         
  - Installing phpdocumentor/reflection-docblock (5.1.0): Downloading (100%)         
  - Installing phpunit/php-token-stream (3.1.1): Loading from cache
  - Installing sebastian/version (2.0.1): Loading from cache
  - Installing sebastian/type (1.1.3): Loading from cache
  - Installing sebastian/resource-operations (2.0.1): Loading from cache
  - Installing sebastian/recursion-context (3.0.0): Loading from cache
  - Installing sebastian/object-reflector (1.1.1): Loading from cache
  - Installing sebastian/object-enumerator (3.0.3): Loading from cache
  - Installing sebastian/global-state (3.0.0): Loading from cache
  - Installing sebastian/exporter (3.1.2): Loading from cache
  - Installing sebastian/environment (4.2.3): Loading from cache
  - Installing sebastian/diff (3.0.2): Loading from cache
  - Installing sebastian/comparator (3.0.2): Loading from cache
  - Installing phpunit/php-timer (2.1.2): Loading from cache
  - Installing phpunit/php-text-template (1.2.1): Loading from cache
  - Installing phpunit/php-file-iterator (2.0.2): Loading from cache
  - Installing theseer/tokenizer (1.1.3): Loading from cache
  - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache
  - Installing phpunit/php-code-coverage (7.0.10): Loading from cache
  - Installing doctrine/instantiator (1.3.0): Loading from cache
  - Installing phpspec/prophecy (v1.10.3): Downloading (100%)         
  - Installing phar-io/version (2.0.1): Loading from cache
  - Installing phar-io/manifest (1.0.3): Loading from cache
  - Installing myclabs/deep-copy (1.9.5): Loading from cache
  - Installing phpunit/phpunit (8.5.4): Downloading (100%)         
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing symfony/yaml (For using the YAML loader)
symfony/event-dispatcher suggests installing symfony/dependency-injection
symfony/http-kernel suggests installing symfony/browser-kit
symfony/http-kernel suggests installing symfony/config
symfony/http-kernel suggests installing symfony/dependency-injection
symfony/service-contracts suggests installing symfony/service-implementation
symfony/console suggests installing symfony/lock
swiftmailer/swiftmailer suggests installing true/punycode (Needed to support internationalized email addresses, if ext-intl is not installed)
ramsey/uuid suggests installing ext-gmp (Enables faster math with arbitrary-precision integers using GMP.)
ramsey/uuid suggests installing ext-uuid (Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.)
ramsey/uuid suggests installing paragonie/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing elasticsearch/elasticsearch (Allow sending log messages to an Elasticsearch server via official client)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongodb (Allow sending log messages to a MongoDB server (via driver))
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server (via library))
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (^2.6).)
laravel/framework suggests installing ext-memcached (Required to use the memcache cache driver.)
laravel/framework suggests installing ext-pcntl (Required to use all features of the queue worker.)
laravel/framework suggests installing ext-redis (Required to use the Redis cache and queue drivers (^4.0|^5.0).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (^1.0).)
laravel/framework suggests installing league/flysystem-cached-adapter (Required to use the Flysystem cache (^1.0).)
laravel/framework suggests installing league/flysystem-sftp (Required to use the Flysystem SFTP driver (^1.0).)
laravel/framework suggests installing moontoast/math (Required to use ordered UUIDs (^1.1).)
laravel/framework suggests installing nyholm/psr7 (Required to use PSR-7 bridging features (^1.2).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (^4.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (^4.0).)
laravel/framework suggests installing symfony/cache (Required to PSR-6 cache bridge (^5.0).)
laravel/framework suggests installing symfony/filesystem (Required to create relative storage directory symbolic links (^5.0).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use PSR-7 bridging features (^2.0).)
laravel/framework suggests installing wildbit/swiftmailer-postmark (Required to use Postmark mail driver (^3.0).)
guzzlehttp/psr7 suggests installing zendframework/zend-httphandlerrunner (Emit PSR-7 responses)
psy/psysh suggests installing ext-pcntl (Enabling the PCNTL extension makes PsySH a lot happier :))
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
filp/whoops suggests installing whoops/soap (Formats errors as SOAP responses)
facade/ignition suggests installing laravel/telescope (^3.1)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/php-code-coverage suggests installing ext-xdebug (^2.7.2)
phpunit/phpunit suggests installing ext-xdebug (*)
phpunit/phpunit suggests installing phpunit/php-invoker (^2.0.0)
Generating optimized autoload files
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
> @php artisan key:generate --ansi
Application key set successfully.
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
Application ready! Build something amazing.

~/test2 on ☁️  us-east-1 took 44s                                                                                                                                                                                                                                               
❯ cd blog 

~/test2/blog via ⬢ v12.13.1 via 🐘 v7.3.1 on ☁️  us-east-1          

❯ composer require --dev 'liuggio/fastest:^1.6'
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: don't install liuggio/fastest v1.6.1
    - Conclusion: don't install liuggio/fastest v1.6.0
    - Conclusion: remove symfony/console v5.0.8
    - Installation request for liuggio/fastest ^1.6 -> satisfiable by liuggio/fastest[1.6.x-dev, v1.6.0, v1.6.1].
    - Conclusion: don't install symfony/console v5.0.8
    - liuggio/fastest 1.6.x-dev requires symfony/console ^3.4|^4.2 -> satisfiable by symfony/console[3.4.x-dev, 4.2.x-dev, 4.3.x-dev, 4.4.x-dev, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.0-BETA1, v4.3.0-BETA2, v4.3.0-RC1, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.0-BETA1, v4.4.0-BETA2, v4.4.0-RC1, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8].
    - Can only install one of: symfony/console[3.4.x-dev, v5.0.8].
    - Can only install one of: symfony/console[4.2.x-dev, v5.0.8].
    - Can only install one of: symfony/console[4.3.x-dev, v5.0.8].
    - Can only install one of: symfony/console[4.4.x-dev, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-BETA1, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-BETA2, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-BETA3, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-BETA4, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-RC1, v5.0.8].
    - Can only install one of: symfony/console[v3.4.0-RC2, v5.0.8].
    - Can only install one of: symfony/console[v3.4.1, v5.0.8].
    - Can only install one of: symfony/console[v3.4.10, v5.0.8].
    - Can only install one of: symfony/console[v3.4.11, v5.0.8].
    - Can only install one of: symfony/console[v3.4.12, v5.0.8].
    - Can only install one of: symfony/console[v3.4.13, v5.0.8].
    - Can only install one of: symfony/console[v3.4.14, v5.0.8].
    - Can only install one of: symfony/console[v3.4.15, v5.0.8].
    - Can only install one of: symfony/console[v3.4.16, v5.0.8].
    - Can only install one of: symfony/console[v3.4.17, v5.0.8].
    - Can only install one of: symfony/console[v3.4.18, v5.0.8].
    - Can only install one of: symfony/console[v3.4.19, v5.0.8].
    - Can only install one of: symfony/console[v3.4.2, v5.0.8].
    - Can only install one of: symfony/console[v3.4.20, v5.0.8].
    - Can only install one of: symfony/console[v3.4.21, v5.0.8].
    - Can only install one of: symfony/console[v3.4.22, v5.0.8].
    - Can only install one of: symfony/console[v3.4.23, v5.0.8].
    - Can only install one of: symfony/console[v3.4.24, v5.0.8].
    - Can only install one of: symfony/console[v3.4.25, v5.0.8].
    - Can only install one of: symfony/console[v3.4.26, v5.0.8].
    - Can only install one of: symfony/console[v3.4.27, v5.0.8].
    - Can only install one of: symfony/console[v3.4.28, v5.0.8].
    - Can only install one of: symfony/console[v3.4.29, v5.0.8].
    - Can only install one of: symfony/console[v3.4.3, v5.0.8].
    - Can only install one of: symfony/console[v3.4.30, v5.0.8].
    - Can only install one of: symfony/console[v3.4.31, v5.0.8].
    - Can only install one of: symfony/console[v3.4.32, v5.0.8].
    - Can only install one of: symfony/console[v3.4.33, v5.0.8].
    - Can only install one of: symfony/console[v3.4.34, v5.0.8].
    - Can only install one of: symfony/console[v3.4.35, v5.0.8].
    - Can only install one of: symfony/console[v3.4.36, v5.0.8].
    - Can only install one of: symfony/console[v3.4.37, v5.0.8].
    - Can only install one of: symfony/console[v3.4.38, v5.0.8].
    - Can only install one of: symfony/console[v3.4.39, v5.0.8].
    - Can only install one of: symfony/console[v3.4.4, v5.0.8].
    - Can only install one of: symfony/console[v3.4.40, v5.0.8].
    - Can only install one of: symfony/console[v3.4.5, v5.0.8].
    - Can only install one of: symfony/console[v3.4.6, v5.0.8].
    - Can only install one of: symfony/console[v3.4.7, v5.0.8].
    - Can only install one of: symfony/console[v3.4.8, v5.0.8].
    - Can only install one of: symfony/console[v3.4.9, v5.0.8].
    - Can only install one of: symfony/console[v4.2.0, v5.0.8].
    - Can only install one of: symfony/console[v4.2.0-BETA1, v5.0.8].
    - Can only install one of: symfony/console[v4.2.0-BETA2, v5.0.8].
    - Can only install one of: symfony/console[v4.2.0-RC1, v5.0.8].
    - Can only install one of: symfony/console[v4.2.1, v5.0.8].
    - Can only install one of: symfony/console[v4.2.10, v5.0.8].
    - Can only install one of: symfony/console[v4.2.11, v5.0.8].
    - Can only install one of: symfony/console[v4.2.12, v5.0.8].
    - Can only install one of: symfony/console[v4.2.2, v5.0.8].
    - Can only install one of: symfony/console[v4.2.3, v5.0.8].
    - Can only install one of: symfony/console[v4.2.4, v5.0.8].
    - Can only install one of: symfony/console[v4.2.5, v5.0.8].
    - Can only install one of: symfony/console[v4.2.6, v5.0.8].
    - Can only install one of: symfony/console[v4.2.7, v5.0.8].
    - Can only install one of: symfony/console[v4.2.8, v5.0.8].
    - Can only install one of: symfony/console[v4.2.9, v5.0.8].
    - Can only install one of: symfony/console[v4.3.0, v5.0.8].
    - Can only install one of: symfony/console[v4.3.0-BETA1, v5.0.8].
    - Can only install one of: symfony/console[v4.3.0-BETA2, v5.0.8].
    - Can only install one of: symfony/console[v4.3.0-RC1, v5.0.8].
    - Can only install one of: symfony/console[v4.3.1, v5.0.8].
    - Can only install one of: symfony/console[v4.3.10, v5.0.8].
    - Can only install one of: symfony/console[v4.3.11, v5.0.8].
    - Can only install one of: symfony/console[v4.3.2, v5.0.8].
    - Can only install one of: symfony/console[v4.3.3, v5.0.8].
    - Can only install one of: symfony/console[v4.3.4, v5.0.8].
    - Can only install one of: symfony/console[v4.3.5, v5.0.8].
    - Can only install one of: symfony/console[v4.3.6, v5.0.8].
    - Can only install one of: symfony/console[v4.3.7, v5.0.8].
    - Can only install one of: symfony/console[v4.3.8, v5.0.8].
    - Can only install one of: symfony/console[v4.3.9, v5.0.8].
    - Can only install one of: symfony/console[v4.4.0, v5.0.8].
    - Can only install one of: symfony/console[v4.4.0-BETA1, v5.0.8].
    - Can only install one of: symfony/console[v4.4.0-BETA2, v5.0.8].
    - Can only install one of: symfony/console[v4.4.0-RC1, v5.0.8].
    - Can only install one of: symfony/console[v4.4.1, v5.0.8].
    - Can only install one of: symfony/console[v4.4.2, v5.0.8].
    - Can only install one of: symfony/console[v4.4.3, v5.0.8].
    - Can only install one of: symfony/console[v4.4.4, v5.0.8].
    - Can only install one of: symfony/console[v4.4.5, v5.0.8].
    - Can only install one of: symfony/console[v4.4.6, v5.0.8].
    - Can only install one of: symfony/console[v4.4.7, v5.0.8].
    - Can only install one of: symfony/console[v4.4.8, v5.0.8].
    - Installation request for symfony/console (locked at v5.0.8) -> satisfiable by symfony/console[v5.0.8].

Installation failed, reverting ./composer.json to its original content.
DonCallisto commented 4 years ago

Related to https://github.com/liuggio/fastest/pull/146

DonCallisto commented 4 years ago

See https://github.com/liuggio/fastest/pull/149

DonCallisto commented 4 years ago

@garrettgjb check #149 please and give it a try and a feedback. Thanks.