diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 3e84821..1f69acc 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -21,10 +21,12 @@ jobs: uses: "mimmi20/ci/.github/workflows/validate.yml@master" with: - extensions: "curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" + extensions: "ctype, curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" + skip-validate-composer: false skip-phplint: false + skip-check-composer: false install: name: "Install Project" @@ -33,10 +35,9 @@ jobs: uses: "mimmi20/ci/.github/workflows/install.yml@master" with: - extensions: "curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" + extensions: "ctype, curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" - composer-outdated-option: "" analytics: name: "Project Analysis" @@ -45,67 +46,13 @@ jobs: uses: "mimmi20/ci/.github/workflows/analytics.yml@master" with: - extensions: "curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" + extensions: "ctype, curl, iconv, mbstring, intl, dom, simplexml, tokenizer, xml, xmlwriter" ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" skip-phpstan: false skip-rector: false skip-phpmd: false - check-composer: - name: "Check composer dependencies" - - runs-on: "${{ matrix.operating-system }}" - - timeout-minutes: 10 - - continue-on-error: false - - needs: "analytics" - - strategy: - fail-fast: false - - matrix: - operating-system: - - "ubuntu-20.04" - - php-version: - # Should use the lowest supported version - - "8.1" - - steps: - - name: "Checkout" - uses: "actions/checkout@v4" - with: - # Disabling shallow clone is recommended for improving relevancy of reporting - fetch-depth: 0 - lfs: false - persist-credentials: false - - - name: "Install PHP" - uses: "shivammathur/setup-php@2.28.0" - with: - php-version: "${{ matrix.php-version }}" - extensions: "none, phar, json, opcache, curl, iconv, mbstring, ctype, dom, intl, simplexml, tokenizer, xml, xmlwriter" - ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" - coverage: "none" - tools: "composer:v2, composer-unused" - env: - fail-fast: true - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - phpts: "nts" - debug: true - - - name: "Update dependencies with composer" - uses: "ramsey/composer-install@2.2.0" - with: - dependency-versions: "${{ matrix.dependencies }}" - composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" - - - name: "Check composer.json" - run: "composer-unused unused --ansi --no-progress --no-interaction --output-format=github" - tests: name: "UnitTests with PHPUnit" @@ -144,7 +91,7 @@ jobs: uses: "shivammathur/setup-php@2.28.0" with: php-version: "${{ matrix.php-version }}" - extensions: "none, phar, json, opcache, curl, iconv, mbstring, dom, intl, simplexml, tokenizer, xml, xmlwriter" + extensions: "none, phar, json, opcache, ctype, curl, iconv, mbstring, dom, intl, simplexml, tokenizer, xml, xmlwriter" ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" coverage: "none" tools: "composer:v2" @@ -200,7 +147,7 @@ jobs: uses: "shivammathur/setup-php@2.28.0" with: php-version: "${{ matrix.php-version }}" - extensions: "none, phar, json, opcache, curl, iconv, mbstring, dom, intl, simplexml, tokenizer, xml, xmlwriter" + extensions: "none, phar, json, opcache, ctype, curl, iconv, mbstring, dom, intl, simplexml, tokenizer, xml, xmlwriter" ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0, xdebug.mode=coverage" coverage: "xdebug" tools: "composer:v2" diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php index 40b1165..e0267d2 100644 --- a/.php-cs-fixer.php +++ b/.php-cs-fixer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. @@ -13,7 +13,7 @@ $header = <<<'EOF' This file is part of the ua-device-type package. - Copyright (c) 2015-2023, Thomas Mueller + Copyright (c) 2015-2024, Thomas Mueller For the full copyright and license information, please view the LICENSE file that was distributed with this source code. diff --git a/LICENSE.md b/LICENSE.md index d5497b7..4233d45 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ # The MIT License (MIT) -Copyright (c) 2015-2023 Thomas Müller +Copyright (c) 2015-2024 Thomas Müller Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the _Software_), to deal in the Software without restriction, including without limitation the diff --git a/rector.php b/rector.php index 1ea6581..c272f95 100644 --- a/rector.php +++ b/rector.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Bot.php b/src/Bot.php index f56ba19..8c5401b 100644 --- a/src/Bot.php +++ b/src/Bot.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Brailledisplay.php b/src/Brailledisplay.php index ba61cd5..5a18d0c 100644 --- a/src/Brailledisplay.php +++ b/src/Brailledisplay.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Brailletouch.php b/src/Brailletouch.php index 8bb75cc..d729d33 100644 --- a/src/Brailletouch.php +++ b/src/Brailletouch.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Car.php b/src/Car.php index eb7e4cd..e0d740a 100644 --- a/src/Car.php +++ b/src/Car.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/CarEntertainmentSystem.php b/src/CarEntertainmentSystem.php index 99c90ce..ec20a21 100644 --- a/src/CarEntertainmentSystem.php +++ b/src/CarEntertainmentSystem.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Console.php b/src/Console.php index cee6341..96c3edb 100644 --- a/src/Console.php +++ b/src/Console.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Desktop.php b/src/Desktop.php index 3a52ad1..54d7638 100644 --- a/src/Desktop.php +++ b/src/Desktop.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/DeviceType.php b/src/DeviceType.php index 44042bd..c406076 100644 --- a/src/DeviceType.php +++ b/src/DeviceType.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/DigitalCamera.php b/src/DigitalCamera.php index 1880c34..f93043f 100644 --- a/src/DigitalCamera.php +++ b/src/DigitalCamera.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/EbookReader.php b/src/EbookReader.php index 4a945cb..e782f26 100644 --- a/src/EbookReader.php +++ b/src/EbookReader.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/FeaturePhone.php b/src/FeaturePhone.php index e84bebf..f0da001 100644 --- a/src/FeaturePhone.php +++ b/src/FeaturePhone.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/FonePad.php b/src/FonePad.php index ca98ba5..dbefa5e 100644 --- a/src/FonePad.php +++ b/src/FonePad.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/FridgeFreezer.php b/src/FridgeFreezer.php index 3093c1a..417a30a 100644 --- a/src/FridgeFreezer.php +++ b/src/FridgeFreezer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Laptop.php b/src/Laptop.php index 2f6d6f9..0fae854 100644 --- a/src/Laptop.php +++ b/src/Laptop.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/MediaPlayer.php b/src/MediaPlayer.php index 7ea8409..d0366b6 100644 --- a/src/MediaPlayer.php +++ b/src/MediaPlayer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/MobileConsole.php b/src/MobileConsole.php index 6298e6b..7029456 100644 --- a/src/MobileConsole.php +++ b/src/MobileConsole.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/MobileDevice.php b/src/MobileDevice.php index 6b1c690..6ece91a 100644 --- a/src/MobileDevice.php +++ b/src/MobileDevice.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/MobileMediaPlayer.php b/src/MobileMediaPlayer.php index 33c4832..6bd8201 100644 --- a/src/MobileMediaPlayer.php +++ b/src/MobileMediaPlayer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/MobilePhone.php b/src/MobilePhone.php index 3ec2e61..64e5266 100644 --- a/src/MobilePhone.php +++ b/src/MobilePhone.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/NonMobilePhone.php b/src/NonMobilePhone.php index 8b2f3c5..dea656b 100644 --- a/src/NonMobilePhone.php +++ b/src/NonMobilePhone.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/NotFoundException.php b/src/NotFoundException.php index 7d2afea..a3c82d5 100644 --- a/src/NotFoundException.php +++ b/src/NotFoundException.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Phablet.php b/src/Phablet.php index b5ac023..1b6cc61 100644 --- a/src/Phablet.php +++ b/src/Phablet.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Printer.php b/src/Printer.php index 86e04a6..9ab2132 100644 --- a/src/Printer.php +++ b/src/Printer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/SmartDisplay.php b/src/SmartDisplay.php index 43a57c0..70c753f 100644 --- a/src/SmartDisplay.php +++ b/src/SmartDisplay.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Smartphone.php b/src/Smartphone.php index ab57fde..edfa5f4 100644 --- a/src/Smartphone.php +++ b/src/Smartphone.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Speaker.php b/src/Speaker.php index 1dc4193..b285524 100644 --- a/src/Speaker.php +++ b/src/Speaker.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Tablet.php b/src/Tablet.php index fe034cc..ece58c7 100644 --- a/src/Tablet.php +++ b/src/Tablet.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Tv.php b/src/Tv.php index 83a1796..eabce26 100644 --- a/src/Tv.php +++ b/src/Tv.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TvConsole.php b/src/TvConsole.php index a30b373..cd4c822 100644 --- a/src/TvConsole.php +++ b/src/TvConsole.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TvMediaPlayer.php b/src/TvMediaPlayer.php index fd8f205..7c10cf9 100644 --- a/src/TvMediaPlayer.php +++ b/src/TvMediaPlayer.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TvSettopBox.php b/src/TvSettopBox.php index e3a3087..aec9514 100644 --- a/src/TvSettopBox.php +++ b/src/TvSettopBox.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TvStick.php b/src/TvStick.php index 47ceffc..cf7de87 100644 --- a/src/TvStick.php +++ b/src/TvStick.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TypeInterface.php b/src/TypeInterface.php index efefd72..01bccc1 100644 --- a/src/TypeInterface.php +++ b/src/TypeInterface.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TypeLoader.php b/src/TypeLoader.php index dbcec95..afe23bc 100644 --- a/src/TypeLoader.php +++ b/src/TypeLoader.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/TypeLoaderInterface.php b/src/TypeLoaderInterface.php index 9f82b70..92921d9 100644 --- a/src/TypeLoaderInterface.php +++ b/src/TypeLoaderInterface.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Unknown.php b/src/Unknown.php index 18660f4..be852d7 100644 --- a/src/Unknown.php +++ b/src/Unknown.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/VideoPhone.php b/src/VideoPhone.php index 2f7af1a..08b5e79 100644 --- a/src/VideoPhone.php +++ b/src/VideoPhone.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/src/Watch.php b/src/Watch.php index d1f5a27..931b689 100644 --- a/src/Watch.php +++ b/src/Watch.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/tests/FonePadTest.php b/tests/FonePadTest.php index 273129b..49efb46 100644 --- a/tests/FonePadTest.php +++ b/tests/FonePadTest.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. diff --git a/tests/TypeLoaderTest.php b/tests/TypeLoaderTest.php index 356bc1e..2de49ec 100644 --- a/tests/TypeLoaderTest.php +++ b/tests/TypeLoaderTest.php @@ -2,7 +2,7 @@ /** * This file is part of the ua-device-type package. * - * Copyright (c) 2015-2023, Thomas Mueller + * Copyright (c) 2015-2024, Thomas Mueller * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code.