From cb2f0cc7dfac03383898514d8b5526113bd082d3 Mon Sep 17 00:00:00 2001 From: Thorsten Rinne Date: Sun, 21 Apr 2024 14:23:56 +0200 Subject: [PATCH] refactor: migrated admin log page to Twig (#2791) --- composer.json | 1 + composer.lock | 148 +- phpmyfaq/admin/assets/src/api/category.js | 2 +- phpmyfaq/admin/assets/src/api/index.js | 1 + phpmyfaq/admin/assets/src/api/statistics.js | 35 + phpmyfaq/admin/assets/src/index.js | 3 +- .../admin/assets/src/statistics/admin-log.js | 35 + phpmyfaq/admin/assets/src/statistics/index.js | 1 + phpmyfaq/admin/index.php | 3 +- phpmyfaq/admin/stat.adminlog.php | 167 -- phpmyfaq/admin/statistics.admin-log.php | 91 + .../templates/admin/statistics/admin-log.twig | 41 + phpmyfaq/src/admin-routes.php | 27 +- .../src/phpMyFAQ/Administration/AdminLog.php | 9 +- .../Administration/StatisticsController.php | 58 + .../Template/UserNameTwigExtension.php | 44 + pnpm-lock.yaml | 1960 ++++++++++++++++- 17 files changed, 2377 insertions(+), 249 deletions(-) create mode 100644 phpmyfaq/admin/assets/src/api/statistics.js create mode 100644 phpmyfaq/admin/assets/src/statistics/admin-log.js delete mode 100644 phpmyfaq/admin/stat.adminlog.php create mode 100644 phpmyfaq/admin/statistics.admin-log.php create mode 100644 phpmyfaq/assets/templates/admin/statistics/admin-log.twig create mode 100644 phpmyfaq/src/phpMyFAQ/Controller/Administration/StatisticsController.php create mode 100644 phpmyfaq/src/phpMyFAQ/Template/UserNameTwigExtension.php diff --git a/composer.json b/composer.json index 2ce6de22c8..ecccfae78b 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,7 @@ "symfony/mailer": "^7.0", "symfony/routing": "^7.0", "tecnickcom/tcpdf": "~6.0", + "twig/intl-extra": "^3.9", "twig/twig": "^3.6" }, "require-dev": { diff --git a/composer.lock b/composer.lock index ff2f8e2e24..12c940f3d4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c8391fbd12e18fef885e15a1ecae7bab", + "content-hash": "0e0b6c8c1eb2a472f8b4c5536f3d9522", "packages": [ { "name": "bacon/bacon-qr-code", @@ -2847,6 +2847,88 @@ ], "time": "2024-04-03T06:12:25+00:00" }, + { + "name": "symfony/intl", + "version": "v7.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "295995df4acf6790a35b9ce6ec32b313efb11ff8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/295995df4acf6790a35b9ce6ec32b313efb11ff8", + "reference": "295995df4acf6790a35b9ce6ec32b313efb11ff8", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0", + "symfony/finder": "^6.4|^7.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides access to the localization data of the ICU library", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "support": { + "source": "https://github.com/symfony/intl/tree/v7.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T15:02:46+00:00" + }, { "name": "symfony/mailer", "version": "v7.0.6", @@ -3883,6 +3965,70 @@ ], "time": "2024-03-21T09:36:59+00:00" }, + { + "name": "twig/intl-extra", + "version": "v3.9.2", + "source": { + "type": "git", + "url": "https://github.com/twigphp/intl-extra.git", + "reference": "39865e5d13165016a8e7ab8cc648ad2f7aa4b639" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/39865e5d13165016a8e7ab8cc648ad2f7aa4b639", + "reference": "39865e5d13165016a8e7ab8cc648ad2f7aa4b639", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/intl": "^5.4|^6.4|^7.0", + "twig/twig": "^3.9" + }, + "require-dev": { + "symfony/phpunit-bridge": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Twig\\Extra\\Intl\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + } + ], + "description": "A Twig extension for Intl", + "homepage": "https://twig.symfony.com", + "keywords": [ + "intl", + "twig" + ], + "support": { + "source": "https://github.com/twigphp/intl-extra/tree/v3.9.2" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2024-04-17T12:41:53+00:00" + }, { "name": "twig/twig", "version": "v3.9.3", diff --git a/phpmyfaq/admin/assets/src/api/category.js b/phpmyfaq/admin/assets/src/api/category.js index aba015d517..81d97ed8fb 100644 --- a/phpmyfaq/admin/assets/src/api/category.js +++ b/phpmyfaq/admin/assets/src/api/category.js @@ -7,7 +7,7 @@ * * @package phpMyFAQ * @author Thorsten Rinne - * @copyright 2023 phpMyFAQ Team + * @copyright 2023-2024 phpMyFAQ Team * @license http://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 * @link https://www.phpmyfaq.de * @since 2023-12-28 diff --git a/phpmyfaq/admin/assets/src/api/index.js b/phpmyfaq/admin/assets/src/api/index.js index adbf61b94e..b15fd4e8c9 100644 --- a/phpmyfaq/admin/assets/src/api/index.js +++ b/phpmyfaq/admin/assets/src/api/index.js @@ -2,5 +2,6 @@ export * from './category'; export * from './faqs'; export * from './glossary'; export * from './group'; +export * from './statistics'; export * from './tags'; export * from './user'; diff --git a/phpmyfaq/admin/assets/src/api/statistics.js b/phpmyfaq/admin/assets/src/api/statistics.js new file mode 100644 index 0000000000..2a6463a6fc --- /dev/null +++ b/phpmyfaq/admin/assets/src/api/statistics.js @@ -0,0 +1,35 @@ +/** + * Fetch data for statistics management + * + * This Source Code Form is subject to the terms of the Mozilla Public License, + * v. 2.0. If a copy of the MPL was not distributed with this file, You can + * obtain one at https://mozilla.org/MPL/2.0/. + * + * @package phpMyFAQ + * @author Thorsten Rinne + * @copyright 2024 phpMyFAQ Team + * @license http://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 + * @link https://www.phpmyfaq.de + * @since 2024-04-21 + */ + +export const deleteAdminLog = async (csrfToken) => { + try { + const response = await fetch(`./api/statistics/admin-log`, { + method: 'DELETE', + cache: 'no-cache', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + csrfToken: csrfToken, + }), + redirect: 'follow', + referrerPolicy: 'no-referrer', + }); + + return await response.json(); + } catch (error) { + console.error(error); + } +}; diff --git a/phpmyfaq/admin/assets/src/index.js b/phpmyfaq/admin/assets/src/index.js index 72072e66a2..7eb86eee18 100644 --- a/phpmyfaq/admin/assets/src/index.js +++ b/phpmyfaq/admin/assets/src/index.js @@ -14,7 +14,7 @@ */ import { getLatestVersion, renderVisitorCharts, renderTopTenCharts } from './dashboard'; -import { handleSessions, handleStatistics } from './statistics'; +import { handleDeleteAdminLog, handleSessions, handleStatistics } from './statistics'; import { handleConfiguration, handleInstances, @@ -106,6 +106,7 @@ document.addEventListener('DOMContentLoaded', async () => { handleStickyFaqs(); // Statistics + handleDeleteAdminLog(); handleStatistics(); // Configuration -> FAQ configuration diff --git a/phpmyfaq/admin/assets/src/statistics/admin-log.js b/phpmyfaq/admin/assets/src/statistics/admin-log.js new file mode 100644 index 0000000000..dac1b772ec --- /dev/null +++ b/phpmyfaq/admin/assets/src/statistics/admin-log.js @@ -0,0 +1,35 @@ +/** + * Handle admin log management + * + * This Source Code Form is subject to the terms of the Mozilla Public License, + * v. 2.0. If a copy of the MPL was not distributed with this file, You can + * obtain one at https://mozilla.org/MPL/2.0/. + * + * @package phpMyFAQ + * @author Thorsten Rinne + * @copyright 2024 phpMyFAQ Team + * @license http://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 + * @link https://www.phpmyfaq.de + * @since 2024-04-21 + */ + +import { deleteAdminLog } from '../api'; +import { pushErrorNotification, pushNotification } from '../utils'; + +export const handleDeleteAdminLog = () => { + const buttonDeleteAdminLog = document.getElementById('pmf-delete-admin-log'); + + if (buttonDeleteAdminLog) { + buttonDeleteAdminLog.addEventListener('click', async (event) => { + event.preventDefault(); + const csrf = event.target.getAttribute('data-pmf-csrf'); + const response = await deleteAdminLog(csrf); + + if (response.success) { + pushNotification(response.success); + } else { + pushErrorNotification(response.error); + } + }); + } +}; diff --git a/phpmyfaq/admin/assets/src/statistics/index.js b/phpmyfaq/admin/assets/src/statistics/index.js index 2ed924c17f..376e1cfd2e 100644 --- a/phpmyfaq/admin/assets/src/statistics/index.js +++ b/phpmyfaq/admin/assets/src/statistics/index.js @@ -1,2 +1,3 @@ +export * from './admin-log'; export * from './sessions'; export * from './statistics'; diff --git a/phpmyfaq/admin/index.php b/phpmyfaq/admin/index.php index 0527b4cb3b..8616192253 100755 --- a/phpmyfaq/admin/index.php +++ b/phpmyfaq/admin/index.php @@ -327,8 +327,7 @@ break; // functions for session administration case 'adminlog': - case 'deleteadminlog': - require 'stat.adminlog.php'; + require 'statistics.admin-log.php'; break; case 'viewsessions': case 'clear-visits': diff --git a/phpmyfaq/admin/stat.adminlog.php b/phpmyfaq/admin/stat.adminlog.php deleted file mode 100644 index ea80adc582..0000000000 --- a/phpmyfaq/admin/stat.adminlog.php +++ /dev/null @@ -1,167 +0,0 @@ - - * @copyright 2003-2024 phpMyFAQ Team - * @license https://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 - * @link https://www.phpmyfaq.de - * @since 2003-02-23 - */ - -use phpMyFAQ\Administration\AdminLog; -use phpMyFAQ\Component\Alert; -use phpMyFAQ\Configuration; -use phpMyFAQ\Date; -use phpMyFAQ\Enums\PermissionType; -use phpMyFAQ\Filter; -use phpMyFAQ\Pagination; -use phpMyFAQ\Session\Token; -use phpMyFAQ\Strings; -use phpMyFAQ\Translation; -use phpMyFAQ\User\CurrentUser; - -if (!defined('IS_VALID_PHPMYFAQ')) { - http_response_code(400); - exit(); -} - -$faqConfig = Configuration::getConfigurationInstance(); -$user = CurrentUser::getCurrentUser($faqConfig); - -$logging = new AdminLog($faqConfig); -$csrfToken = Filter::filterInput(INPUT_GET, 'csrf', FILTER_SANITIZE_SPECIAL_CHARS); - -if ($csrfToken && !Token::getInstance()->verifyToken('delete-adminlog', $csrfToken)) { - $deleteLog = false; -} else { - $deleteLog = true; -} - -if ( - $user->perm->hasPermission($user->getUserId(), PermissionType::STATISTICS_ADMINLOG->value) && - 'adminlog' === $action -) { - $date = new Date($faqConfig); - $perPage = 15; - $pages = Filter::filterInput(INPUT_GET, 'pages', FILTER_VALIDATE_INT); - $page = Filter::filterInput(INPUT_GET, 'page', FILTER_VALIDATE_INT, 1); - - if (is_null($pages)) { - $pages = round(($logging->getNumberOfEntries() + ($perPage / 3)) / $perPage, 0); - } - - $start = ($page - 1) * $perPage; - $lastPage = $start + $perPage; - - $baseUrl = sprintf( - '%sadmin/?action=adminlog&page=%d', - $faqConfig->getDefaultUrl(), - $page - ); - - // Pagination options - $options = [ - 'baseUrl' => $baseUrl, - 'total' => $logging->getNumberOfEntries(), - 'perPage' => $perPage, - 'pageParamName' => 'page', - ]; - $pagination = new Pagination($options); - - $loggingData = $logging->getAll(); - ?> - -
-

- -

-
-
- - - -
-
-
- - - - - - - - - - - - - - - - - = $perPage) { - ++$displayedCounter; - continue; - } - - ++$counter; - if ($counter <= $start) { - continue; - } - ++$displayedCounter; - - $user->getUserById($value->getUserId(), true); - ?> - - - - - - - - - -
render() ?>
getId() ?>format(date('Y-m-d H:i', $value->getTime())) ?>getLogin()) ?>getIp() ?>getText()); - $text = str_replace('Loginerror', Translation::get('ad_log_lger'), $text); - $text = str_replace('Session expired', Translation::get('ad_log_sess'), $text); - $text = str_replace('Useredit', Translation::get('ad_log_edit'), $text); - $text = str_replace('admin-save-new-faq', Translation::get('ad_log_crsa'), $text); - $text = str_replace('admin-add-faq', Translation::get('ad_log_crea'), $text); - $text = str_replace('Usersave', Translation::get('ad_log_ussa'), $text); - $text = str_replace('Userdel', Translation::get('ad_log_usde'), $text); - $text = str_replace('admin-edit-faq', Translation::get('ad_log_beed'), $text); - $text = str_replace('Beitragdel', Translation::get('ad_log_bede'), $text); - echo $text; - ?> -
- - perm->hasPermission($user->getUserId(), PermissionType::STATISTICS_ADMINLOG->value) && - 'deleteadminlog' === $action && - $deleteLog -) { - if ($logging->delete()) { - echo Alert::success('ad_adminlog_delete_success'); - } else { - echo Alert::danger('ad_adminlog_delete_failure'); - } -} else { - require __DIR__ . '/no-permission.php'; -} diff --git a/phpmyfaq/admin/statistics.admin-log.php b/phpmyfaq/admin/statistics.admin-log.php new file mode 100644 index 0000000000..31fa73535d --- /dev/null +++ b/phpmyfaq/admin/statistics.admin-log.php @@ -0,0 +1,91 @@ + + * @copyright 2003-2024 phpMyFAQ Team + * @license https://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 + * @link https://www.phpmyfaq.de + * @since 2003-02-23 + */ + +use phpMyFAQ\Administration\AdminLog; +use phpMyFAQ\Configuration; +use phpMyFAQ\Date; +use phpMyFAQ\Enums\PermissionType; +use phpMyFAQ\Filter; +use phpMyFAQ\Pagination; +use phpMyFAQ\Session\Token; +use phpMyFAQ\Strings; +use phpMyFAQ\Template\TwigWrapper; +use phpMyFAQ\Template\UserNameTwigExtension; +use phpMyFAQ\Translation; +use phpMyFAQ\User\CurrentUser; +use Twig\Extension\DebugExtension; +use Twig\Extra\Intl\IntlExtension; + +if (!defined('IS_VALID_PHPMYFAQ')) { + http_response_code(400); + exit(); +} + +$faqConfig = Configuration::getConfigurationInstance(); +$user = CurrentUser::getCurrentUser($faqConfig); + +if ($user->perm->hasPermission($user->getUserId(), PermissionType::STATISTICS_ADMINLOG->value)) { + $logging = new AdminLog($faqConfig); + + $twig = new TwigWrapper(PMF_ROOT_DIR . '/assets/templates'); + $twig->addExtension(new IntlExtension()); + $twig->addExtension(new UserNameTwigExtension()); + $twig->addExtension(new DebugExtension()); + $template = $twig->loadTemplate('./admin/statistics/admin-log.twig'); + + $date = new Date($faqConfig); + $perPage = 15; + $pages = Filter::filterInput(INPUT_GET, 'pages', FILTER_VALIDATE_INT); + $page = Filter::filterInput(INPUT_GET, 'page', FILTER_VALIDATE_INT, 1); + + if (is_null($pages)) { + $pages = round(($logging->getNumberOfEntries() + ($perPage / 3)) / $perPage, 0); + } + + $start = ($page - 1) * $perPage; + $lastPage = $start + $perPage; + + $baseUrl = sprintf('%sadmin/?action=adminlog&page=%d', $faqConfig->getDefaultUrl(), $page); + + // Pagination options + $options = [ + 'baseUrl' => $baseUrl, + 'total' => $logging->getNumberOfEntries(), + 'perPage' => $perPage, + 'pageParamName' => 'page', + ]; + $pagination = new Pagination($options); + + $loggingData = $logging->getAll(); + + $templateVars = [ + 'headerAdminLog' => Translation::get('ad_menu_adminlog'), + 'buttonDeleteAdminLog' => Translation::get('ad_adminlog_del_older_30d'), + 'csrfDeleteAdminLogToken' => Token::getInstance()->getTokenString('delete-adminlog'), + 'currentLocale' => $faqConfig->getLanguage()->getLanguage(), + 'pagination' => $pagination->render(), + 'msgId' => Translation::get('ad_categ_id'), + 'msgDate' => Translation::get('ad_adminlog_date'), + 'msgUser' => Translation::get('ad_adminlog_user'), + 'msgIp' => Translation::get('ad_adminlog_ip'), + 'loggingData' => $loggingData, + ]; + + echo $template->render($templateVars); +} else { + require __DIR__ . '/no-permission.php'; +} diff --git a/phpmyfaq/assets/templates/admin/statistics/admin-log.twig b/phpmyfaq/assets/templates/admin/statistics/admin-log.twig new file mode 100644 index 0000000000..57395fccc0 --- /dev/null +++ b/phpmyfaq/assets/templates/admin/statistics/admin-log.twig @@ -0,0 +1,41 @@ +
+

+ {{ headerAdminLog }} +

+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + {% for data in loggingData %} + + + + + + + + {% endfor %} + +
{{ msgId }}{{ msgDate }}{{ msgUser }}{{ msgIp }}
{{ pagination | raw }}
{{ data.id }}{{ data.time | format_datetime(locale=currentLocale) }}{{ data.userId | userName }}{{ data.ip }}{{ data.text }} +
diff --git a/phpmyfaq/src/admin-routes.php b/phpmyfaq/src/admin-routes.php index 6df5580b6b..3d3c8ebf61 100644 --- a/phpmyfaq/src/admin-routes.php +++ b/phpmyfaq/src/admin-routes.php @@ -33,6 +33,7 @@ use phpMyFAQ\Controller\Administration\QuestionController; use phpMyFAQ\Controller\Administration\SearchController; use phpMyFAQ\Controller\Administration\SessionController; +use phpMyFAQ\Controller\Administration\StatisticsController; use phpMyFAQ\Controller\Administration\StopWordController; use phpMyFAQ\Controller\Administration\TagController; use phpMyFAQ\Controller\Administration\UpdateController; @@ -569,6 +570,17 @@ new Route('/session/export', ['_controller' => [SessionController::class, 'export'], '_methods' => 'POST']) ); +// +// Statistics API +// +$routes->add( + 'admin.api.statistics.adminlog.delete', + new Route( + '/statistics/admin-log', + ['_controller' => [StatisticsController::class, 'deleteAdminLog'], '_methods' => 'DELETE'] + ) +); + // // Forms API // @@ -582,15 +594,24 @@ ); $routes->add( 'admin.api.forms.translation-edit', - new Route('/forms/translation-edit', ['_controller' => [FormController::class, 'editTranslation'], '_methods' => 'POST']) + new Route( + '/forms/translation-edit', + ['_controller' => [FormController::class, 'editTranslation'], '_methods' => 'POST'] + ) ); $routes->add( 'admin.api.forms.translation-delete', - new Route('/forms/translation-delete', ['_controller' => [FormController::class, 'deleteTranslation'], '_methods' => 'POST']) + new Route( + '/forms/translation-delete', + ['_controller' => [FormController::class, 'deleteTranslation'], '_methods' => 'POST'] + ) ); $routes->add( 'admin.api.forms.translation-add', - new Route('/forms/translation-add', ['_controller' => [FormController::class, 'addTranslation'], '_methods' => 'POST']) + new Route( + '/forms/translation-add', + ['_controller' => [FormController::class, 'addTranslation'], '_methods' => 'POST'] + ) ); return $routes; diff --git a/phpmyfaq/src/phpMyFAQ/Administration/AdminLog.php b/phpmyfaq/src/phpMyFAQ/Administration/AdminLog.php index 186319163c..67b566138e 100644 --- a/phpmyfaq/src/phpMyFAQ/Administration/AdminLog.php +++ b/phpmyfaq/src/phpMyFAQ/Administration/AdminLog.php @@ -58,12 +58,7 @@ public function getAll(): array $data = []; $query = sprintf( - ' - SELECT - id, time, usr, text, ip - FROM - %sfaqadminlog - ORDER BY id DESC', + 'SELECT id, time, usr AS user, text, ip FROM %sfaqadminlog ORDER BY id DESC', Database::getTablePrefix() ); @@ -74,7 +69,7 @@ public function getAll(): array $adminLog ->setId($row->id) ->setTime($row->time) - ->setUserId($row->usr) + ->setUserId($row->user) ->setText($row->text) ->setIp($row->ip); $data[$row->id] = $adminLog; diff --git a/phpmyfaq/src/phpMyFAQ/Controller/Administration/StatisticsController.php b/phpmyfaq/src/phpMyFAQ/Controller/Administration/StatisticsController.php new file mode 100644 index 0000000000..1243595dfe --- /dev/null +++ b/phpmyfaq/src/phpMyFAQ/Controller/Administration/StatisticsController.php @@ -0,0 +1,58 @@ + + * @copyright 2024 phpMyFAQ Team + * @license https://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 + * @link https://www.phpmyfaq.de + * @since 2024-04-21 + */ + +namespace phpMyFAQ\Controller\Administration; + +use JsonException; +use phpMyFAQ\Administration\AdminLog; +use phpMyFAQ\Controller\AbstractController; +use phpMyFAQ\Core\Exception; +use phpMyFAQ\Session\Token; +use phpMyFAQ\Translation; +use Symfony\Component\HttpFoundation\JsonResponse; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Routing\Annotation\Route; + +class StatisticsController extends AbstractController +{ + /** + * @throws Exception|JsonException + */ + #[Route('./admin/api/statistics/admin-log')] + public function deleteAdminLog(Request $request): JsonResponse + { + $this->userIsAuthenticated(); + + $logging = new AdminLog($this->configuration); + + $data = json_decode($request->getContent(), false, 512, JSON_THROW_ON_ERROR); + + if (!Token::getInstance()->verifyToken('delete-adminlog', $data->csrfToken)) { + return $this->json(['error' => Translation::get('err_NotAuth')], Response::HTTP_UNAUTHORIZED); + } + + if ($logging->delete()) { + return $this->json( + ['success' => Translation::get('ad_adminlog_delete_success')], + Response::HTTP_OK + ); + } + + return $this->json(['error' => Translation::get('ad_adminlog_delete_failure')], Response::HTTP_BAD_REQUEST); + } +} diff --git a/phpmyfaq/src/phpMyFAQ/Template/UserNameTwigExtension.php b/phpmyfaq/src/phpMyFAQ/Template/UserNameTwigExtension.php new file mode 100644 index 0000000000..70c33e6bf4 --- /dev/null +++ b/phpmyfaq/src/phpMyFAQ/Template/UserNameTwigExtension.php @@ -0,0 +1,44 @@ + + * @copyright 2024 phpMyFAQ Team + * @license https://www.mozilla.org/MPL/2.0/ Mozilla Public License Version 2.0 + * @link https://www.phpmyfaq.de + * @since 2024-04-21 + */ + +namespace phpMyFAQ\Template; + +use phpMyFAQ\Configuration; +use phpMyFAQ\Core\Exception; +use phpMyFAQ\User; +use Twig\Extension\AbstractExtension; +use Twig\TwigFilter; + +class UserNameTwigExtension extends AbstractExtension +{ + public function getFilters(): array + { + return [ + new TwigFilter('userName', $this->getUserName(...)), + ]; + } + + /** + * @throws Exception + */ + private function getUserName(int $userId): string + { + $user = new User(Configuration::getConfigurationInstance()); + $user->getUserById($userId); + return $user->getLogin(); + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fea5fa478e..e7b9978310 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,6 +6,7 @@ settings: importers: +<<<<<<< Updated upstream .: dependencies: '@popperjs/core': @@ -141,12 +142,150 @@ importers: webpack-sources: specifier: ^3.2.3 version: 3.2.3 +======= +dependencies: + '@popperjs/core': + specifier: ^2.11.8 + version: 2.11.8 + autocompleter: + specifier: ^8.0.4 + version: 8.0.4 + bootstrap: + specifier: ^5.3.3 + version: 5.3.3(@popperjs/core@2.11.8) + bootstrap-datepicker: + specifier: ^1.10.0 + version: 1.10.0 + bootstrap-icons: + specifier: ^1.11.3 + version: 1.11.3 + chart.js: + specifier: ^4.4.2 + version: 4.4.2 + handlebars: + specifier: 4.7.8 + version: 4.7.8 + highlight.js: + specifier: ^11.9.0 + version: 11.9.0 + masonry-layout: + specifier: ^4.2.2 + version: 4.2.2 + sortablejs: + specifier: ^1.15.2 + version: 1.15.2 + tinymce: + specifier: ^6.8.3 + version: 6.8.3 + vanilla-cookieconsent: + specifier: ^3.0.1 + version: 3.0.1 + +devDependencies: + '@babel/core': + specifier: ^7.24.4 + version: 7.24.4 + '@babel/preset-env': + specifier: ^7.24.4 + version: 7.24.4(@babel/core@7.24.4) + '@commitlint/cli': + specifier: ^17.8.1 + version: 17.8.1 + '@commitlint/config-conventional': + specifier: ^17.8.1 + version: 17.8.1 + '@mcler/webpack-concat-plugin': + specifier: ^4.1.5 + version: 4.1.5(html-webpack-plugin@5.6.0)(webpack-sources@3.2.3)(webpack@5.91.0) + '@playwright/test': + specifier: ^1.43.1 + version: 1.43.1 + '@testing-library/jest-dom': + specifier: ^5.17.0 + version: 5.17.0 + '@types/node': + specifier: ^20.12.7 + version: 20.12.7 + autoprefixer: + specifier: ^10.4.19 + version: 10.4.19(postcss@8.4.38) + babel-jest: + specifier: ^29.7.0 + version: 29.7.0(@babel/core@7.24.4) + babel-loader: + specifier: ^9.1.3 + version: 9.1.3(@babel/core@7.24.4)(webpack@5.91.0) + babel-preset-env: + specifier: ^1.7.0 + version: 1.7.0 + clean-webpack-plugin: + specifier: ^4.0.0 + version: 4.0.0(webpack@5.91.0) + css-loader: + specifier: ^6.11.0 + version: 6.11.0(webpack@5.91.0) + file-loader: + specifier: ^6.2.0 + version: 6.2.0(webpack@5.91.0) + html-webpack-plugin: + specifier: ^5.6.0 + version: 5.6.0(webpack@5.91.0) + husky: + specifier: ^8.0.3 + version: 8.0.3 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + jest-environment-jsdom: + specifier: ^29.7.0 + version: 29.7.0 + mini-css-extract-plugin: + specifier: ^2.9.0 + version: 2.9.0(webpack@5.91.0) + node-sass: + specifier: ^8.0.0 + version: 8.0.0 + postcss: + specifier: ^8.4.38 + version: 8.4.38 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + pretty-quick: + specifier: ^3.3.1 + version: 3.3.1(prettier@2.8.8) + raw-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.91.0) + sass-loader: + specifier: ^13.3.3 + version: 13.3.3(node-sass@8.0.0)(webpack@5.91.0) + sigmund: + specifier: ^1.0.1 + version: 1.0.1 + style-loader: + specifier: ^3.3.4 + version: 3.3.4(webpack@5.91.0) + webpack: + specifier: ^5.91.0 + version: 5.91.0(webpack-cli@5.1.4) + webpack-cli: + specifier: ^5.1.4 + version: 5.1.4(webpack@5.91.0) + webpack-merge: + specifier: ^5.10.0 + version: 5.10.0 + webpack-sources: + specifier: ^3.2.3 + version: 3.2.3 +>>>>>>> Stashed changes packages: '@adobe/css-tools@4.3.3': resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} +<<<<<<< Updated upstream '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -156,10 +295,33 @@ packages: engines: {node: '>=6.9.0'} '@babel/compat-data@7.24.4': +======= + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: true + + /@babel/compat-data@7.24.4: +>>>>>>> Stashed changes resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} +<<<<<<< Updated upstream '@babel/core@7.24.4': +======= + /@babel/core@7.24.4: +>>>>>>> Stashed changes resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} @@ -4194,6 +4356,7 @@ snapshots: '@ampproject/remapping@2.3.0': dependencies: +<<<<<<< Updated upstream '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 @@ -4206,6 +4369,8 @@ snapshots: '@babel/core@7.24.4': dependencies: +======= +>>>>>>> Stashed changes '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -4224,7 +4389,13 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@babel/generator@7.24.4': +======= + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -4234,10 +4405,18 @@ snapshots: '@babel/helper-annotate-as-pure@7.22.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-compilation-targets@7.23.6': dependencies: @@ -4247,7 +4426,15 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 +<<<<<<< Updated upstream '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': +======= + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -4260,14 +4447,29 @@ snapshots: '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 +<<<<<<< Updated upstream '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)': +======= + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 +<<<<<<< Updated upstream '@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4)': +======= + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 @@ -4284,20 +4486,45 @@ snapshots: dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-hoist-variables@7.22.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-member-expression-to-functions@7.23.0': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream '@babel/helper-module-imports@7.24.3': dependencies: '@babel/types': 7.24.0 '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': +======= + dev: true + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 @@ -4309,17 +4536,40 @@ snapshots: '@babel/helper-optimise-call-expression@7.22.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream '@babel/helper-plugin-utils@7.24.0': {} '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4)': +======= + dev: true + + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 +<<<<<<< Updated upstream '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': +======= + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 @@ -4329,16 +4579,33 @@ snapshots: '@babel/helper-simple-access@7.22.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@babel/helper-split-export-declaration@7.22.6': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream '@babel/helper-string-parser@7.24.1': {} +======= + dev: true + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true +>>>>>>> Stashed changes '@babel/helper-validator-identifier@7.22.20': {} @@ -4349,8 +4616,16 @@ snapshots: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.24.0 '@babel/types': 7.24.0 +<<<<<<< Updated upstream '@babel/helpers@7.24.4': +======= + dev: true + + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -4358,22 +4633,47 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@babel/highlight@7.24.2': +======= + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 +<<<<<<< Updated upstream '@babel/parser@7.24.4': dependencies: '@babel/types': 7.24.0 '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4)': +======= + dev: true + + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4)': dependencies: @@ -4388,10 +4688,42 @@ snapshots: '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)': dependencies: @@ -4498,217 +4830,745 @@ snapshots: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 +======= + dev: true - '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)': + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)': + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 + dev: true - '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.24.0 + dev: true - '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true - '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + dev: true - '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 + dev: true - '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream - '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.4 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-validator-identifier': 7.22.20 + dev: true - '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)': + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) +<<<<<<< Updated upstream - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)': + '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) +<<<<<<< Updated upstream - '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)': + '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) +<<<<<<< Updated upstream + + '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + +<<<<<<< Updated upstream + '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/template': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream + + '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream + + '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + +<<<<<<< Updated upstream + '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream + + '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) +<<<<<<< Updated upstream + + '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 + +<<<<<<< Updated upstream + '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-validator-identifier': 7.22.20 + +<<<<<<< Updated upstream + '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream + + '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': dependencies: @@ -4716,18 +5576,48 @@ snapshots: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) +<<<<<<< Updated upstream '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': dependencies: @@ -4735,11 +5625,31 @@ snapshots: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 +<<<<<<< Updated upstream '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -4751,11 +5661,39 @@ snapshots: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 +<<<<<<< Updated upstream '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -4777,24 +5715,101 @@ snapshots: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4)': +======= + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4)': +======= + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 +<<<<<<< Updated upstream '@babel/preset-env@7.24.4(@babel/core@7.24.4)': +======= + dev: true + + /@babel/preset-env@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 +>>>>>>> Stashed changes dependencies: '@babel/compat-data': 7.24.4 '@babel/core': 7.24.4 @@ -4881,7 +5896,14 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4)': +======= + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 @@ -4890,17 +5912,37 @@ snapshots: '@babel/regjsgen@0.8.0': {} +<<<<<<< Updated upstream '@babel/runtime@7.24.4': +======= + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: regenerator-runtime: 0.14.1 +<<<<<<< Updated upstream '@babel/template@7.24.0': +======= + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 +<<<<<<< Updated upstream '@babel/traverse@7.24.1': +======= + dev: true + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -4915,7 +5957,13 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream '@babel/types@7.24.0': +======= + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} +>>>>>>> Stashed changes dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 @@ -4985,7 +6033,11 @@ snapshots: '@types/node': 20.5.1 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.4.5) +<<<<<<< Updated upstream cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.5) +======= + cosmiconfig-typescript-loader: 4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5) +>>>>>>> Stashed changes lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -5080,7 +6132,11 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 +<<<<<<< Updated upstream jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) +======= + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) +>>>>>>> Stashed changes jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -5219,24 +6275,53 @@ snapshots: '@types/yargs': 17.0.32 chalk: 4.1.2 +<<<<<<< Updated upstream '@jridgewell/gen-mapping@0.3.5': +======= + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} +>>>>>>> Stashed changes dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@jridgewell/resolve-uri@3.1.2': {} +<<<<<<< Updated upstream '@jridgewell/set-array@1.2.1': {} '@jridgewell/source-map@0.3.6': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 +======= + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.6: + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true +>>>>>>> Stashed changes '@jridgewell/sourcemap-codec@1.4.15': {} +<<<<<<< Updated upstream '@jridgewell/trace-mapping@0.3.25': +======= + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} +>>>>>>> Stashed changes dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 @@ -5248,10 +6333,23 @@ snapshots: '@kurkle/color@0.3.2': {} +<<<<<<< Updated upstream '@mcler/webpack-concat-plugin@4.1.5(html-webpack-plugin@5.6.0(webpack@5.91.0(webpack-cli@5.1.4)))(webpack-sources@3.2.3)(webpack@5.91.0(webpack-cli@5.1.4))': dependencies: globby: 8.0.2 html-webpack-plugin: 5.6.0(webpack@5.91.0(webpack-cli@5.1.4)) +======= + /@mcler/webpack-concat-plugin@4.1.5(html-webpack-plugin@5.6.0)(webpack-sources@3.2.3)(webpack@5.91.0): + resolution: {integrity: sha512-DU2pbr8zQD63G6vnt9Ya1DTNDmYRbxLbrHqwlODUi9E/pExzqUE98xqCVkyQDl89om6UC9Q5lV5ApiD6lKW5Wg==} + engines: {node: '>= 14'} + peerDependencies: + html-webpack-plugin: ^5.0.0 + webpack: ^5.0.0 + webpack-sources: ^3.2.1 + dependencies: + globby: 8.0.2 + html-webpack-plugin: 5.6.0(webpack@5.91.0) +>>>>>>> Stashed changes schema-utils: 4.2.0 upath: 2.0.1 webpack: 5.91.0(webpack-cli@5.1.4) @@ -5286,9 +6384,19 @@ snapshots: mkdirp: 1.0.4 rimraf: 3.0.2 +<<<<<<< Updated upstream '@playwright/test@1.43.1': dependencies: playwright: 1.43.1 +======= + /@playwright/test@1.43.1: + resolution: {integrity: sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + playwright: 1.43.1 + dev: true +>>>>>>> Stashed changes '@popperjs/core@2.11.8': {} @@ -5318,7 +6426,13 @@ snapshots: '@tootallnate/once@2.0.0': {} +<<<<<<< Updated upstream '@tsconfig/node10@1.0.11': {} +======= + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: true +>>>>>>> Stashed changes '@tsconfig/node12@1.0.11': {} @@ -5337,22 +6451,43 @@ snapshots: '@types/babel__generator@7.6.8': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@types/babel__traverse@7.20.5': dependencies: '@babel/types': 7.24.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@types/eslint-scope@3.7.7': dependencies: +<<<<<<< Updated upstream '@types/eslint': 8.56.10 +======= + '@types/eslint': 8.56.9 +>>>>>>> Stashed changes '@types/estree': 1.0.5 +<<<<<<< Updated upstream '@types/eslint@8.56.10': +======= + /@types/eslint@8.56.9: + resolution: {integrity: sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==} +>>>>>>> Stashed changes dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -5363,10 +6498,18 @@ snapshots: dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.12.7 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@types/graceful-fs@4.1.9': dependencies: '@types/node': 20.12.7 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@types/html-minifier-terser@6.1.0': {} @@ -5397,7 +6540,12 @@ snapshots: '@types/minimist@1.2.5': {} +<<<<<<< Updated upstream '@types/node@20.12.7': +======= + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} +>>>>>>> Stashed changes dependencies: undici-types: 5.26.5 @@ -5419,7 +6567,12 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 +<<<<<<< Updated upstream '@webassemblyjs/ast@1.12.1': +======= + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -5428,7 +6581,13 @@ snapshots: '@webassemblyjs/helper-api-error@1.11.6': {} +<<<<<<< Updated upstream '@webassemblyjs/helper-buffer@1.12.1': {} +======= + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + dev: true +>>>>>>> Stashed changes '@webassemblyjs/helper-numbers@1.11.6': dependencies: @@ -5438,12 +6597,21 @@ snapshots: '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} +<<<<<<< Updated upstream '@webassemblyjs/helper-wasm-section@1.12.1': +======= + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes '@webassemblyjs/ieee754@1.11.6': dependencies: @@ -5455,7 +6623,12 @@ snapshots: '@webassemblyjs/utf8@1.11.6': {} +<<<<<<< Updated upstream '@webassemblyjs/wasm-edit@1.12.1': +======= + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 @@ -5465,8 +6638,15 @@ snapshots: '@webassemblyjs/wasm-opt': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 +<<<<<<< Updated upstream '@webassemblyjs/wasm-gen@1.12.1': +======= + dev: true + + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -5474,14 +6654,26 @@ snapshots: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 +<<<<<<< Updated upstream '@webassemblyjs/wasm-opt@1.12.1': +======= + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 +<<<<<<< Updated upstream '@webassemblyjs/wasm-parser@1.12.1': +======= + dev: true + + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/helper-api-error': 1.11.6 @@ -5490,11 +6682,17 @@ snapshots: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 +<<<<<<< Updated upstream '@webassemblyjs/wast-printer@1.12.1': +======= + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} +>>>>>>> Stashed changes dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 +<<<<<<< Updated upstream '@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(webpack-cli@5.1.4))': dependencies: webpack: 5.91.0(webpack-cli@5.1.4) @@ -5509,6 +6707,44 @@ snapshots: dependencies: webpack: 5.91.0(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack@5.91.0) +======= + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.91.0): + resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.91.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.91.0) + dev: true + + /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.91.0): + resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + dependencies: + webpack: 5.91.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.91.0) + dev: true + + /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack@5.91.0): + resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==} + engines: {node: '>=14.15.0'} + peerDependencies: + webpack: 5.x.x + webpack-cli: 5.x.x + webpack-dev-server: '*' + peerDependenciesMeta: + webpack-dev-server: + optional: true + dependencies: + webpack: 5.91.0(webpack-cli@5.1.4) + webpack-cli: 5.1.4(webpack@5.91.0) + dev: true +>>>>>>> Stashed changes '@xtuc/ieee754@1.2.0': {} @@ -5650,10 +6886,22 @@ snapshots: autocompleter@8.0.4: {} +<<<<<<< Updated upstream autoprefixer@10.4.19(postcss@8.4.38): dependencies: browserslist: 4.23.0 caniuse-lite: 1.0.30001611 +======= + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001610 +>>>>>>> Stashed changes fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -5752,7 +7000,15 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream babel-jest@29.7.0(@babel/core@7.24.4): +======= + /babel-jest@29.7.0(@babel/core@7.24.4): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@jest/transform': 29.7.0 @@ -5765,12 +7021,25 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.91.0): + resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 find-cache-dir: 4.0.0 schema-utils: 4.2.0 webpack: 5.91.0(webpack-cli@5.1.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes babel-messages@6.23.0: dependencies: @@ -5797,7 +7066,14 @@ snapshots: '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 +<<<<<<< Updated upstream babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): +======= + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 +>>>>>>> Stashed changes dependencies: '@babel/compat-data': 7.24.4 '@babel/core': 7.24.4 @@ -5806,7 +7082,14 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): +======= + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) @@ -5814,7 +7097,14 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): +======= + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) @@ -5996,7 +7286,14 @@ snapshots: babel-runtime: 6.26.0 babel-types: 6.26.0 +<<<<<<< Updated upstream babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): +======= + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) @@ -6011,6 +7308,10 @@ snapshots: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes babel-preset-env@1.7.0: dependencies: @@ -6047,11 +7348,23 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream babel-preset-jest@29.6.3(@babel/core@7.24.4): +======= + /babel-preset-jest@29.6.3(@babel/core@7.24.4): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes babel-runtime@6.26.0: dependencies: @@ -6147,13 +7460,24 @@ snapshots: browserslist@3.2.8: dependencies: +<<<<<<< Updated upstream caniuse-lite: 1.0.30001611 electron-to-chromium: 1.4.745 +======= + caniuse-lite: 1.0.30001610 + electron-to-chromium: 1.4.738 + dev: true +>>>>>>> Stashed changes browserslist@4.23.0: dependencies: +<<<<<<< Updated upstream caniuse-lite: 1.0.30001611 electron-to-chromium: 1.4.745 +======= + caniuse-lite: 1.0.30001610 + electron-to-chromium: 1.4.738 +>>>>>>> Stashed changes node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -6240,7 +7564,13 @@ snapshots: camelcase@6.3.0: {} +<<<<<<< Updated upstream caniuse-lite@1.0.30001611: {} +======= + /caniuse-lite@1.0.30001610: + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} + dev: true +>>>>>>> Stashed changes chalk@1.1.3: dependencies: @@ -6268,7 +7598,13 @@ snapshots: char-regex@1.0.2: {} +<<<<<<< Updated upstream chart.js@4.4.2: +======= + /chart.js@4.4.2: + resolution: {integrity: sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==} + engines: {pnpm: '>=8'} +>>>>>>> Stashed changes dependencies: '@kurkle/color': 0.3.2 @@ -6293,10 +7629,22 @@ snapshots: clean-stack@2.2.0: {} +<<<<<<< Updated upstream clean-webpack-plugin@4.0.0(webpack@5.91.0(webpack-cli@5.1.4)): dependencies: del: 4.1.1 webpack: 5.91.0(webpack-cli@5.1.4) +======= + /clean-webpack-plugin@4.0.0(webpack@5.91.0): + resolution: {integrity: sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==} + engines: {node: '>=10.0.0'} + peerDependencies: + webpack: '>=4.0.0 <6.0.0' + dependencies: + del: 4.1.1 + webpack: 5.91.0(webpack-cli@5.1.4) + dev: true +>>>>>>> Stashed changes cliui@8.0.1: dependencies: @@ -6377,7 +7725,12 @@ snapshots: copy-descriptor@0.1.1: {} +<<<<<<< Updated upstream core-js-compat@3.37.0: +======= + /core-js-compat@3.37.0: + resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==} +>>>>>>> Stashed changes dependencies: browserslist: 4.23.0 @@ -6385,29 +7738,67 @@ snapshots: core-util-is@1.0.3: {} +<<<<<<< Updated upstream cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6(typescript@5.4.5))(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5))(typescript@5.4.5): +======= + /cosmiconfig-typescript-loader@4.4.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.2)(typescript@5.4.5): + resolution: {integrity: sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw==} + engines: {node: '>=v14.21.3'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=4' +>>>>>>> Stashed changes dependencies: '@types/node': 20.5.1 cosmiconfig: 8.3.6(typescript@5.4.5) ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) typescript: 5.4.5 +<<<<<<< Updated upstream cosmiconfig@8.3.6(typescript@5.4.5): +======= + dev: true + + /cosmiconfig@8.3.6(typescript@5.4.5): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true +>>>>>>> Stashed changes dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 +<<<<<<< Updated upstream optionalDependencies: typescript: 5.4.5 create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): +======= + typescript: 5.4.5 + dev: true + + /create-jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true +>>>>>>> Stashed changes dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 +<<<<<<< Updated upstream jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) +======= + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) +>>>>>>> Stashed changes jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6424,7 +7815,21 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 +<<<<<<< Updated upstream css-loader@6.11.0(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /css-loader@6.11.0(webpack@5.91.0): + resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true +>>>>>>> Stashed changes dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -6434,8 +7839,13 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.0 +<<<<<<< Updated upstream optionalDependencies: webpack: 5.91.0(webpack-cli@5.1.4) +======= + webpack: 5.91.0(webpack-cli@5.1.4) + dev: true +>>>>>>> Stashed changes css-select@4.3.0: dependencies: @@ -6486,7 +7896,18 @@ snapshots: decode-uri-component@0.2.2: {} +<<<<<<< Updated upstream dedent@1.5.3: {} +======= + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true +>>>>>>> Stashed changes deepmerge@4.3.1: {} @@ -6569,7 +7990,13 @@ snapshots: dependencies: is-obj: 2.0.0 +<<<<<<< Updated upstream electron-to-chromium@1.4.745: {} +======= + /electron-to-chromium@1.4.738: + resolution: {integrity: sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A==} + dev: true +>>>>>>> Stashed changes emittery@0.13.1: {} @@ -6586,7 +8013,13 @@ snapshots: dependencies: once: 1.4.0 +<<<<<<< Updated upstream enhanced-resolve@5.16.0: +======= + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} +>>>>>>> Stashed changes dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -6597,7 +8030,15 @@ snapshots: env-paths@2.2.1: {} +<<<<<<< Updated upstream envinfo@7.12.0: {} +======= + /envinfo@7.12.0: + resolution: {integrity: sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==} + engines: {node: '>=4'} + hasBin: true + dev: true +>>>>>>> Stashed changes err-code@2.0.3: {} @@ -6605,7 +8046,13 @@ snapshots: dependencies: is-arrayish: 0.2.1 +<<<<<<< Updated upstream es-module-lexer@1.5.0: {} +======= + /es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} + dev: true +>>>>>>> Stashed changes escalade@3.1.2: {} @@ -6731,11 +8178,23 @@ snapshots: dependencies: bser: 2.1.1 +<<<<<<< Updated upstream file-loader@6.2.0(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /file-loader@6.2.0(webpack@5.91.0): + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 +>>>>>>> Stashed changes dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 webpack: 5.91.0(webpack-cli@5.1.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes fill-range@4.0.0: dependencies: @@ -6960,7 +8419,13 @@ snapshots: is-number: 3.0.0 kind-of: 4.0.0 +<<<<<<< Updated upstream hasown@2.0.2: +======= + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} +>>>>>>> Stashed changes dependencies: function-bind: 1.1.2 @@ -6989,16 +8454,37 @@ snapshots: param-case: 3.0.4 relateurl: 0.2.7 terser: 5.30.3 +<<<<<<< Updated upstream html-webpack-plugin@5.6.0(webpack@5.91.0(webpack-cli@5.1.4)): +======= + dev: true + + /html-webpack-plugin@5.6.0(webpack@5.91.0): + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true +>>>>>>> Stashed changes dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 +<<<<<<< Updated upstream optionalDependencies: webpack: 5.91.0(webpack-cli@5.1.4) +======= + webpack: 5.91.0(webpack-cli@5.1.4) + dev: true +>>>>>>> Stashed changes htmlparser2@6.1.0: dependencies: @@ -7046,9 +8532,20 @@ snapshots: dependencies: safer-buffer: 2.1.2 +<<<<<<< Updated upstream icss-utils@5.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 +======= + /icss-utils@5.1.0(postcss@8.4.38): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + dev: true +>>>>>>> Stashed changes ignore@3.3.10: {} @@ -7093,6 +8590,10 @@ snapshots: is-accessor-descriptor@1.0.1: dependencies: hasown: 2.0.2 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes is-arrayish@0.2.1: {} @@ -7101,10 +8602,18 @@ snapshots: is-core-module@2.13.1: dependencies: hasown: 2.0.2 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes is-data-descriptor@1.0.1: dependencies: hasown: 2.0.2 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes is-descriptor@0.1.7: dependencies: @@ -7255,16 +8764,35 @@ snapshots: - babel-plugin-macros - supports-color +<<<<<<< Updated upstream jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): +======= + /jest-cli@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true +>>>>>>> Stashed changes dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 +<<<<<<< Updated upstream create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) +======= + create-jest: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) +>>>>>>> Stashed changes jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -7274,11 +8802,29 @@ snapshots: - supports-color - ts-node +<<<<<<< Updated upstream jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): +======= + /jest-config@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true +>>>>>>> Stashed changes dependencies: '@babel/core': 7.24.4 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 +<<<<<<< Updated upstream +======= + '@types/node': 20.12.7 +>>>>>>> Stashed changes babel-jest: 29.7.0(@babel/core@7.24.4) chalk: 4.1.2 ci-info: 3.9.0 @@ -7298,8 +8844,11 @@ snapshots: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 +<<<<<<< Updated upstream optionalDependencies: '@types/node': 20.12.7 +======= +>>>>>>> Stashed changes ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros @@ -7541,12 +9090,28 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 +<<<<<<< Updated upstream jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)): +======= + /jest@29.7.0(@types/node@20.12.7)(ts-node@10.9.2): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true +>>>>>>> Stashed changes dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 +<<<<<<< Updated upstream jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2(@types/node@20.5.1)(typescript@5.4.5)) +======= + jest-cli: 29.7.0(@types/node@20.12.7)(ts-node@10.9.2) +>>>>>>> Stashed changes transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -7838,11 +9403,23 @@ snapshots: min-indent@1.0.1: {} +<<<<<<< Updated upstream mini-css-extract-plugin@2.9.0(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /mini-css-extract-plugin@2.9.0(webpack@5.91.0): + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 +>>>>>>> Stashed changes dependencies: schema-utils: 4.2.0 tapable: 2.2.1 webpack: 5.91.0(webpack-cli@5.1.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes minimatch@3.0.8: dependencies: @@ -7922,7 +9499,13 @@ snapshots: ms@2.1.3: {} +<<<<<<< Updated upstream nan@2.19.0: {} +======= + /nan@2.19.0: + resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + dev: true +>>>>>>> Stashed changes nanoid@3.3.7: {} @@ -8169,9 +9752,22 @@ snapshots: dependencies: find-up: 6.3.0 +<<<<<<< Updated upstream playwright-core@1.43.1: {} playwright@1.43.1: +======= + /playwright-core@1.43.1: + resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} + engines: {node: '>=16'} + hasBin: true + dev: true + + /playwright@1.43.1: + resolution: {integrity: sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==} + engines: {node: '>=16'} + hasBin: true +>>>>>>> Stashed changes dependencies: playwright-core: 1.43.1 optionalDependencies: @@ -8179,17 +9775,35 @@ snapshots: posix-character-classes@0.1.1: {} +<<<<<<< Updated upstream postcss-modules-extract-imports@3.1.0(postcss@8.4.38): dependencies: postcss: 8.4.38 postcss-modules-local-by-default@4.0.5(postcss@8.4.38): +======= + /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + dev: true + + /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 +>>>>>>> Stashed changes dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 postcss-selector-parser: 6.0.16 postcss-value-parser: 4.2.0 +<<<<<<< Updated upstream postcss-modules-scope@3.2.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -8201,17 +9815,52 @@ snapshots: postcss: 8.4.38 postcss-selector-parser@6.0.16: +======= + /postcss-modules-scope@3.2.0(postcss@8.4.38): + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.16 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.38): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + dev: true + + /postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} +>>>>>>> Stashed changes dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 postcss-value-parser@4.2.0: {} +<<<<<<< Updated upstream postcss@8.4.38: +======= + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} +>>>>>>> Stashed changes dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes prettier@2.8.8: {} @@ -8262,7 +9911,13 @@ snapshots: punycode@2.3.1: {} +<<<<<<< Updated upstream pure-rand@6.1.0: {} +======= + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true +>>>>>>> Stashed changes querystringify@2.2.0: {} @@ -8272,11 +9927,23 @@ snapshots: dependencies: safe-buffer: 5.2.1 +<<<<<<< Updated upstream raw-loader@4.0.2(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /raw-loader@4.0.2(webpack@5.91.0): + resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 +>>>>>>> Stashed changes dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 webpack: 5.91.0(webpack-cli@5.1.4) +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes react-is@18.2.0: {} @@ -8337,6 +10004,10 @@ snapshots: regenerator-transform@0.15.2: dependencies: '@babel/runtime': 7.24.4 +<<<<<<< Updated upstream +======= + dev: true +>>>>>>> Stashed changes regex-not@1.0.2: dependencies: @@ -8439,12 +10110,38 @@ snapshots: scss-tokenizer: 0.4.3 yargs: 17.7.2 +<<<<<<< Updated upstream sass-loader@13.3.3(node-sass@8.0.0)(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /sass-loader@13.3.3(node-sass@8.0.0)(webpack@5.91.0): + resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true +>>>>>>> Stashed changes dependencies: neo-async: 2.6.2 webpack: 5.91.0(webpack-cli@5.1.4) optionalDependencies: node-sass: 8.0.0 +<<<<<<< Updated upstream +======= + webpack: 5.91.0(webpack-cli@5.1.4) + dev: true +>>>>>>> Stashed changes saxes@6.0.0: dependencies: @@ -8554,14 +10251,27 @@ snapshots: transitivePeerDependencies: - supports-color +<<<<<<< Updated upstream socks@2.8.3: +======= + /socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} +>>>>>>> Stashed changes dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 sortablejs@1.15.2: {} +<<<<<<< Updated upstream source-map-js@1.2.0: {} +======= + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true +>>>>>>> Stashed changes source-map-resolve@0.5.3: dependencies: @@ -8673,9 +10383,20 @@ snapshots: strip-json-comments@3.1.1: {} +<<<<<<< Updated upstream style-loader@3.3.4(webpack@5.91.0(webpack-cli@5.1.4)): dependencies: webpack: 5.91.0(webpack-cli@5.1.4) +======= + /style-loader@3.3.4(webpack@5.91.0): + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + webpack: 5.91.0(webpack-cli@5.1.4) + dev: true +>>>>>>> Stashed changes supports-color@2.0.0: {} @@ -8697,7 +10418,13 @@ snapshots: tapable@2.2.1: {} +<<<<<<< Updated upstream tar@6.2.1: +======= + /tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} +>>>>>>> Stashed changes dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 @@ -8706,7 +10433,25 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 +<<<<<<< Updated upstream terser-webpack-plugin@5.3.10(webpack@5.91.0(webpack-cli@5.1.4)): +======= + /terser-webpack-plugin@5.3.10(webpack@5.91.0): + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true +>>>>>>> Stashed changes dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 @@ -8714,8 +10459,17 @@ snapshots: serialize-javascript: 6.0.2 terser: 5.30.3 webpack: 5.91.0(webpack-cli@5.1.4) +<<<<<<< Updated upstream terser@5.30.3: +======= + dev: true + + /terser@5.30.3: + resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} + engines: {node: '>=10'} + hasBin: true +>>>>>>> Stashed changes dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.11.3 @@ -8779,7 +10533,23 @@ snapshots: true-case-path@2.2.1: {} +<<<<<<< Updated upstream ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): +======= + /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true +>>>>>>> Stashed changes dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -8809,7 +10579,15 @@ snapshots: type-fest@0.8.1: {} +<<<<<<< Updated upstream typescript@5.4.5: {} +======= + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true +>>>>>>> Stashed changes uglify-js@3.17.4: optional: true @@ -8907,19 +10685,49 @@ snapshots: dependencies: makeerror: 1.0.12 +<<<<<<< Updated upstream watchpack@2.4.1: +======= + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} +>>>>>>> Stashed changes dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 webidl-conversions@7.0.0: {} +<<<<<<< Updated upstream webpack-cli@5.1.4(webpack@5.91.0): dependencies: '@discoveryjs/json-ext': 0.5.7 '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(webpack-cli@5.1.4)) '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(webpack-cli@5.1.4)) '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4(webpack@5.91.0))(webpack@5.91.0(webpack-cli@5.1.4)) +======= + /webpack-cli@5.1.4(webpack@5.91.0): + resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==} + engines: {node: '>=14.15.0'} + hasBin: true + peerDependencies: + '@webpack-cli/generators': '*' + webpack: 5.x.x + webpack-bundle-analyzer: '*' + webpack-dev-server: '*' + peerDependenciesMeta: + '@webpack-cli/generators': + optional: true + webpack-bundle-analyzer: + optional: true + webpack-dev-server: + optional: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.91.0) + '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.91.0) + '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack@5.91.0) +>>>>>>> Stashed changes colorette: 2.0.20 commander: 10.0.1 cross-spawn: 7.0.3 @@ -8939,7 +10747,19 @@ snapshots: webpack-sources@3.2.3: {} +<<<<<<< Updated upstream webpack@5.91.0(webpack-cli@5.1.4): +======= + /webpack@5.91.0(webpack-cli@5.1.4): + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true +>>>>>>> Stashed changes dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -8962,8 +10782,14 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 +<<<<<<< Updated upstream terser-webpack-plugin: 5.3.10(webpack@5.91.0(webpack-cli@5.1.4)) watchpack: 2.4.1 +======= + terser-webpack-plugin: 5.3.10(webpack@5.91.0) + watchpack: 2.4.1 + webpack-cli: 5.1.4(webpack@5.91.0) +>>>>>>> Stashed changes webpack-sources: 3.2.3 optionalDependencies: webpack-cli: 5.1.4(webpack@5.91.0)